Week 4 - Wednesday.  What did we talk about last time?  Finished DES  AES.

Slides:



Advertisements
Similar presentations
RSA and Public Key Cryptography Oct Nathanael Paul.
Advertisements

Number Theory Algorithms and Cryptography Algorithms Prepared by John Reif, Ph.D. Analysis of Algorithms.
Cryptography and Network Security Chapter 9
RSA COSC 201 ST. MARY’S COLLEGE OF MARYLAND FALL 2012 RSA.
Week 3 - Wednesday.  What did we talk about last time?  DES  Started AES.
CS 483 – SD SECTION BY DR. DANIYAL ALGHAZZAWI (4) Information Security.
CSE331: Introduction to Networks and Security Lecture 19 Fall 2002.
Chapter 8 – Introduction to Number Theory. Prime Numbers prime numbers only have divisors of 1 and self –they cannot be written as a product of other.
5.1 Number Theory. The study of numbers and their properties. The numbers we use to count are called the Natural Numbers or Counting Numbers.
Primality Testing Patrick Lee 12 July 2003 (updated on 13 July 2003)
22C:19 Discrete Structures Integers and Modular Arithmetic
Week 3 - Friday.  What did we talk about last time?  AES  Public key cryptography.
Primality Testing By Ho, Ching Hei Cheung, Wai Kwok.
22C:19 Discrete Math Integers and Modular Arithmetic Fall 2010 Sukumar Ghosh.
Great Theoretical Ideas in Computer Science.
Session 4 Asymmetric ciphers.
Public Key Algorithms …….. RAIT M. Chatterjee.
6/20/2015 5:05 AMNumerical Algorithms1 x x1x
Cryptography Lecture 11: Oct 12. Cryptography AliceBob Cryptography is the study of methods for sending and receiving secret messages. adversary Goal:
ITIS 3200: Introduction to Information Security and Privacy Dr. Weichao Wang.
1 Lecture #10 Public Key Algorithms HAIT Summer 2005 Shimrit Tzur-David.
CS470, A.SelcukPublic Key Cryptography1 CS 470 Introduction to Applied Cryptography Instructor: Ali Aydin Selcuk.
Csci5233 Computer Security & Integrity 1 Cryptography: Basics (2)
CSE 321 Discrete Structures Winter 2008 Lecture 8 Number Theory: Modular Arithmetic.
Theory I Algorithm Design and Analysis (9 – Randomized algorithms) Prof. Dr. Th. Ottmann.
Chapter 8 – Introduction to Number Theory Prime Numbers
The RSA Algorithm JooSeok Song Tue.
Public Key Encryption and the RSA Public Key Algorithm CSCI 5857: Encoding and Encryption.
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 9: Cryptography.
The RSA Algorithm Rocky K. C. Chang, March
Prime Numbers Prime numbers only have divisors of 1 and self

