4 releases
0.1.4 | Dec 29, 2021 |
---|---|
0.1.3 | Dec 29, 2021 |
0.1.1 | Dec 28, 2021 |
0.1.0 | Dec 28, 2021 |
#1315 in Cryptography
15KB
246 lines
tc_tea
Rusty implementation of Tencent modified TEA (tc_tea).
Test data generated using its C++ implementation: tc_tea.cpp (BSD-3-Clause).
Code implemented according to the spec described in iweizime/StepChanger:腾讯 TEA 加密算法.
Features
secure_random
(default:on
): Enable secure RNG when generating padding bytes for tc_tea.
Install
Add the following to [dependencies]
section in your Cargo.toml
file:
tc_tea = "0.1.4"
Troubleshooting
- Key need to have
16
bytes or more.None
will be returned if less than16
bytes provided.- If more bytes were provided, only the first 16 bytes will be used.
- Encrypted data should have a size that is multiple of 8.
None
will be returned ifencrypted_data.len() % 8 > 0
.
Usage
use tc_tea;
fn hello_tc_tea() {
let key = "12345678ABCDEFGH";
let encrypted = tc_tea::encrypt(&"hello", &key).unwrap();
let decrypted = tc_tea::decrypt(&encrypted, &key).unwrap();
assert_eq!("hello", std::str::from_utf8(&decrypted).unwrap());
}
License
Dual licensed under MIT OR Apache-2.0 license.
SPDX-License-Identifier: MIT OR Apache-2.0
Dependencies
~375–570KB
~11K SLoC