Commit Graph

111 Commits (3596abdb3cbdc44348bf57e2dc95caee99876d1f)

Author SHA1 Message Date
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 f766db7e9e Sodium::SecureBuffer Fix copying noaccess SecureBuffer's. 2019-09-28 08:58:25 -07: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 551d59865c Release 1.1.0
Sodium::Cipher::Aead::Xchacha20Poly1305Ietf
	New recommended AEAD algorithm.
Sodium::Password
	Create keys based on a time cost.
	Hashing and Key derivation split in to separate classes.
Sodium::*::PublicKey
	JSON and Yaml converters.
Sodium::Cipher::Chalsa
	Add #random_bytes for use as a CSPRNG.
Sodium::Nonce
	Reuse detection.
Sodium::SecureBuffer
	State transitions with exceptions instead of crashes.
Sodium::Kdf
	Use SecureBuffer to keep key unreadable until used.

SecureBuffer uniformly used in most key holding classes with erase param.

More documentation.
More benchmarks.
More specs.
2019-09-17 04:32:13 -07:00
Didactic Drunk 194ed5f4ef Add Documentation. 2019-09-17 04:31:39 -07:00
Didactic Drunk 3c345f7be8 Fix examples. 2019-09-16 02:35:38 -07:00
Didactic Drunk c470ef8865 Add Nonce spec. 2019-09-16 02:21:37 -07:00
Didactic Drunk b4fe9ef1c3 Split Sodium::Pwhash in to Sodium::Password::Hash and Sodium::Password::Key. 2019-09-16 02:21:37 -07:00
Didactic Drunk fbb7e9434a Sodium::CryptoBox::PublicKey make #encrypt identical to SecretBox#encrypt. 2019-09-14 06:34:50 -07:00
Didactic Drunk 8aea82b296 Add Sodium::CryptoBox::SecretKey#decrypt_string
Add Sodium::SecretBox#decrypt_string
Add Documentation.
2019-09-14 06:05:13 -07:00
Didactic Drunk 8572ba65c8 Documentation. 2019-09-14 04:47:57 -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 d0f3100689 Sodium::Cipher::Aead::XChaCha20Poly1305Ietf Always use SecureBuffer. Rename. 2019-09-13 22:39:29 -07:00
Didactic Drunk b212f6bacd Fix Sodium::SecureBuffer state transitions. 2019-09-13 21:33:21 -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 c3a9fe178a Sodium::Pwhash create keys based on time cost.
Add #craete_key and #craete_kdf.
2019-09-12 22:28:49 -07:00
Didactic Drunk 5196ee992e Sodium::Cipher::Chalsa Add #random_bytes for use as a CSPRNG. 2019-09-03 01:10:31 -07:00
Didactic Drunk ed7ba20082 Sodium::Kdf keep SecureBuffer in noaccess state except when in use. 2019-09-01 10:31:36 -07:00
Didactic Drunk 8cdb4cbf42 Sodium::SecureBuffer
Add State and transitions.
  New Exceptions.
  Raise instead of crashing when attempting to access buffer.
  Allow wiping more than once.
  Add specs.
2019-09-01 02:51:48 -07:00
Didactic Drunk 428907318b Documentation fix. [skip ci] 2019-08-31 02:47:34 -07:00
Didactic Drunk 7d33f1519f Sodium::Nonce add JSON and Yaml converters. 2019-08-30 22:30:21 -07:00
Didactic Drunk a825d61039 Sodium::SecretBox::PublicKey add JSON and Yaml converters.
Sodium::Sign::PublicKey add JSON and Yaml converters.
2019-08-29 01:16:48 -07:00
Didactic Drunk 740e49cc6b Sodium::Sign::SecretKey#initialize add erase argument. 2019-08-26 03:31:17 -07:00
Didactic Drunk bf2aaf0fe1 Documentation fixup 2019-08-26 03:23:03 -07:00
Didactic Drunk 2dda619026 Add default Sodium::Pwhash algorithm. 2019-08-24 14:15:37 -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 2d0ed351ea Allow reusable nonces. 2019-08-06 22:56:49 -07:00
Didactic Drunk 8ed9f94ead Documentation fixes. 2019-08-06 16:45:20 -07:00
Didactic Drunk d34bcb49f4 Fix github badge. 2019-08-06 16:29:47 -07:00
Didactic Drunk 54dfb4a454 Release 1.0.1 2019-08-06 15:51:51 -07:00
Didactic Drunk 54a3cd8a8a Sodium::Nonce reuse detection. 2019-08-06 15:14:25 -07:00
Didactic Drunk 075c245011 Release 1.0.0 2019-08-06 15:14:25 -07:00
Didactic Drunk d556e1c909 Use crypto_box_beforenmbytes to precompute CryptoBox shared key. 2019-08-06 14:30:43 -07:00
Didactic Drunk 31c3ead851 Add Documentation. 2019-08-06 04:37:38 -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 4be74741d5 Use timing safe compare in Sodium::SecureBuffer. 2019-08-05 22:30:24 -07:00
Didactic Drunk 0d8dd544d5 More test vectors from PyNaCl. 2019-08-05 22:30:24 -07:00
Didactic Drunk 95894ef8fd Verify libsodium download using minisign. 2019-08-05 22:30:24 -07:00
Didactic Drunk 9247d739ac Allow dup of Sodium::SecureBuffer.
Sodium::Digest::Blake2b use to_slice internally.
2019-07-27 00:35:27 -07:00
Didactic Drunk d577e3b1be Remove remaining base64 conversion.
Version to 0.9.1
More examples/constants.cr
Remove unused development dependency.
2019-07-09 15:32:41 -07:00
Didactic Drunk 159c381cef More constants in examples/constants.cr 2019-07-09 01:56:38 -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 65ad5987d4 SecureBuffer for Chalsa. 2019-07-08 16:08:39 -07:00
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