This release is a pre-release and may not be stable for production use.
py-edhoc:snake: -- Ephemeral Diffie-Hellman Over COSE
This project provides a Python implementation of the EDHOC key exchange protocol for constrained devices. Currently the protocol is still in draft status at the IETF.
The repository provides an implementation of:
- https://datatracker.ietf.org/doc/html/draft-ietf-lake-edhoc-01
- https://datatracker.ietf.org/doc/html/draft-ietf-lake-edhoc-02
Installation
$ pip install edhoc
Running the test suite
The py-edhoc test suite is based on the official test vectors provided by the LAKE working group.
To run the test suite you'll need pytest:
$ pip install pytest
When you move to the root of the py-edhoc project you can run the test by simply typing:
$ pytest
Supported Cipher Suites
| Cipher Suites | COSE algorithms | Support |
|---|---|---|
| SUITE 0 | (AES-CCM-16-64-128, SHA-256, X25519, EdDSA, Ed25519, AES-CCM-16-64-128, SHA-256) | :heavy_check_mark: |
| SUITE 1 | (AES-CCM-16-128-128, SHA-256, X25519, EdDSA, Ed25519, AES-CCM-16-64-128, SHA-256) | :heavy_check_mark: |
| SUITE 2 | (AES-CCM-16-64-128, SHA-256, P-256, ES256, P-256, AES-CCM-16-64-128, SHA-256) | :x: |
| SUITE 3 | (AES-CCM-16-128-128, SHA-256, P-256, ES256, P-256, AES-CCM-16-64-128, SHA-256) | :x: |
Authentication Methods
| Method | Support |
|---|---|
| SIGN-SIGN | :heavy_check_mark: |
| STATIC-SIGN | :heavy_check_mark: |
| SIGN-STATIC | :heavy_check_mark: |
| STATIC-STATIC | :heavy_check_mark: |
Cryptography
The project depends on the python cose package. cose uses pyca/cryptography for all cryptographic operations, except the deterministic ECDSA algorithm. For deterministic ECDSA cose uses python-ecdsa.
Metadata
Release files for edhoc 0.2.dev3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| edhoc-0.2.dev3.tar.gz | 12.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| edhoc-0.2.dev3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 30.6 kB
Release files / edhoc-0.2.dev3.tar.gz
| Download URL | edhoc-0.2.dev3.tar.gz |
|---|---|
| Size | 12.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6f444a15d83069f8885b7d9a19d61c28d23c06c0956a67aa18782a77c707d042
|
|
BLAKE2b-256 checksum How to use checksums |
3881250c5b77d0414a58a508f7a05399c1d7f2a178a1b7e8e560a18e6159362d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/1.5.0 pkginfo/1.5.0.1 requests/2.24.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9
|
Release files / edhoc-0.2.dev3-py3-none-any.whl
| Download URL | edhoc-0.2.dev3-py3-none-any.whl |
|---|---|
| Size | 18.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
95799c7ec03096d0110dd6de42fceb84808059bddb862c675210aada41a579dd
|
|
BLAKE2b-256 checksum How to use checksums |
8a94b105e503bb8d475408f14b1dfcb39054e670a7259acdebe35d00a041bcfb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/1.5.0 pkginfo/1.5.0.1 requests/2.24.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.9
|