Metadata-Version: 2.1
Name: paillierlib
Version: 0.0.2
Summary: A simple implementation of the Paillier cryptosystem
Home-page: https://github.com/carltonshepherd/paillier-lib
Author: Carlton Shepherd
Author-email: carlton@linux.com
License: UNKNOWN
Description: # paillier-lib
        
        This package provides a simple implementation of the Paillier cryptosystem using gmpy2.
        
        # Usage
        
        ```
        from paillierlib import paillier
        from gmpy2 import mpz
        
        key_pair = paillier.keygen()  # Optional param.: bit size (default = 2048)
        
        m1 = mpz(10)
        m2 = mpz(1)
        c1 = paillier.encrypt(m1, key_pair.public_key)
        c2 = paillier.encrypt(m2, key_pair.public_key)
        
        # Example homomorphic operations
        # Addition
        paillier.decrypt(c1 + c2, key_pair.private_key) # => 11
        paillier.decrypt(c1 - c2, key_pair.private_key) # => 9
        paillier.decrypt(c1 + c1 + c2, key_pair.private_key) # => 21
        
        # Multiplication (ciphertext with plaintext)
        m3 = mpz(2)
        paillier.decrypt(c1 * m3, key_pair.private_key) # => 20
        
        ```
        
        # Requirements
        
        gmpy2 (tested v2.0.8)
        
        # Planned Work
        * Encode inputs, rather than requiring GMP MPZ objects.
        
Keywords: paillier,encryption,decryption,homomorphic,crypto,cryptography,security,privacy
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Security :: Cryptography
Classifier: Intended Audience :: Science/Research
Classifier: Development Status :: 3 - Alpha
Description-Content-Type: text/markdown
