#block-cipher #place #key #xtea #encipher #decipher #enciphers

无std sysfunc-blockcipher-xtea

简单的XTEA分组密码实现 #![no_std]

2 个版本

0.1.1 2019年4月28日
0.1.0 2019年4月27日

#288 in 无标准库

ISC 许可证

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_addwrapping_sub函数提供了最小保护。一般来说,代码应该没有问题(而且这段代码已经在生产环境中适度使用过)。

无运行时依赖