A straightforward API to perform basic RSA-based operations..
Project description
Simple RSA
A straightforward API to perform basic RSA-based operations.
Rationale
Any cryptographic library exposes all possibilities, and it should. But sometimes you just want a simple sign
and validate
API. That is what this wrapper module around the Cryptography module is. Nothing more, nothing less.
Getting Started
The module basically exposes the following functions:
generate_key_pair()
returning a tuple of private and public keysencode(key)
returning an encoded keydecode(pem)
returning a keysign(payload, key)
returning a signaturevalidate(payload, signature, key)
returning True or an Exception
$ python Python 2.7.15 (default, Dec 27 2018, 11:55:59) [GCC 4.2.1 Compatible Apple LLVM 10.0.0 (clang-1000.11.45.5)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import simple_rsa as rsa >>> private, public = rsa.generate_key_pair() >>> rsa.encode(public) '-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5C15SFjpTCrdqB+0zFyu\nC9KJkNT1byzQPyATtLze/PNWjfqYL0RjvL4cmvmBWLeTQvnDx9SQfnQT02+4Q8Ov\nOaRTPqghEJctAh7KHwZfQzH29miC1WxXtGFcMFoAj17WPyMaOO3EcHqb4ttnAAPD\nt6B415HtGZo4oH6xY7QMj4eRceTv4++zACNHvqArO3bFFiNTBC8vCOpIg3xsYV4w\n7lQZs2lwGlzXPFJUeZglvsWTPJ54E1KabtkC/wSRFZBYtml8ZvzFfNDTOhcDyBR9\nVTV4K7iIGXG0A9C7mmj3hgALS3qSP5EK6fi51ufg98WokCLFcTSD/EphUlixazPo\nOQIDAQAB\n-----END PUBLIC KEY-----\n' >>> payload = b"something important" >>> signature = rsa.sign(payload, private) >>> assert rsa.validate(payload, signature, public) >>> another_payload = b"something else" >>> another_signature = rsa.sign(another_payload, private) >>> assert rsa.validate(payload, another_signature, public) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "simple_rsa/__init__.py", line 74, in validate hashes.SHA256() File "/usr/local/lib/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.py", line 477, in verify self._backend, padding, algorithm, self, signature, data File "/usr/local/lib/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.py", line 272, in _rsa_sig_verify raise InvalidSignature cryptography.exceptions.InvalidSignature
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.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size simple_rsa-1.0.0-py2-none-any.whl (4.4 kB) | File type Wheel | Python version py2 | Upload date | Hashes View |
Filename, size simple-rsa-1.0.0.tar.gz (4.1 kB) | File type Source | Python version None | Upload date | Hashes View |
Close
Hashes for simple_rsa-1.0.0-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 27b9c8de5fc2308f3f48ee61f28a132ae5d4e56cfddb78cb383293ccf5d7d7d9 |
|
MD5 | 91cf48dd1f856294c531fd47aa402a57 |
|
BLAKE2-256 | a9957070c9b0bd69cb5242b0e7a8c535b89eb8b0801b60474bb9130981143a23 |