Skip to main content

spake2-c python CFFI bindings

Project description

SPAKE2 for Python

Python3 FFI wrapper for spake2-c by @MuntashirAkon

SPAKE2 is a a Password Authenticated Key Exchange (PAKE) protocol run between two parties for deriving a strong shared key with no risk of disclosing the password. spake2-cffi is the simplest way to use it in Python and PyPy:

Note Currently the spake2-c package support only SPAKE2-edwards25519-SHA512-HKDF-HMA / spake25519 as implemented by Google's boringssl library.

>>> from spake2 import Spake2
>>> alice = Spake2_Alice(b'alice name', b'bob name')
>>> message = alice.generate_message(b'password')
... # exchange messages with bob
>>> shared_key = alice.process_msg(bob_message)
>>> print(shared_key)
b'5c12af40e2bf2e30ac637652cdfc4f6367ed82542ec7640906532a1cd3e71e6bd74f76432d9ce3eb8d50c8c016fa88b3434fe84b878d1f67c01fa9f9d01db63c'

Project Information

Credits

spake2-cffi is maintained by TheZero.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spake2-cffi-1.0.0.tar.gz (51.2 kB view hashes)

Uploaded Source

Built Distributions

spake2_cffi-1.0.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (34.3 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

spake2_cffi-1.0.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (33.9 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

spake2_cffi-1.0.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (34.3 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

spake2_cffi-1.0.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (33.9 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

spake2_cffi-1.0.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (34.3 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

spake2_cffi-1.0.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (33.9 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

spake2_cffi-1.0.0-cp311-cp311-musllinux_1_1_x86_64.whl (124.2 kB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

spake2_cffi-1.0.0-cp311-cp311-musllinux_1_1_aarch64.whl (109.8 kB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ ARM64

spake2_cffi-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (119.6 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

spake2_cffi-1.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (106.8 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

spake2_cffi-1.0.0-cp311-cp311-macosx_10_15_universal2.whl (62.0 kB view hashes)

Uploaded CPython 3.11 macOS 10.15+ universal2 (ARM64, x86-64)

spake2_cffi-1.0.0-cp311-cp311-macosx_10_9_x86_64.whl (39.6 kB view hashes)

Uploaded CPython 3.11 macOS 10.9+ x86-64

spake2_cffi-1.0.0-cp310-cp310-musllinux_1_1_x86_64.whl (124.2 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

spake2_cffi-1.0.0-cp310-cp310-musllinux_1_1_aarch64.whl (109.8 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ ARM64

spake2_cffi-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (119.6 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

spake2_cffi-1.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (106.8 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

spake2_cffi-1.0.0-cp310-cp310-macosx_10_15_universal2.whl (62.0 kB view hashes)

Uploaded CPython 3.10 macOS 10.15+ universal2 (ARM64, x86-64)

spake2_cffi-1.0.0-cp310-cp310-macosx_10_9_x86_64.whl (39.6 kB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

spake2_cffi-1.0.0-cp39-cp39-musllinux_1_1_x86_64.whl (124.3 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

spake2_cffi-1.0.0-cp39-cp39-musllinux_1_1_aarch64.whl (109.8 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ ARM64

spake2_cffi-1.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (119.6 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

spake2_cffi-1.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (106.8 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

spake2_cffi-1.0.0-cp39-cp39-macosx_10_15_universal2.whl (62.0 kB view hashes)

Uploaded CPython 3.9 macOS 10.15+ universal2 (ARM64, x86-64)

spake2_cffi-1.0.0-cp39-cp39-macosx_10_9_x86_64.whl (39.6 kB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

spake2_cffi-1.0.0-cp38-cp38-musllinux_1_1_x86_64.whl (124.7 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

spake2_cffi-1.0.0-cp38-cp38-musllinux_1_1_aarch64.whl (110.3 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ ARM64

spake2_cffi-1.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (119.8 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

spake2_cffi-1.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (107.0 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

spake2_cffi-1.0.0-cp38-cp38-macosx_10_15_universal2.whl (62.0 kB view hashes)

Uploaded CPython 3.8 macOS 10.15+ universal2 (ARM64, x86-64)

spake2_cffi-1.0.0-cp38-cp38-macosx_10_9_x86_64.whl (39.6 kB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page