README.md 910 Bytes
Newer Older
1 2
CRY(T_T)
========
davxy's avatar
davxy committed
3

davxy's avatar
davxy committed
4 5 6 7 8 9
A small crypto library.


Multiple precision integers
---------------------------

davxy's avatar
davxy committed
10
- Basic arithmentic (add,sub,mul,div,mod,abs,exp,sqr)
davxy's avatar
davxy committed
11 12 13 14 15
- Modular exponentiation
- Modular inverse (Euclidean)
- GCD and LCM
- Probabilistic prime numbers generator (Miller-Rabin)
- Random mpi generator
davxy's avatar
davxy committed
16

davxy's avatar
davxy committed
17

18 19 20 21
Block ciphers
-------------

- AES
davxy's avatar
davxy committed
22
- DES and Triple DES
23 24 25 26 27

### Block cipher mode of operation

- ECB
- CBC
davxy's avatar
davxy committed
28
- GCM
davxy's avatar
davxy committed
29
- CTR
30

davxy's avatar
davxy committed
31 32 33 34 35 36 37 38 39 40 41 42
Public key ciphers
------------------

- RSA (PKCS#1 v1.5)


Pseudo random numbers generators
--------------------------------

- Weak portable PRNG
- Posix CSPRNG (using '/dev/urandom')
- Windows CSPRNG (using 'CryptGenRandom')
davxy's avatar
davxy committed
43

davxy's avatar
davxy committed
44

davxy's avatar
davxy committed
45 46 47 48
Message authentication code
---------------------------

- CMAC
davxy's avatar
davxy committed
49
- HMAC
davxy's avatar
davxy committed
50

davxy's avatar
davxy committed
51

davxy's avatar
davxy committed
52 53 54 55 56 57 58 59 60 61 62
Hash
----

### Cryptographic hash

- MD5
- SHA-256

### CRC

- CRC16-CCITT
63
- CRC16-IBM
davxy's avatar
davxy committed
64

davxy's avatar
davxy committed
65 66 67 68 69
### Checksums

- LRC
- 8-bit trivial checksum

davxy's avatar
davxy committed
70

71 72 73 74 75
Utilities
---------

- Base64 encoder/decoder