Releases: rafael-santiago/kryptos
vx20220002
vx20220002
Added one more cryptographic hash primitive and some support for incremental hash emulation.
Features
-
Added
BLAKE3
hash algorithm. The library implementation supports the three current available modes for this brand new hash algorithm:hash
,keyed_hash
andderive_key
. For the sake of simplicity, concurrency were not handled by this implementation. Synchronization primitives would be out of library's scope, its is an operating system business and very oriented to user's status quo. I believe that a user facing this kind of requirement will be capable of pick the implementation and shift it to concurrency if she/he wants to. -
Added
kryptos_hash_init
,kryptos_hash_update
andkryptos_hash_finalize
conveniences. By defaultkryptos
does not implement incremental hashing since all its hash primitives have been implemented taking into consideration that all data to be hashed will be in memory. Those three new primitives are only for emulating the incremental hashing behavior. It could be useful on somesmall/medium/large/huge
but notHUGE
buffered input reading and hashing tasks. Variable sized and keyed hashes are also supported by these conveniences.
Bugfixes
TWOFISH HMAC
tests were enabled duringuser-mode
tests (it was lacking). Anyway everything is fine, since it was running already onkernel-mode
tests and passing. So, no bugfixes. 🥇
vx20220001
vx20220001
Now library counts with two one-time password algorithms (HMAC
based and time based). Support for standard encoding algorithms was also shifted, now Base32
and Base16
are also available besides the common one Base64
.
Features
- Added
HOTP
support. - Added
TOTP
support. - Added
Base32
support. - Added
Base16
support.
Bugfixes
- None. 🥇
vx20220000
vx20220000
Increased library's support on ciphers
, MAC
and PRF
besides some minor cosmetic changes. Now kryptos offers full support for the five AES
finalists.
Features
- Added
djb2
support. - Added
Salsa20
support. - Added
ChaCha20
support. - Added MACs:
Poly1305
,SipHash
(short messages). - Added PRF:
SipHash
. - Added Non-cryptographic hash:
SipHash
. - Added
Twofish
(128
,192
,256
) support. - Build improvements:
MSVC
artifacts installing, kryptos-test.sys unloading problem, some remaining and minorGCC's
compilation warnings solved.
Bugfixes
- None. 🥇
vx20210000
vx20210000
Well, this is my first formalization/gathering of codes that I have been implementing, maintaining and using from 2004 to 2021.
Features
- Symmetric ciphers: arc4, seal, rabbit, aes-128, aes-192, aes-256, des, 3des, 3des-ede, idea, rc2, rc5, rc6-128, rc6-192, rc6-256, feal, cast5, camellia-128, camellia-192, camellia-256, safer-k64, blowfish, serpent, tea, xtea, misty1, mars-128, mars-192, mars-256, present-80, present-128, shacal-1, shacal-2, noekeon, noekeon (direct key), gost (with DES s-boxes), gost.
- Supported block ciphers mode: ecb, cbc, ofb, ctr, gcm.
- Hashes: sha-1, sha-224, sha-256, sha-384, sha-512, sha3-224, sha3-256, sha3-384, sha3-512, keccak-224, keccak-256, keccak-384, keccak-512, md4, md5, ripemd-128, ripemd-160, tiger, whirlpool, blake2s256, blake2b512, blake2sN (variable output length), blake2bN (variable output length).
- HMAC: yes.
- PK: dh, ecdh, rsa, rsa/oaep, rsa/emsapss, elgamal, elgamal/oaep, dsa, ecdsa.
- Supported standard elliptic curves: BrainPoolP160R1, BrainPoolP160T1, BrainPoolP192R1, BrainPoolP192T1, BrainPoolP224R1, BrainPoolP224T1, BrainPoolP256R1, BrainPoolP256T1, BrainPoolP320R1, BrainPoolP320T1, BrainPoolP384R1, BrainPoolP384T1, BrainPoolP512R1, BrainPoolP512T1.
- KDFs: hkdf, pbkdf2, argon2 (version 19).
- Bcrypt: yes.
- Extra features: base64 and uuencode, huffman compression, pem encoding conveniences, ram swap avoidance, libc memory functions hooking avoidance, data wiping on freeing memory, unbiased random values from ranges, fortuna prng besides the default use of the system's csprng.
- Able to be used from user or kernel mode (watch the current kernel support).
- Supported kernels: Linux, FreeBSD, NetBSD and Windows.
- Supported toolchains: gcc, clang and microsoft visual c (2019).
- License: GPLv2.
Bugfixes
- None! 🥇