CRY crypto library
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc
ide/eclipse
include/cry
scripts
src
test
.gitignore
.gitlab-ci.yml
.travis.yml
AUTHORS
CHANGELOG.md
LICENSE
Makefile
README.md
config.mk

README.md

Build Status Coverage Status

CRY

CRY is a small, comprehensive and portable cryptographic library prividing a good collection of ciphers, hash functions, pseudo-random number generators and multi-precision integers algorithms.

Multiple precision integers

  • Basic arithmentic (add,sub,mul,div,mod,abs,exp,sqr)
  • Modular exponentiation
  • Modular inverse (Euclidean)
  • GCD and LCM
  • Probabilistic prime numbers generator (Miller-Rabin)
  • Random mpi generator
  • Comba, Karatsuba and Toom-Cook-3 multipliers

Symmetric ciphers

Block ciphers

  • AES (Rijndael)
  • DES and Triple DES

Block ciphers mode of operation

  • ECB (electronic codebook)
  • CBC (cipher block chaining)
  • CFB (cipher feedback)
  • CTR (counter)
  • GCM (Galois counter mode)

Stream ciphers

  • Trivium

Public key algorithms

Ciphers

  • RSA (PKCS#1 v1.5)

Secret exchange

  • Diffie-Hellman (DH)
  • ECDH

Digital signature

  • RSA (PKCS#1 v1.5)
  • DSA
  • ECDSA

Elliptic Curve

  • Basic arithmetic (add,dbl,mul)
  • NIST-P256 EC parameters

Pseudo random numbers generators

  • AES-CTR CSPRNG
  • Posix CSPRNG (using '/dev/urandom')
  • Windows CSPRNG (using 'CryptGenRandom')
  • Weak portable PRNG

Message authentication code

  • CMAC
  • HMAC

Hash

Secure hash

  • MD5
  • SHA-256

CRC

  • CRC16-CCITT
  • CRC16-IBM
  • CRC32-Ethernet

Checksums

  • LRC
  • Trivial checksum

Classical ciphers

Substitution ciphers

  • Hill cipher
  • Polyalphabetic Affine cipher

Utilities

  • Base64 encoder/decoder
  • Memxor