schnorr_sig 0.0.0.3 → 0.0.0.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d56ed017447f4066587dcfcde13389459ed331a4f0cb6ac68183dcf874ee3fba
4
- data.tar.gz: 464672a9491ab3daf95cf78153d6d78022e73a06e4fd520a6cad40bbe0200e80
3
+ metadata.gz: 9cd55fdf9335f6ea817837d76d3ce130f9752ab7cbf582c822e061dc68574583
4
+ data.tar.gz: dbc20c45aac2f0d9443d278a93ff6e7ae88cea2fc26b68eaf5226c6dd47979bc
5
5
  SHA512:
6
- metadata.gz: 3e07879e1ac5f4577cde9edac986b1fe14cdc149635a358dc214e39712101a95cac2920fbf31af09792abbbc34b029a4363ac6e5945403d7e1ed1f1ea5643451
7
- data.tar.gz: 9cb5847aa6c04d377c261e672b155bb3a6e467c223bd4b6785fe6e494f1f144fa5e48a0719f6b3beb543bff883369ec111362d9f4eaa8a7a776e8b10f9cd20d0
6
+ metadata.gz: e180ad80feddacf2ee05dd4a66d8518a53233ac56ba393917bac45e19e5cae25530e87aacdcd330523ce6751e2fb754efc5359571a564db21197d7063bb3e737
7
+ data.tar.gz: fc67524a97a42b517efff14b7c4bcc21732d8f6e83a353d51220f3e7627aab646edce9e25fd9676f6f7e13bc62eceb3d52062bdbc234a0d640dfe3eba7f78086
data/README.md CHANGED
@@ -14,24 +14,6 @@ and specifications similar to
14
14
  [IETF RFCs](https://en.wikipedia.org/wiki/Request_for_Comments).
15
15
  BIP340 specifies elliptic curve `secp256k1` for use with Schnorr signatures.
16
16
 
17
- Two separate implementations are provided.
18
-
19
- ## Ruby Implementation
20
-
21
- This is the default implementation: entirely Ruby code within this library,
22
- with mostly-Ruby dependencies:
23
-
24
- * [ecdsa_ext](https://github.com/azuchi/ruby_ecdsa_ext)
25
- - [ecdsa](https://github.com/DavidEGrayson/ruby_ecdsa/)
26
-
27
- ## "Fast" Implementation
28
-
29
- This is based on the [rbsecp256k1](https://github.com/etscrivner/rbsecp256k1)
30
- gem, which is not installed by default. The gem wraps the
31
- [secp256k1](https://github.com/bitcoin-core/secp256k1) library from the
32
- Bitcoin project, which provides battle-tested performance, correctness, and
33
- security guarantees.
34
-
35
17
  # Usage
36
18
 
37
19
  This library is provided as a RubyGem. It has a single dependency on
@@ -95,9 +77,9 @@ require 'schnorr_sig/fast' # not 'schnorr_sig'
95
77
  # Elliptic Curves
96
78
 
97
79
  Note that [elliptic curves](https://en.wikipedia.org/wiki/Elliptic_curve)
98
- are not ellipses, but are instead described by cubic equations of
80
+ are not ellipses, but can instead be described by cubic equations of
99
81
  the form: `y^2 = x^3 + ax + b` where `a` and `b` are the parameters of the
100
- resulting equation. All points `(x, y)` which satisfy a given parameterized
82
+ resulting curve. All points `(x, y)` which satisfy a given parameterized
101
83
  equation provide the exact definition of an elliptic curve.
102
84
 
103
85
  ## Curve `secp256k1`
@@ -122,11 +104,11 @@ Here is one
122
104
  }
123
105
  ```
124
106
 
125
- * `p` is the prime for the Field, below `INTMAX(32)` (256^32)
107
+ * `p` is the prime for the Field, below INTMAX(32) (256^32)
126
108
  * `a` is zero, as above
127
109
  * `b` is seven, as above
128
- * `g` is the generator point: `[x, y]`
129
- * `n` is the Group order, significantly below `INTMAX(32)`
110
+ * `g` is the generator point: [x, y]
111
+ * `n` is the Group order, significantly below INTMAX(32)
130
112
 
131
113
  Elliptic curves have algebraic structures called
132
114
  [Groups](https://en.wikipedia.org/wiki/Group_\(mathematics\)) and
@@ -242,7 +224,6 @@ required.
242
224
  * For any given x-value on the curve, the y-value is easily generated
243
225
  * For most curves, there are two different y-values for an x-value
244
226
  * We are always dealing with 32-byte integers: **Bignums**
245
- * Bignum math can be expensive
246
227
  * Converting between integer format and 32-byte strings can be expensive
247
228
  * The Schnorr algorithm requires lots of `string <--> integer` conversion
248
229
  * Hex strings are never used internally
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.0.3
1
+ 0.0.0.4
@@ -18,7 +18,7 @@ module SchnorrSig
18
18
  def self.bytestring!(str, size)
19
19
  string!(str)
20
20
  raise(EncodingError, str.encoding) unless str.encoding == Encoding::BINARY
21
- str.bytesize == size or raise(SizeError, str.bytesize)
21
+ str.size == size or raise(SizeError, str.size)
22
22
  end
23
23
 
24
24
  # likely returns a Bignum, larger than a 64-bit hardware integer
data/test/vectors.rb CHANGED
@@ -29,4 +29,4 @@ puts "Failure: #{failure.count}"
29
29
 
30
30
  puts failure unless failure.empty?
31
31
 
32
- # exit failure.count
32
+ exit failure.count
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: schnorr_sig
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0.3
4
+ version: 0.0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rick Hull