Python binding to the Networking and Cryptography (NaCl) library

Overview

PyNaCl: Python binding to the libsodium library

Latest Version https://codecov.io/github/pyca/pynacl/coverage.svg?branch=master Compatible Python Versions

PyNaCl is a Python binding to libsodium, which is a fork of the Networking and Cryptography library. These libraries have a stated goal of improving usability, security and speed. It supports Python 2.7 and 3.5+ as well as PyPy 2.6+.

Features

  • Digital signatures
  • Secret-key encryption
  • Public-key encryption
  • Hashing and message authentication
  • Password based key derivation and password hashing

Changelog

Comments
  • release v0.3.0

    release v0.3.0

    I'd like to see a new release soon. I'm thinking we should block on #72, #52, and the docs overhaul (removing autodocs) that @Ayrx is working on to let the #52 branch pass. How's that sound?

    opened by warner 43
  • Add pwhash argon2i

    Add pwhash argon2i

    As suggested by @reaperhulk, I'm early-posting the argon2i bindings I'm working on, to add the needed testing context to the #260 PR and starting to implement #233.

    While I think the implementation is reasonably complete, documentation is completely missing.

    opened by lmctv 34
  • ImportError: Undefined symbol

    ImportError: Undefined symbol "crypto_pwhash_alg_argon2id13"

    OS: FreeBSD 12 Package: PyNaCl==1.2.1 (installed without SODIUM_INSTALL=system, just pip install pynacl via virtualenv) System libsodium: libsodium-1.0.12

    Python 2.7.13 (default, Aug 29 2017, 16:07:39)
    [GCC 4.2.1 Compatible FreeBSD Clang 5.0.0 (branches/release_50 311606)] on freebsd12
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from nacl._sodium import ffi, lib
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ImportError: /home/ex/venv/lib/python2.7/site-packages/nacl/_sodium.so: Undefined symbol "crypto_pwhash_alg_argon2id13"
    

    Seems python using bundled libsodium, but I see error like in case with a system library

    opened by ech0-py 19
  • ARM64 Support to Github Actions for wheel development

    ARM64 Support to Github Actions for wheel development

    Added ARM64 Support to Github Actions for wheel development. Resolves the second step for #601

    @reaperhulk Please review and let me know if any changes required.

    opened by odidev 18
  • Allow tests/test_pwhash.py deadlines to be adjusted

    Allow tests/test_pwhash.py deadlines to be adjusted

    For anyone who doesn't care (and thus doesn't set the new environment variable), this change is a no-op. I've verified the tests all run and pass on both python2.7 and python3.6.

    For those that do care (in my case as a Debian package maintainer) we can set the environment variable on a per-architecture basis to allow more time for slower processors.

    This should address https://github.com/pyca/pynacl/issues/370 . Fedora should be able to turn the same knob as needed to address their slow builders.

    opened by kitterma 18
  • undefined symbol: crypto_generichash_blake2b_salt_personal

    undefined symbol: crypto_generichash_blake2b_salt_personal

    After installing PyNaCl with pip3.5 on Centos 6 and trying to import nacl.secret from a Python script, I get the following error:

    Traceback (most recent call last):
      File "test.py", line 1, in <module>
        import nacl.secret
      File "/usr/lib64/python3.5/site-packages/nacl/secret.py", line 17, in <module>
        import nacl.bindings
      File "/usr/lib64/python3.5/site-packages/nacl/bindings/__init__.py", line 17, in <module>
        from nacl.bindings.crypto_box import (
      File "/usr/lib64/python3.5/site-packages/nacl/bindings/crypto_box.py", line 18, in <module>
        from nacl._sodium import ffi, lib
    ImportError: /usr/lib64/python3.5/site-packages/nacl/_sodium.cpython-35m-x86_64-linux-gnu.so: undefined symbol: crypto_generichash_blake2b_salt_personal
    
    opened by JosephTico 17
  • pip install pynacl fails with: error: [Errno 2] No such file or directory

    pip install pynacl fails with: error: [Errno 2] No such file or directory

    I am trying to install pynacl on openSUSE 42.2 but it fails with error: [Errno 2] No such file or directory during the build phase

    here is some of the output

    ~> pip install pynacl                                                          
    Collecting pynacl                                                                                                                                                                                                  
      Using cached PyNaCl-1.1.2.tar.gz                                                                   
    Requirement already satisfied: six in /usr/lib/python2.7/site-packages (from pynacl)                     
    Requirement already satisfied: cffi>=1.4.1 in ./.local/lib/python2.7/site-packages (from pynacl)                          
    Requirement already satisfied: pycparser in ./.local/lib/python2.7/site-packages (from cffi>=1.4.1->pynacl)
    Building wheels for collected packages: pynacl                                                           
      Running setup.py bdist_wheel for pynacl ... error                                                      
      Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-WNVVlf/pynacl/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');
    f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpCBHg6Lpip-wheel- --python-tag cp27:
      running bdist_wheel                                                                                    
      running build                                                          
      running build_py                                                                                       
      creating build                                                                                         
      creating build/lib.linux-x86_64-2.7                               
      creating build/lib.linux-x86_64-2.7/nacl 
    [...]
        checking for nanosleep... yes
        checking for posix_memalign... yes
        checking for getpid... yes
        checking if gcc/ld supports -Wl,--output-def... not needed, shared libraries are disabled
        checking that generated files are newer than configure... done
        configure: creating ./config.status
        config.status: creating Makefile
        config.status: creating dist-build/Makefile
        config.status: creating libsodium.pc
        config.status: creating libsodium-uninstalled.pc
        config.status: creating msvc-scripts/Makefile
        config.status: creating src/Makefile
        config.status: creating src/libsodium/Makefile
        config.status: creating src/libsodium/include/Makefile
        config.status: creating src/libsodium/include/sodium/version.h
        config.status: creating test/default/Makefile
        config.status: creating test/Makefile
        config.status: executing depfiles commands
        config.status: executing libtool commands
        error: [Errno 2] No such file or directory
        
        ----------------------------------------
    Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-WNVVlf/pynacl/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-PAHH7o-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-WNVVlf/pynacl/
    

    A copy of the entire log can be found here http://artifacts.opnfv.org/cross-community-ci/openstack/bifrost/review.openstack.org/367608/8/openstack-bifrost-verify-suse-virtual-master/build_log.txt

    It's not exactly clear from the output what No such file or directory actually means

    opened by hwoarang 16
  • Wheel support for aarch64

    Wheel support for aarch64

    Summary Installing pynacl on aarch64 via pip using command "pip3 install pynacl " tries to build wheel from source code

    Problem description pynacl don't have wheel for aarch64 on PyPI repository. So, while installing pynacl via pip on aarch64, pip builds wheel for same resulting in it takes more time to install pynacl. Making wheel available for aarch64 will benefit aarch64 users by minimizing pynacl installation time.

    Expected Output Pip should be able to download pynacl wheel from PyPI repository rather than building it from source code.

    @pynacl-team, please let me know if I can help you building wheel/uploading to PyPI repository. I am curious to make pynacl wheel available for aarch64. It will be a great opportunity for me to work with you.

    opened by odidev 15
  • Decode smessage

    Decode smessage

    This PR fixes VerifyKey.verify() when smessage is not raw bytes.

    I also add two tests, one for a hex-encoded smessage and another with a base64-encoded smessage. In both tests, signature is decoded to raw bytes before being passed to VerifyKey.verify().

    I also make it more clear in the documentation that signature MUST always be raw bytes, even if smessage can be encoded.

    This PR is a different fix then #256, as pointed out in this comment.

    Special thanks to @lmctv for guiding me towards this solution.

    opened by blag 15
  • Invalid configuration `arm64-apple-darwin20.3.0': machine `arm64-apple' not recognized

    Invalid configuration `arm64-apple-darwin20.3.0': machine `arm64-apple' not recognized

    I am not able to build pynacl-1.4.0/main from source (for the arm64 version of python3.8) on an Apple Silicon / M1 machine. My terminal and all utilities are natively installed from the M1 version of brew. Rosetta 2 is not being used.

    Here is the full build output:

    (env) milos@air:~/d/pynacl$ python3 setup.py install
    running install
    running bdist_egg
    running egg_info
    creating src/PyNaCl.egg-info
    writing src/PyNaCl.egg-info/PKG-INFO
    writing dependency_links to src/PyNaCl.egg-info/dependency_links.txt
    writing requirements to src/PyNaCl.egg-info/requires.txt
    writing top-level names to src/PyNaCl.egg-info/top_level.txt
    writing manifest file 'src/PyNaCl.egg-info/SOURCES.txt'
    reading manifest file 'src/PyNaCl.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    warning: no previously-included files matching '__pycache__/*' found anywhere in distribution
    warning: no previously-included files found matching '.travis.yml'
    warning: no previously-included files found matching '.travis'
    warning: no previously-included files found matching '.travis/install.sh'
    warning: no previously-included files found matching '.travis/run.sh'
    warning: no previously-included files found matching '.readthedocs.yml'
    warning: no previously-included files found matching '.coveragerc'
    warning: no previously-included files found matching 'codecov.yml'
    warning: no previously-included files found matching 'release.py'
    warning: no previously-included files found matching 'src/libsodium*.zip'
    writing manifest file 'src/PyNaCl.egg-info/SOURCES.txt'
    installing library code to build/bdist.macosx-11-arm64/egg
    running build_clib
    checking build system type... Invalid configuration `arm64-apple-darwin20.3.0': machine `arm64-apple' not recognized
    configure: error: /bin/sh /Users/milos/d/pynacl/src/libsodium/build-aux/config.sub arm64-apple-darwin20.3.0 failed
    Traceback (most recent call last):
      File "setup.py", line 216, in <module>
        setup(
      File "/Users/milos/d/testproj/env/lib/python3.8/site-packages/setuptools/__init__.py", line 153, in setup
        return distutils.core.setup(**attrs)
      File "/opt/homebrew/Cellar/[email protected]/3.8.8/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/core.py", line 148, in setup
        dist.run_commands()
      File "/opt/homebrew/Cellar/[email protected]/3.8.8/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/dist.py", line 966, in run_commands
        self.run_command(cmd)
      File "/opt/homebrew/Cellar/[email protected]/3.8.8/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/Users/milos/d/testproj/env/lib/python3.8/site-packages/setuptools/command/install.py", line 67, in run
        self.do_egg_install()
      File "/Users/milos/d/testproj/env/lib/python3.8/site-packages/setuptools/command/install.py", line 109, in do_egg_install
        self.run_command('bdist_egg')
      File "/opt/homebrew/Cellar/[email protected]/3.8.8/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/opt/homebrew/Cellar/[email protected]/3.8.8/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/Users/milos/d/testproj/env/lib/python3.8/site-packages/setuptools/command/bdist_egg.py", line 163, in run
        self.run_command('build_clib')
      File "/opt/homebrew/Cellar/[email protected]/3.8.8/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/opt/homebrew/Cellar/[email protected]/3.8.8/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "setup.py", line 176, in run
        subprocess.check_call(
      File "/opt/homebrew/Cellar/[email protected]/3.8.8/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 364, in check_call
        raise CalledProcessError(retcode, cmd)
    subprocess.CalledProcessError: Command '['/Users/milos/d/pynacl/src/libsodium/configure', '--disable-shared', '--enable-static', '--disable-debug', '--disable-dependency-tracking', '--with-pic', '--prefix', '/Users/milos/d/pynacl/build/temp.macosx-11-arm64-3.8']' returned non-zero exit status 1.
    

    I tried 1.4.0 and master, both result in the same configure error.

    As far as I'm aware, config.sub generated by autoconf. Would this be a pynacl issue or autoconf issue, or something else? From https://github.com/pyca/pynacl/issues/654#issuecomment-763086607 it sounds like you have an M1 machine yourself, do you remember how you were able to get this compiled on it?

    opened by milosivanovic 14
  • Pynacl on Apple Silicon/ARM64

    Pynacl on Apple Silicon/ARM64

    Trying to pip3 install pynacl on an M1 Mac with pip3 version 20.3.3.

    Get this message on install - any ideas?

    Other libs are working ok, such as tinyec.

    Collecting pynacl
      Downloading PyNaCl-1.4.0.tar.gz (3.4 MB)
         |████████████████████████████████| 3.4 MB 1.8 MB/s
      Installing build dependencies ... done
      Getting requirements to build wheel ... done
        Preparing wheel metadata ... error
        ERROR: Command errored out with exit status 1:
         command: /opt/homebrew/opt/[email protected]/bin/python3.9 /opt/homebrew/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py prepare_metadata_for_build_wheel /var/folders/ws/4b7t11z91pv_wqpqd6dl21x40000gn/T/tmpyxshsvrm
             cwd: /private/var/folders/ws/4b7t11z91pv_wqpqd6dl21x40000gn/T/pip-install-48_63pd2/pynacl_34f24b5a9a4045dfbb49726500e88931
        Complete output (39 lines):
        Traceback (most recent call last):
          File "/opt/homebrew/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py", line 280, in <module>
            main()
          File "/opt/homebrew/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py", line 263, in main
            json_out['return_val'] = hook(**hook_input['kwargs'])
          File "/opt/homebrew/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py", line 133, in prepare_metadata_for_build_wheel
            return hook(metadata_directory, config_settings)
          File "/private/var/folders/ws/4b7t11z91pv_wqpqd6dl21x40000gn/T/pip-build-env-btqme7ob/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 161, in prepare_metadata_for_build_wheel
            self.run_setup()
          File "/private/var/folders/ws/4b7t11z91pv_wqpqd6dl21x40000gn/T/pip-build-env-btqme7ob/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 145, in run_setup
            exec(compile(code, __file__, 'exec'), locals())
          File "setup.py", line 216, in <module>
            setup(
          File "/private/var/folders/ws/4b7t11z91pv_wqpqd6dl21x40000gn/T/pip-build-env-btqme7ob/overlay/lib/python3.9/site-packages/setuptools/__init__.py", line 153, in setup
            return distutils.core.setup(**attrs)
          File "/opt/homebrew/Cellar/[email protected]/3.9.1_6/Frameworks/Python.framework/Versions/3.9/lib/python3.9/distutils/core.py", line 108, in setup
            _setup_distribution = dist = klass(attrs)
          File "/private/var/folders/ws/4b7t11z91pv_wqpqd6dl21x40000gn/T/pip-build-env-btqme7ob/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 432, in __init__
            _Distribution.__init__(self, {
          File "/opt/homebrew/Cellar/[email protected]/3.9.1_6/Frameworks/Python.framework/Versions/3.9/lib/python3.9/distutils/dist.py", line 292, in __init__
            self.finalize_options()
          File "/private/var/folders/ws/4b7t11z91pv_wqpqd6dl21x40000gn/T/pip-build-env-btqme7ob/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 708, in finalize_options
            ep(self)
          File "/private/var/folders/ws/4b7t11z91pv_wqpqd6dl21x40000gn/T/pip-build-env-btqme7ob/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 715, in _finalize_setup_keywords
            ep.load()(self, ep.name, value)
          File "/private/var/folders/ws/4b7t11z91pv_wqpqd6dl21x40000gn/T/pip-build-env-btqme7ob/overlay/lib/python3.9/site-packages/cffi/setuptools_ext.py", line 219, in cffi_modules
            add_cffi_module(dist, cffi_module)
          File "/private/var/folders/ws/4b7t11z91pv_wqpqd6dl21x40000gn/T/pip-build-env-btqme7ob/overlay/lib/python3.9/site-packages/cffi/setuptools_ext.py", line 49, in add_cffi_module
            execfile(build_file_name, mod_vars)
          File "/private/var/folders/ws/4b7t11z91pv_wqpqd6dl21x40000gn/T/pip-build-env-btqme7ob/overlay/lib/python3.9/site-packages/cffi/setuptools_ext.py", line 25, in execfile
            exec(code, glob, glob)
          File "src/bindings/build.py", line 36, in <module>
            ffi = FFI()
          File "/private/var/folders/ws/4b7t11z91pv_wqpqd6dl21x40000gn/T/pip-build-env-btqme7ob/overlay/lib/python3.9/site-packages/cffi/api.py", line 48, in __init__
            import _cffi_backend as backend
        ImportError: dlopen(/private/var/folders/ws/4b7t11z91pv_wqpqd6dl21x40000gn/T/pip-build-env-btqme7ob/overlay/lib/python3.9/site-packages/_cffi_backend.cpython-39-darwin.so, 2): Symbol not found: _ffi_prep_closure
          Referenced from: /private/var/folders/ws/4b7t11z91pv_wqpqd6dl21x40000gn/T/pip-build-env-btqme7ob/overlay/lib/python3.9/site-packages/_cffi_backend.cpython-39-darwin.so
          Expected in: flat namespace
         in /private/var/folders/ws/4b7t11z91pv_wqpqd6dl21x40000gn/T/pip-build-env-btqme7ob/overlay/lib/python3.9/site-packages/_cffi_backend.cpython-39-darwin.so
        ----------------------------------------
    ERROR: Command errored out with exit status 1: /opt/homebrew/opt/[email protected]/bin/python3.9 /opt/homebrew/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py prepare_metadata_for_build_wheel /var/folders/ws/4b7t11z91pv_wqpqd6dl21x40000gn/T/tmpyxshsvrm Check the logs for full command output.
    

    This is what I have installed:

    Package      Version
    ------------ -------
    meson        0.56.2
    pip          20.3.3
    protobuf     3.14.0
    pycrypto     2.6.1
    pycryptodome 3.9.9
    setuptools   51.1.1
    six          1.15.0
    tinyec       0.3.1
    wheel        0.36.2
    
    opened by johnalanwoods 14
  • Unable to install PyNaCl on Windows on Arm64

    Unable to install PyNaCl on Windows on Arm64

    When you try to install PyNaCl using pip (with Python 3.11 which is native to Arm64 on Windows), pip tries to build PyNaCl from scratch which doesn't seem possible on most Windows systems given the dependency on "make". This is because the Windows on Arm64 version of pip has only "win_arm64" and "any" as compatible tags, so the prebuilt wheels for x86 and x64 don't work.

    Could you consider publishing a prebuilt wheel for the win_arm64 target as well? I believe Visual Studio 2019 includes support for cross-compiling for Arm64, but you should be able to use VS2022 if not. It looks like libsodium isn't publishing Arm64 binaries for Windows yet, but it should be a fairly trivial task for them considering they're using MSVC 2019 and 2022. I can also open an issue with them if that's going to be a hard dependency. Thanks.

    opened by prayaas-a 5
  • Signature example

    Signature example

    Hi,

    I found the following non-deterministic ed25519 signature code in a deprecated library.

    import ed25519
    
    privKey, pubKey = ed25519.create_keypair()
    print("Private key (32 bytes):", privKey.to_ascii(encoding='hex'))
    print("Public key (32 bytes): ", pubKey.to_ascii(encoding='hex'))
    
    msg = b'Message for Ed25519 signing'
    signature = privKey.sign(msg, encoding='hex')
    print("Signature (64 bytes):", signature)
    
    try:
        pubKey.verify(signature, msg, encoding='hex')
        print("The signature is valid.")
    except:
        print("Invalid signature!")
    

    I then pip installed PyNaCl successfully. I then followed your documentation, from where I got

    from PyNaCl.signing import SigningKey
    # Generate a new random signing key
    signing_key = SigningKey.generate()
    # Sign a message with the signing key
    signed = signing_key.sign(b"Attack at Dawn")
    # Obtain the verify key for a given signing key
    verify_key = signing_key.verify_key
    # Serialize the verify key to send it to a third party
    verify_key_bytes = verify_key.encode()
    

    with either PyNaCl or nacl or NaCl (I tried them all). The result is:

    > python .\example_signature_edwards.py
    Traceback (most recent call last):
      File "C:\Users\UserName\Desktop\NewPyEnv\example_signature_edwards.py", line 1, in <module>
        from PyNaCl.signing import SigningKey
    ModuleNotFoundError: No module named 'PyNaCl'
    

    Can you provide a minimum working example? I apologize in advance for my apparent inability to get smart of these documentations that I find all around. Some are uselessly elaborate without giving an actual working example and others are too short, still without giving an actual working example; and again others give working examples that are impossible to understand for someone with a novice math crypto background. Who is the audience?

    opened by davejakenic 1
  • ed25519ph

    ed25519ph

    Hi, in the changelog, since the 1.3.0 version, seems ed25519ph (ed25519 with pre-hashing) is supported. But no way to find it in the doc and code. Am I wrong? Thanks

    opened by matbok 1
  • PrivateKey and SigningKey from same seed but to_curve25519_private_key with different output

    PrivateKey and SigningKey from same seed but to_curve25519_private_key with different output

    I write a simple test to figure out the PrivateKey and SigningKey on version 1.5.0:

    import base64
    import nacl.public
    import nacl.signing
    import nacl.utils
    
    seed = nacl.utils.random()
    sk = nacl.public.PrivateKey.from_seed(seed)
    sign_key = nacl.signing.SigningKey(seed)
    print(base64.b16encode(sk._private_key))
    print(base64.b16encode((sign_key.to_curve25519_private_key())._private_key))
    

    The output is always diffident for the first byte and sometimes the last byte:

    python3 test_nacl.py 
    b'965240CAE82380D486DC6A0BE50D1EB2ECFF3ED48778CDFDB7969D4E0D3CFB97'
    b'905240CAE82380D486DC6A0BE50D1EB2ECFF3ED48778CDFDB7969D4E0D3CFB57'
    
    python3 test_nacl.py 
    b'D6F2B255AB2FF4060EB2CC6E45B66E7E88DEB9AD3A2596C867F45403FEBAD871'
    b'D0F2B255AB2FF4060EB2CC6E45B66E7E88DEB9AD3A2596C867F45403FEBAD871'
    

    May I know if I used this in the right way? Or is this a bug? I tried on both ubuntu 20.04 and macOS.

    opened by kernel1983 1
  • No module named setuptools.command.build_clib while installing 1.5.0

    No module named setuptools.command.build_clib while installing 1.5.0

    change made in "stop using distutils (#727)" causing

    [2022-01-12T16:32:58.769Z] Collecting pynacl>=1.0.1 (from paramiko->-r ./requirements.txt (line 6)) [2022-01-12T16:32:59.024Z] Downloading https://repo.lab.pl.alcatel-lucent.com/api/pypi/python/packages/packages/a7/22/27582568be639dfe22ddb3902225f91f2f17ceff88ce80e4db396c8986da/PyNaCl-1.5.0.tar.gz (3.4MB) [2022-01-12T16:32:59.966Z] Complete output from command python setup.py egg_info: [2022-01-12T16:32:59.966Z] Traceback (most recent call last): [2022-01-12T16:32:59.967Z] File "", line 1, in [2022-01-12T16:32:59.967Z] File "/tmp/pip-build-qsi0m21x/pynacl/setup.py", line 29, in [2022-01-12T16:32:59.967Z] from setuptools.command.build_clib import build_clib as _build_clib [2022-01-12T16:32:59.967Z] ModuleNotFoundError: No module named 'setuptools.command.build_clib' [2022-01-12T16:32:59.967Z]
    [2022-01-12T16:32:59.967Z] ---------------------------------------- [2022-01-12T16:32:59.967Z] Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-qsi0m21x/pynacl/

    opened by rishav-nitdgp 3
Owner
Python Cryptographic Authority
Python Cryptographic Authority
Zero-dependency Cryptography Python Module with a self made method

TesohhCrypt TesohhCrypt is a zero-dependency Cryptography Python Module, with a method that i made. (likely someone already made a similar one, but i

Simone Tesini 1 Oct 26, 2021
Solutions to all 6 programming assignments in Dan Boneh's course Cryptography I, in statically typed Python.

Solutions to Cryptography I programming exercises Dan Boneh from Stanford University has an excellent online course on cryptography, hosted on Courser

Axel Lindeberg 8 Dec 16, 2022
Python app for encrypting messages with fernet cryptography.

Fernet Encryption Python app for encrypting messages with fernet cryptography. Github repo: https://github.com/mystic-repo/FernetEncryption PyPi: http

Mystic 1 May 28, 2022
Arithmos Cipher is a simple Cryptography that I created myself in Python

Arithmos Cipher is a simple Cryptography that I created myself in Python

LyQuid :3 3 Oct 19, 2022
This is a webpage that contains login and signup page by which the password is stored using elliptic curve cryptography

LoginPage_using_Elliptic_curve_cryptography- This is a webpage that contains login and signup page by which the password is stored using elliptic curv

null 1 Oct 15, 2021
The Qis|krypt⟩ is a software suite of protocols of quantum cryptography and quantum communications

The Qis|krypt⟩ is a software suite of protocols of quantum cryptography and quantum communications, as well, other protocols and algorithms, built using IBM’s open-source Software Development Kit for quantum computing Qiskit. ⚛️ ??

Qiskrypt 14 Oct 31, 2022
Buckley 2 Jul 24, 2022
SDU experiment of introduction to the cryptography

Lab 01 (2 hrs): Programming Basics Program 1: Type Hint, String, Bytes, Hex, Base64 Lab 02 (4 hrs): Classical Cryptography Part 1 (3 hrs): Program 1:

null 1 Jan 3, 2022
Advanced Digital Envelope System Using Cryptography Techniques (Encryption & Decryption)

Advanced-Digital-Envelope-System Advanced Digital Envelope System Using Cryptography Encryption Techniques The digital envelope system is the techniqu

NelakurthiSudheer 2 Jan 3, 2022
This folder contains all the assignment of the course COL759 : Cryptography & Computer Security

Cryptography This folder contains all the assignment of the course COL759 : "Cryptography & Computer Security" Assignment 1 : Encyption, Decryption &

null 0 Jan 21, 2022
Bit is Python's fastest Bitcoin library and was designed from the beginning to feel intuitive, be effortless to use, and have readable source code.

Bit is Python's fastest Bitcoin library and was designed from the beginning to feel intuitive, be effortless to use, and have readable source code.

Ofek Lev 1.1k Jan 2, 2023
A Python library to wrap age and minisign to provide key management, encryption/decryption and signing/verification functionality.

A Python library to wrap age and minisign to provide key management, encryption/decryption and signing/verification functionality.

Vinay Sajip 3 Feb 1, 2022
Python ASN.1 library with a focus on performance and a pythonic API

asn1crypto A fast, pure Python library for parsing and serializing ASN.1 structures. Features Why Another Python ASN.1 Library? Related Crypto Librari

Will Bond 282 Dec 11, 2022
The leading native Python SSHv2 protocol library.

Paramiko Paramiko: Python SSH module Copyright: Copyright (c) 2009 Robey Pointer <[email protected]> Copyright: Copyright (c) 2020 Jeff Forcier <

null 8.1k Jan 8, 2023
A self-contained cryptographic library for Python

PyCryptodome PyCryptodome is a self-contained Python package of low-level cryptographic primitives. It supports Python 2.7, Python 3.4 and newer, and

Helder Eijs 2.2k Jan 8, 2023
A lightweight encryption library in python.

XCrypt About This was initially a project to prove that I could make a strong encryption but I decided to publish it so that the internet peoples coul

Anonymous 8 Sep 10, 2022
A simple python program to sign text using either the RSA or ISRSAC algorithm with GUI built using tkinter library.

Digital Signatures using ISRSAC Algorithm A simple python program to sign text using either the RSA or ISRSAC algorithm with GUI built using tkinter l

Vasu Mandhanya 3 Nov 15, 2022
Salted Crypto Python library

Salted Crypto Python library. Allows to encrypt and decrypt files and directories using popular cryptographic algorithms with salty key(s).

null 7 Jul 18, 2022
Bsvlib - Bitcoin SV (BSV) Python Library

bsvlib A Bitcoin SV (BSV) Python Library that is extremely simple to use but mor

Aaron 22 Dec 15, 2022