# hpke.py


This is an implementation of [RFC9180](https://datatracker.ietf.org/doc/rfc9180/) in python3, using
[cryptography.io](https://cryptography.io) for the underlying cryptography.
## Features
- Modes
- [x] mode_base
- [ ] mode_psk
- [x] mode_auth
- [ ] mode_auth_psk
- AEADs
- [x] AES-128-GCM
- [x] AES-256-GCM
- [x] ChaCha20Poly1305
- [x] Export only
- KEMs
- [x] DHKEM(P-256, HKDF-SHA256)
- [x] DHKEM(P-384, HKDF-SHA384)
- [x] DHKEM(P-521, HKDF-SHA512)
- [ ] DHKEM(X25519, HKDF-SHA256)
- [ ] DHKEM(X448, HKDF-SHA512)
- KDFs
- [x] HKDF-SHA256
- [x] HKDF-SHA384
- [x] HKDF-SHA512
## Author
Joseph Birr-Pixton <jpixton@gmail.com>
## License
hpke.py is licensed under the Apache License, Version 2.0. See
[LICENSE](LICENSE) for the full license text.
Raw data
{
"_id": null,
"home_page": "https://github.com/ctz/hpke-py",
"name": "hpke",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.8",
"maintainer_email": null,
"keywords": null,
"author": "Joseph Birr-Pixton",
"author_email": "jpixton@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/24/73/0f1b7518caf0d8c4264d4ff0e2aa2a1bd692fff524d900f5f024a731f2b2/hpke-0.3.2.tar.gz",
"platform": null,
"description": "# hpke.py\n\n\n\n\nThis is an implementation of [RFC9180](https://datatracker.ietf.org/doc/rfc9180/) in python3, using\n[cryptography.io](https://cryptography.io) for the underlying cryptography.\n\n## Features\n\n - Modes\n - [x] mode_base\n - [ ] mode_psk\n - [x] mode_auth\n - [ ] mode_auth_psk\n - AEADs\n - [x] AES-128-GCM\n - [x] AES-256-GCM\n - [x] ChaCha20Poly1305\n - [x] Export only\n - KEMs\n - [x] DHKEM(P-256, HKDF-SHA256)\n - [x] DHKEM(P-384, HKDF-SHA384)\n - [x] DHKEM(P-521, HKDF-SHA512)\n - [ ] DHKEM(X25519, HKDF-SHA256)\n - [ ] DHKEM(X448, HKDF-SHA512)\n - KDFs\n - [x] HKDF-SHA256\n - [x] HKDF-SHA384\n - [x] HKDF-SHA512\n\n## Author\nJoseph Birr-Pixton <jpixton@gmail.com>\n\n## License\nhpke.py is licensed under the Apache License, Version 2.0. See\n[LICENSE](LICENSE) for the full license text.\n\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "HPKE implementation",
"version": "0.3.2",
"project_urls": {
"Homepage": "https://github.com/ctz/hpke-py",
"Repository": "https://github.com/ctz/hpke-py"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "22834f5c5bd9b823f64b7dee8894bc6567af1742fa7b0ad2083261dd7035c51f",
"md5": "5729db280d17fb56325519a3cbcc3637",
"sha256": "e4303e700691407b3c089ba8cede99bc81fe419fde57d08c5260c99d20951fe9"
},
"downloads": -1,
"filename": "hpke-0.3.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5729db280d17fb56325519a3cbcc3637",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.8",
"size": 9269,
"upload_time": "2024-10-26T09:12:20",
"upload_time_iso_8601": "2024-10-26T09:12:20.588030Z",
"url": "https://files.pythonhosted.org/packages/22/83/4f5c5bd9b823f64b7dee8894bc6567af1742fa7b0ad2083261dd7035c51f/hpke-0.3.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "24730f1b7518caf0d8c4264d4ff0e2aa2a1bd692fff524d900f5f024a731f2b2",
"md5": "b0e316563196028b885c3cab185fe0b8",
"sha256": "f2bbda993c62649a5a75051dbceca3dd0b3059b61a7c21a868b9daa0ef5a3cdd"
},
"downloads": -1,
"filename": "hpke-0.3.2.tar.gz",
"has_sig": false,
"md5_digest": "b0e316563196028b885c3cab185fe0b8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.8",
"size": 8633,
"upload_time": "2024-10-26T09:12:22",
"upload_time_iso_8601": "2024-10-26T09:12:22.742124Z",
"url": "https://files.pythonhosted.org/packages/24/73/0f1b7518caf0d8c4264d4ff0e2aa2a1bd692fff524d900f5f024a731f2b2/hpke-0.3.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-26 09:12:22",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ctz",
"github_project": "hpke-py",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "hpke"
}