secretsharing 1.0.0 → 2.0.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|