pub struct Kyber<ProcessStatus = Encryption, KyberSize = Kyber1024, ContentStatus = Files, AlgorithmParam = AES>where
KyberSize: KyberSizeVariant,{ /* private fields */ }Expand description
Represents a generic Kyber structure with templated parameters for process status, Kyber size, content status, and algorithm parameter.
Implementations§
Source§impl<ProcessStatus, KyberSize: KyberSizeVariant, ContentStatus, AlgorithmParam> Kyber<ProcessStatus, KyberSize, ContentStatus, AlgorithmParam>
impl<ProcessStatus, KyberSize: KyberSizeVariant, ContentStatus, AlgorithmParam> Kyber<ProcessStatus, KyberSize, ContentStatus, AlgorithmParam>
Sourcepub fn new(key: Vec<u8>, nonce: Option<String>) -> Result<Self, CryptError>
pub fn new(key: Vec<u8>, nonce: Option<String>) -> Result<Self, CryptError>
Constructs a new Kyber instance with a key and an optional nonce.
Sourcepub fn get_nonce(&self) -> Result<&str, CryptError>
pub fn get_nonce(&self) -> Result<&str, CryptError>
Returns the nonce.
Sourcepub fn hmac_sha256(&mut self) -> Result<(), CryptError>
pub fn hmac_sha256(&mut self) -> Result<(), CryptError>
Switches the HMAC size to SHA-256 (default is SHA-512).
Source§impl Kyber<Encryption, Kyber1024, Files, AES>
Usable when KyberSize = Kyber1024
impl Kyber<Encryption, Kyber1024, Files, AES>
Usable when KyberSize = Kyber1024
pub fn kyber768( self, ) -> Result<Kyber<Encryption, Kyber768, Files, AES>, CryptError>
pub fn kyber512( self, ) -> Result<Kyber<Encryption, Kyber512, Files, AES>, CryptError>
Source§impl Kyber<Encryption, Kyber768, Files, AES>
Usable when KyberSize = Kyber768
impl Kyber<Encryption, Kyber768, Files, AES>
Usable when KyberSize = Kyber768
pub fn kyber1024( self, ) -> Result<Kyber<Encryption, Kyber1024, Files, AES>, CryptError>
pub fn kyber512( self, ) -> Result<Kyber<Encryption, Kyber512, Files, AES>, CryptError>
Source§impl Kyber<Encryption, Kyber512, Files, AES>
Usable when KyberSize = Kyber512
impl Kyber<Encryption, Kyber512, Files, AES>
Usable when KyberSize = Kyber512
pub fn kyber1024( self, ) -> Result<Kyber<Encryption, Kyber1024, Files, AES>, CryptError>
pub fn kyber768( self, ) -> Result<Kyber<Encryption, Kyber768, Files, AES>, CryptError>
Source§impl Kyber<Encryption, Kyber1024, Files, AesGcmSiv>
Usable when KyberSize = Kyber1024
impl Kyber<Encryption, Kyber1024, Files, AesGcmSiv>
Usable when KyberSize = Kyber1024
pub fn kyber768( self, ) -> Result<Kyber<Encryption, Kyber768, Files, AesGcmSiv>, CryptError>
pub fn kyber512( self, ) -> Result<Kyber<Encryption, Kyber512, Files, AesGcmSiv>, CryptError>
Source§impl Kyber<Encryption, Kyber768, Files, AesGcmSiv>
Usable when KyberSize = Kyber768
impl Kyber<Encryption, Kyber768, Files, AesGcmSiv>
Usable when KyberSize = Kyber768
pub fn kyber1024( self, ) -> Result<Kyber<Encryption, Kyber1024, Files, AesGcmSiv>, CryptError>
pub fn kyber512( self, ) -> Result<Kyber<Encryption, Kyber512, Files, AesGcmSiv>, CryptError>
Source§impl Kyber<Encryption, Kyber512, Files, AesGcmSiv>
Usable when KyberSize = Kyber512
impl Kyber<Encryption, Kyber512, Files, AesGcmSiv>
Usable when KyberSize = Kyber512
pub fn kyber1024( self, ) -> Result<Kyber<Encryption, Kyber1024, Files, AesGcmSiv>, CryptError>
pub fn kyber768( self, ) -> Result<Kyber<Encryption, Kyber768, Files, AesGcmSiv>, CryptError>
Source§impl Kyber<Encryption, Kyber1024, Files, AesCtr>
Usable when KyberSize = Kyber1024
impl Kyber<Encryption, Kyber1024, Files, AesCtr>
Usable when KyberSize = Kyber1024
pub fn kyber768( self, ) -> Result<Kyber<Encryption, Kyber768, Files, AesCtr>, CryptError>
pub fn kyber512( self, ) -> Result<Kyber<Encryption, Kyber512, Files, AesCtr>, CryptError>
Source§impl Kyber<Encryption, Kyber768, Files, AesCtr>
Usable when KyberSize = Kyber768
impl Kyber<Encryption, Kyber768, Files, AesCtr>
Usable when KyberSize = Kyber768
pub fn kyber1024( self, ) -> Result<Kyber<Encryption, Kyber1024, Files, AesCtr>, CryptError>
pub fn kyber512( self, ) -> Result<Kyber<Encryption, Kyber512, Files, AesCtr>, CryptError>
Source§impl Kyber<Encryption, Kyber512, Files, AesCtr>
Usable when KyberSize = Kyber512
impl Kyber<Encryption, Kyber512, Files, AesCtr>
Usable when KyberSize = Kyber512
pub fn kyber1024( self, ) -> Result<Kyber<Encryption, Kyber1024, Files, AesCtr>, CryptError>
pub fn kyber768( self, ) -> Result<Kyber<Encryption, Kyber768, Files, AesCtr>, CryptError>
Source§impl<ProcessStatus, KyberSize: KyberSizeVariant, ContentStatus> Kyber<ProcessStatus, KyberSize, ContentStatus, AES>
Usable when AlgorithmParam = AES
impl<ProcessStatus, KyberSize: KyberSizeVariant, ContentStatus> Kyber<ProcessStatus, KyberSize, ContentStatus, AES>
Usable when AlgorithmParam = AES
pub fn xchacha20( self, ) -> Kyber<ProcessStatus, KyberSize, ContentStatus, XChaCha20>
pub fn aes_gcm_siv( self, ) -> Kyber<ProcessStatus, KyberSize, ContentStatus, AesGcmSiv>
pub fn aes_ctr(self) -> Kyber<ProcessStatus, KyberSize, ContentStatus, AesCtr>
pub fn aes_xts(self) -> Kyber<ProcessStatus, KyberSize, ContentStatus, AesXts>
pub fn xchacha20poly1305( self, ) -> Kyber<ProcessStatus, KyberSize, ContentStatus, XChaCha20Poly1305>
Source§impl<ProcessStatus, KyberSize: KyberSizeVariant, ContentStatus> Kyber<ProcessStatus, KyberSize, ContentStatus, XChaCha20>
Usable when AlgorithmParam = XChaCha20
impl<ProcessStatus, KyberSize: KyberSizeVariant, ContentStatus> Kyber<ProcessStatus, KyberSize, ContentStatus, XChaCha20>
Usable when AlgorithmParam = XChaCha20
pub fn aes(self) -> Kyber<ProcessStatus, KyberSize, ContentStatus, AES>
pub fn aes_gcm_siv( self, ) -> Kyber<ProcessStatus, KyberSize, ContentStatus, AesGcmSiv>
pub fn aes_ctr(self) -> Kyber<ProcessStatus, KyberSize, ContentStatus, AesCtr>
pub fn aes_xts(self) -> Kyber<ProcessStatus, KyberSize, ContentStatus, AesXts>
pub fn xchacha20poly1305( self, ) -> Kyber<ProcessStatus, KyberSize, ContentStatus, XChaCha20Poly1305>
Source§impl<ProcessStatus, KyberSize: KyberSizeVariant, ContentStatus> Kyber<ProcessStatus, KyberSize, ContentStatus, XChaCha20Poly1305>
Usable when AlgorithmParam = XChaCha20Poly1305
impl<ProcessStatus, KyberSize: KyberSizeVariant, ContentStatus> Kyber<ProcessStatus, KyberSize, ContentStatus, XChaCha20Poly1305>
Usable when AlgorithmParam = XChaCha20Poly1305
pub fn aes(self) -> Kyber<ProcessStatus, KyberSize, ContentStatus, AES>
pub fn aes_gcm_siv( self, ) -> Kyber<ProcessStatus, KyberSize, ContentStatus, AesGcmSiv>
pub fn aes_ctr(self) -> Kyber<ProcessStatus, KyberSize, ContentStatus, AesCtr>
pub fn aes_xts(self) -> Kyber<ProcessStatus, KyberSize, ContentStatus, AesXts>
pub fn xchacha20( self, ) -> Kyber<ProcessStatus, KyberSize, ContentStatus, XChaCha20>
Source§impl<ProcessStatus, KyberSize: KyberSizeVariant, ContentStatus> Kyber<ProcessStatus, KyberSize, ContentStatus, AesGcmSiv>
Usable when AlgorithmParam = AesGcmSiv
impl<ProcessStatus, KyberSize: KyberSizeVariant, ContentStatus> Kyber<ProcessStatus, KyberSize, ContentStatus, AesGcmSiv>
Usable when AlgorithmParam = AesGcmSiv
pub fn xchacha20( self, ) -> Kyber<ProcessStatus, KyberSize, ContentStatus, XChaCha20>
pub fn xchacha20poly1305( self, ) -> Kyber<ProcessStatus, KyberSize, ContentStatus, XChaCha20Poly1305>
pub fn aes(self) -> Kyber<ProcessStatus, KyberSize, ContentStatus, AES>
pub fn aes_ctr(self) -> Kyber<ProcessStatus, KyberSize, ContentStatus, AesCtr>
pub fn aes_xts(self) -> Kyber<ProcessStatus, KyberSize, ContentStatus, AesXts>
Source§impl<ProcessStatus, KyberSize: KyberSizeVariant, ContentStatus> Kyber<ProcessStatus, KyberSize, ContentStatus, AesCtr>
Usable when AlgorithmParam = AesCtr
impl<ProcessStatus, KyberSize: KyberSizeVariant, ContentStatus> Kyber<ProcessStatus, KyberSize, ContentStatus, AesCtr>
Usable when AlgorithmParam = AesCtr
pub fn xchacha20( self, ) -> Kyber<ProcessStatus, KyberSize, ContentStatus, XChaCha20>
pub fn aes(self) -> Kyber<ProcessStatus, KyberSize, ContentStatus, AES>
pub fn aes_gcm_siv( self, ) -> Kyber<ProcessStatus, KyberSize, ContentStatus, AesGcmSiv>
pub fn aes_xts(self) -> Kyber<ProcessStatus, KyberSize, ContentStatus, AesXts>
pub fn xchacha20poly1305( self, ) -> Kyber<ProcessStatus, KyberSize, ContentStatus, XChaCha20Poly1305>
Source§impl<ProcessStatus, KyberSize: KyberSizeVariant, ContentStatus> Kyber<ProcessStatus, KyberSize, ContentStatus, AesXts>
Usable when AlgorithmParam = AesXts
impl<ProcessStatus, KyberSize: KyberSizeVariant, ContentStatus> Kyber<ProcessStatus, KyberSize, ContentStatus, AesXts>
Usable when AlgorithmParam = AesXts
pub fn xchacha20( self, ) -> Kyber<ProcessStatus, KyberSize, ContentStatus, XChaCha20>
pub fn xchacha20poly1305( self, ) -> Kyber<ProcessStatus, KyberSize, ContentStatus, XChaCha20Poly1305>
pub fn aes(self) -> Kyber<ProcessStatus, KyberSize, ContentStatus, AES>
pub fn aes_gcm_siv( self, ) -> Kyber<ProcessStatus, KyberSize, ContentStatus, AesGcmSiv>
pub fn aes_ctr(self) -> Kyber<ProcessStatus, KyberSize, ContentStatus, AesCtr>
Source§impl<ProcessStatus, KyberSize: KyberSizeVariant, AlgorithmParam> Kyber<ProcessStatus, KyberSize, Files, AlgorithmParam>
Usable when ContentStatus = Files
impl<ProcessStatus, KyberSize: KyberSizeVariant, AlgorithmParam> Kyber<ProcessStatus, KyberSize, Files, AlgorithmParam>
Usable when ContentStatus = Files
Source§impl<ProcessStatus, KyberSize: KyberSizeVariant, AlgorithmParam> Kyber<ProcessStatus, KyberSize, Message, AlgorithmParam>
Usable when ContentStatus = Message
impl<ProcessStatus, KyberSize: KyberSizeVariant, AlgorithmParam> Kyber<ProcessStatus, KyberSize, Message, AlgorithmParam>
Usable when ContentStatus = Message
Source§impl<ProcessStatus, KyberSize: KyberSizeVariant, AlgorithmParam> Kyber<ProcessStatus, KyberSize, Data, AlgorithmParam>
Usable when ContentStatus = Data
impl<ProcessStatus, KyberSize: KyberSizeVariant, AlgorithmParam> Kyber<ProcessStatus, KyberSize, Data, AlgorithmParam>
Usable when ContentStatus = Data
Source§impl<KyberSize: KyberSizeVariant, ContentStatus, AlgorithmParam> Kyber<Encryption, KyberSize, ContentStatus, AlgorithmParam>
Usable when ProcessStatus = Encryption
impl<KyberSize: KyberSizeVariant, ContentStatus, AlgorithmParam> Kyber<Encryption, KyberSize, ContentStatus, AlgorithmParam>
Usable when ProcessStatus = Encryption
pub fn decryption(self) -> Kyber<Decryption, KyberSize, Message, AlgorithmParam>
Source§impl<KyberSize: KyberSizeVariant, ContentStatus, AlgorithmParam> Kyber<Decryption, KyberSize, ContentStatus, AlgorithmParam>
Usable when ProcessStatus = Decryption
impl<KyberSize: KyberSizeVariant, ContentStatus, AlgorithmParam> Kyber<Decryption, KyberSize, ContentStatus, AlgorithmParam>
Usable when ProcessStatus = Decryption