Foundations of Network and Computer Security J J ohn Black Lecture #10 Sep 18 th 2009 CSCI 6268/TLEN 5550, Fall 2009.

Slides:



Advertisements
Similar presentations
CSE331: Introduction to Networks and Security Lecture 19 Fall 2002.
Advertisements

22C:19 Discrete Structures Integers and Modular Arithmetic
22C:19 Discrete Math Integers and Modular Arithmetic Fall 2010 Sukumar Ghosh.
Math 3121 Abstract Algebra I
7. Asymmetric encryption-
1 The RSA Algorithm Supplementary Notes Prepared by Raymond Wong Presented by Raymond Wong.
Great Theoretical Ideas in Computer Science.
Foundations of Network and Computer Security J J ohn Black Lecture #9 Sep 22 nd 2005 CSCI 6268/TLEN 5831, Fall 2005.
Foundations of Network and Computer Security J J ohn Black Lecture #7 Sep 14 th 2004 CSCI 6268/TLEN 5831, Fall 2004.
OOP/Java1 Public Key Crytography From: Introduction to Algorithms Cormen, Leiserson and Rivest.
Public Key Crytography1 From: Introduction to Algorithms Cormen, Leiserson and Rivest.
Foundations of Network and Computer Security J J ohn Black Lecture #11 Oct 4 th 2005 CSCI 6268/TLEN 5831, Fall 2005.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2002 Tuesday, 26 November Number-Theoretic Algorithms Chapter 31.
Foundations of Network and Computer Security J J ohn Black Lecture #9 Sep 16 th 2009 CSCI 6268/TLEN 5550, Fall 2009.
Foundations of Network and Computer Security J J ohn Black Lecture #13 Sep 26 th 2007 CSCI 6268/TLEN 5831, Fall 2007.
Foundations of Network and Computer Security J J ohn Black Lecture #12 Sep 23 rd 2009 CSCI 6268/TLEN 5550, Fall 2009.
Foundations of Network and Computer Security J J ohn Black Lecture #10 Sep 29 th 2005 CSCI 6268/TLEN 5831, Fall 2005.
1 Lecture #10 Public Key Algorithms HAIT Summer 2005 Shimrit Tzur-David.
Foundations of Network and Computer Security J J ohn Black Lecture #6 Sep 9 th 2004 CSCI 6268/TLEN 5831, Fall 2004.
Public Encryption: RSA
CSE 321 Discrete Structures Winter 2008 Lecture 8 Number Theory: Modular Arithmetic.
Foundations of Network and Computer Security J J ohn Black Lecture #11 Sep 21 st 2007 CSCI 6268/TLEN 5831, Fall 2007.
Foundations of Network and Computer Security J J ohn Black Lecture #12 Sep 24 th 2007 CSCI 6268/TLEN 5831, Fall 2007.
Lecture 3.2: Public Key Cryptography II CS 436/636/736 Spring 2012 Nitesh Saxena.
Foundations of Network and Computer Security J J ohn Black Lecture #7 Sep 13 th 2005 CSCI 6268/TLEN 5831, Fall 2005.
Codes, Ciphers, and Cryptography-RSA Encryption
1 CIS 5371 Cryptography 8. Asymmetric encryption-.
Foundations of Network and Computer Security J J ohn Black Lecture #14 Oct 1 st 2007 CSCI 6268/TLEN 5831, Fall 2007.
1 Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown Chapter 4 – Finite Fields.
Information Security and Management 4. Finite Fields 8
RSA and its Mathematics Behind
Great Theoretical Ideas in Computer Science.
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.
Public-Key Cryptography CS110 Fall Conventional Encryption.
Introduction to Algorithms Second Edition by Cormen, Leiserson, Rivest & Stein Chapter 31.
Modular Arithmetic with Applications to Cryptography Lecture 47 Section 10.4 Wed, Apr 13, 2005.
Foundations of Computing I CSE 311 Fall It’s Boolean algebra again Definition for  based on  Definition for  based on  Complement works like.
RSA and its Mathematics Behind July Topics  Modular Arithmetic  Greatest Common Divisor  Euler’s Identity  RSA algorithm  Security in RSA.
Foundations of Network and Computer Security J J ohn Black CSCI 6268/TLEN 5550, Spring 2013.
1 Network and Computer Security (CS 475) Modular Arithmetic and the RSA Public Key Cryptosystem Jeremy R. Johnson.
Lecture 6.1: Misc. Topics: Number Theory CS 250, Discrete Structures, Fall 2011 Nitesh Saxena.
Introduction to Cryptography Lecture 9. Public – Key Cryptosystems Each participant has a public key and a private key. It should be infeasible to determine.
Great Theoretical Ideas in Computer Science for Some.
Modular Arithmetic and the RSA Cryptosystem Great Theoretical Ideas In Computer Science John LaffertyCS Fall 2005 Lecture 9Sept 27, 2005Carnegie.
Great Theoretical Ideas In Computer Science Anupam GuptaCS Fall 2006 Lecture 15Oct 17, 2006Carnegie Mellon University Algebraic Structures: Groups,
CS Lecture 14 Powerful Tools     !. Build your toolbox of abstract structures and concepts. Know the capacities and limits of each tool.
Lecture 3.1: Public Key Cryptography I CS 436/636/736 Spring 2015 Nitesh Saxena.
Dan Boneh Intro. Number Theory Fermat and Euler Online Cryptography Course Dan Boneh.
Great Theoretical Ideas in Computer Science.
Great Theoretical Ideas In Computer Science COMPSCI 102 Fall 2010 Lecture 16October 27, 2010Duke University Modular Arithmetic and the RSA Cryptosystem.
Cryptography Lecture 14 Arpita Patra © Arpita Patra.
Introduction to Elliptic Curve Cryptography CSCI 5857: Encoding and Encryption.
RSA Pubic Key Encryption CSCI 5857: Encoding and Encryption.
Foundations of Network and Computer Security J J ohn Black CSCI 6268/TLEN 5550, Spring 2014.
RSA Cryptosystem Great Theoretical Ideas In Computer Science S. Rudich V. Adamchik CS Spring 2006 Lecture 8Feb. 09, 2006Carnegie Mellon University.
Modular Arithmetic and the RSA Cryptosystem Great Theoretical Ideas In Computer Science Steven RudichCS Spring 2005 Lecture 8Feb 3, 2005Carnegie.
A Prime Example CS Lecture 20 A positive integer p  2 is prime if the only positive integers that divide p are 1 and p itself. Positive integers.
Number-Theoretic Algorithms
Prelude to Public-Key Cryptography
Advanced Algorithms Analysis and Design
Great Theoretical Ideas In Computer Science
Foundations of Network and Computer Security
Cryptography Lecture 21.
Lecture 3.1: Public Key Cryptography I
Great Theoretical Ideas in Computer Science
CSCI284 Spring 2009 GWU Sections 5.1, 5.2.2, 5.3
Cryptography Lecture 17.
Cryptography Lecture 19.
Presentation transcript:

