Commit Graph

52 Commits (e68a316e8a19c57f6b7b9575bb92456321cce495)

Author SHA1 Message Date
Didactic Drunk a8f716de09 Crystal <= 0.34 backport `final` methods from crystal 0.35.
Crystal = 0.35 use new Digest::Base interface.
Crystal > 0.35 futureport `hexfinal` method.
2020-05-18 23:13:50 -07:00
moe 39f3f13deb
Fix broken link in README (Blake2b) 2020-05-08 12:49:29 +02:00
Didactic Drunk ea4fc4e9a6 Fix KEY_SIZE and NONCE_SIZE for non-ietf salsa/chacha ciphers.
Allow dupping various classes.
2019-11-25 06:44:33 -08:00
Kefah T. Issa 3596abdb3c
Fix the shard.yml setup
The shard name should be "sodium" without .cr otherwise we get an error when running `shards install`
2019-10-13 21:43:46 +03:00
Didactic Drunk 1e240f70b6 Make Sodium::SecretBox#key public. 2019-09-23 05:15:53 -07:00
Didactic Drunk 9b803f9f17 Document thread safety. 2019-09-17 09:05:55 -07:00
Didactic Drunk 194ed5f4ef Add Documentation. 2019-09-17 04:31:39 -07:00
Didactic Drunk dd3fe7822b Add Chalsa CSPRNG benchmarks. 2019-09-14 04:30:45 -07:00
Didactic Drunk 030b90c2ff XChaCha20-Poly1305-IETF Test vectors. 2019-09-14 04:22:05 -07:00
Didactic Drunk 964fe714e9 Sodium::Cipher::Aead::Xchacha20Poly1305Ietf Add combined mode. 2019-09-13 03:16:04 -07:00
Didactic Drunk 192044b27a Sodium::Cipher::Aead::Xchacha20Poly1305Ietf Add class and basic specs. 2019-09-13 03:16:00 -07:00
Didactic Drunk 428907318b Documentation fix. [skip ci] 2019-08-31 02:47:34 -07:00
Didactic Drunk ac15f86705 Add Nonce reuse detection.
Build example as part of tests.
2019-08-10 03:58:30 -07:00
Didactic Drunk d34bcb49f4 Fix github badge. 2019-08-06 16:29:47 -07:00
Didactic Drunk 075c245011 Release 1.0.0 2019-08-06 15:14:25 -07:00
Didactic Drunk fde955c509 Rename Sodium::Pwhash#store to #create.
Rename Sodium::Pwhash#key_derive to #derive_key.
Rename Sodium::Pwhash#kdf_derive to #derive_kdf.
Rename Sodium::CryptoBox#encrypt_easy to #encrypt.
Rename Sodium::CryptoBox#decrypt_easy to #decrypt.
Rename Sodium::SecretBox#encrypt_easy to #encrypt.
Rename Sodium::SecretBox#decrypt_easy to #decrypt.

Remove redundant Sodium::SecretBox#encrypt methods.
2019-08-06 03:58:22 -07:00
Didactic Drunk 8ca9dc6ff9 Add Sodium::Sign::SecretKey detached test vectors. 2019-08-06 02:20:47 -07:00
Didactic Drunk 0d8dd544d5 More test vectors from PyNaCl. 2019-08-05 22:30:24 -07:00
Didactic Drunk fc60839d5b Documentation. 2019-07-09 00:42:56 -07:00
Didactic Drunk 96b215cf54 Add Sodium::Cipher::SecretStream 2019-07-08 23:39:00 -07:00
Didactic Drunk d1c8829fcf API changed all Key classes .bytes to .to_slice
Switched most custom Wipe implementation to libsodium guarded memory.
2019-07-03 18:04:13 -07:00
Didactic Drunk 769e02e4c7 Add Pwhash test vectors from PyNaCl and RbNaCl.
Pwhash::Algorithm renamed to Mode to be more like other libsodium bindings.
Cryptobox#encrypt now returns {encrypted, nonce} identical to SecretBox.
2019-07-01 10:50:46 -07:00
Didactic Drunk 92ac0ef6d4 Version 0.9.0
Rearrange CryptoBox.
Move Sodium::Error to it's own file.
Requiring individual files is now possible.
Individual require now possible.
2019-07-01 06:47:11 -07:00
Didactic Drunk 515b8446b9 Documentation fix. [skip ci] 2019-06-29 19:31:41 -07:00
Didactic Drunk 82c19bc78e Documentation.
Remove wipe in specs until bugs sorted out.

