1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#![no_std]

//! Cry is a advance cryptography library
//! based on ECC and permutation.
//!
//! ## Primitive for Cry.
//!
//! Cry has two main cryptography primitive:
//! - Elliptic Curve
//! - Sponge Construction.
//!
//! We can use these two primitive to build all the
//! world of cryptography.
//!
//! ### Elliptic Curve
//!
//! Elliptic Curve has two type of data, point and
//! scalar number. These define on $G_p$, $p$ is a
//! prime number, also is number of elements.
//!
//! Point $G$ will persent by uppercase letter.
//! scalar number $a$ will persent by lowercase letter.
//!
//! All support operator:
//! - add two scalar, $a+b$
//! - multiply two scalar, $a*b$ or $ab$
//! - negative scalar, $-a$
//! - inverse scalar, $a^{-1}$
//! - scalar one
//! - scalar zero
//! - add two point, $A+B$
//! - multiply scalar and point, $a*G$ or $aG$
//! - negative point, $-A$
//! - inverse point, $A^{-1}$
//! - point one
//! - point zero
//!
//! ### Sponge Construction
//!
//! Sponge construction is a base of permutation cryptography.
//! It can absorb data, squeeze data, or blender state.
//!
//! We can use this to build hash function and symmetric encryption.

#[cfg(test)]
#[macro_use]
extern crate std;

pub mod dh;
pub mod keypair;
pub mod primitive;
pub mod ristretto255;
pub mod schnorr;