Foundations of Network and Computer Security J J ohn Black Lecture #10 Sep 18 th 2009 CSCI 6268/TLEN 5550, Fall 2009

But first, a little math… A group is a nonempty set G along with an operation # : G x G → G such that for all a, b, c ∈ G –(a # b) # c = a # (b # c) (associativity) – ∃ e ∈ G such that e # a = a # e = a (identity) – ∃ a -1 ∈ G such that a # a -1 = e (inverses) If ∀ a,b ∈ G, a # b = b # a we say the group is “commutative” or “abelian” –All groups in this course will be abelian

Examples of Groups Z (the integers) under + ? Q, R, C, under + ? N under + ? Q under x ? Z under x ? 2 x 2 matrices with real entries under x ? Invertible 2 x 2 matrices with real entries under x ? Note all these groups are infinite –Meaning there are an infinite number of elements in them Can we have finite groups?

Finite Groups Simplest example is G = {0} under + –Called the “trivial group” Almost as simple is G = {0, 1} under addition mod 2 Let’s generalize –Z m is the group of integers modulo m –Z m = {0, 1, …, m-1} –Operation is addition modulo m –Identity is 0 –Inverse of any a ∈ Z m is m-a –Also abelian

The Group Z m An example –Let m = 6 –Z 6 = {0,1,2,3,4,5} –2+5 = 1 –3+5+1 = = 3 –Inverse of 2 is = 0 We can always pair an element with its inverse a : a -1 : Inverses are always unique An element can be its own inverse –Above, 0 and 0, 3 and 3

