Photo by Joshua Hoehne on Unsplash

HVZK (Honest Verifier Zero Knowledge) For RSA and Using Kryptology

--

RSA is still a widely used public key method, but how do we get proof that the generation of the keys has been honest? And so I’ve been reading this paper to gain a method that can be used in Paillier and RSA to prove the validity of the keys generated [1][here]:

The focus of the paper is to prove that a suitable private key has been created, so that the public key has all the possible values within the given field, and without leaking anything about the private key. In RSA, we pick two large prime numbers (p and q)). We then calculate a modulus (N=pq) and ϕ(N)=(p−1)(q−1). We then make sure that gcd(pq,ϕ(N))=1. Along with this we select an e value for the exponation of the message:

C=M^e mod N

Normally e=65637. And so we need to provide proof of a safe modulus and the usage of e. Overall, Victor — the verifier — will not be able to factorize the modulus (N), so will have to trust Peggy in the creation of a secure modulus. For example, Peggy could cheat, and rather than creating N=p.q, she could create N=p.p, and which is p squared. This will produce a weak key. In the paper, the method to prove that the modulus is…

--

--

Prof Bill Buchanan OBE FRSE
ASecuritySite: When Bob Met Alice

Professor of Cryptography. Serial innovator. Believer in fairness, justice & freedom. Based in Edinburgh. Old World Breaker. New World Creator. Building trust.