Optimal Asymmetric Encryption based on a paper by Mihir Bellare and Phillip Rogaway Team Members Chris Kellogg Doug Wagers Angela Johnston Kris Anupindi
Overview Introduction Review RSA Optimal RSA Encryption Scheme Run Example Program Why Should We Use Optimal RSA? Conclusion
Introduction What is Optimal RSA?
RSA Review Public Key : pair (e, n) Private Key : pair (d, n) Message : M Encryption : M e mod n Decryption : M d mod n
Optimal RSA Encryption Scheme Terminology f : RSA encryption function x : binary message of bit length 352 ( ) G() : Generator function (160 bits -> 352 bits) H() : Hash function (352 bits -> 160 bits)
Optimal RSA Encryption Scheme Encryption 1. r : Pseudo-Random number of bit length s : x G(r) (352 bits) 3. t : r H(s) (160 bits) 4. w : s concat t (512 bits) 5. y : f(w)
Optimal RSA Decryption Scheme Decryption 1. w : f -1 (y) (512 bits) 2. s : the first 352 bits of w 3. t : the last 160 bits of w 4. r : t H(s) (160 bits) 5. x : s G(r) (352 bits)
Why should we use Optimal RSA? Efficiency RSA Encryption is the largest factor in Optimal RSA’s running time. The Hash Function, the Generator Function, and the Pseudo-Random Generator should have a much lower running time Thus, Optimal RSA is basically as efficient as RSA Security The Pseudo-Random generator increases security Every part of w is required to recover the message
Semantic Security Must have all of w to recover the message Must recover everything in a specific order.
Project Demo
Conclusion Should have “ideal” G & H functions.