Commit Graph

63 Commits

Author SHA1 Message Date
Didactic Drunk
cfd8a10b6b Blake2b accepts a SecureBuffer key.
More public constructors for SecretBox.
2019-07-08 13:24:25 -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
7dcaeb1332 Add examples/constants.cr 2019-06-30 14:21:31 -07:00
Didactic Drunk
7745e2f912 Wipe bugfix for StaticArray.
Thanks (in no particular order shuffled randomly until alphabetical)
  @asterite @bcardiff @blacksmoke16
2019-06-30 14:03:08 -07:00
Didactic Drunk
731a3d7a4c Remove old test vectors. 2019-06-30 07:20:04 -07:00
Didactic Drunk
68a08ce603 Fix shard name. 2019-06-30 07:05:20 -07:00
Didactic Drunk
26277f4e90 Add blake2b test vectors. 2019-06-29 23:47:54 -07:00
Didactic Drunk
65b12cddd9 Documentation. 2019-06-29 19:49:57 -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
f038f9b52e Add unauthenticated secret/public key encryption. 2019-06-29 18:19:01 -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
b07de55a28 Travis Github Pages configuration 2019-06-27 21:47:09 -07:00
Didactic Drunk
a0f15b7657 Switch .to_unsafe to .to_slice
Remove use of .pointer
2019-06-27 17:42:49 -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
8da7fb47ec PWhash add key derivation. 2019-06-27 08:03:33 -07:00
Didactic Drunk
3a078523f5 Documentation additions [ci skip] 2019-06-27 06:12:20 -07:00
Didactic Drunk
a5d1d14297 Automatically detect and build libsodium from source on systems with old or missing libsodium's.
Fix caching on Travis.
2019-06-26 18:28:08 -07:00
Didactic Drunk
1f6446b6f5 Cache compiled packages on travis. 2019-06-25 23:24:50 -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
1e0de420ad Change *_LENGTH and *_BYTES constants to *_SIZE. 2019-06-25 09:29:16 -07:00
Didactic Drunk
7ea8ce856f Documentation 2019-06-19 02:03:26 -07:00
Didactic Drunk
903b666943 Makes Cox::Blake2b#finish public and allows providing existing buffer. 2019-05-29 16:29:41 -07:00
Didactic Drunk
6670b22ca1 Add Blake2b. 2019-05-29 13:32:43 -07:00
Didactic Drunk
484847d57f Add ability to use existing buffer for encrypt_easy. 2019-05-29 00:59:32 -07:00
Didactic Drunk
b69f55456b Add secret key encrypt_easy. 2019-05-28 16:15:57 -07:00
Didactic Drunk
a26800765e Add libsodium password hashing 2019-05-28 16:15:13 -07:00
Didactic Drunk
a358929e62 Add libsodium kdf. 2019-05-28 14:31:31 -07:00
Didactic Drunk
e82d4416b4 Add exceptions and error checking. 2019-05-25 17:40:28 -07:00
Andrew Hamon
8346d47bc1
Merge pull request #5 from rzane/nonce-bytes
Cox::LibSodium::NONCE_BYTES points to the wrong function
2018-03-22 12:52:10 -05:00
Ray Zane
07bf3f5d2c Cox::LibSodium::NONCE_BYTES points to the wrong function 2018-03-22 13:18:21 -04:00
Andrew Hamon
8a18415185 Use LATEST rather than specific libsodium release in tests 2018-02-16 16:24:20 -05: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