Windows Core Security1© 2006 Microsoft Corp Cryptography: Helping Number Theorists Bring Home the Bacon Since 1977 Dan Shumow SDE Windows Core Security.

Slides:



Advertisements
Similar presentations
Diffie-Hellman Diffie-Hellman is a public key distribution scheme First public-key type scheme, proposed in 1976.
Advertisements

Public Key Cryptography INFSCI 1075: Network Security – Spring 2013 Amir Masoumzadeh.
Chapter 4 – Finite Fields. Introduction will now introduce finite fields of increasing importance in cryptography –AES, Elliptic Curve, IDEA, Public Key.
1 390-Elliptic Curves and Elliptic Curve Cryptography Michael Karls.
1 CIS 5371 Cryptography 5b. Pseudorandom Objects in Practice Block Ciphers.
What is Elliptic Curve Cryptography?
7. Asymmetric encryption-
Public Key Algorithms …….. RAIT M. Chatterjee.
YSLInformation Security -- Public-Key Cryptography1 Elliptic Curve Cryptography (ECC) For the same length of keys, faster than RSA For the same degree.
ELECTRONIC PAYMENT SYSTEMSFALL 2002COPYRIGHT © 2002 MICHAEL I. SHAMOS Electronic Payment Systems Lecture 6 Epayment Security II.
CNS2010handout 8 :: introduction to number theory1 computer and network security matt barrie.
Elliptic Curve Cryptography (ECC) Mustafa Demirhan Bhaskar Anepu Ajit Kunjal.
ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS Cryptography.
Dr. Lo’ai Tawalbeh Fall 2005 Chapter 10 – Key Management; Other Public Key Cryptosystems Dr. Lo’ai Tawalbeh Computer Engineering Department Jordan University.
Csci5233 Computer Security & Integrity 1 Cryptography: Basics (2)
Electronic Payment Systems Lecture 5: ePayment Security II
CSE331: Introduction to Networks and Security Lecture 20 Fall 2002.
Overview of Cryptography and Its Applications Dr. Monther Aldwairi New York Institute of Technology- Amman Campus INCS741: Cryptography.
Public Key Algorithms 4/17/2017 M. Chatterjee.
ELECTRONIC PAYMENT SYSTEMSFALL 2001COPYRIGHT © 2001 MICHAEL I. SHAMOS Electronic Payment Systems Lecture 6 Epayment Security II.
CPE5021 Advanced Network Security --- Advanced Cryptography: Elliptic Curve Cryptography --- Lecture 3 CPE5021 Advanced Network Security --- Advanced Cryptography:
Dan Boneh Basic key exchange The Diffie-Hellman protocol Online Cryptography Course Dan Boneh.
Diffie-Hellman Key Exchange
CSCI 172/283 Fall 2010 Public Key Cryptography. New paradigm introduced by Diffie and Hellman The mailbox analogy: Bob has a locked mailbox Alice can.
Computer Science CSC 474Dr. Peng Ning1 CSC 474 Information Systems Security Topic 2.5 Public Key Algorithms.
Lecture 6: Public Key Cryptography
Introduction to Public Key Cryptography
Public Key Model 8. Cryptography part 2.
1 CIS 5371 Cryptography 8. Asymmetric encryption-.
Andreas Steffen, , 4-PublicKey.pptx 1 Internet Security 1 (IntSi1) Prof. Dr. Andreas Steffen Institute for Internet Technologies and Applications.
Chapter 12 Cryptography (slides edited by Erin Chambers)
Page 1 Secure Communication Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation.
By Abhijith Chandrashekar and Dushyant Maheshwary.
10.1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 10 Symmetric-Key Cryptography.
Cryptography ECT 582 – Winter 2004 Robin Burke. Discussion.
Great Theoretical Ideas in Computer Science.
1 Lecture 9 Public Key Cryptography Public Key Algorithms CIS CIS 5357 Network Security.
Midterm Review Cryptography & Network Security
Tyepmg Pic Gvctxskvetlc April 25, The Caesar Cipher (Suetonius) “If Caesar had anything confidential to say, he wrote it in cipher, that is,
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.
Elliptical Curve Cryptography Manish Kumar Roll No - 43 CS-A, S-7 SOE, CUSAT.
Public Key Cryptography. symmetric key crypto requires sender, receiver know shared secret key Q: how to agree on key in first place (particularly if.
CS461/ECE422 Spring 2012 Nikita Borisov — UIUC1.  Text Chapters 2 and 21  Handbook of Applied Cryptography, Chapter 8 
Some Number Theory Modulo Operation: Question: What is 12 mod 9?
1 Security and Cryptography: basic aspects Ortal Arazi College of Engineering Dept. of Electrical & Computer Engineering The University of Tennessee.
Chapter 3 (B) – Key Management; Other Public Key Cryptosystems.
Cryptography 1 Crypto Cryptography 2 Crypto  Cryptology  The art and science of making and breaking “secret codes”  Cryptography  making “secret.
15-499Page :Algorithms and Applications Cryptography I – Introduction – Terminology – Some primitives – Some protocols.
Understanding Cryptography by Christof Paar and Jan Pelzl These slides were prepared by Tim Güneysu, Christof Paar and Jan Pelzl.
Lecture 23 Symmetric Encryption
+ Security. + What is network security? confidentiality: only sender, intended receiver should “understand” message contents sender encrypts message receiver.
Public Key Algorithms Lesson Introduction ●Modular arithmetic ●RSA ●Diffie-Hellman.
Diffie-Hellman Key Exchange Color Mixing Example Rick Stroud 21 September 2015 CSCE 522.
CS 4803 Fall 04 Public Key Algorithms. Modular Arithmetic n Public key algorithms are based on modular arithmetic. n Modular addition. n Modular multiplication.
Elliptic Curves Number Theory and Cryptography. A Pile of Cannonballs A Square of Cannonballs.
Cryptography issues – elliptic curves Presented by Tom Nykiel.
Introduction to Elliptic Curves CSCI 5857: Encoding and Encryption.
1 Diffie-Hellman (Key Exchange) Protocol Rocky K. C. Chang 9 February 2007.
Great Theoretical Ideas in Computer Science.
Introduction to Pubic Key Encryption CSCI 5857: Encoding and Encryption.
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.
Introduction to Cryptography Hyunsung Kim, PhD University of Malawi, Chancellor College Kyungil University February, 2016.
Cryptography services Lecturer: Dr. Peter Soreanu Students: Raed Awad Ahmad Abdalhalim
Public Key Cryptography. Asymmetric encryption is a form of cryptosystem in which Encryption and decryption are performed using the different keys—one.
Asymmetric-Key Cryptography
Introduction to Elliptic Curve Cryptography
Presentation transcript:

Windows Core Security1© 2006 Microsoft Corp Cryptography: Helping Number Theorists Bring Home the Bacon Since 1977 Dan Shumow SDE Windows Core Security

Windows Core Security2© 2006 Microsoft Corp Outline Introduction Symmetric Key Encryption Key Distribution: Diffie-Hellman Key Generation Elliptic Curve Cryptography

Windows Core Security3© 2006 Microsoft Corp Introduction Cryptography, what is it and why should we care? –Cryptography is the science of communicating secretly. –Today so much communication is done over the internet and radio waves, and these media are very prone to eavesdropping. Cryptography allows people to communicate securely across these media.

Windows Core Security4© 2006 Microsoft Corp Cryptography Allows Alice to communicate with Bob without being overheard by Eavesdropper Eve. Alice Bob Eve

Windows Core Security5© 2006 Microsoft Corp Symmetric Key Encryption Alice and Bob share a key K. They use an encryption function c=E k (p). p is the plaintext and c is the ciphertext. It has to be reversible: p=D k (c). If Alice wants to send Bob a message m she computes c = E K (m) and sends Bob c. Bob computes m = D K (c).

Windows Core Security6© 2006 Microsoft Corp Symmetric Key Encryption Want it to be hard to compute p given c. So if Eve doesn’t know K it is hard for her to compute m even if she intercepts c. Want E k and D k to be easy to compute. So there is little overhead to communication Want K to be hard to calculate given p and c. Otherwise if Eve can guess parts of the message she can recover the key.

Windows Core Security7© 2006 Microsoft Corp Symmetric Key Encryption Examples: –Substitution Ciphers: Substitute each letter in the alphabet for another one. –One Time Pads: A key that is the same length as the message, used only once. –Modern Ciphers Stream Ciphers: RC4 Block Ciphers: DES, AES

Windows Core Security8© 2006 Microsoft Corp Symmetric Key Encryption Attacks on Encryption Algorithms: –Substitution Ciphers: Frequency Attacks –One Time Pads are provably secure. –Modern Attacks: Linear Cryptanalysis looks for a linear relationship between plaintext and ciphertext. (Known Plaintext Attack.) Differential Cryptanalysis looks at how differences in plaintext cause differences in ciphertext. (Chosen Plaintext Attack.)

Windows Core Security9© 2006 Microsoft Corp Symmetric Key Encryption Modern Encryption Algorithm Design Techniques –Confusion and Diffusion Diffusion means many bits of the plaintext (possibly all) affect each bit of the ciphertext. Confusion means there is a low statistical bias of bits in the ciphertext. –Non-Linearity: The encryption function is not linear (represented by a small matrix) Prevents Linear Cryptanalysis.

Windows Core Security10© 2006 Microsoft Corp Symmetric Key Encryption Problem: Key Distribution –Can’t keep using same key, Eve will eventually recover K. –Need to establish shared secret key: Could agree to physically meet and establish keys. But what if you want to communicate with someone on the other side of the world? Key distribution is a big problem.

Windows Core Security11© 2006 Microsoft Corp Diffie-Hellman Key Generation Basic Idea: 1.Alice and Bob agree on an integer g. 2.(a) Alice secretly chooses integer x, computes X = g x and sends it to Bob. (b) Bob secretly chooses integer y, computes Y = g y and sends it to Alice. 3.(a) Alice computes Y x =(g y ) x =g xy. (b) Bob computes X y =(g x ) y =g xy. 4.Alice and Bob both share g xy which they can use to create a secret key.

Windows Core Security12© 2006 Microsoft Corp Diffie-Hellman Key Generation Wait!! It’s not secure. If Eve overhears what g, X, and Y are she can compute: x = log g X and y = log g Y And use this information to calculate g xy. To make this secure Alice and Bob pick a large prime number P and reduce everything mod P (take the remainder after division by P)

Windows Core Security13© 2006 Microsoft Corp Diffie-Hellman Key Generation New and Improved Idea: 1.Alice and Bob agree on an integer g and prime P. 2.(a) Alice secretly chooses integer x, computes X = g x mod P and sends it to Bob. (b) Bob secretly chooses integer y, computes Y = g y mod P and sends it to Alice. 3.(a) Alice computes Y x mod P =(g y ) x mod P =g xy mod P. (b) Bob computes X y mod P =(g x ) y mod P =g xy mod P. 4.Alice and Bob both share the value g xy mod P which they can use to create a secret key.

Windows Core Security14© 2006 Microsoft Corp Diffie-Hellman Key Generation By adding the prime P into the equation we now need to make sure that g is a “generator” of P. This means that for every integer x in {1,2,3,…,P-1} there exists an integer d such that: x = g d mod P. d is called the “discrete log” of g mod P.

Windows Core Security15© 2006 Microsoft Corp Diffie-Hellman Key Generation Why Does This Work? 1.Because the positive integers less than P form a multiplicative, cyclic group with generator g. 2.It is hard to compute the discrete log of a generator mod P. Given these two things: 1.This algorithm works. 2.It is hard for Eve to calculate g xy mod P.

Windows Core Security16© 2006 Microsoft Corp Groups A group is a set G with a binary operation ·:G×G→G with the following properties: 1.Associativity: a(bc)=(ab)c 2.Identity Element: there exists e in G, such that for all a in G ea=ae=a. 3.Inverses: for all a in G there exists an element a -1 in G such that aa -1 = a -1 a = e

Windows Core Security17© 2006 Microsoft Corp Special Groups Abelian Groups are groups that have a fourth axiom 4.Commutative: for all a and b in G ab = ba Cyclic Groups are groups that have a generator g. Where g is an element of G such that for all a in G: a = g x where x is a positive integer. Note that all Cyclic groups are Abelian. Can you see why?

Windows Core Security18© 2006 Microsoft Corp Special Groups Multiplicative Groups are groups where the operation is called multiplication. Example: the group of n×n invertible matrices. Additive Groups are groups where the operation is called addition. Additive Groups are abelian. Example: the integers.

Windows Core Security19© 2006 Microsoft Corp Diffie-Hellman Key Generation What does this all mean for Diffie-Hellman Key Generation? Answer: It means that Diffie-Hellman will work as a key exchange algorithm in any cyclic group where computing discrete logarithms is hard.

Windows Core Security20© 2006 Microsoft Corp Elliptic Curve Cryptography Elliptic Curves are a way of modifying existing crypto systems like DH to make them “stronger.” “Stronger” means the expected time of an attack is longer with equal key sizes. This allows us to use smaller key sizes and therefore speed up the whole process. This makes ECC very useful for small devices like phones or other embedded systems.

Windows Core Security21© 2006 Microsoft Corp Elliptic Curves An Elliptic Curve is such an alternate cyclic group. The group consists of all points of the form: y 2 = x 3 + ax + b. Where x, y, a, and b are all elements of a field F.

Windows Core Security22© 2006 Microsoft Corp Fields A field is a set that has mathematical operations multiplication and addition that behave in nice ways. Basically a field is any set that you can do everything from your high school algebra class in.

Windows Core Security23© 2006 Microsoft Corp Fields A field F is a set S along with two binary operations (+,·) that have the following properties: 1.S contains two distinct elements 0 and 1 2.(S-{0},·) is a multiplicative group, with identity 1. 3.(S,+) is an additive group, with identity 0. 4.Multiplication is distributive on the left and the right: a·(b+c) = a·b+a·c (a+b)·c = a·c+b·c

Windows Core Security24© 2006 Microsoft Corp Elliptic Curves Group operation: Let P = (x P,y P ) and Q = (x Q,y Q ) be points on the an Elliptic Curve E. Then: R = P + Q = (x R,y R ) is defined by: x R = s 2 -x P -x Q y R =-y P +s(x P -x R ) where: s = (y P -y Q )/(x P -x Q ) if x P ≠x Q or s = (3x P 2 +a)/(2y P 2 ) if x P =x Q Identity: A “point at infinity” is added to the set of points on the curve. This point is infinitely far along the y access.

Windows Core Security25© 2006 Microsoft Corp Elliptic Curves Intuition: If you have 2 points on this curve, they define a line that intersects the curve at 1 other point. Addition is derived from this. Inverses are reflections about the x access.

Windows Core Security26© 2006 Microsoft Corp Elliptic Curve Cryptography Newer and more Improved Idea: 1.Alice and Bob agree on an Elliptic Curve E (specified by the field F and parameters a, b) and a base point g on E. 2.(a) Alice secretly chooses integer x, computes X = xg and sends it to Bob. (b) Bob secretly chooses integer y, computes Y = yg and sends it to Alice. 3.(a) Alice computes: xY = x(yg) =xyg. (b) Bob computes: yX = y(xg) =yxg=xyg. 4.Alice and Bob both share the point xyg which they can use to create a secret key.

Windows Core Security27© 2006 Microsoft Corp Elliptic Curve Cryptography In the preceding example all math is done in the group defined by E. Exponentiation is taken to be iterative addition. Because Elliptic Curves are groups we are guaranteed that we can perform all these operations. Computing logarithms in elliptic curves is difficult, so Eve can not recover the secret values and determine the shared value xyg.

Windows Core Security28© 2006 Microsoft Corp References Eric W. Weisstein. "Elliptic Curve." From MathWorld--A Wolfram Web Resource. Eric W. Weisstein et al. "Group." From MathWorld--A Wolfram Web Resource. Eric W. Weisstein. "Field." From MathWorld--A Wolfram Web Resource