RSA digital signature based on FPGA

RSA digital signature and RSA encryption are specific to a certain degree of symmetry. The content of the two is roughly the same. For the content of RSA encryption, please refer to my previous blog. Here is a general introduction to RSA-based digital signature technology.

Simple RSA digital signature technology can be divided into four parts
1: Generate private key
d = (k(p-1) (q-1) + 1)/e (k is uncertain, so that d is an integer)
(p and q Are two large prime numbers, e is a piece of data of the public key, and the generation of the private key has been mentioned in the previous blog)

2: Digital signature algorithm
process: The message sender uses his private key to perform a digital signature algorithm on the message to be sent, and obtains a new signature data, and then the message sender sends his own public key, the new signature data, and the information to be sent The three pieces of information are sent out together.

Formula: Signature = Information^d mod (N)

3: To generate a public key,
select two different large prime numbers p and q, select a number e, 1<e<(p-1)(q-1), and e must be the same as (p-1)*(q- 1) Coprime, calculate N=pq at the same time, get the public key (e, N) (see the previous blog for details)

4: Verify the signature algorithm and
the information obtained by the signature = signature^e mod (N)

Finally, the information obtained by the signature is compared with the information sent by the information sender. If the two are the same, it means that the digital signature verification is successful.

Guess you like

Origin blog.csdn.net/jiyishizhe/article/details/105191558