toy-ore 0.5.0 → 0.7.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 +4 -4
- data/lib/toy_ore/scheme.rb +27 -0
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 621d70c81d18141e4e6e0c58c228c5287600f48f220eb3cdca69eee7439e664f
|
4
|
+
data.tar.gz: 6e79339bc0ff85e92e0cc495d17709ec069374c7696d21309689128bdac45708
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 12db7e5dbad5a3ebb7a5d24f24c8ab518eb481c40de9ccc6a0578f9ed029d0d4ef1253b09b1bf7a4c027de5a85e8e189f1c6b59626fd73da2bde3c6a2242aeb5
|
7
|
+
data.tar.gz: c439fd6c969d41119b9f8456757f59aa13147927576eaa32196db2f55c8f31e0356f949560989ef2f9ab83a789ded779055543185a39d04470e37e741ae9cf66
|
data/lib/toy_ore/scheme.rb
CHANGED
@@ -178,3 +178,30 @@ module ToyOre
|
|
178
178
|
end
|
179
179
|
end
|
180
180
|
end
|
181
|
+
|
182
|
+
# Examples
|
183
|
+
|
184
|
+
# Initialize our tiny ORE Scheme
|
185
|
+
# ore_client = ToyOre::Scheme::OreScheme.new(0..3)
|
186
|
+
|
187
|
+
# Create ore ciphertext's for all values
|
188
|
+
# ct_a = ore_client.encrypt(0)
|
189
|
+
# ct_b = ore_client.encrypt(1)
|
190
|
+
# ct_c = ore_client.encrypt(2)
|
191
|
+
# ct_d = ore_client.encrypt(3)
|
192
|
+
|
193
|
+
# Store ct's in objects
|
194
|
+
# a = { letter: "a", ore: ct_a }
|
195
|
+
# b = { letter: "b", ore: ct_b }
|
196
|
+
# c = { letter: "c", ore: ct_c }
|
197
|
+
# d = { letter: "d", ore: ct_d }
|
198
|
+
|
199
|
+
# Compare ct's
|
200
|
+
# a[:ore].left.<=>(d[:ore].right)
|
201
|
+
# d[:ore].left.<=>(b[:ore].right)
|
202
|
+
|
203
|
+
# Create an unordered array
|
204
|
+
# unordered_array = [d, c, a, b]
|
205
|
+
|
206
|
+
# Order array using only ore ct's
|
207
|
+
# ordered_array = unordered_array.sort { |x, y| x[:ore].left.<=>(y[:ore].right) }.map { |a| a[:letter] }
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: toy-ore
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fiona McCawley
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-02-
|
11
|
+
date: 2023-02-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -66,9 +66,9 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
-
description: A toy library to get an understanding of how
|
70
|
-
is an unsafe implementation, only to be used for educational purposes.
|
71
|
-
IN PRODUCTION.
|
69
|
+
description: A toy library to get an understanding of how order revealing encryption
|
70
|
+
works. This is an unsafe implementation, only to be used for educational purposes.
|
71
|
+
DO NOT USE IN PRODUCTION.
|
72
72
|
email: fimccawley@gmail.com
|
73
73
|
executables: []
|
74
74
|
extensions: []
|