Ephemeral Diffie-Hellman Over COSE (EDHOC)
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file edhoc-0.2.dev3.tar.gz.
File metadata
- Download URL: edhoc-0.2.dev3.tar.gz
- Upload date:
- Size: 12.1 kB
- Tags: Source
- Uploaded using 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
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6f444a15d83069f8885b7d9a19d61c28d23c06c0956a67aa18782a77c707d042
|
|
| MD5 |
1bd6bfc788ae23d250b01e7aa5e1e48a
|
|
| BLAKE2b-256 |
3881250c5b77d0414a58a508f7a05399c1d7f2a178a1b7e8e560a18e6159362d
|
File details
Details for the file edhoc-0.2.dev3-py3-none-any.whl.
File metadata
- Download URL: edhoc-0.2.dev3-py3-none-any.whl
- Upload date:
- Size: 18.5 kB
- Tags: Python 3
- Uploaded using 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
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
95799c7ec03096d0110dd6de42fceb84808059bddb862c675210aada41a579dd
|
|
| MD5 |
c3208b2ded8ace8bfcaf31062844131f
|
|
| BLAKE2b-256 |
8a94b105e503bb8d475408f14b1dfcb39054e670a7259acdebe35d00a041bcfb
|