The language of cryptography Alices K encryption A
- Slides: 45
The language of cryptography Alice’s K encryption A key plaintext encryption algorithm Bob’s K decryption B key ciphertext decryption plaintext algorithm m plaintext message(明文) KA(m) ciphertext(密文), encrypted with key KA m = KB(KA(m)) 2
Simple encryption scheme substitution cipher: substituting one thing for another ◦ monoalphabetic cipher: substitute one letter for another plaintext: abcdefghijklmnopqrstuvwxyz ciphertext: mnbvcxzasdfghjklpoiuytrewq E. g. : Plaintext: bob. i love you. alice ciphertext: nkn. s gktc wky. mgsbc Key: the mapping from the set of 26 letters to the set of 26 letters 3
Breaking an encryption scheme Cipher-text only attack: Trudy has ciphertext that she can analyze Two approaches: ◦ Search through all keys: must be able to differentiate resulting plaintext from gibberish ◦ Statistical analysis Known-plaintext attack: trudy has some plaintext corresponding to some ciphertext ◦ eg, in monoalphabetic cipher, trudy determines pairings for a, l, i, c, e, b, o, Chosen-plaintext attack: trudy can get the ciphertext for some chosen plaintext 4
Types of Cryptography � Crypto often uses keys: ◦ Algorithm is known to everyone ◦ Only “keys” are secret � Public key cryptography ◦ Involves the use of two keys � Symmetric key cryptography ◦ Involves the use one key 5
Symmetric key cryptography KS plaintext message, m encryption ciphertext algorithm KS (m) KS decryption plaintext algorithm m = KS(KS(m)) symmetric key crypto: Bob and Alice share same (symmetric) key: K S � e. g. , key is knowing substitution pattern in mono alphabetic substitution cipher Q: how do Bob and Alice agree on key value? 6
ASCII码表
参考题 � 多字符表替换算法(Polyalphabetic cipher) � 例如:key: ◦ C 1=alphabate+3 ◦ C 2=alphabate+15 ◦ 代换规则,[C 1, C 2, C 1] 10
Public Key Cryptography symmetric key crypto public key cryptography requires sender, receiver know shared secret key r radically different approach [Diffie. Q: how to agree on key Hellman 76, RSA 78] in first place r sender, receiver do (particularly if never not share secret key “met”)? r public encryption key known to all r private decryption key known only to receiver 12
Public key cryptography + Bob’s public B key K K plaintext message, m encryption ciphertext algorithm + K (m) B - Bob’s private B key decryption plaintext algorithm message + m = K B(K (m)) B 13
Public key encryption algorithms Requirements: 1 . B need K+ ( ) and K- ( ) such that - + B B K (K (m)) = m 2 + given public key KB , it should be impossible to compute private key K B RSA: Rivest, Shamir, Adelson algorithm 14
Prerequisite: modular arithmetic � � x mod n = remainder of x when divide by n Facts: [(a mod n) + (b mod n)] mod n = (a+b) mod n [(a mod n) - (b mod n)] mod n = (a-b) mod n [(a mod n) * (b mod n)] mod n = (a*b) mod n � � Thus (a mod n)d mod n = ad mod n Example: x=14, n=10, d=2: (x mod n)d mod n = 42 mod 10 = 6 xd = 142 = 196 xd mod 10 = 6 15
RSA: getting ready �A message is a bit pattern. � A bit pattern can be uniquely represented by an integer number. � Thus encrypting a message is equivalent to encrypting a number. Example � m= 10010001. This message is uniquely represented by the decimal number 145. � To encrypt m, we encrypt the corresponding number, which gives a new number (the cyphertext). 16
RSA: Creating public/private key pair 1. Choose two large prime numbers p, q. (e. g. , 1024 bits each) 2. Compute n = pq, z = (p-1)(q-1) 3. Choose e (with e<n) that has no common factors with z. (e, z are “relatively prime”). 4. Choose d such that ed-1 is exactly divisible by z. (in other words: ed mod z = 1 ). 5. Public key is (n, e). Private key is (n, d). + KB - KB 17
RSA: Encryption, decryption 0. Given (n, e) and (n, d) as computed above 1. To encrypt message m (<n), compute c = m e mod n 2. To decrypt received bit pattern, c, compute m = c d mod n Magic d m = (m e mod n) mod n happens! c 18
RSA example: Bob chooses p=5, q=7. Then n=35, z=24. e=5 (so e, z relatively prime). d=29 (so ed-1 exactly divisible by z). Encrypting 8 -bit messages. encrypt: decrypt: bit pattern m me 0000 l 000 12 24832 c 17 d c 48196857210675091411825223071697 c = me mod n 17 m = cd mod n 12 19
Why does RSA work? � Must show that cd mod n = m where c = me mod n � Fact: for any x and y: xy mod n = x(y mod z) mod n ◦ where n= pq and z = (p-1)(q-1) � Thus, cd mod n = (me mod n)d mod n = med mod n = m(ed mod z) mod n = m 1 mod n =m 20
RSA: another important property The following property will be very useful later: - + B B K (K (m)) + = m = K (K (m)) B B use public key first, followed by private key use private key first, followed by public key Result is the same! 21
Why - + B B K (K (m)) + = m = K (K (m)) B B ? Follows directly from modular arithmetic: (me mod n)d mod n = med mod n = mde mod n = (md mod n)e mod n 22
Why is RSA Secure? � Suppose you know Bob’s public key (n, e). How hard is it to determine d? � Essentially need to find factors of n without knowing the two factors p and q. � Fact: factoring a big number is hard. Generating RSA keys r Have to find big primes p and q r Approach: make good guess then apply testing rules (see Kaufman) 23
RAS sample, Python � ##RAS � p=47 cipher procee � q=59 � n=p*q #prat of public and private keys � t=(p-1)*(q-1) � e=63 #part of rpivate key � d=847 #part of public key, and (e*d)%t=1 � m=244 24
� c=1 l � c=m**d%n � print "the result of 244 ciphered by RSA is " + str(c) � print "the public key: d=" +str(d)+"; n="+str(n) � print "in the process the result of m**d is " + str(m**d) � print "the anti-cipger for "+ str(c) +" is "+str(c**e % n) � print "the private key: e=" +str(e)+"; n="+str(n) � print "in the process the result of c**e is " + str(c**e) 25
ASCII码表
- Explain about the placement of encryption function.
- Classical encryption techniques in cryptography
- Placement of encryption function in cryptography
- Hình ảnh bộ gõ cơ thể búng tay
- Bổ thể
- Tỉ lệ cơ thể trẻ em
- Voi kéo gỗ như thế nào
- Tư thế worm breton là gì
- Hát lên người ơi alleluia
- Kể tên các môn thể thao
- Thế nào là hệ số cao nhất
- Các châu lục và đại dương trên thế giới
- Công thức tính độ biến thiên đông lượng
- Trời xanh đây là của chúng ta thể thơ
- Mật thư anh em như thể tay chân
- Phép trừ bù
- Phản ứng thế ankan
- Các châu lục và đại dương trên thế giới
- Thể thơ truyền thống
- Quá trình desamine hóa có thể tạo ra
- Một số thể thơ truyền thống
- Cái miệng bé xinh thế chỉ nói điều hay thôi
- Vẽ hình chiếu vuông góc của vật thể sau
- Biện pháp chống mỏi cơ
- đặc điểm cơ thể của người tối cổ
- Thế nào là giọng cùng tên
- Vẽ hình chiếu đứng bằng cạnh của vật thể
- Fecboak
- Thẻ vin
- đại từ thay thế
- điện thế nghỉ
- Tư thế ngồi viết
- Diễn thế sinh thái là
- Các loại đột biến cấu trúc nhiễm sắc thể
- Bảng số nguyên tố lớn hơn 1000
- Tư thế ngồi viết
- Lời thề hippocrates
- Thiếu nhi thế giới liên hoan
- ưu thế lai là gì
- Sự nuôi và dạy con của hươu
- Khi nào hổ con có thể sống độc lập
- Sơ đồ cơ thể người
- Từ ngữ thể hiện lòng nhân hậu
- Thế nào là mạng điện lắp đặt kiểu nổi
- Vera krypt