Another Finite Group Let G = {0,1} n and operation is ⊕ –A group? –What is the identity? –What is the inverse of a ∈ G? We can put some familiar concepts into group-theoretic notation: –Caesar cipher was just P + K = C in Z 26 –One-time pad was just P ⊕ K = C in the group just mentioned above

Multiplicative Groups Is {0, 1, …, m-1} a group under multiplication mod m? –No, 0 has no inverse Ok, toss out 0; is {1, …, m-1} a group under multiplication mod m? –Hmm, try some examples… m = 2, so G = {1} X m = 3, so G = {1,2} X m = 4, so G = {1,2,3} oops! m = 5, so G = {1,2,3,4} X

Multiplicative Groups (cont) What was the problem? –2,3,5 all prime –4 is composite (meaning “not prime”) Theorem: G = {1, 2, …, m-1} is a group under multiplication mod m iff m is prime Proof: →: suppose m is composite, then m = ab where a,b ∈ G and a, b  1. Then ab = m = 0 and G is not closed ←: follows from a more general theorem we state in a moment

The Group Z m * a,b ∈ N are relatively prime iff gcd(a,b) = 1 –Often we’ll write (a,b) instead of gcd(a,b) Theorem: G = {a : 1 ≤ a ≤ m-1, (a,m) = 1} and operation is multiplication mod m yields a group –We name this group Z m * –We won’t prove this (though not too hard) –If m is prime, we recover our first theorem

Examples of Z m * Let m = 15 –What elements are in Z 15 * ? {1,2,4,7,8,11,13,14} –What is 2 -1 in Z 15 * ? First you should check that 2 ∈ Z 15 * It is since (2,15) = 1 –Trial and error: 1, 2, 4, 7, 8 X –There is a more efficient way to do this called “Euclid’s Extended Algorithm” Trust me

Euler’s Phi Function Definition: The number of elements of a group G is called the order of G and is written |G| –For infinite groups we say |G| = 1 –All groups we deal with in cryptography are finite Definition: The number of integers i < m such that (i,m) = 1 is denoted  (m) and is called the “Euler Phi Function” –Note that |Z m * | =  (m) –This follows immediately from the definition of  ()

Evaluating the Phi Function What is  (p) if p is prime? –p-1 What is  (pq) if p and q are distinct primes? –If p, q distinct primes,  (pq) =  (p)  (q) –Not true if p=q –We won’t prove this, though it’s not hard

Examples What is  (3)? –|Z 3 * | = |{1,2}| = 2 What is  (5)? What is  (15)? –  (15) =  (3)  (5) = 2 x 4 = 8 –Recall, Z 15 * = {1,2,4,7,8,11,13,14}

LaGrange’s Theorem Last bit of math we’ll need for RSA Theorem: if G is any finite group of order n, then ∀ a ∈ G, a n = 1 –Examples: 6 ∈ Z 22, 6+6+…+6, 22 times = 0 mod 22 2 ∈ Z 15 *, 2 8 = 256 = 1 mod 15 Consider {0,1} 5 under ⊕ – {0,1} 5, = =00000 –It always works (proof requires some work)

Basic RSA Cryptosystem Basic Setup: –Alice and Bob do not share a key to start with –Alice will be the sender, Bob the receiver Reverse what follows for Bob to reply –Bob first does key generation He goes off in a corner and computes two keys One key is pk, the “public key” Other key is sk, the “secret key” or “private key” –After this, Alice can encrypt with pk and Bob decrypts with sk