Switch most remaining properties to getter.
2019-06-29 19:20:30 -07:00
Didactic Drunk 162cd72b0c Add seed support to CryptoBox and Sign.
Wiping now supports multiple variables by Annotation.
2019-06-29 17:21:00 -07:00
Didactic Drunk 41a55a9593 Sodum::CryptoBox::SecretKey may derive keys from a seed.
Sodum::Sign::SecretKey may derive keys from a seed.
Sodum::CryptoBox::Pair renamed to Sodum::CryptoBox::Box
2019-06-29 12:44:47 -07:00
Didactic Drunk 2f4d9ddb6b Documentation. 2019-06-28 18:46:42 -07:00
Didactic Drunk a4b1b8071c Rename project from "cox" to "sodium.cr". 2019-06-28 16:25:05 -07:00
Didactic Drunk 8e939b9518 API change. Cox::Blake2b renamed to Cox::Digest::Blake2b 2019-06-28 13:58:55 -07:00
Didactic Drunk b50e068b43 Documentation. [skip ci] 2019-06-28 13:55:10 -07:00
Didactic Drunk 95ee0e63b1 Documentation. [skip ci] 2019-06-28 13:34:06 -07:00
Didactic Drunk 848cf3e3e2 Breaking API changes:
SecretKey renamed to SecretBox.

Start of automatic wiping.
Documentation additions and corrections.
2019-06-28 05:20:56 -07:00
Didactic Drunk a02c54f4a7 Breaking API changes:
SecretKey renamed to CryptoBox::SecretKey
  PublicKey renamed to CryptoBox::PublicKey
  KeyPair removed.  Use CryptoBox::SecretKey instead.

  Cox.encrypt was removed.  Use `secret_key.pair(...).encrypt`
  Cox.decrypt was removed.  Use `secret_key.pair(...).decrypt`
2019-06-28 04:32:16 -07:00
Didactic Drunk 0eb4a8991a Breaking API changes:
SignSecretKey rename to Sign::SecretKey
  SignPublicKey rename to Sign::PublicKey
  SignKeyPair removed.  Use Sign::SecretKey instead.

  Cox.sign_detached moved to Sign::SecretKey#sign_detached
  Cox.verify_detached moved to Sign::PublicKey#verify_detached

  verify_detached raises on failure instead of using a return value.

  More validation of data sizes.
2019-06-28 03:30:33 -07:00
Didactic Drunk da8f97ae47 More documentation. 2019-06-28 02:18:23 -07:00
Didactic Drunk be5b250a22 Formatting 2019-06-27 17:20:02 -07:00
Didactic Drunk e0ea31bd2e Swap Kdf subkey_size and subkey_id arguments. 2019-06-27 16:52:45 -07:00
Didactic Drunk 7292777bdb Documentation [skip ci] 2019-06-27 16:49:56 -07:00
Didactic Drunk 346d1ea47b Add Chalsa stream ciphers. 2019-06-27 13:52:09 -07:00
Didactic Drunk 2c3ddf6f0d Enhance pwhash_selector example and add table output [skip ci] 2019-06-27 09:54:25 -07:00
Didactic Drunk 3a078523f5 Documentation additions [ci skip] 2019-06-27 06:12:20 -07:00
Didactic Drunk d907317fd4 Switch maintainer 2019-06-25 19:25:42 -07:00
Didactic Drunk 325bed5414 Add blake2b benchmark and examples/pwhash_selector.cr 2019-06-25 19:24:21 -07:00
Didactic Drunk 7ea8ce856f Documentation 2019-06-19 02:03:26 -07:00
Didactic Drunk a358929e62 Add libsodium kdf. 2019-05-28 14:31:31 -07:00
Andrew Hamon 2d0f329774
Merge pull request #2 from dorkrawk/master
Add libsodium Public-key Signature Functionality
2018-02-16 16:14:43 -05:00
Dave 59a58d9c9a update README to reflect new sign/verify method names 2018-02-13 20:23:34 -08:00
Taylor Finnell 243748cb1f add travis badge to readme 2018-02-13 21:05:33 -05:00
Dave e65a47a4ac updated Usage in README and cleaned up libsodium bindings 2018-02-11 23:18:45 -08:00