2 个版本
0.1.1 | 2019年4月28日 |
---|---|
0.1.0 | 2019年4月27日 |
#288 in 无标准库
12KB
137 行
XTEA
简单的XTEA实现(纯Rust)。
针对XTEA的详细(内部)文档实现,旨在提供一份可自由使用的版本。根据David Wheeler和Roger Needham的原始公有领域代码实现。
API简单,将DELTA
作为参数传递给函数,允许使用非标准的DELTA(这在意外地很常见)。
/// Enciphers the blocks in place.
pub fn encipher(blocks: &mut [u32], key: &[u32], delta: u32, rounds: usize);
/// Deciphers the blocks in place.
pub fn decipher(blocks: &mut [u32], key: &[u32], delta: u32, rounds: usize);
使用
通常这种密码很弱,并且有针对它的已知攻击。
许可证
本项目采用ISC许可证。请参阅LICENCE
。
lib.rs
:
简单的XTEA
实现。
使用Rust的core中的wrapping_add
和wrapping_sub
函数提供了最小保护。一般来说,代码应该没有问题(而且这段代码已经在生产环境中适度使用过)。