Author Topic: HASHLIB - A Cryptography Library for the TI-84+ CE  (Read 382 times)

0 Members and 1 Guest are viewing this topic.

Offline ACagliano

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 917
  • Rating: +32/-2
    • View Profile
    • ClrHome Productions
HASHLIB - A Cryptography Library for the TI-84+ CE
« on: October 22, 2021, 09:50:28 pm »
yes, I post this on all three main forums

HASHLIB is a Libload-compatible library, I designed for use with the CE C toolchain [toolchain by MateoC (and others)]. It provides a fully-functional API for communicating securely with a remote host using NIST-standard encryption.

HASHLIB provides the following:
  • A secure PRNG that produces ~96 bits of entropy per 32-bit integer generated and passes all Dieharders regardless of sample size.
  • The SHA-256 cryptographic hash, as well as CBC-MAC authentication tags.
  • An implementation of Advanced Encryption Standard (AES), for 128, 192, and 256 bit keys.
  • An encrypt-only implementation of RSA for modulus size 1024<=modulus<=2048.
  • Implementations of PKCS padding schemes for RSA and AES
  • An implementation of SSL digital signature verification using RSA with SHA-256.
  • A buffer comparison function resistant to timing attacks.

Special thanks to beckadamtheinventor for help with SHA-256, jacobly for help debugging the SPRNG and writing the modular exponentiation function for RSA, and to Zeroko for walking me through generating entropy on a calculator.

Feel free to download and test against commonly used cryptography libraries and report back on compatibility or lack thereof.

https://github.com/acagliano/hashlib/releases/tag/v7-RC1