MCPcopy Create free account
hub / github.com/docknetwork/crypto / check

Function check

utils/src/ecies.rs:117–131  ·  view source on GitHub ↗
(rng: &mut StdRng)

Source from the content-addressed store, hash-verified

115 let mut rng = StdRng::seed_from_u64(0u64);
116
117 fn check<G: AffineRepr>(rng: &mut StdRng) {
118 let g = G::Group::rand(rng).into_affine();
119 let (sk, pk) = keygen(rng, &g);
120 let mut msg = vec![];
121 let r = G::ScalarField::rand(rng);
122 r.serialize_compressed(&mut msg).unwrap();
123 let enc = Encryption::<G, 32, 24>::encrypt::<_, XChaCha20Poly1305>(
124 rng, &msg, &pk.0, &g, None, None,
125 );
126 let decrypted = enc.decrypt::<XChaCha20Poly1305>(&sk.0, None, None);
127 assert_eq!(msg, decrypted);
128 let decrypted_r: G::ScalarField =
129 CanonicalDeserialize::deserialize_compressed(&decrypted[..]).unwrap();
130 assert_eq!(decrypted_r, r);
131 }
132
133 check::<G1Affine>(&mut rng);
134 check::<G2Affine>(&mut rng);

Callers

nothing calls this directly

Calls 2

randFunction · 0.85
keygenFunction · 0.70

Tested by

no test coverage detected