logo

Crate cast5

source · []
Expand description

Pure Rust implementation of the CAST5 block cipher (RFC 2144).

⚠️ Security Warning: Hazmat!

This crate implements only the low-level block cipher function, and is intended for use for implementing higher-level constructions only. It is NOT intended for direct use in applications.

USE AT YOUR OWN RISK!

Examples

use cast5::cipher::generic_array::GenericArray;
use cast5::cipher::{Key, Block, BlockEncrypt, BlockDecrypt, KeyInit};
use cast5::Cast5;

let key = GenericArray::from([0u8; 16]);
let mut block = GenericArray::from([0u8; 8]);
// Initialize cipher
let cipher = Cast5::new(&key);

let block_copy = block.clone();
// Encrypt block in-place
cipher.encrypt_block(&mut block);
// And decrypt it back
cipher.decrypt_block(&mut block);
assert_eq!(block, block_copy);

Re-exports

pub use cipher;

Structs

The CAST5 block cipher.