toy-ore 0.5.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/toy_ore/scheme.rb +27 -0
  3. metadata +5 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b52bfdbda823e03bbfbef5111caf2422988a52a2caaae198696c6bb3aafce99d
4
- data.tar.gz: 445ffb7611ae5b3db64c2a35b3fbda44e591df45ac4b22b08f97b2d0d7aafc4c
3
+ metadata.gz: 621d70c81d18141e4e6e0c58c228c5287600f48f220eb3cdca69eee7439e664f
4
+ data.tar.gz: 6e79339bc0ff85e92e0cc495d17709ec069374c7696d21309689128bdac45708
5
5
  SHA512:
6
- metadata.gz: 2605cbacc5cf5088385173cb8b93c25e8133b6d119bf8f8d046c1f02991c65646458e4fa9951748aba24db2c3964c4a6653eb75b659525779b2bcafabeca83b2
7
- data.tar.gz: a90e4baead02c90c9d3bfaab5a2b9f209fa33012c4762f9aabdcd2ca7e43f9fa7e9ef84815605f83a81935a4cf09f36d378b0541b0d7d06716270d4a12ef3e6b
6
+ metadata.gz: 12db7e5dbad5a3ebb7a5d24f24c8ab518eb481c40de9ccc6a0578f9ed029d0d4ef1253b09b1bf7a4c027de5a85e8e189f1c6b59626fd73da2bde3c6a2242aeb5
7
+ data.tar.gz: c439fd6c969d41119b9f8456757f59aa13147927576eaa32196db2f55c8f31e0356f949560989ef2f9ab83a789ded779055543185a39d04470e37e741ae9cf66
@@ -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.5.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-13 00:00:00.000000000 Z
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 ore encryption works. This
70
- is an unsafe implementation, only to be used for educational purposes. DO NOT USE
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: []