Introduction to Modular Arithmetic and Public Key Cryptography.
1 Network Security Lecture 6 Public Key Algorithms Waleed Ejaz
Information Security and Management 4. Finite Fields 8
RSA and its Mathematics Behind
Great Theoretical Ideas in Computer Science.
RSA Ramki Thurimella.
Prelude to Public-Key Cryptography Rocky K. C. Chang, February
Cryptography Dec 29. This Lecture In this last lecture for number theory, we will see probably the most important application of number theory in computer.
1 Lecture 9 Public Key Cryptography Public Key Algorithms CIS CIS 5357 Network Security.
Implementing RSA Encryption in Java
Modular Arithmetic with Applications to Cryptography Lecture 47 Section 10.4 Wed, Apr 13, 2005.
Public-Key Encryption
CS461/ECE422 Spring 2012 Nikita Borisov — UIUC1.  Text Chapters 2 and 21  Handbook of Applied Cryptography, Chapter 8 
The RSA Algorithm. Content Review of Encryption RSA An RSA example.
RSA and its Mathematics Behind July Topics  Modular Arithmetic  Greatest Common Divisor  Euler’s Identity  RSA algorithm  Security in RSA.
22C:19 Discrete Structures Integers and Modular Arithmetic Fall 2014 Sukumar Ghosh.
Scott CH Huang COM 5336 Cryptography Lecture 6 Public Key Cryptography & RSA Scott CH Huang COM 5336 Cryptography Lecture 6.
Lecture 6.1: Misc. Topics: Number Theory CS 250, Discrete Structures, Fall 2011 Nitesh Saxena.
James C. Bradas, Ph.D. Engineering & Analysis Operation 18 June 2009 Public Key Encryption.
What use are prime numbers? ?. o All the primes, apart from 2, are odd numbers. o 1 is not a prime number. Why? o There are infinitely many prime numbers!
CS Modular Division and RSA1 RSA Public Key Encryption To do RSA we need fast Modular Exponentiation and Primality generation which we have shown.
Ch1 - Algorithms with numbers Basic arithmetic Basic arithmetic Addition Addition Multiplication Multiplication Division Division Modular arithmetic Modular.
Introduction to Cryptography Lecture 9. Public – Key Cryptosystems Each participant has a public key and a private key. It should be infeasible to determine.
AF2. Turn off your phones Primes, gcd, some examples, reading.
Primality Testing. Introduction The primality test provides the probability of whether or not a large number is prime. Several theorems including Fermat’s.
Public Key Cryptosystem In Symmetric or Private Key cryptosystems the encryption and decryption keys are either the same or can be easily found from each.
Cryptography RSA Algorithm BY : Wesam Fadheel Computer science department - WMU CS-6800 Advanced Theory of Computation Instructor: Dr. Elise De Doncker.
Introduction to Cryptography Hyunsung Kim, PhD University of Malawi, Chancellor College Kyungil University February, 2016.
1 The RSA Algorithm Rocky K. C. Chang February 23, 2007.
Lecture 5 Asymmetric Cryptography. Private-Key Cryptography Traditional private/secret/single key cryptography uses one key Shared by both sender and.
Number-Theoretic Algorithms
Visit for more Learning Resources
Public Key Cryptosystems - RSA
The RSA Algorithm JooSeok Song Tue.
Private-Key Cryptography
The RSA Algorithm JooSeok Song Tue.
Cryptography: Basics (2)
Presentation transcript:

