English
Schnorr Signature Algorithm of Wisdom Chain DocumentKnowledge Base
This article comes from the official Twitter of Wisdom Chain
URL:
https://twitter.com/Wisdom_Chain/status/1301382987762806784? S=20
In the last chapter, we talked about the aggregate signature, informs In WisdomChain is the signature aggregation of each key by the parties using Schnorr signature. Now let 's learn about the past and the present of the Schnorr signature algorithm.
Schnorr Signature Algorithm was first programs by German Cryptologist Claus Schnorr in 2008. In cryptography, it is a digital Signature scheme, which is famous for its simplicity and efficiency. Its security is -based on the intractability of some discrete 'logarithm problems. The Schnorr' s principle is described as follows:
The Numbers are represented in lowercase letters, for example: a=42. At The same time, we will use some points on The elliptic curve. These points are pairs of large Numbers satisfying elliptic curve equation.
We will use capital letters to represent these points, to as A=of (4) Some algebraic operations can be performed on points on elliptic curves. The above two points can be added together and We can get approximately The random third points, which is expressed as: C=A + B. A point can be added to itself many times: D=C + + C C.
When we talk about a point adding itself many times, we call it "multiply by a number": D=3 C. Obviously, if we add a point A to itself many times (or multiplied by a large number) and get a point B, if we only know the original point A and the result point B, it is quite difficult to calculate the large number multiplied by A. The "difficulty" here means that if we want to calculate this "big number", we can not simply divide B by A, we can only guess a value x continuously and calculate whether x A equals B.
So if the value of X is very large, even greater than the sum of all the atoms in the universe, it will take an unacceptable time to guess the value of x. At the same time, if someone doesn the correct X, calculating X * A is very fast. This asymmetry will be the premise of our discussion.
Alice doesn the private key x, then selects a random number r and the origin of G on the elliptic curve, calculates r:=r G, public key: x=xG, USES the hash function to obtain a random number: e=hash (r, x, the message), and then calculates s:=e * x + r.
Alice sends Bob R, X, message, and point values s, Bob verifies s G equals R + e X. In fact, not only is Bob, but something In the world can prove this proof by itself. Once s G=R + e X passes the validation, it can prove that Alice doesn X of private key and generates a legal signature: (s, e).
Finally, to create a signature from this mantra, Alice needs to customize a hash function to hash the message she signed. In this case, it is necessary to make sure that the signature calculated for one message always be reused for another message.
This customization process can be achieved by simple hashing R, X and signature information
E:=Hash (R, X, Message)
A good hash function will return A completely company's hash value even if only one character is changed, making it impossible to calculate the value of s.
The brief description of Schnorr Signature Protocol is as follows:
The Setup:
X: the random number (aka private key) : G=common point
X: X * G
(aka public key)
Sign:
R: the random number (aka nonce)
R: R * G
(aka commitment)
E: Hash (R, x, message) (aka challenge)
S:=r * x + e
(aka response)
Return (R, x, s, message) ((s, e) aka signature)
Verify:
The receive (R, x, s, the message) : e=Hash (R, x, message) S1: + e=R * x
S2: s * G=
Return OK if S1 qeuals S2
On this, developers can add more complex concepts in the future, to the as WisdomChain aggregated signatures. The advantage of aggregate signature is that all the input involved in a transaction can be completed by only one merge signature, which greatly reduces the amount of data processing and top service the network faster - and more efficient.
Simplified Chinese
This article from Wisdom Chain official Twitter
URL:
https://twitter.com/Wisdom_Chain/status/1301382987762806784? S=20
01
Schnorr signature algorithm description
Schnorr signature algorithm was first put forward by German cryptology ClausSchnorr stores in 2008, in cryptography, it is a kind of digital signature scheme, famous for its simple and efficient, its security is based on some of the difficulty of discrete logarithm problem rationally,
02
The principle of Schnorr description
Here in lowercase letters, such as: a=42, at the same time we will use some of the points on the elliptic curve (ellipticcurve), these points are some of the elliptic curve equation of large Numbers,
We will use the capital letters to indicate the points, such as: A=4 (of), some algebraic operation can be performed at A point on the elliptic curve, it can add can get two points on the approximation of random third point, expressed as: C=A + B, A point can be combined with their own many times: D=C, C + + C
When we speak A point combined with their own many times, we call it the "multiply A number" : D=3 C, obvious, if will be A point A combined with their own many times (or to be multiplied by A large number of) and get A point B, if we just know the original point A point B, and the results calculated with A multiplication of the large Numbers is difficult, the "difficult" mean, if you want to calculate the "large", we can't simply use divided by A, B can only assume constant A value x, calculate whether x is equal to B,
nullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnull