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
57
58
59
60
61
62
//! # Common utilities
//!
//! This module provides cryptographic utility functions and curve mappings used
//! throughout the VRF implementations.
/// Standard cryptographic procedures.
///
/// Includes challenge generation, nonce derivation, and point-to-hash conversions
/// inspired by RFC-9381 and RFC-8032.
pub use *;
/// Hash-to-curve implementations (TAI, Elligator2 with XMD/XOF).
pub use *;
/// Twisted Edwards to Short Weierstrass curve mapping.
///
/// Provides bidirectional mappings between different curve representations,
/// allowing operations to be performed in the most convenient form.
pub use *;
/// Fiat-Shamir transcript abstraction.
pub use *;
/// Point scalar multiplication with optional secret splitting.
///
/// When the `secret-split` feature is enabled, this macro splits the secret scalar
/// into the sum of two randomly generated scalars that retain the same sum. This
/// technique provides side-channel resistance at the cost of doubling the number
/// of scalar multiplications.
///
/// Without the feature enabled, it performs a standard scalar multiplication.