Commit Graph

121 Commits

Author SHA1 Message Date
Didactic Drunk
57f6467e08 Docker bugfix #3. 2020-05-11 09:57:16 -07:00
Didactic Drunk
9a164a0be0 Add Ed25519 and Ristretto c functions. 2020-05-10 14:14:52 -07:00
Didactic Drunk
2c635f529d Remove XChaCha16. 2020-05-10 09:49:06 -07:00
didactic-drunk
3447574639
Merge pull request #4 from m-o-e/patch-1
Fix broken link in README (Blake2b)
2020-05-08 10:26:51 -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
Didactic Drunk
d7f5b6e717 Release 1.1.1
Fix Crystal 0.31 warnings.
2019-11-10 19:12:59 -08:00
Didactic Drunk
61191d96a6 Fix Crystal 0.31 warnings. 2019-11-10 19:07:57 -08:00
Didactic Drunk
59d8d543b2 Fix Crystal 0.31 warnings. 2019-10-28 14:12:03 -07:00
didactic-drunk
515ad1b722
Merge pull request #2 from kefahi/master
Fix the shard.yml setup in readme
2019-10-13 18:16:05 -07: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
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