7 releases
0.2.2 | Aug 20, 2023 |
---|---|
0.2.1 | Nov 3, 2022 |
0.1.5 | Jun 16, 2019 |
0.1.4 | Jan 8, 2019 |
0.1.2 | Apr 23, 2018 |
#678 in Cryptography
178 downloads per month
Used in 4 crates
(2 directly)
130KB
1.5K
SLoC
aes_frast
NOT for Serious Usage
aes_frast
is an easy-to-use lib for AES encryption and decryption, coded in pure safe Rust-lang. The AES algorithm is implemented by looking-up-tables.
In the name aes_frast
, "frast" is a mix of the words "rust" and "fast". These lib is designed to run as fast as possible on pure Rust-lang code, no ASM.
Compatibility
Functions in this lib is compatible with OpenSSL if they can be found in OpenSSL although maybe in different names.
Security
Any cryptographic audit of this lib has NEVER been conducted. So, please be extremely careful when you are looking for high security.
The author tries to make it more secure, but never gives any guarantee of security.
In addition, some researches have reported that there could be timing problems in looking-up-tables implement. However, this lib assumes that the computers which run the lib are secure and users of this lib have done something to avoid the timing problems. Usages like file encryption may be suitable.
Maybe, this lib is for somebody who just wants to know the structure of AES.
Features
- 128bit, 192bit, 256bit key-size and fixed 128bit block-size.
- ECB, CBC, CFB, OFB operation mode (with experimental PCBC mode and CFB8 mode).
- ANSIX923, PKCS #7, Zeros padding and depadding.
- Single-block process.
- Working keys scheduling.
Examples
Please see the doc.
Next version? [HELP-WANTED]
In the future, what will the lib be?
I don't know.
Maybe the following will be considered, maybe not:
- CTR and GCM operation modes.
- Hash functions and HMAC.
- PBKDF2 and other key derivation functions.
- FFI.
- Try to speed up!
- More security and audits if possible.
Pull requests are always welcome. Thank all of you.