Skip to content

Commit d791d0a

Browse files
committed
Remove lazy_static from dependencies
1 parent f66f836 commit d791d0a

File tree

3 files changed

+32
-38
lines changed

3 files changed

+32
-38
lines changed

Cargo.toml

Lines changed: 0 additions & 1 deletion
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

Lines changed: 32 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -2,52 +2,50 @@
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+
).unwrap()
30+
);
31+
m.insert(
32+
// 2048-bit
33+
14,
34+
BigUint::parse_bytes(
35+
b"FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1\
36+
29024E088A67CC74020BBEA63B139B22514A08798E3404DD\
37+
EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245\
38+
E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED\
39+
EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3D\
40+
C2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F\
41+
83655D23DCA3AD961C62F356208552BB9ED529077096966D\
42+
670C354E4ABC9804F1746C08CA18217C32905E462E36CE3B\
43+
E39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9\
44+
DE2BCBF6955817183995497CEA956AE515D2261898FA0510\
45+
15728E5A8AACAA68FFFFFFFFFFFFFFFF",
46+
16
47+
).unwrap()
48+
);
5149

5250
m.insert(
5351
// 3072-bit
@@ -188,8 +186,7 @@ lazy_static! {
188186
).unwrap()
189187
);
190188
m
191-
};
192-
}
189+
});
193190

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

src/lib.rs

Lines changed: 0 additions & 2 deletions
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)