Skip to content

Commit 7903120

Browse files
authored
Remove lazy_static from dependencies (#847)
* Remove lazy_static from dependencies * Apply auto rustfmt
1 parent f66f836 commit 7903120

File tree

3 files changed

+59
-59
lines changed

3 files changed

+59
-59
lines changed

Cargo.toml

-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ version = "0.1.0"
55
authors = ["Anshul Malik <[email protected]>"]
66

77
[dependencies]
8-
lazy_static = "1.4.0"
98
num-bigint = { version = "0.4", optional = true }
109
num-traits = { version = "0.2", optional = true }
1110
rand = "0.8"

src/ciphers/diffie_hellman.rs

+59-56
Original file line numberDiff line numberDiff line change
@@ -2,57 +2,57 @@
22
// RFC 3526 - More Modular Exponential (MODP) Diffie-Hellman groups for
33
// Internet Key Exchange (IKE) https://tools.ietf.org/html/rfc3526
44

5-
use lazy_static;
65
use num_bigint::BigUint;
76
use num_traits::{Num, Zero};
87
use std::{
98
collections::HashMap,
9+
sync::LazyLock,
1010
time::{SystemTime, UNIX_EPOCH},
1111
};
1212

13-
// Using lazy static to initialize statics that require code to be executed at runtime.
14-
lazy_static! {
15-
// A map of predefined prime numbers for different bit lengths, as specified in RFC 3526
16-
static ref PRIMES: HashMap<u8, BigUint> = {
17-
let mut m:HashMap<u8, BigUint> = HashMap::new();
18-
m.insert(
19-
// 1536-bit
20-
5,
21-
BigUint::parse_bytes(
22-
b"FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1\
23-
29024E088A67CC74020BBEA63B139B22514A08798E3404DD\
24-
EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245\
25-
E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED\
26-
EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3D\
27-
C2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F\
28-
83655D23DCA3AD961C62F356208552BB9ED529077096966D\
29-
670C354E4ABC9804F1746C08CA237327FFFFFFFFFFFFFFFF",
30-
16
31-
).unwrap()
32-
);
33-
m.insert(
34-
// 2048-bit
35-
14,
36-
BigUint::parse_bytes(
37-
b"FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1\
13+
// A map of predefined prime numbers for different bit lengths, as specified in RFC 3526
14+
static PRIMES: LazyLock<HashMap<u8, BigUint>> = LazyLock::new(|| {
15+
let mut m: HashMap<u8, BigUint> = HashMap::new();
16+
m.insert(
17+
// 1536-bit
18+
5,
19+
BigUint::parse_bytes(
20+
b"FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1\
3821
29024E088A67CC74020BBEA63B139B22514A08798E3404DD\
3922
EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245\
4023
E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED\
4124
EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3D\
4225
C2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F\
4326
83655D23DCA3AD961C62F356208552BB9ED529077096966D\
44-
670C354E4ABC9804F1746C08CA18217C32905E462E36CE3B\
45-
E39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9\
46-
DE2BCBF6955817183995497CEA956AE515D2261898FA0510\
47-
15728E5A8AACAA68FFFFFFFFFFFFFFFF",
48-
16
49-
).unwrap()
50-
);
27+
670C354E4ABC9804F1746C08CA237327FFFFFFFFFFFFFFFF",
28+
16,
29+
)
30+
.unwrap(),
31+
);
32+
m.insert(
33+
// 2048-bit
34+
14,
35+
BigUint::parse_bytes(
36+
b"FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1\
37+
29024E088A67CC74020BBEA63B139B22514A08798E3404DD\
38+
EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245\
39+
E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED\
40+
EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3D\
41+
C2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F\
42+
83655D23DCA3AD961C62F356208552BB9ED529077096966D\
43+
670C354E4ABC9804F1746C08CA18217C32905E462E36CE3B\
44+
E39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9\
45+
DE2BCBF6955817183995497CEA956AE515D2261898FA0510\
46+
15728E5A8AACAA68FFFFFFFFFFFFFFFF",
47+
16,
48+
)
49+
.unwrap(),
50+
);
5151

5252
m.insert(
53-
// 3072-bit
54-
15,
55-
BigUint::parse_bytes(
53+
// 3072-bit
54+
15,
55+
BigUint::parse_bytes(
5656
b"FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1\
5757
29024E088A67CC74020BBEA63B139B22514A08798E3404DD\
5858
EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245\
@@ -69,13 +69,14 @@ lazy_static! {
6969
F12FFA06D98A0864D87602733EC86A64521F2B18177B200C\
7070
BBE117577A615D6C770988C0BAD946E208E24FA074E5AB31\
7171
43DB5BFCE0FD108E4B82D120A93AD2CAFFFFFFFFFFFFFFFF",
72-
16
73-
).unwrap()
72+
16,
73+
)
74+
.unwrap(),
7475
);
7576
m.insert(
76-
// 4096-bit
77-
16,
78-
BigUint::parse_bytes(
77+
// 4096-bit
78+
16,
79+
BigUint::parse_bytes(
7980
b"FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1\
8081
29024E088A67CC74020BBEA63B139B22514A08798E3404DD\
8182
EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245\
@@ -98,13 +99,14 @@ lazy_static! {
9899
1F612970CEE2D7AFB81BDD762170481CD0069127D5B05AA9\
99100
93B4EA988D8FDDC186FFB7DC90A6C08F4DF435C934063199\
100101
FFFFFFFFFFFFFFFF",
101-
16
102-
).unwrap()
102+
16,
103+
)
104+
.unwrap(),
103105
);
104106
m.insert(
105-
// 6144-bit
106-
17,
107-
BigUint::parse_bytes(
107+
// 6144-bit
108+
17,
109+
BigUint::parse_bytes(
108110
b"FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E08\
109111
8A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B\
110112
302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9\
@@ -133,15 +135,16 @@ lazy_static! {
133135
B7C5DA76F550AA3D8A1FBFF0EB19CCB1A313D55CDA56C9EC2EF29632\
134136
387FE8D76E3C0468043E8F663F4860EE12BF2D5B0B7474D6E694F91E\
135137
6DCC4024FFFFFFFFFFFFFFFF",
136-
16
137-
).unwrap()
138+
16,
139+
)
140+
.unwrap(),
138141
);
139142

140143
m.insert(
141-
// 8192-bit
142-
18,
143-
BigUint::parse_bytes(
144-
b"FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1\
144+
// 8192-bit
145+
18,
146+
BigUint::parse_bytes(
147+
b"FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1\
145148
29024E088A67CC74020BBEA63B139B22514A08798E3404DD\
146149
EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245\
147150
E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED\
@@ -184,12 +187,12 @@ lazy_static! {
184187
4009438B481C6CD7889A002ED5EE382BC9190DA6FC026E47\
185188
9558E4475677E9AA9E3050E2765694DFC81F56E880B96E71\
186189
60C980DD98EDD3DFFFFFFFFFFFFFFFFF",
187-
16
188-
).unwrap()
190+
16,
191+
)
192+
.unwrap(),
189193
);
190194
m
191-
};
192-
}
195+
});
193196

194197
/// Generating random number, should use num_bigint::RandomBits if possible.
195198
fn rand() -> usize {

src/lib.rs

-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
#[macro_use]
2-
extern crate lazy_static;
31
pub mod backtracking;
42
pub mod big_integer;
53
pub mod bit_manipulation;

0 commit comments

Comments
 (0)