secretsharing 1.0.0 → 2.0.1
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 +4 -4
- data/.rubocop.yml +3 -0
- data/.travis.yml +12 -9
- data/CHANGES.md +40 -0
- data/README.md +109 -77
- data/Rakefile +3 -3
- data/bin/secretsharing +7 -7
- data/gemfiles/Gemfile.ci +2 -0
- data/lib/secretsharing.rb +2 -2
- data/lib/secretsharing/shamir.rb +111 -44
- data/lib/secretsharing/shamir/secret.rb +52 -32
- data/lib/secretsharing/shamir/share.rb +27 -26
- data/lib/secretsharing/version.rb +1 -1
- data/secretsharing.gemspec +28 -21
- data/spec/shamir_container_spec.rb +13 -25
- data/spec/shamir_secret_spec.rb +34 -27
- data/spec/shamir_share_spec.rb +0 -4
- data/spec/shamir_spec.rb +108 -8
- metadata +47 -18
- data/CHANGES +0 -17
- data/SIGNED.md +0 -99
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: secretsharing
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexander Klink
|
@@ -9,36 +9,64 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2016-04-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rbnacl-libsodium
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - "~>"
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: 1.0.8
|
21
|
+
type: :runtime
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - "~>"
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: 1.0.8
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: rbnacl
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - "~>"
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: 3.3.0
|
35
|
+
type: :runtime
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - "~>"
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: 3.3.0
|
14
42
|
- !ruby/object:Gem::Dependency
|
15
43
|
name: highline
|
16
44
|
requirement: !ruby/object:Gem::Requirement
|
17
45
|
requirements:
|
18
46
|
- - "~>"
|
19
47
|
- !ruby/object:Gem::Version
|
20
|
-
version:
|
48
|
+
version: 1.7.8
|
21
49
|
type: :runtime
|
22
50
|
prerelease: false
|
23
51
|
version_requirements: !ruby/object:Gem::Requirement
|
24
52
|
requirements:
|
25
53
|
- - "~>"
|
26
54
|
- !ruby/object:Gem::Version
|
27
|
-
version:
|
55
|
+
version: 1.7.8
|
28
56
|
- !ruby/object:Gem::Dependency
|
29
57
|
name: multi_json
|
30
58
|
requirement: !ruby/object:Gem::Requirement
|
31
59
|
requirements:
|
32
60
|
- - "~>"
|
33
61
|
- !ruby/object:Gem::Version
|
34
|
-
version:
|
62
|
+
version: 1.11.2
|
35
63
|
type: :runtime
|
36
64
|
prerelease: false
|
37
65
|
version_requirements: !ruby/object:Gem::Requirement
|
38
66
|
requirements:
|
39
67
|
- - "~>"
|
40
68
|
- !ruby/object:Gem::Version
|
41
|
-
version:
|
69
|
+
version: 1.11.2
|
42
70
|
- !ruby/object:Gem::Dependency
|
43
71
|
name: mocha
|
44
72
|
requirement: !ruby/object:Gem::Requirement
|
@@ -127,32 +155,34 @@ dependencies:
|
|
127
155
|
name: bundler
|
128
156
|
requirement: !ruby/object:Gem::Requirement
|
129
157
|
requirements:
|
130
|
-
- - "
|
158
|
+
- - ">="
|
131
159
|
- !ruby/object:Gem::Version
|
132
|
-
version: '
|
160
|
+
version: '0'
|
133
161
|
type: :development
|
134
162
|
prerelease: false
|
135
163
|
version_requirements: !ruby/object:Gem::Requirement
|
136
164
|
requirements:
|
137
|
-
- - "
|
165
|
+
- - ">="
|
138
166
|
- !ruby/object:Gem::Version
|
139
|
-
version: '
|
167
|
+
version: '0'
|
140
168
|
- !ruby/object:Gem::Dependency
|
141
169
|
name: rake
|
142
170
|
requirement: !ruby/object:Gem::Requirement
|
143
171
|
requirements:
|
144
|
-
- - "
|
172
|
+
- - ">="
|
145
173
|
- !ruby/object:Gem::Version
|
146
|
-
version: '
|
174
|
+
version: '0'
|
147
175
|
type: :development
|
148
176
|
prerelease: false
|
149
177
|
version_requirements: !ruby/object:Gem::Requirement
|
150
178
|
requirements:
|
151
|
-
- - "
|
179
|
+
- - ">="
|
152
180
|
- !ruby/object:Gem::Version
|
153
|
-
version: '
|
181
|
+
version: '0'
|
154
182
|
description: |
|
155
|
-
|
183
|
+
4/12/2016 - NO LONGER MAINTAINED - See README.md
|
184
|
+
|
185
|
+
Shamirs Secret Sharing is an algorithm in cryptography. It is a
|
156
186
|
form of secret sharing, where a secret is divided into parts,
|
157
187
|
giving each participant its own unique part, where some of the
|
158
188
|
parts or all of them are needed in order to reconstruct the
|
@@ -169,12 +199,11 @@ files:
|
|
169
199
|
- ".gitignore"
|
170
200
|
- ".rubocop.yml"
|
171
201
|
- ".travis.yml"
|
172
|
-
- CHANGES
|
202
|
+
- CHANGES.md
|
173
203
|
- Gemfile
|
174
204
|
- LICENSE.txt
|
175
205
|
- README.md
|
176
206
|
- Rakefile
|
177
|
-
- SIGNED.md
|
178
207
|
- bin/secretsharing
|
179
208
|
- gemfiles/Gemfile.ci
|
180
209
|
- lib/secretsharing.rb
|
@@ -209,7 +238,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
209
238
|
version: '0'
|
210
239
|
requirements: []
|
211
240
|
rubyforge_project: secretsharing
|
212
|
-
rubygems_version: 2.
|
241
|
+
rubygems_version: 2.5.1
|
213
242
|
signing_key:
|
214
243
|
specification_version: 4
|
215
244
|
summary: A Ruby Gem to enable sharing secrets using Shamirs Secret Sharing.
|
data/CHANGES
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
== v1.0.0
|
2
|
-
Version 1.0.0 is an almost complete rewrite of the original code.
|
3
|
-
This version is NOT backwards compatible with the shares generated
|
4
|
-
with previous version. The API for this version is significantly
|
5
|
-
changed as well. You will need to make some (hopefully simple)
|
6
|
-
code changes to use this newer version. See the README.md file
|
7
|
-
for details.
|
8
|
-
== v0.3
|
9
|
-
Added support for setting your own secret using the set_fixed_secret()
|
10
|
-
method.
|
11
|
-
|
12
|
-
== v0.2
|
13
|
-
Bugfix in Langrange interpolation, which broke 2/2 sharing.
|
14
|
-
Added secret_password method to represent the secret in Base64.
|
15
|
-
|
16
|
-
== v0.1
|
17
|
-
Initial version
|
data/SIGNED.md
DELETED
@@ -1,99 +0,0 @@
|
|
1
|
-
##### Signed by https://keybase.io/grempe
|
2
|
-
```
|
3
|
-
-----BEGIN PGP SIGNATURE-----
|
4
|
-
|
5
|
-
iQIcBAABCgAGBQJUtXiuAAoJEOcWanfPl9CRG6cP/3LrrQItO+olbfYvvp+bFa54
|
6
|
-
hiK3g6IGYCKAAlocHVCzxNnEczAqCa3/HASkh96RIs0LXznKcFAIjgs/uwZs/Ahh
|
7
|
-
WYxjI9iPEyJyWffFzDIvA//A2xJCxuzupLc3yqGCTGCsvEf7yVN5fcVe8svzq6ZG
|
8
|
-
k4BuNzPLONCuzXrtmd7W15F+6M5PD67Rcs+gcHNuZEZOsXnJ3bRsu8GS8LucsxOK
|
9
|
-
SKsSwLpgJ6vAt3Ef3LSI7SQVMeRRtvgKi2iii/zGwHqRPPoqilpoeLNLlhtTX5Ee
|
10
|
-
KjfuW9qCU3zEfUs36J0JNtsf1fe0UmdiVvuRtWyM8ONHLJFP4394EwwA/A2QEYil
|
11
|
-
EYOEd8XkIcIh6lAMAKCNP22gHoJ5ezzlQ/Fk8tMGPlG+C0JVpYzf7+kzlL7iEvG/
|
12
|
-
y1YC16Cob2whgoLSvt4W7DFADwPm0WRsrdr0QPi0saM60w0fc9+6s8n6YrQEF/rv
|
13
|
-
vrNbwR7nTT0Hgxqy7F0C6N9l6mS3UOuJvbM2h3QKKI/N7aDZbD4v/SYZjQTD5aXQ
|
14
|
-
ZVV8KJxykxdHTNlsaUJptO4QFNfnWv0gWc25nDLQ+Io6v3rtV4wYf7JgIRcZgJg9
|
15
|
-
L6A0B2H1+SXkin7kcxb3ixaIzk0nRTHzF5SKWxGum3Q6wc6WiNE4CcwxuH3Pq2zD
|
16
|
-
IIhFWwazaio135TTNoj4
|
17
|
-
=BtEN
|
18
|
-
-----END PGP SIGNATURE-----
|
19
|
-
|
20
|
-
```
|
21
|
-
|
22
|
-
<!-- END SIGNATURES -->
|
23
|
-
|
24
|
-
### Begin signed statement
|
25
|
-
|
26
|
-
#### Expect
|
27
|
-
|
28
|
-
```
|
29
|
-
size exec file contents
|
30
|
-
./
|
31
|
-
96 .coco.yml 7c6c72d0ace59753d384d977006da83a0b7bf5333468047529f3e92b4b32b069
|
32
|
-
168 .gitignore cbf96ae3fecba78c775adf62469ecb1161fabf7cd336d166f2b695c02ec105de
|
33
|
-
296 .rubocop.yml 9e05e042f3c9b14bc52fc7b961cebe26cffdd72f36fea16266ef7622f315e669
|
34
|
-
182 .travis.yml 79982d49c16dfef74ac82d239073627e81ab1b4cff7d97721aa1fc047ccc9007
|
35
|
-
625 CHANGES 578a7ed1fbc9a0ccdbc148aeae0ce8b3b58cb3f78e23013d8db0aaf98ade49fa
|
36
|
-
98 Gemfile 5184edc7cae42cd49ced95779a2035fa6b04edc686450034b7ed731ef2941037
|
37
|
-
11357 LICENSE.txt c81e80664649784c5927f846ba071b04acbb6afaeeea9ee737c8a4a9c8a3bc89
|
38
|
-
12398 README.md 7191bb1605c1628dc88ad14d4b846984ed6f4d24148b8c14e49fa74c59085158
|
39
|
-
205 Rakefile 52e019b00c55641f894f914df53a40d993ccb90b20731338004269292f4c5d7f
|
40
|
-
bin/
|
41
|
-
3151 x secretsharing 79efbec8ef0fc6f24417ea490defc6008ac6533ae96dabc0ab7f59c2b385d791
|
42
|
-
gemfiles/
|
43
|
-
101 Gemfile.ci 7e196ea31483bcfd25f626d3ce5eff19ee8c330c44a3ca6b80a4bd8c8aece065
|
44
|
-
lib/
|
45
|
-
secretsharing/
|
46
|
-
shamir/
|
47
|
-
3749 container.rb 37fd7db90e4f2f337db979c93b7022710d443815a0be8f71f3c642902c7cea80
|
48
|
-
4954 secret.rb 34ed54e31a4f862ea5f7df2074b7b204dc5400548a47b7f0055fa7050b7ff1e3
|
49
|
-
6017 share.rb a380d5adf64815e62ad4256596b8a05ede61a8c0e7ec1436348946edd3aaed7a
|
50
|
-
3031 shamir.rb 5702d49cc0e97202e6e0867a0f6955366d407ec4b3fe2d5989bc2259d2776f9f
|
51
|
-
706 version.rb 428fb8abe60cd3e195e87f1d5f438e03ce797de8ceb699ab18260b7a9a4d9848
|
52
|
-
863 secretsharing.rb 73deaa58299b597e0540b905f1f713dff526060a9a24c6909cdca83ff23164c4
|
53
|
-
1733 secretsharing.gemspec 00430997e55126061ec3729438a58ec01e07b07fa846467947f55cfde8285a86
|
54
|
-
spec/
|
55
|
-
12643 shamir_container_spec.rb 39f3e0393cdf50c88fae9ba4302d32dc881fc2ce3b4b8adcd97cf1fb5df026f2
|
56
|
-
7023 shamir_secret_spec.rb 67533deb4a929155197067106e4149f70bc49b626b08690e8e3611106885ef77
|
57
|
-
2719 shamir_share_spec.rb 4d2132531310348308c72af976cdc489bb59ef4b77373d5a71dd95b15f3205db
|
58
|
-
1032 shamir_spec.rb c5a7e030dad410917a7e52f46f0531a4df8d2f05019e9136a34750f97699b7e2
|
59
|
-
997 spec_helper.rb 9b634a61716596562288b4c4325e43696af87b48abcd36b34250991aa010caf9
|
60
|
-
```
|
61
|
-
|
62
|
-
#### Ignore
|
63
|
-
|
64
|
-
```
|
65
|
-
/SIGNED.md
|
66
|
-
```
|
67
|
-
|
68
|
-
#### Presets
|
69
|
-
|
70
|
-
```
|
71
|
-
git # ignore .git and anything as described by .gitignore files
|
72
|
-
dropbox # ignore .dropbox-cache and other Dropbox-related files
|
73
|
-
kb # ignore anything as described by .kbignore files
|
74
|
-
```
|
75
|
-
|
76
|
-
<!-- summarize version = 0.0.9 -->
|
77
|
-
|
78
|
-
### End signed statement
|
79
|
-
|
80
|
-
<hr>
|
81
|
-
|
82
|
-
#### Notes
|
83
|
-
|
84
|
-
With keybase you can sign any directory's contents, whether it's a git repo,
|
85
|
-
source code distribution, or a personal documents folder. It aims to replace the drudgery of:
|
86
|
-
|
87
|
-
1. comparing a zipped file to a detached statement
|
88
|
-
2. downloading a public key
|
89
|
-
3. confirming it is in fact the author's by reviewing public statements they've made, using it
|
90
|
-
|
91
|
-
All in one simple command:
|
92
|
-
|
93
|
-
```bash
|
94
|
-
keybase dir verify
|
95
|
-
```
|
96
|
-
|
97
|
-
There are lots of options, including assertions for automating your checks.
|
98
|
-
|
99
|
-
For more info, check out https://keybase.io/docs/command_line/code_signing
|