README.md 1.43 KB
Newer Older
1 2 3 4
[![Build Status](https://travis-ci.org/davxy/cry.svg?branch=master)](https://travis-ci.org/davxy/cry)
[![Coverage Status](https://coveralls.io/repos/github/davxy/cry/badge.svg?branch=master)](https://coveralls.io/github/davxy/cry?branch=master)


5 6
CRY(T_T)
========
davxy's avatar
davxy committed
7

davxy's avatar
davxy committed
8 9 10 11 12 13
A small crypto library.


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

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

davxy's avatar
davxy committed
21

davxy's avatar
davxy committed
22 23 24 25
Symmetric ciphers
-----------------

### Block ciphers
26 27

- AES
davxy's avatar
davxy committed
28
- DES and Triple DES
29 30 31 32 33

### Block cipher mode of operation

- ECB
- CBC
davxy's avatar
davxy committed
34
- GCM
davxy's avatar
davxy committed
35
- CTR
36

davxy's avatar
davxy committed
37 38 39 40 41

Public key algorithms
---------------------

### Ciphers
davxy's avatar
davxy committed
42 43 44

- RSA (PKCS#1 v1.5)

davxy's avatar
davxy committed
45 46
### Secret exchange

davxy's avatar
davxy committed
47 48
- Diffie-Hellman (DH)
- ECDH
davxy's avatar
davxy committed
49

50 51 52 53 54 55
### Digital signature

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

davxy's avatar
davxy committed
56

davxy's avatar
davxy committed
57 58 59 60 61 62 63
Elliptic Curve
--------------

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


davxy's avatar
davxy committed
64 65 66
Pseudo random numbers generators
--------------------------------

67
- OS agnostic CSPRNG with AES-CTR
davxy's avatar
davxy committed
68 69 70
- Weak portable PRNG
- Posix CSPRNG (using '/dev/urandom')
- Windows CSPRNG (using 'CryptGenRandom')
davxy's avatar
davxy committed
71

davxy's avatar
davxy committed
72 73 74 75
Message authentication code
---------------------------

- CMAC
davxy's avatar
davxy committed
76
- HMAC
davxy's avatar
davxy committed
77

davxy's avatar
davxy committed
78

davxy's avatar
davxy committed
79 80 81 82 83 84 85 86 87 88 89
Hash
----

### Cryptographic hash

- MD5
- SHA-256

### CRC

- CRC16-CCITT
90
- CRC16-IBM
davxy's avatar
davxy committed
91
- CRC32-Ethernet
davxy's avatar
davxy committed
92

davxy's avatar
davxy committed
93 94 95 96 97
### Checksums

- LRC
- 8-bit trivial checksum

davxy's avatar
davxy committed
98

99 100 101 102 103
Utilities
---------

- Base64 encoder/decoder