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
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 |