Experimenting with Shared Generation of RSA Keys Michael Malkin Thomas Wu Dan Boneh Stanford University *Supported by DARPA.

Slides:



Advertisements
Similar presentations
RSA COSC 201 ST. MARY’S COLLEGE OF MARYLAND FALL 2012 RSA.
Advertisements

Factoring of Large Numbers using Number Field Sieve Matrix Step Chandana Anand, Arman Gungor, and Kimberly A. Thomas ECE 646 Fall 2006.
Seeking prime numbers quickly through parallel-computing Daniel J. Wright.
Data Integrity Proofs in Cloud Storage Sravan Kumar R, Ashutosh Saxena Communication Systems and Networks (COMSNETS), 2011 Third International Conference.
Digital Signatures. Anononymity and the Internet.
The XTR public key system (extended version of Crypto 2000 presentation) Arjen K. Lenstra Citibank, New York Technical University Eindhoven Eric R. Verheul.
1 Comnet 2010 Communication Networks Recitation 11 Security.
David Evans CS588: Security and Privacy University of Virginia Computer Science Lecture 11: Birthday Paradoxes.
RSA & F ACTORING I NTEGERS BY: MIKE NEUMILLER & BRIAN YARBROUGH.
Real-Time Authentication Using Digital Signature Schema Marissa Hollingsworth BOISECRYPT ‘09.
Public-key Cryptography Montclair State University CMPT 109 J.W. Benham Spring, 1998.
RSA ( Rivest, Shamir, Adleman) Public Key Cryptosystem
Remote Timing Attacks -Rashmi Kukanur. Agenda  Timing Attacks  Case Study : –David Brumley –Dan Boneh  Defenses.
Dr Alejandra Flores-Mosri Message Authentication Internet Management & Security 06 Learning outcomes At the end of this session, you should be able to:
Symmetric Key Distribution Protocol with Hybrid Crypto Systems Tony Nguyen.
1 Lecture #10 Public Key Algorithms HAIT Summer 2005 Shimrit Tzur-David.
WS Algorithmentheorie 03 – Randomized Algorithms (Public Key Cryptosystems) Prof. Dr. Th. Ottmann.
CSE 321 Discrete Structures Winter 2008 Lecture 8 Number Theory: Modular Arithmetic.
Public Key Cryptography RSA Diffie Hellman Key Management Based on slides by Dr. Lawrie Brown of the Australian Defence Force Academy, University College,
1 CS 194: Distributed Systems Security Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences.
RSA Question 2 Bob thinks that p and q are primes but p isn’t. Then, Bob thinks ©Bob:=(p-1)(q-1) = Á(n). Is this true ? Bob chooses a random e (1 < e
Torturing OpenSSL Todd Austin University of Michigan with Andrea Pellegrini, William Arthur and Valeria Bertacco (Based on Valeria’s BlackHat 2012 Presentation)
Cryptography and Network Security Chapter 13
Secure Systems Research Group - FAU Patterns for Digital Signature using hashing Presented by Keiko Hashizume.
SSH Secure Login Connections over the Internet
Chapter 5 Digital Signatures MSc. NGUYEN CAO DAT Dr. TRAN VAN HOAI 1.
The RSA Algorithm Rocky K. C. Chang, March
How HTTPS Works J. David Giese. Hyper Text Transfer Protocol BrowserHTTP Server GET / HTTP/1.1 HOST: edge-effect.github.io HEADERS BODY HTTP/ OK.
1 AN EFFICIENT METHOD FOR FACTORING RABIN SCHEME SATTAR J ABOUD 1, 2 MAMOUN S. AL RABABAA and MOHAMMAD A AL-FAYOUMI 1 1 Middle East University for Graduate.
Generating RSA Primes Jim Townsend CSE633 Final Results Fall 2010.
Calculating Discrete Logarithms John Hawley Nicolette Nicolosi Ryan Rivard.
MATH 224 – Discrete Mathematics
Csci5233 Computer Security1 Bishop: Chapter 10 (Cont.) Key Management: Storage & Revoking.
Introduction to Secure Sockets Layer (SSL) Protocol Based on:
Chapter 22 Upper OSI Layers Session Layer Presentation Layer Application Layer WCB/McGraw-Hill  The McGraw-Hill Companies, Inc., 1998.
Case Study II: A Web Server CSCI 8710 September 30 th, 2008.
CS526: Information Security Prof. Sam Wagstaff September 16, 2003 Cryptography Basics.
Information Security -- Part II Public-Key Encryption and Hash Functions Frank Yeong-Sung Lin Information Management Department National Taiwan University.
Strength of Cryptographic Systems Dr. C F Chong, Dr. K P Chow Department of Computer Science and Information Systems The University of Hong Kong.
1 Public-Key Cryptography and Message Authentication.
Cryptography and Network Security Chapter 9 - Public-Key Cryptography
MA/CSSE 473 Day 10 Primality testing summary Data Encryption RSA.
Cosc 513Presentation, Fall Network Security Student: Jianping He Student ID: Instructor: ProfessorAnvari Fall 2000.
Encryption Questions answered in this lecture: How does encryption provide privacy? How does encryption provide authentication? What is public key encryption?
Middleware for Secure Environments Presented by Kemal Altıntaş Hümeyra Topcu-Altıntaş Osman Şen.
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
1 Integrating digital signatures with relational database: Issues and organizational implications By Randal Reid, Gurpreet Dhillon. Journal of Database.
Chapter 8 – Network Security Two main topics Cryptographic algorithms and mechanisms Firewalls Chapter may be hard to understand if you don’t have some.
1 Introduction The State of the Art in Electronic Payment Systems, IEEE Computer, September 1997.
1 KERBEROS: AN AUTHENTICATION SERVICE FOR OPEN NETWORK SYSTEMS J. G. Steiner, C. Neuman, J. I. Schiller MIT.
Optimizing Robustness while Generating Shared Secret Safe Primes Emil Ong and John Kubiatowicz University of California, Berkeley.
Data Integrity Proofs in Cloud Storage Author: Sravan Kumar R and Ashutosh Saxena. Source: The Third International Conference on Communication Systems.
1 Hello World and Welcome to The simple crypt Key=23 {txzr7c x7Cr 7d~zg{r 7tengc Private-key Cryptography.
RSA cryptosystem--preview Suppose n=p  q and  (n)=(p-1)(q-1), where p and q are big primes. Select (find) a and b, such that a  b=1 mod  (n). K=(n,p,q,a,b),
Remote Timing Attacks are Practical David Brumley Dan Boneh [Modified by Somesh.
Almost Entirely Correct Mixing With Applications to Voting Philippe Golle Dan Boneh Stanford University.
RSA Encryption © 2014 Project Lead The Way, Inc.Computer Science and Software Engineering.
DIGITAL SIGNATURE ALGORITHM. The National Institute of Standards and Technology (NIST) has published Federal Information Processing Standard FIPS 186,
Introduction to Elliptic Curve Cryptography CSCI 5857: Encoding and Encryption.
9.2 SECURE CHANNELS JEJI RAMCHAND VEDULLAPALLI. Content Introduction Authentication Message Integrity and Confidentiality Secure Group Communications.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
1 The RSA Algorithm Rocky K. C. Chang February 23, 2007.
Cryptography services Lecturer: Dr. Peter Soreanu Students: Raed Awad Ahmad Abdalhalim
Cryptography and Network Security Chapter 13
Web Applications Security Cryptography 1
Digital Signatures.
Sindhusha Doddapaneni
SSH: SECURE LOGIN CONNECTIONS OVER THE INTERNET
CS Introduction to Operating Systems
Install AD Certificate Services
Presentation transcript:

Experimenting with Shared Generation of RSA Keys Michael Malkin Thomas Wu Dan Boneh Stanford University *Supported by DARPA

1/4/992 Why Share Keys? CA d d1d1 d2d2 d3d3  Who generates the shared key? CA The private key is never reconstructed!

1/4/993 Trusted Dealers Drawbacks: Single point of failure May have to destroy dealer afterwards d1d1 d2d2 d3d3 CA Trusted Dealer

1/4/994 Step 1Step 2Step 3 d1d1 d2d2 d3d3 Distributed Generation Advantages: Nobody ever knows the entire key No single point of failure NeNe

1/4/995 RSA Keys d is the secret p or q  d An n-bit modulus, N = pq The encryption (public) key The decryption (private) key NedNed Sharing of d : d = d 1 + d 2 + d 3  Can apply key without reconstructing d

1/4/996 Distributed Generation * (*Boneh-Franklin) p i, q i are n/2 bit integers p1q1p1q1 p2q2p2q2 p3q3p3q3 N = (p 1 + p 2 + p 3 )·(q 1 + q 2 + q 3 ) = pq Biprimality Test Nobody ever knows p or q! 1 p1q1p1q1 p2q2p2q2 p3q3p3q p 1, q 1 d 1 p 2, q 2 d 2 p 3, q 3 d 3 N

1/4/997 How Do They Compare? Non-Distributed: Pick prime p Pick prime q Multiply Distributed: Pick N Hope N = pq is an RSA modulus Can’t test p and q separately  Distributed generation takes more iterations

1/4/998 Main Results Distributed Sieving× 10 Multithreading× 6 Load Balancing× 1.3 Parallel Trial Division× 1.3 Initial time: 2.5 hours (1024-bit key) Final time: 1.5 minutes

1/4/999 Minding Your p ’s and q ’s Bad N  probably divisible by 3 or 5 or 7 or … Idea: Ensure that N isn’t divisible by any small primes  Distributed Sieving Can pick p i, q i so that p, q are not divisible by small primes … But nobody actually knows p or q !

1/4/9910 Synchronous algorithm  synchronization delays Under-utilizing CPU — idle 80% of time  Multithreading 6 threads optimal for 1024-bit key Almost 6 times faster! ( On 300Mhz Pentium II’s running Solaris 2.6) Using Idle Time

1/4/9911 Costly Biprimality Test Biprimality test involves time-consuming calculation Idea: Only one server needs to do this  Load Balancing A different server does test for each iteration Probabilistic load balancing

1/4/9912 More Small Primes What about small primes not covered by sieving? Trial division on N by small primes  Parallel Trial Division Each server does trial division on different small primes

1/4/9913 Private Key Generation Implemented method for small e In RSA usually use a small e After N is found, generate d 1, d 2, and d 3 so: d 1 + d 2 + d 3 = d … But do this so that nobody ever knows d There is an additional way to share d Only a fraction of servers need to be active

1/4/9914 Implementation: Config File Num_Servers: 3 Key_Length: Normal Threads: 2 TrialDiv_End: Sieve: True Test_Mode: True Sequence_Numbers: True Transport: sslv3 Share_IP_Port_0: 8080 Server_IP_Addr_0: ittc.stanford.edu Server_Sequence_File_0: com_security/seq0 Server_Cert_0: com_security/cert_s0.pem Server_Key_0: com_security/key_s0.pem

1/4/9915 Implementation: COM Abstraction layer Fault tolerance - non-blocking I/O Private, authenticated channels Based on SSLeay Authenticates share servers using a server certificate: /C=US/ST=California/O=Stanford University/ OU=ITTC Project/CN=[SERVER 0]

1/4/9916 Shared Key Storage Stored as PEM-encoded ASN.1 format

1/4/9917 Performance On three 300Mhz Pentium II’s running Solaris 2.6 Network bandwidth is reasonable 1024-bit works well 2048-bit is reasonable

1/4/9918 Effect of Number of Servers WAN: Two servers at Stanford One server at University of Wisconsin at Madison Difficult to find PC’s running Solaris

1/4/9919 Effect of Threads Synchronization/CPU tradeoff Minimize time with 6 threads *Generating a 1024-bit RSA key

1/4/9920 Effect of Distributed Sieving *Generating a 512-bit RSA key Sieve bound is largest prime sieved Larger sieve  fewer iterations Diminishing returns

1/4/9921 Conclusions  Distributed key generation is practical: 1.5 minutes for 1024-bit key  Several practical improvements to algorithm Distributed Sieving Multithreading Load Balancing Parallel Trial Division  Optimized cryptographic algorithm Requires security proofs