Skip to content

Releases: adafruit/Adafruit_CircuitPython_RSA

Add CircuitPython __version__ and __repo__

09 Sep 16:16
1ff9b4b
Compare
Choose a tag to compare
  • Adds appropriate __version__ and __repo__ strings to adafruit_rsa/*.py files for CircuitPython consistency.

  • __version__ string reflecting the python-rsa version in __init__.py commented out.

To use in CircuitPython, simply install the Adafruit CircuitPython bundle.

Read the docs for info on how to use it.

Fixing extra-zero-append error, adding an utilities folder

21 Aug 20:08
4024b7c
Compare
Choose a tag to compare

Fixes extra-zero-append error within transform.py/int2bytes causing invalid RSA signatures.

Adds util/ folder with script to run on your computer (not the CircuitPython device) to generate public (rsa_public.pem) and private(rsa_private.pem) key pairs. The script also decodes the generated rsa_private.pem into a PrivateKey tuple for copy/paste into a secrets.py dict. file on a CircuitPython board.

To use in CircuitPython, simply install the Adafruit CircuitPython bundle.

Read the docs for info on how to use it.

Initial Release - CircuitPython_RSA

20 Aug 15:28
f253a47
Compare
Choose a tag to compare

CircuitPython_RSA is a port of Python-RSA, a pure-Python RSA implementation to CircuitPython.

Modifications from Python-RSA

  • Command-line-specific tools have been removed from the library to save space.
  • CPython Logging has been replaced with the Adafruit CircuitPython Logger Module.
  • Miller–Rabin Primality test algorithm modified to support library's fast_pow, CircuitPython's pow() does not support modular exponentiation.
  • CPython binascii and hashlib modules replaced with Adafruit_CircuitPython_binascii and Adafruit_CircuitPython_hashlib

Support for:

  • RSA Key pair (private/public) generation
  • Message encryption and decryption
  • Signature creation and verification
    • w/SHA-256, SHA-384, SHA-512 (using Adafruit_CircuitPython_hashlib, pure-python implementation. SHA-1 and MD5 are currently unsupported.)

Examples are provided for signature creation/verification, keypair generation and encryption/decryption, and a unit-test-like for testing future modifications to this library.

To use in CircuitPython, simply install the Adafruit CircuitPython bundle.

Read the docs for info on how to use it.