Week 4 - Wednesday

 What did we talk about last time?  Finished DES  AES

 So far, we have talked about symmetric (or private) key cryptography  In symmetric key cryptography, the same key is used for encryption and decryption  The key is a shared secret  This is perfect for sending messages between two parties who 1. Trust each other 2. Have shared a secret ahead of time

 Sometimes, we need something different  We want a public key that anyone can use to encrypt a message to Alice  Alice has a private key that can decrypt such a message  The public key can only encrypt messages; it cannot be used to decrypt messages

 In 1976, Diffie and Hellman proposed the idea of a public key cryptosystem, one in which encryption and decryption keys were different  They gave the following 3 conditions for such a system: 1. It must be computationally easy to encipher or decipher a message given the appropriate key 2. It must be computationally infeasible to derive the private key from the public key 3. It must be computationally infeasible to determine the private key from a chosen plaintext attack

 (Whitfield) Diffie and (Martin) Hellman "invented" public key cryptography in 1976  However, James Ellis invented it in 1970, but his work was for a secret British government agency, classified until 1997  Diffie and Hellman came up with the idea of a "trapdoor" function (computationally easy one way, hard the other)  RSA, a practical algorithm published in 1978, made this idea workable  Again, the system had been invented earlier by British intelligence  The guys behind RSA made millions

 RSA depends in large part on the difficulty of factoring large composite numbers (particularly those that are a product of only 2 primes)  For those of you who aren't in Formal Methods, an integer p is prime if  p > 1  p is not divisible by any positive integers other than 1 and itself

 Any integer greater than 1 can be factored into a unique series of prime factors:  Example: 52 = 2 2 ∙ 13  Two integers a and b (greater than 1) are relatively prime or coprime if and only if a shares no prime factors with b

 How do we know if a number is prime?  For small numbers, we can try to divide it by all integers less than or equal to its square root  RSA-768 was successfully factored in December 2009 into 2 primes  One is:  You can't test up to the square root of that in any reasonable time

 In 2002, the AKS algorithm was published which demonstrated that it was possible to test to see if a number is prime  Deterministically  In time polynomial in the number of digits of the prime  This algorithm is of theoretical interest, but it is too slow for testing the primality of RSA moduli

 We won't get into the number theory behind this (yet)  A Rabin-Miller primality test works as follows:  Let n be the number you want to prove if it's prime or not  n must be odd, thus n – 1 is even  (n – 1) = 2 s d where s and d are positive integers and d is odd  If n is prime, then for any integer 1 < a < n, exactly one of the two is true: ▪ a d  1 (mod n) or ▪ a 2 r d  -1 (mod n), 1 ≤ r < s  Pick several a values, see if either of the two cases hold  If it ever doesn't, you know you have a composite

 What if we want to see if 221 is prime?  n – 1 = 220 = 2 2 ∙55  s = 2  d = 55  Attempt 1: Let a = 174  a 2 0 ·d mod n = mod 221 = 47 ≠ 1, n − 1  a 2 1 ·d mod n = mod 221 = 220 = n − 1 Check!  Attempt 2: Let a = 137  a 2 0 ·d mod n = mod 221 = 188 ≠ 1, n − 1  a 2 1 ·d mod n = mod 221 = 205 ≠ n − 1 Oh no!  Every successful attempt means there is only a 25% chance that the number is composite  So, after k attempts, there is a 4 -k chance that the number is composite

 The greatest common divisor or GCD of two numbers gives the largest factor they have in common  Example:  GCD( 12, 18 ) =  GCD( 42, 56 ) =  For small numbers, we can determine GCD by doing a complete factorization

 For large numbers, we can use Euclid's algorithm to determine the GCD of two numbers  Algorithm GCD( a, b) 1. If b = 0 ▪ Return a 2. Else ▪ temp = a mod b ▪ a = b ▪ b = temp 3. Goto Step 1  Example: GCD( 1970, 1066)

 We can extend Euclid's algorithm to give us the multiplicative inverse for modular arithmetic  Example: Find the inverse of 120 mod 23  Let a be the number  Let b be the modular base  Find Inverse(a, b)  x = 0  lastx = 1  y = 1  lasty = 0  while b ≠ 0 ▪ quotient = a div b ▪ temp = b ▪ b = a mod b ▪ a = temp ▪ temp = x ▪ x = lastx-quotient*x ▪ lastx = temp ▪ temp = y ▪ y = lasty-quotient*y ▪ lasty = temp  Return lastx

 If p is prime and a is a positive integer not divisible by p, then: a p –1  1 (mod p)

 Assume a is positive and less than p  Consider the sequence a, 2a, 3a, …, (p – 1)a  If these are taken mod p, we will get:  1, 2, 3, …, p – 1  This bit is the least obvious part of the proof  However (because p is prime) if you add any non-zero element repeatedly, you will eventually get back to the starting point, covering all values (except 0) once  Multiplying this sequence together gives:  a ∙ 2a ∙ 3a ∙ … ∙ (p – 1)a  1 ∙ 2 ∙ 3 ∙ … ∙ (p – 1) (mod p)  a p – 1 (p – 1)!  (p – 1)! (mod p)  a p – 1  1 (mod p)

 Euler’s totient function  (n)   (n) = the number of positive integers less than n and relatively prime to n (including 1)  If p is prime, then  (p) = p – 1  If we have two primes p and q (which are different), then:  (pq) =  (p)∙  (q) = (p – 1)(q – 1)

 Euler’s Theorem: For every a and n that are relatively prime, a  (n)  1 (mod n)  This generalizes Fermat’s Theorem because  (p) = p – 1 if p is prime  Proof is messier

 RSA  Key management  Start hash functions  Kiefer Weis presents

 Keep reading Sections 2.3 and 12.4  Work on Project 1  Due this Friday