Vendor dependencies

This commit is contained in:
2026-08-01 16:11:49 +03:00
parent 7f139a0241
commit 6b5e7f0f8b
29706 changed files with 9575646 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
//! Legacy version of ChaCha20 with a 64-bit nonce
use crate::{ChaChaCore, Key, R20, variants::Legacy};
use cipher::{
IvSizeUser, KeyIvInit, KeySizeUser, StreamCipherCoreWrapper,
array::Array,
consts::{U8, U32},
};
/// Nonce type used by [`ChaCha20Legacy`].
pub type LegacyNonce = Array<u8, U8>;
/// The ChaCha20 stream cipher (legacy "djb" construction with 64-bit nonce).
pub type ChaCha20Legacy = StreamCipherCoreWrapper<ChaCha20LegacyCore>;
/// The ChaCha20 stream cipher (legacy "djb" construction with 64-bit nonce).
pub type ChaCha20LegacyCore = ChaChaCore<R20, Legacy>;
impl KeySizeUser for ChaCha20LegacyCore {
type KeySize = U32;
}
impl IvSizeUser for ChaCha20LegacyCore {
type IvSize = U8;
}
impl KeyIvInit for ChaCha20LegacyCore {
#[inline(always)]
fn new(key: &Key, iv: &LegacyNonce) -> Self {
ChaChaCore::<R20, Legacy>::new_internal(key.as_ref(), iv.as_ref())
}
}