Skip to content

Releases: rafael-santiago/kryptos

vx20220002

06 Sep 12:12
Compare
Choose a tag to compare

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 and derive_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 and kryptos_hash_finalize conveniences. By default kryptos 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 some small/medium/large/huge but not HUGE buffered input reading and hashing tasks. Variable sized and keyed hashes are also supported by these conveniences.

Bugfixes

  • TWOFISH HMAC tests were enabled during user-mode tests (it was lacking). Anyway everything is fine, since it was running already on kernel-mode tests and passing. So, no bugfixes. 🥇

vx20220001

25 Aug 12:25
Compare
Choose a tag to compare

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

02 Mar 14:06
Compare
Choose a tag to compare

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 minor GCC's compilation warnings solved.

Bugfixes

  • None. 🥇

vx20210000

15 Oct 12:39
Compare
Choose a tag to compare

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! 🥇