rbnacl 4.0.2 → 7.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.gitignore +1 -0
- data/.rubocop.yml +30 -12
- data/.travis.yml +7 -16
- data/CHANGES.md +94 -70
- data/Gemfile +4 -3
- data/Guardfile +2 -0
- data/LICENSE.txt +1 -1
- data/README.md +35 -53
- data/Rakefile +4 -3
- data/lib/rbnacl.rb +12 -3
- data/lib/rbnacl/aead/base.rb +3 -0
- data/lib/rbnacl/aead/chacha20poly1305_ietf.rb +2 -2
- data/lib/rbnacl/aead/chacha20poly1305_legacy.rb +2 -2
- data/lib/rbnacl/aead/xchacha20poly1305_ietf.rb +44 -0
- data/lib/rbnacl/boxes/curve25519xsalsa20poly1305.rb +7 -6
- data/lib/rbnacl/boxes/curve25519xsalsa20poly1305/private_key.rb +1 -1
- data/lib/rbnacl/boxes/sealed.rb +136 -0
- data/lib/rbnacl/group_elements/curve25519.rb +3 -2
- data/lib/rbnacl/hash.rb +1 -1
- data/lib/rbnacl/hash/blake2b.rb +121 -24
- data/lib/rbnacl/hash/sha256.rb +1 -1
- data/lib/rbnacl/hash/sha512.rb +1 -1
- data/lib/rbnacl/hmac/sha256.rb +73 -8
- data/lib/rbnacl/hmac/sha512.rb +73 -8
- data/lib/rbnacl/hmac/sha512256.rb +71 -8
- data/lib/rbnacl/init.rb +1 -5
- data/lib/rbnacl/one_time_auths/poly1305.rb +2 -2
- data/lib/rbnacl/password_hash.rb +33 -2
- data/lib/rbnacl/password_hash/argon2.rb +43 -24
- data/lib/rbnacl/password_hash/scrypt.rb +1 -1
- data/lib/rbnacl/random.rb +1 -3
- data/lib/rbnacl/secret_boxes/xsalsa20poly1305.rb +2 -2
- data/lib/rbnacl/signatures/ed25519.rb +3 -3
- data/lib/rbnacl/signatures/ed25519/signing_key.rb +12 -5
- data/lib/rbnacl/signatures/ed25519/verify_key.rb +18 -4
- data/lib/rbnacl/sodium.rb +24 -15
- data/lib/rbnacl/sodium/version.rb +3 -1
- data/lib/rbnacl/test_vectors.rb +104 -44
- data/lib/rbnacl/util.rb +92 -8
- data/lib/rbnacl/version.rb +1 -1
- data/rbnacl.gemspec +7 -11
- data/spec/rbnacl/aead/xchacha20poly1305_ietf_spec.rb +14 -0
- data/spec/rbnacl/authenticators/poly1305_spec.rb +21 -1
- data/spec/rbnacl/boxes/curve25519xsalsa20poly1305_spec.rb +18 -6
- data/spec/rbnacl/boxes/sealed_spec.rb +63 -0
- data/spec/rbnacl/hash/blake2b_spec.rb +70 -0
- data/spec/rbnacl/hmac/sha256_spec.rb +6 -1
- data/spec/rbnacl/hmac/sha512256_spec.rb +6 -1
- data/spec/rbnacl/hmac/sha512_spec.rb +6 -1
- data/spec/rbnacl/password_hash/argon2_spec.rb +56 -14
- data/spec/rbnacl/signatures/ed25519/signing_key_spec.rb +10 -4
- data/spec/rbnacl/signatures/ed25519/verify_key_spec.rb +16 -0
- data/spec/rbnacl/sodium_spec.rb +53 -0
- data/spec/rbnacl/util_spec.rb +63 -4
- data/spec/shared/aead.rb +33 -13
- data/spec/shared/authenticator.rb +0 -19
- data/spec/shared/box.rb +18 -6
- data/spec/shared/hmac.rb +46 -0
- data/spec/shared/sealed_box.rb +29 -0
- data/spec/spec_helper.rb +4 -1
- metadata +18 -8
- data/.ruby-version +0 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: b4d92c7a609efebd94247e98d2ede88a057b5325f6cdb0e00baa5896cd5051f6
|
|
4
|
+
data.tar.gz: 4d9e65d468bd0b813817b0e1bb63327bbf450505e6e47f818fc5921886d69110
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 23a083b6a009719564e5f87b1f179f1e70b8a0233118491e88cea60e34f7f64bfbb30efe5aab94f90e691f109b2820c29adaffd0ec27e79bdf3cf7466d9ff977
|
|
7
|
+
data.tar.gz: '02915f7b4c44c3d3d12350bc23380450ee6ea51323bcbcee74b01009a307887043da71631beb12ab43b45c3299dd2a47bac847f4ba6b3e1aae33541edb9d7351'
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
AllCops:
|
|
2
|
+
TargetRubyVersion: 2.3
|
|
2
3
|
DisplayCopNames: true
|
|
3
|
-
Include:
|
|
4
|
-
- '**/Rakefile'
|
|
5
4
|
Exclude:
|
|
6
|
-
- 'spec/**/*'
|
|
7
5
|
- 'vendor/**/*'
|
|
8
|
-
- 'lib/rbnacl/test_vectors.rb'
|
|
9
6
|
|
|
10
7
|
#
|
|
11
8
|
# Metrics
|
|
@@ -14,24 +11,45 @@ AllCops:
|
|
|
14
11
|
Metrics/AbcSize:
|
|
15
12
|
Max: 20
|
|
16
13
|
|
|
14
|
+
Metrics/BlockLength:
|
|
15
|
+
Max: 128
|
|
16
|
+
ExcludedMethods: [ 'describe' ]
|
|
17
|
+
|
|
17
18
|
Metrics/ClassLength:
|
|
18
|
-
Max:
|
|
19
|
+
Max: 128
|
|
20
|
+
|
|
21
|
+
Metrics/LineLength:
|
|
22
|
+
Max: 128
|
|
19
23
|
|
|
20
24
|
Metrics/MethodLength:
|
|
21
|
-
|
|
25
|
+
CountComments: false
|
|
26
|
+
Max: 50
|
|
27
|
+
|
|
28
|
+
Metrics/CyclomaticComplexity:
|
|
29
|
+
Max: 15
|
|
30
|
+
|
|
31
|
+
Metrics/PerceivedComplexity:
|
|
32
|
+
Max: 15
|
|
22
33
|
|
|
23
34
|
#
|
|
24
|
-
#
|
|
35
|
+
# Naming
|
|
25
36
|
#
|
|
26
37
|
|
|
27
|
-
|
|
28
|
-
|
|
38
|
+
Naming/UncommunicativeMethodParamName:
|
|
39
|
+
Enabled: false
|
|
29
40
|
|
|
30
|
-
|
|
31
|
-
|
|
41
|
+
#
|
|
42
|
+
# Style
|
|
43
|
+
#
|
|
32
44
|
|
|
33
|
-
Style/
|
|
45
|
+
Style/AccessModifierDeclarations:
|
|
34
46
|
Enabled: false
|
|
35
47
|
|
|
36
48
|
Style/GlobalVars:
|
|
37
49
|
Enabled: false
|
|
50
|
+
|
|
51
|
+
Style/SafeNavigation:
|
|
52
|
+
Enabled: false
|
|
53
|
+
|
|
54
|
+
Style/StringLiterals:
|
|
55
|
+
EnforcedStyle: double_quotes
|
data/.travis.yml
CHANGED
|
@@ -1,25 +1,16 @@
|
|
|
1
1
|
language: ruby
|
|
2
|
-
sudo: false
|
|
3
2
|
cache: bundler
|
|
4
|
-
script: bundle exec rake ci
|
|
5
|
-
bundler_args: --without development
|
|
6
3
|
|
|
7
|
-
|
|
8
|
-
only:
|
|
9
|
-
- master
|
|
4
|
+
before_install: sudo apt-get install libsodium18
|
|
10
5
|
|
|
11
6
|
rvm:
|
|
12
|
-
- jruby-9.
|
|
13
|
-
- 2.
|
|
14
|
-
- 2.
|
|
15
|
-
- 2.4.0
|
|
16
|
-
|
|
17
|
-
env:
|
|
18
|
-
- LIBSODIUM_VERSION=1.0.0 # Minimum supported
|
|
19
|
-
- LIBSODIUM_VERSION=1.0.11 # Latest released
|
|
7
|
+
- jruby-9.2.8.0
|
|
8
|
+
- 2.5
|
|
9
|
+
- 2.6
|
|
20
10
|
|
|
21
11
|
matrix:
|
|
22
12
|
fast_finish: true
|
|
23
13
|
|
|
24
|
-
|
|
25
|
-
|
|
14
|
+
branches:
|
|
15
|
+
only:
|
|
16
|
+
- master
|
data/CHANGES.md
CHANGED
|
@@ -1,114 +1,138 @@
|
|
|
1
|
-
##
|
|
1
|
+
## [7.1.0] (2019-09-07)
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
([@paragonie-scott], [@tarcieri])
|
|
3
|
+
- Attached signature API ([#197], [#202])
|
|
4
|
+
- Fix the `generichash` state definition ([#200])
|
|
6
5
|
|
|
7
|
-
##
|
|
6
|
+
## [7.0.0] (2019-05-23)
|
|
8
7
|
|
|
9
|
-
|
|
10
|
-
Last minute changes to the ChaCha20Poly1305 API.
|
|
11
|
-
([@tarcieri])
|
|
8
|
+
- Drop support for Ruby 2.2 ([#194])
|
|
12
9
|
|
|
13
|
-
##
|
|
10
|
+
## [6.0.1] (2019-01-27)
|
|
14
11
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
- Add fallback `sodium_constants` for Argon2 ([#189])
|
|
13
|
+
- Support libsodium versions used by Heroku ([#186])
|
|
14
|
+
- Sealed boxes ([#184])
|
|
18
15
|
|
|
19
|
-
|
|
20
|
-
Added support for Argon2 password hash.
|
|
21
|
-
([@elijh])
|
|
16
|
+
## [6.0.0] (2018-11-08)
|
|
22
17
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
18
|
+
- Deprecate rbnacl-libsodium ([#180])
|
|
19
|
+
- Add support for XChaCha20-Poly1305 ([#176])
|
|
20
|
+
- Fix buffer size type in `randombytes_buf` binding ([#174])
|
|
21
|
+
- Add support for argon2id digest ([#174])
|
|
22
|
+
- Support for non-32-byte HMAC-SHA256/512 keys ([#166])
|
|
26
23
|
|
|
27
|
-
##
|
|
24
|
+
## 5.0.0 (2017-06-13)
|
|
28
25
|
|
|
29
|
-
|
|
30
|
-
Expose `RbNaCl::Signatures::Ed25519#keypair_bytes`.
|
|
31
|
-
([@grempe])
|
|
26
|
+
- Support the BLAKE2b Initialize-Update-Finalize API ([#159])
|
|
32
27
|
|
|
33
|
-
|
|
34
|
-
Expose HMAC-SHA512 (with 64-byte keys)
|
|
35
|
-
([@mwpastore])
|
|
28
|
+
## 4.0.2 (2017-03-12)
|
|
36
29
|
|
|
37
|
-
|
|
30
|
+
- Raise error on degenerate keys. Fixes #152 ([#157])
|
|
38
31
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
32
|
+
## 4.0.1 (2016-12-04)
|
|
33
|
+
|
|
34
|
+
- Last minute changes to the ChaCha20Poly1305 API ([#148])
|
|
35
|
+
|
|
36
|
+
## 4.0.0 (2016-12-04)
|
|
42
37
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
38
|
+
- Add wrappers for ChaCha20Poly1305 AEAD ciphers ([#141])
|
|
39
|
+
- Added support for Argon2 password hash ([#142])
|
|
40
|
+
- Require Ruby 2.2.6+ ([#143])
|
|
41
|
+
|
|
42
|
+
## 3.4.0 (2015-05-07)
|
|
43
|
+
|
|
44
|
+
- Expose `RbNaCl::Signatures::Ed25519#keypair_bytes` ([#135])
|
|
45
|
+
- Expose HMAC-SHA512 with 64-byte keys ([#137])
|
|
46
|
+
|
|
47
|
+
## 3.3.0 (2015-12-29)
|
|
48
|
+
|
|
49
|
+
- Remove use of Thread.exclusive when initializing library ([#128])
|
|
50
|
+
- Add salt/personalisation strings for Blake2b ([#105])
|
|
46
51
|
|
|
47
52
|
## 3.2.0 (2015-05-31)
|
|
48
53
|
|
|
49
|
-
|
|
50
|
-
|
|
54
|
+
- Fix method signature for blake2b
|
|
55
|
+
- RuboCop-friendly codebase
|
|
51
56
|
|
|
52
57
|
## 3.1.2 (2014-08-30)
|
|
53
58
|
|
|
54
|
-
|
|
59
|
+
- Fix scrypt support with libsodium 0.7.0 (scryptsalsa208sha256)
|
|
55
60
|
|
|
56
61
|
## 3.1.1 (2014-06-14)
|
|
57
62
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
63
|
+
- Fix undefined variable warning
|
|
64
|
+
- RSpec 3 fixups
|
|
65
|
+
- RuboCop
|
|
61
66
|
|
|
62
67
|
## 3.1.0 (2014-05-22)
|
|
63
68
|
|
|
64
|
-
|
|
69
|
+
- The scrypt password hashing function: `RbNaCl::PasswordHash.scrypt`
|
|
65
70
|
|
|
66
71
|
## 3.0.1 (2014-05-12)
|
|
67
72
|
|
|
68
|
-
|
|
73
|
+
- Load gem from `RBNACL_LIBSODIUM_GEM_LIB_PATH` if set. Used by rbnacl-libsodium
|
|
69
74
|
gem to use libsodium compiled from a gem.
|
|
70
75
|
|
|
71
76
|
## 3.0.0 (2014-04-22)
|
|
72
77
|
|
|
73
|
-
|
|
74
|
-
|
|
78
|
+
- Rename RandomNonceBox to SimpleBox (backwards compatibility preserved)
|
|
79
|
+
- Reverse documented order of SimpleBox/RandomNonceBox initialize parameters.
|
|
75
80
|
Technically backwards compatible, but confusing.
|
|
76
|
-
|
|
81
|
+
- Ensure all strings are ASCII-8BIT/BINARY encoding prior to use
|
|
77
82
|
|
|
78
83
|
## 2.0.0 (2013-11-07)
|
|
79
84
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
85
|
+
- Rename Crypto module to RbNaCl module
|
|
86
|
+
- Add encrypt/decrypt aliases for `Crypto::RandomNonceBox`
|
|
87
|
+
- `RbNaCl::VerifyKey#verify` operand order was reversed. New operand order is
|
|
83
88
|
signature, message instead of message, signature
|
|
84
|
-
|
|
85
|
-
all now raise a (descendent of) CryptoError if the check
|
|
86
|
-
failures are handled by the program.
|
|
87
|
-
|
|
88
|
-
which are named after the primitives they provide
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
89
|
+
- `RbNaCL::SecretBox#open`, `RbNaCl::Box#open`, `Auth#verify` and
|
|
90
|
+
`VerifyKey#verify` all now raise a (descendent of) CryptoError if the check
|
|
91
|
+
fails. This ensures failures are handled by the program.
|
|
92
|
+
- `RbNaCl::SecretBox`, Box, etc. are all now aliases for the real
|
|
93
|
+
implementations, which are named after the primitives they provide
|
|
94
|
+
- Removed encoder functionality.
|
|
95
|
+
- Add support for the Blake2b cryptographic hash algorithm.
|
|
96
|
+
- Add checks that we have a sufficiently recent version of libsodium (0.4.3+)
|
|
97
|
+
- Dropped ruby-1.8 support
|
|
98
|
+
- Call the `sodium_init()` function, to select the best algorithms.
|
|
99
|
+
- Fix some typos in the documentation
|
|
100
|
+
- Changes in the low level binding for libsodium and removal of the NaCl module
|
|
101
|
+
- Add a mutex around calls to randombytes in libsodium
|
|
97
102
|
|
|
98
103
|
## 1.1.0 (2013-04-19)
|
|
99
104
|
|
|
100
|
-
|
|
105
|
+
- Provide API for querying primitives and details about them, such as key
|
|
101
106
|
lengths, nonce lengths, etc.
|
|
102
|
-
|
|
107
|
+
- Fixed bug on passing null bytes to sha256, sha512 functions.
|
|
103
108
|
|
|
104
109
|
## 1.0.0 (2013-03-08)
|
|
105
110
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
[
|
|
109
|
-
[
|
|
110
|
-
[
|
|
111
|
-
[
|
|
112
|
-
[
|
|
113
|
-
[
|
|
114
|
-
[
|
|
111
|
+
- Initial release
|
|
112
|
+
|
|
113
|
+
[7.1.0]: https://github.com/crypto-rb/rbnacl/pull/203
|
|
114
|
+
[#202]: https://github.com/crypto-rb/rbnacl/pull/202
|
|
115
|
+
[#200]: https://github.com/crypto-rb/rbnacl/pull/200
|
|
116
|
+
[#197]: https://github.com/crypto-rb/rbnacl/pull/197
|
|
117
|
+
[7.0.0]: https://github.com/crypto-rb/rbnacl/pull/195
|
|
118
|
+
[#194]: https://github.com/crypto-rb/rbnacl/pull/194
|
|
119
|
+
[6.0.1]: https://github.com/crypto-rb/rbnacl/pull/191
|
|
120
|
+
[#189]: https://github.com/crypto-rb/rbnacl/pull/189
|
|
121
|
+
[#186]: https://github.com/crypto-rb/rbnacl/pull/186
|
|
122
|
+
[#184]: https://github.com/crypto-rb/rbnacl/pull/184
|
|
123
|
+
[6.0.0]: https://github.com/crypto-rb/rbnacl/pull/182
|
|
124
|
+
[#180]: https://github.com/crypto-rb/rbnacl/pull/180
|
|
125
|
+
[#176]: https://github.com/crypto-rb/rbnacl/pull/176
|
|
126
|
+
[#174]: https://github.com/crypto-rb/rbnacl/pull/174
|
|
127
|
+
[#172]: https://github.com/crypto-rb/rbnacl/pull/172
|
|
128
|
+
[#166]: https://github.com/crypto-rb/rbnacl/pull/166
|
|
129
|
+
[#159]: https://github.com/crypto-rb/rbnacl/pull/159
|
|
130
|
+
[#157]: https://github.com/crypto-rb/rbnacl/pull/157
|
|
131
|
+
[#148]: https://github.com/crypto-rb/rbnacl/pull/148
|
|
132
|
+
[#143]: https://github.com/crypto-rb/rbnacl/pull/143
|
|
133
|
+
[#142]: https://github.com/crypto-rb/rbnacl/pull/142
|
|
134
|
+
[#141]: https://github.com/crypto-rb/rbnacl/pull/141
|
|
135
|
+
[#137]: https://github.com/crypto-rb/rbnacl/pull/137
|
|
136
|
+
[#135]: https://github.com/crypto-rb/rbnacl/pull/135
|
|
137
|
+
[#128]: https://github.com/crypto-rb/rbnacl/pull/128
|
|
138
|
+
[#105]: https://github.com/crypto-rb/rbnacl/pull/105
|
data/Gemfile
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
source "https://rubygems.org"
|
|
2
4
|
|
|
3
5
|
gemspec
|
|
@@ -7,10 +9,9 @@ group :development do
|
|
|
7
9
|
end
|
|
8
10
|
|
|
9
11
|
group :test do
|
|
10
|
-
gem "rspec"
|
|
11
|
-
gem "rubocop", "0.46.0"
|
|
12
12
|
gem "coveralls", require: false
|
|
13
|
-
gem "
|
|
13
|
+
gem "rspec"
|
|
14
|
+
gem "rubocop", "= 0.70.0"
|
|
14
15
|
end
|
|
15
16
|
|
|
16
17
|
group :development, :test do
|
data/Guardfile
CHANGED
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
|
@@ -1,31 +1,19 @@
|
|
|
1
|
-

|
|
2
2
|
======
|
|
3
3
|
[](http://badge.fury.io/rb/rbnacl)
|
|
4
|
-
[](https://github.com/
|
|
4
|
+
[](https://travis-ci.org/crypto-rb/rbnacl)
|
|
5
|
+
[](https://codeclimate.com/github/crypto-rb/rbnacl)
|
|
6
|
+
[](https://coveralls.io/r/crypto-rb/rbnacl)
|
|
7
|
+
[](https://github.com/crypto-rb/rbnacl/blob/master/LICENSE.txt)
|
|
8
|
+
[](https://gitter.im/crypto-rb/Lobby)
|
|
8
9
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
https://github.com/cryptosphere/rbnacl/tree/3-x-stable
|
|
13
|
-
|
|
14
|
-
A Ruby binding to the state-of-the-art [Networking and Cryptography][nacl]
|
|
15
|
-
library by [Daniel J. Bernstein][djb]. This is **NOT** Google Native Client.
|
|
16
|
-
This is a crypto library.
|
|
17
|
-
|
|
18
|
-
On a completely unrelated topic, RbNaCl is also the empirical formula for
|
|
19
|
-
Rubidium Sodium Chloride.
|
|
20
|
-
|
|
21
|
-
Need help with RbNaCl? Join the [RbNaCl Google Group][group].
|
|
22
|
-
We're also on IRC at #cryptosphere on irc.freenode.net
|
|
10
|
+
Ruby binding for [libsodium], a fork of the [Networking and Cryptography][nacl]
|
|
11
|
+
library.
|
|
23
12
|
|
|
13
|
+
[libsodium]: https://libsodium.org
|
|
24
14
|
[nacl]: http://nacl.cr.yp.to/
|
|
25
|
-
[djb]: http://cr.yp.to/djb.html
|
|
26
|
-
[group]: http://groups.google.com/group/rbnacl
|
|
27
15
|
|
|
28
|
-
## Why NaCl?
|
|
16
|
+
## Why libsodium/NaCl?
|
|
29
17
|
|
|
30
18
|
NaCl is a different kind of cryptographic library. In the past crypto
|
|
31
19
|
libraries were kitchen sinks of little bits and pieces, like ciphers,
|
|
@@ -49,13 +37,21 @@ curves and the XSalsa20 stream cipher. This means with NaCl you not only get
|
|
|
49
37
|
a system which is designed to be secure-by-default, you also get one which
|
|
50
38
|
is extremely fast with comparatively small cryptographic keys.
|
|
51
39
|
|
|
52
|
-
For more information on NaCl's goals, see Dan Bernstein's presentation
|
|
53
|
-
[Blaming the Cryptographic User](http://cr.yp.to/talks/2012.08.08/slides.pdf)
|
|
54
|
-
|
|
55
40
|
### Is it any good?
|
|
56
41
|
|
|
57
42
|
[Yes.](http://news.ycombinator.com/item?id=3067434)
|
|
58
43
|
|
|
44
|
+
## Help and Discussion
|
|
45
|
+
|
|
46
|
+
Have questions? Want to suggest a feature or change? Join a discussion group:
|
|
47
|
+
|
|
48
|
+
* [Crypto.rb Gitter]: web-based chat about Ruby crypto projects including **RbNaCl**.
|
|
49
|
+
* [Crypto.rb Google Group]: join via web or email ([crypto-rb+subscribe@googlegroups.com])
|
|
50
|
+
|
|
51
|
+
[Crypto.rb Gitter]: https://gitter.im/crypto-rb/Lobby
|
|
52
|
+
[Crypto.rb Google Group]: https://groups.google.com/forum/#!forum/crypto-rb
|
|
53
|
+
[crypto-rb+subscribe@googlegroups.com]: mailto:crypto-rb+subscribe@googlegroups.com?subject=subscribe
|
|
54
|
+
|
|
59
55
|
## Supported platforms
|
|
60
56
|
|
|
61
57
|
You can use RbNaCl on platforms libsodium is supported (see below).
|
|
@@ -63,34 +59,20 @@ You can use RbNaCl on platforms libsodium is supported (see below).
|
|
|
63
59
|
This library aims to support and is [tested against][travis] the following Ruby
|
|
64
60
|
versions:
|
|
65
61
|
|
|
66
|
-
* Ruby 2.
|
|
67
|
-
* Ruby 2.
|
|
68
|
-
* JRuby 9.
|
|
62
|
+
* Ruby 2.5
|
|
63
|
+
* Ruby 2.6
|
|
64
|
+
* JRuby 9.2
|
|
69
65
|
|
|
70
66
|
If something doesn't work on one of these versions, it's a bug.
|
|
71
67
|
|
|
72
|
-
|
|
73
|
-
however support will only be provided for the versions listed above.
|
|
74
|
-
|
|
75
|
-
If you would like this library to support another Ruby version or
|
|
76
|
-
implementation, you may volunteer to be a maintainer. Being a maintainer
|
|
77
|
-
entails making sure all tests run and pass on that implementation. When
|
|
78
|
-
something breaks on your implementation, you will be responsible for providing
|
|
79
|
-
patches in a timely fashion. If critical issues for a particular implementation
|
|
80
|
-
exist at the time of a major release, support for that Ruby version may be
|
|
81
|
-
dropped.
|
|
82
|
-
|
|
83
|
-
[travis]: http://travis-ci.org/cryptosphere/rbnacl
|
|
68
|
+
[travis]: http://travis-ci.org/crypto-rb/rbnacl
|
|
84
69
|
|
|
85
70
|
## Installation
|
|
86
71
|
|
|
87
|
-
Note: [Windows installation instructions are available](https://github.com/
|
|
72
|
+
Note: [Windows installation instructions are available](https://github.com/crypto-rb/rbnacl/wiki/Installing-libsodium#windows).
|
|
88
73
|
|
|
89
74
|
### libsodium
|
|
90
75
|
|
|
91
|
-
**NOTE: Want to avoid the hassle of installing libsodium? Use the
|
|
92
|
-
[rbnacl-libsodium](https://github.com/cryptosphere/rbnacl-libsodium) gem**
|
|
93
|
-
|
|
94
76
|
To use RbNaCl, you will need to install libsodium:
|
|
95
77
|
|
|
96
78
|
https://github.com/jedisct1/libsodium
|
|
@@ -153,13 +135,13 @@ information.
|
|
|
153
135
|
|
|
154
136
|
[YARD API documentation][yard] is also available.
|
|
155
137
|
|
|
156
|
-
[wiki]: https://github.com/
|
|
157
|
-
[simplebox]: https://github.com/
|
|
158
|
-
[secretkey]: https://github.com/
|
|
159
|
-
[publickey]: https://github.com/
|
|
160
|
-
[signatures]: https://github.com/
|
|
161
|
-
[macs]: https://github.com/
|
|
162
|
-
[hashes]: https://github.com/
|
|
138
|
+
[wiki]: https://github.com/crypto-rb/rbnacl/wiki
|
|
139
|
+
[simplebox]: https://github.com/crypto-rb/rbnacl/wiki/SimpleBox
|
|
140
|
+
[secretkey]: https://github.com/crypto-rb/rbnacl/wiki/Secret-Key-Encryption
|
|
141
|
+
[publickey]: https://github.com/crypto-rb/rbnacl/wiki/Public-Key-Encryption
|
|
142
|
+
[signatures]: https://github.com/crypto-rb/rbnacl/wiki/Digital-Signatures
|
|
143
|
+
[macs]: https://github.com/crypto-rb/rbnacl/wiki/HMAC
|
|
144
|
+
[hashes]: https://github.com/crypto-rb/rbnacl/wiki/Hash-Functions
|
|
163
145
|
[yard]: http://www.rubydoc.info/gems/rbnacl
|
|
164
146
|
|
|
165
147
|
## Learn More
|
|
@@ -209,7 +191,7 @@ Sure, here you go:
|
|
|
209
191
|
|
|
210
192
|
## License
|
|
211
193
|
|
|
212
|
-
Copyright (c) 2012-
|
|
194
|
+
Copyright (c) 2012-2018 Tony Arcieri, Jonathan Stott. Distributed under the MIT License.
|
|
213
195
|
See [LICENSE.txt] for further details.
|
|
214
196
|
|
|
215
|
-
[LICENSE.txt]: https://github.com/
|
|
197
|
+
[LICENSE.txt]: https://github.com/crypto-rb/rbnacl/blob/master/LICENSE.txt
|