pub enum DilithiumSecurityLevel {
L2,
L3,
L5,
}
Expand description
Dilithium security level variants.
Dilithium 安全级别变体。
§NIST Security Categories | NIST 安全类别
These correspond to NIST post-quantum cryptography security categories:
- Level 2: Equivalent to AES-128 (128-bit security)
- Level 3: Equivalent to AES-192 (192-bit security)
- Level 5: Equivalent to AES-256 (256-bit security)
这些对应于 NIST 后量子密码学安全类别:
- 级别 2: 等同于 AES-128(128 位安全性)
- 级别 3: 等同于 AES-192(192 位安全性)
- 级别 5: 等同于 AES-256(256 位安全性)
Variants§
L2
Dilithium-2: NIST security category 2 (128-bit security).
Dilithium-2: NIST 安全类别 2(128 位安全性)。
§Properties | 属性
- Security Level: 128-bit (equivalent to AES-128)
- Public Key Size: ~1,312 bytes
- Private Key Size: ~2,528 bytes
- Signature Size: ~2,420 bytes
- Performance: Good balance of security and efficiency
§Use Cases | 使用场景
Recommended for most applications requiring post-quantum signatures. 推荐用于大多数需要后量子签名的应用。
L3
Dilithium-3: NIST security category 3 (192-bit security).
Dilithium-3: NIST 安全类别 3(192 位安全性)。
§Properties | 属性
- Security Level: 192-bit (equivalent to AES-192)
- Public Key Size: ~1,952 bytes
- Private Key Size: ~4,000 bytes
- Signature Size: ~3,293 bytes
- Performance: Moderate, higher security than Dilithium-2
§Use Cases | 使用场景
For applications requiring higher security than 128-bit level. 用于需要高于 128 位级别安全性的应用。
L5
Dilithium-5: NIST security category 5 (256-bit security).
Dilithium-5: NIST 安全类别 5(256 位安全性)。
§Properties | 属性
- Security Level: 256-bit (equivalent to AES-256)
- Public Key Size: ~2,592 bytes
- Private Key Size: ~4,864 bytes
- Signature Size: ~4,595 bytes
- Performance: Slower, but maximum post-quantum security
§Use Cases | 使用场景
For the most sensitive applications requiring maximum security. 用于需要最大安全性的最敏感应用。
Trait Implementations§
Source§impl<'__de, __Context> BorrowDecode<'__de, __Context> for DilithiumSecurityLevel
impl<'__de, __Context> BorrowDecode<'__de, __Context> for DilithiumSecurityLevel
Source§fn borrow_decode<__D: BorrowDecoder<'__de, Context = __Context>>(
decoder: &mut __D,
) -> Result<Self, DecodeError>
fn borrow_decode<__D: BorrowDecoder<'__de, Context = __Context>>( decoder: &mut __D, ) -> Result<Self, DecodeError>
Attempt to decode this type with the given BorrowDecode.
Source§impl Clone for DilithiumSecurityLevel
impl Clone for DilithiumSecurityLevel
Source§fn clone(&self) -> DilithiumSecurityLevel
fn clone(&self) -> DilithiumSecurityLevel
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for DilithiumSecurityLevel
impl Debug for DilithiumSecurityLevel
Source§impl<__Context> Decode<__Context> for DilithiumSecurityLevel
impl<__Context> Decode<__Context> for DilithiumSecurityLevel
Source§impl<'de> Deserialize<'de> for DilithiumSecurityLevel
impl<'de> Deserialize<'de> for DilithiumSecurityLevel
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Encode for DilithiumSecurityLevel
impl Encode for DilithiumSecurityLevel
Source§impl Hash for DilithiumSecurityLevel
impl Hash for DilithiumSecurityLevel
Source§impl PartialEq for DilithiumSecurityLevel
impl PartialEq for DilithiumSecurityLevel
Source§impl Serialize for DilithiumSecurityLevel
impl Serialize for DilithiumSecurityLevel
impl Copy for DilithiumSecurityLevel
impl Eq for DilithiumSecurityLevel
impl StructuralPartialEq for DilithiumSecurityLevel
Auto Trait Implementations§
impl Freeze for DilithiumSecurityLevel
impl RefUnwindSafe for DilithiumSecurityLevel
impl Send for DilithiumSecurityLevel
impl Sync for DilithiumSecurityLevel
impl Unpin for DilithiumSecurityLevel
impl UnwindSafe for DilithiumSecurityLevel
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more