NTRU Key Exchange based on a posting of Lars Luthman on the Cryptography mailinglist on 05/17/2014 The search for a Post-Quantum Diffie-Hellman replacement.

Slides:



Advertisements
Similar presentations
1 Key Exchange Solutions Diffie-Hellman Protocol Needham Schroeder Protocol X.509 Certification.
Advertisements

Hash Functions A hash function takes data of arbitrary size and returns a value in a fixed range. If you compute the hash of the same data at different.
ECE454/CS594 Computer and Network Security Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2011.
Internet and Intranet Protocols and Applications Lecture 9a: Secure Sockets Layer (SSL) March, 2004 Arthur Goldberg Computer Science Department New York.
Interlock Protocol - Akanksha Srivastava 2002A7PS589.
Digital Signatures and Hash Functions. Digital Signatures.
7. Asymmetric encryption-
Public-key based. Public-key Techniques based Protocols –may use either weak or strong passwords –high computation complexity (Slow) –high deployment.
Great Theoretical Ideas in Computer Science.
 Public key (asymmetric) cryptography o Modular exponentiation for encryption/decryption  Efficient algorithms for this o Attacker needs to factor large.
Public Key Algorithms …….. RAIT M. Chatterjee.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 6 Wenbing Zhao Department of Electrical and Computer Engineering.
Feb 25, 2003Mårten Trolin1 Previous lecture More on hash functions Digital signatures Message Authentication Codes Padding.
1 Authenticated key agreement without using one-way hash functions Harn, L.; Lin, H.-Y. Electronics Letters, Volume: 37 Issue: 10, 10 May 2001 Presented.
CNS2010handout 10 :: digital signatures1 computer and network security matt barrie.
Dr Alejandra Flores-Mosri Message Authentication Internet Management & Security 06 Learning outcomes At the end of this session, you should be able to:
Cryptography1 CPSC 3730 Cryptography Chapter 10 Key Management.
Mar 5, 2002Mårten Trolin1 Previous lecture More on hash functions Digital signatures Message Authentication Codes Padding.
Introduction to Modern Cryptography Lecture 5 Number Theory: 1. Quadratic residues. 2. The discrete log problem. Intro to Public Key Cryptography Diffie.
Csci5233 Computer Security & Integrity 1 Cryptography: Basics (2)
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
1 Pertemuan 08 Public Key Cryptography Matakuliah: H0242 / Keamanan Jaringan Tahun: 2006 Versi: 1.
ELECTRONIC PAYMENT SYSTEMSFALL 2001COPYRIGHT © 2001 MICHAEL I. SHAMOS Electronic Payment Systems Lecture 6 Epayment Security II.
1 CS 194: Distributed Systems Security Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences.
Cryptography and Network Security Chapter 10. Chapter 10 – Key Management; Other Public Key Cryptosystems No Singhalese, whether man or woman, would venture.
Diffie-Hellman Key Exchange
Computer Science Public Key Management Lecture 5.
Strong Password Protocols
Information Security and Management 13. Digital Signatures and Authentication Protocols Chih-Hung Wang Fall
Pretty Good Privacy by Philip Zimmerman presented by: Chris Ward.
Lecture slides prepared for “Computer Security: Principles and Practice”, 2/e, by William Stallings and Lawrie Brown, Chapter 21 “Public-Key Cryptography.
Great Theoretical Ideas in Computer Science.
Cyrtographic Security Identity-based Encryption 1Dennis Kafura – CS5204 – Operating Systems.
IS 302: Information Security and Trust Week 5: Integrity 2012.
Message Authentication Code July Message Authentication Problem  Message Authentication is concerned with:  protecting the integrity of a message.
BASIC CRYPTOGRAPHIC CONCEPTS. Public Key Cryptography  Uses two keys for every simplex logical communication link.  Public key  Private key  The use.
Chapter 21 Public-Key Cryptography and Message Authentication.
Cryptography and Network Security (CS435) Part Eight (Key Management)
Cryptography and Network Security Chapter 10 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Public Key Cryptography. symmetric key crypto requires sender, receiver know shared secret key Q: how to agree on key in first place (particularly if.
Public Key Encryption with keyword Search Author: Dan Boneh Rafail Ostroversity Giovanni Di Crescenzo Giuseppe Persiano Presenter: 陳昱圻.
Understanding Cryptography by Christof Paar and Jan Pelzl These slides were prepared by Christof Paar and Jan Pelzl Chapter 8 –
PUBLIC-KEY CRYPTOGRAPH IT 352 : Lecture 2- part3 Najwa AlGhamdi, MSc – 2012 /1433.
Chapter 3 (B) – Key Management; Other Public Key Cryptosystems.
Lecture 6.2: Protocols - Authentication and Key Exchange II CS 436/636/736 Spring 2012 Nitesh Saxena.
Cryptographic Hash Functions and Protocol Analysis
Lecture 2: Introduction to Cryptography
Cryptography 1 Crypto Cryptography 2 Crypto  Cryptology  The art and science of making and breaking “secret codes”  Cryptography  making “secret.
1 Chapter 10: Key Management in Public key cryptosystems Fourth Edition by William Stallings Lecture slides by Lawrie Brown (Modified by Prof. M. Singhal,
Public Key Algorithms Lesson Introduction ●Modular arithmetic ●RSA ●Diffie-Hellman.
Fall, Privacy&Security - Virginia Tech – Computer Science Click to edit Master title style Cryptographic Security Identity-Based Encryption.
Public Key Cryptosystem Introduced in 1976 by Diffie and Hellman [2] In PKC different keys are used for encryption and decryption 1978: First Two Implementations.
COMP 424 Computer Security Lecture 09 & 10. Protocol ● An orderly sequence of steps agreed upon by two or more parties in order to accomplish a task ●
Protocol Analysis. CSCE Farkas 2 Cryptographic Protocols Two or more parties Communication over insecure network Cryptography used to achieve goal.
Key Management Network Systems Security Mort Anvari.
Hashes Lesson Introduction ●The birthday paradox and length of hash ●Secure hash function ●HMAC.
1 Authenticated Key Exchange Rocky K. C. Chang 20 March 2007.
1 Diffie-Hellman (Key Exchange) Protocol Rocky K. C. Chang 9 February 2007.
Cryptography and Network Security Chapter 10 Fourth Edition by William Stallings Lecture slides by Lawrie Brown.
EE 122: Lecture 24 (Security) Ion Stoica December 4, 2001.
IT 221: Introduction to Information Security Principles Lecture 5: Message Authentications, Hash Functions and Hash/Mac Algorithms For Educational Purposes.
1 Chapter 3-3 Key Distribution. 2 Key Management public-key encryption helps address key distribution problems have two aspects of this: –distribution.
Diffie-Hellman Key Exchange first public-key type scheme proposed by Diffie & Hellman in 1976 along with the exposition of public key concepts – note:
Introduction to Elliptic Curve Cryptography CSCI 5857: Encoding and Encryption.
1 Diffie-Hellman (Key Exchange) Protocol Rocky K. C. Chang 9 February 2007.
Secure Instant Messenger in Android Name: Shamik Roy Chowdhury.
Key Exchange in Systems VPN usually has two phases –Handshake protocol: key exchange between parties sets symmetric keys –Traffic protocol: communication.
Encryption and Integrity
Secure Diffie-Hellman Algorithm
Presentation transcript:

NTRU Key Exchange based on a posting of Lars Luthman on the Cryptography mailinglist on 05/17/2014 The search for a Post-Quantum Diffie-Hellman replacement

Diffie-Hellman Alice generate a,g,p A=g^d mod p send(g,p,A) get(B) K=B^a mod p Bob generate b get(g,p,A) B=g^b mod p send(B) K=A^b mod p

NTRU Key Exchange Alice pubA, privA, randA send(pubA) get(pubB) eA=enc(rA,pubB) send(eA) get(eB) rB=dec(eB,privA) K=hash(rA,rB) Bob pubB,privB,randB send(pubB) get(pubA) eB=enc(rB,pubB) send(eB) get(eA) rA=dec(eA,privB) K=hash(rA,rB)

Requirements K cannot be computed with the knowledge of all sent data –Fulfilled, since only pubA, pubB, eA and eB are sent, given that the public-key encryption is secure None of the parties can choose the resulting key by choosing the input parameters (your communication peer cannot force you to communicate with a bad key)

Randomness The security of Random Number Generators is a tough problem –It is impossible to proof that any given random number generator is secure The history of broken random number generators is long –Therefore it has to be assumed that any given Random Number Generator might be insecure, resulting in insecure keys

Requirements One important requirement for a Key Exchange algorithm is that if any of the parties follows the protocol and at least one of the parties has a good random number generator that the party can trust that the resulting key will be secure

If you follow the protocol you will get a secure key EVEN IF your own random number generator is broken or if the random number generator of the other party is broken And even if both random number generators are partly broken, there is a chance that you will get a secure key

Potential problems In the original DH algorithm, Alice leaks the randomness that was used to generate g and p to a passive attacker. Bob does not leak any randomness. NTRU key exchange does not leak random numbers to a passive attacker In NTRU Key exchange, an active attacker can get rA from Alice and rB from Bob leaked.

Hash security and Race condition It was suggested that XOR could be a sufficient Hash algorithm But there is a race condition between Alice and Bob. If Bob sends eB before Alice sends eA, then Alice can decrypt rB, and generate/choose rA, which would then be hashed together with rB

Race condition If Alice would set rA to rB, then in the case of XOR, this would result in K:=rA x rB = 0 The original DH algorithm does not have such a weakness

Potential solutions A strong hash algorithm (SHA-384) should be used, preferrably in a HMAC way. Alice and Bob should do a Bit-commitment of rA and rB and send that together with the initial pubA and pubB handshake.

Another problem It could be argued that Diffie-Hellman itself is not an encryption algorithm But for this Key-Agreement protocol, we need an encryption algorithm. Some people unfortunately don´t like encryption algorithms

Performance DH requires 2 communications: –1. A->B: g,p,AB knows K –2. A<-B: BA knows K NTRU Key Exchange requires 3 communications: –1. A->B: pubA –2. A<-B: pubB, eBA knows K –3. A->B: eAB knows K –This means likely more latency

Alternatives NTRU-KE: A Lattice-based Public Key Exchange Protocol –by Xinyu Lei and Xiaofeng Liao –

Similarities with NTRU-KE –it comes to the same conclusion that 3 messages are necessary due to the public key structure of NTRU

Advantages of NTRU KE NTRU KE might be a bit more efficient than this proposal

Advantages of NTRU Key Exchange NTRU KE invents ist own NTRU-ENCRYPT inversion problem and NTRU-ENCRYPT assumption, which are not necessary here NTRU Key Exchange reuses the security properties of NTRU and can also easily be used with different Public Key Encryption algorithms instead of NTRU. NTRU KE is more complex and likely needs more complex code