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
54
55
56
//! Groups from [RFC 5054](https://tools.ietf.org/html/rfc5054)
//! 
//! It is strongly recommended to use them instead of custom generated
//! groups. Additionally it is not recommended to use `G_1024` and `G_1536`,
//! they are provided only for compatability with the legacy software.
use types::SrpGroup;
use num::BigUint;

lazy_static! {
    pub static ref G_1024: SrpGroup = SrpGroup {
        n: BigUint::from_bytes_be(include_bytes!("groups/1024.bin")),
        g: BigUint::from_bytes_be(&[2]),
    };
}

lazy_static! {
    pub static ref G_1536: SrpGroup = SrpGroup {
        n: BigUint::from_bytes_be(include_bytes!("groups/1536.bin")),
        g: BigUint::from_bytes_be(&[2]),
    };
}

lazy_static! {
    pub static ref G_2048: SrpGroup = SrpGroup {
        n: BigUint::from_bytes_be(include_bytes!("groups/2048.bin")),
        g: BigUint::from_bytes_be(&[2]),
    };
}

lazy_static! {
    pub static ref G_3072: SrpGroup = SrpGroup {
        n: BigUint::from_bytes_be(include_bytes!("groups/3072.bin")),
        g: BigUint::from_bytes_be(&[5]),
    };
}

lazy_static! {
    pub static ref G_4096: SrpGroup = SrpGroup {
        n: BigUint::from_bytes_be(include_bytes!("groups/4096.bin")),
        g: BigUint::from_bytes_be(&[5]),
    };
}

lazy_static! {
    pub static ref G_6144: SrpGroup = SrpGroup {
        n: BigUint::from_bytes_be(include_bytes!("groups/6144.bin")),
        g: BigUint::from_bytes_be(&[5]),
    };
}

lazy_static! {
    pub static ref G_8192: SrpGroup = SrpGroup {
        n: BigUint::from_bytes_be(include_bytes!("groups/8192.bin")),
        g: BigUint::from_bytes_be(&[19]),
    };
}