DD2448 Foundations of Cryptography Lecture 1

Size: px
Start display at page:

Download "DD2448 Foundations of Cryptography Lecture 1"

Transcription

1 DD2448 Foundations of Cryptography Lecture 1 Douglas Wikström KTH Royal Institute of Technology dog@kth.se January 18, 2016

2 Introduction and Administration

3 Information About the Course Oral information given and agreements made during lectures. Read at: Read your KTH If this fails, then Use DD2448 in the subject line.

4 What is cryptography? Cryptography is concerned with the conceptualization, definition, and construction of computing systems that address security concerns. Oded Goldreich, Foundations of Cryptography, 1997

5 Applications of Cryptography Historically. Military and diplomatic secret communication. Communication between banks, e.g., credit card transactions. Modern Time. Protecting satellite TV from leaching. Secrecy and authenticity on the Internet, mobile phones, etc. Credit cards.

6 Applications of Cryptography Today. Distributed file systems, authenticity of blocks in bit torrents, anonymous r ers, Tor-network, etc. RFID tags, Internet banking, Försäkringskassan, Skatteverket, e-legitimation. Future. Secure distributed computing (multiparty computation): election schemes, auctions, secure cloud computing, etc. Variations of signatures, cryptosystem, and other primitives with special properties, e.g., group signatures, identity based encryption, etc.

7 Goal The goal of the course is to give an overview of modern cryptography in order that students should know how to evaluate and, to some extent, create cryptographic constructions, and to be able to read and to extract useful information from research papers in cryptography.

8 Prerequisites DD1352 Algorithms, data structures and complexity, or DD2354 Algorithms and complexity. Knowledge of mathematics and theory of algorithms corresponding to the required courses of the D or F-programmes at KTH.

9 Tentative Plan of Content (1/2) Administration, introduction, classical cryptography. Symmetric ciphers, substitution-permutation networks, linear cryptanalysis, differential cryptanalysis. AES, Feistel networks, DES, modes of operations, DES-variants. Entropy and perfect secrecy. Repetition of elementary number theory, Public-key cryptography, RSA, primality testing, textbook RSA, semantic security.

10 Tentative Plan of Content (2/2) RSA in ROM, Rabin, discrete logarithms, Diffie-Hellman, El Gamal. Security notions of hash functions, random oracles, iterated constructions, SHA, universal hash functions. Message authentication codes, identification schemes, signature schemes, PKI. Elliptic curve cryptography. Pseudorandom generators. Guest lecture. Make-up time and/or special topic.

11 Working Example Throughout the course we will use electronic voting systems to motivate the notions introduced and how to use them.

12 Course Requirements Group project about authentication. Students are divided into groups of three. If the number of students is not divisible by three, then one or two groups will have four members. Describe and provide a security analysis of a way to authenticate a voter in an Internet voting system (in abstract form). Judged by quality of description and level of rigor in the analysis. (20P) Study a real world example of the abstract description, i.e., study how the abstract description is turned into a specification. Judged by level of detail and relevance of topics. (20P)

13 Course Requirements Group project about authentication (cont.). Implement an HTML/CSS/JavaScript client that uses the real world authentication scheme. Judged by how complete and robust it is. (20P) Identify security flaws at any level in the real world authentication scheme, theoretical, in publicly available code fragments, or in solutions of other groups. Judged by the quality and number of observations. (20P)

14 Course Requirements Group project about authentication (cont.). Code is provided for encryption in client (will be discussed in class). Pluggable server will be provided for server side. Students write plugin. Students are expected to form groups naturally, but we reserve the right to reassign students if necessary to make them more balanced in terms of skills in theory and in programming.

15 Course Requirements Homework 1-2. Each homework is a set of problems giving I-points and T-points (I 10 and I +T 100). Solved in groups of up to three students, which may differ for each homework. Only informal discussions are allowed. Each student writes and submits his own solution. Detailed rules and advice are found on the course homepage. Only complete homeworks can be replaced following years. (Less than previous years, but more than two such homeworks.)

16 Qualify for Oral Exam (Possibly) There may be a multiple choice exam during one of the lectures with a pass/fail grade to qualify for the oral exam.

17 Course Requirements Oral Exam. Purpose is to give a fair grade. Discussion starts from submitted solutions and the project to ensure that the grading corresponds to the skills of the student, but can move on to any subject covered in the course. For each problem or project I-points or T-points may be added or removed from the original grading depending on the understanding shown by the student. The updated number of points of a problem is never negative and never more than the nominal maximum number of points of the problem stated in the homework. A single O-point is awarded after passing the exam.

18 Deadlines The deadlines in this course are given on the homepage and are strict. Late solutions are awarded zero points. However, if practically possible, then we negotiate the deadlines to not conflict unnecessarily with other courses.

19 Grading To earn a given grade the requirements of all lower grades must be satisfied as well, with A = I +T +P +O. Grade Requirements E I 30, T 40, P 30, and O 1. D A 120. C A 140 and P 50. B A 170. A A 210 and P 60.

20 Kattis Kattis is a judging server for programming competitions and for grading programming assignments. We use it for all isolated exercises where code is submitted as a solution. We assume that your Kattis id is the same as your KTH user name. If this is not the case, then us your Kattis user name and use the subject Krypto16 Kattis.

21 Latex Latex is the standard typesetting tool for mathematics. It is the fastest way to produce mathematical writing. You must use it to typeset your solutions. The best way to learn it is to read:

22 Introduction to Ciphers

23 Cipher (Symmetric Cryptosystem) c = E k (m) m = E 1 k (c) m E c E 1 m Alice k k Bob

24 Cipher (Symmetric Cryptosystem) Definition. A cipher (symmetric cryptosystem) is a tuple (Gen,P,E,E 1 ), where

25 Cipher (Symmetric Cryptosystem) Definition. A cipher (symmetric cryptosystem) is a tuple (Gen,P,E,E 1 ), where Gen is a probabilistic key generation algorithm outputting keys from a key space K,

26 Cipher (Symmetric Cryptosystem) Definition. A cipher (symmetric cryptosystem) is a tuple (Gen,P,E,E 1 ), where Gen is a probabilistic key generation algorithm outputting keys from a key space K, P is a set of plaintexts,

27 Cipher (Symmetric Cryptosystem) Definition. A cipher (symmetric cryptosystem) is a tuple (Gen,P,E,E 1 ), where Gen is a probabilistic key generation algorithm outputting keys from a key space K, P is a set of plaintexts, E is a deterministic encryption algorithm, and

28 Cipher (Symmetric Cryptosystem) Definition. A cipher (symmetric cryptosystem) is a tuple (Gen,P,E,E 1 ), where Gen is a probabilistic key generation algorithm outputting keys from a key space K, P is a set of plaintexts, E is a deterministic encryption algorithm, and E 1 is a deterministic decryption algorithm,

29 Cipher (Symmetric Cryptosystem) Definition. A cipher (symmetric cryptosystem) is a tuple (Gen,P,E,E 1 ), where Gen is a probabilistic key generation algorithm outputting keys from a key space K, P is a set of plaintexts, E is a deterministic encryption algorithm, and E 1 is a deterministic decryption algorithm, such that E 1 k (E k(m)) = m for every message m P and k K. The set C = {E k (m) m P k K} called the set of ciphertexts.

30 Attacks Throughout the course we consider various attacks on cryptosystems. With small changes, these attacks make sense both for symmetric and asymmetric cryptosystems. Ciphertext-only attack. Known-plaintext attack Chosen-plaintext attack Chosen-ciphertext attack

31 Ceasar Cipher (Shift Cipher) Consider English, with alphabet A-Z, where denotes space, thought of as integers 0-26, i.e., Z 27 Key. Random letter k Z 27. Encrypt. Plaintext m = (m 1,...,m n ) Z n 27 c = (c 1,...,c n ), where c i = m i +k mod 27. gives ciphertext Decrypt. Ciphertext c = (c 1,...,c n ) Z n 27 gives plaintext m = (m 1,...,m n ), where m i = c i k mod 27.

32 Ceasar Cipher Example Encoding. A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Key: G = 6 Plaintext. B R I B E L U L A T O B U Y J A S Plaintext Ciphertext Ciphertext. H X O H K F R R G F Z U F H D F P G Y

33 Statistical Attack Against Ceasar (1/3) Decrypt with all possible keys and see if some English shows up, or more precisely...

34 Statistical Attack Against Ceasar (2/3) Written English Letter Frequency Table F[ ]. A J S B K T C L U D M V E N W F O X G P Y H Q Z I R Note that the same frequencies appear in a ciphertext of written English, but in shifted order!

35 Statistical Attack Against Ceasar (3/3) Check that the plaintext of our ciphertext has similar frequencies as written English. Find the key k that maximizes the inner product T(E 1 k (C)) F, where T(s) and F denotes the frequency tables of the string s and English. This usually gives the correct key k.

36 Affine Cipher Affine Cipher. Key. Random pair k = (a,b), where a Z 27 is relatively prime to 27, and b Z 27. Encrypt. Plaintext m = (m 1,...,m n ) Z n 27 gives ciphertext c = (c 1,...,c n ), where c i = am i +b mod 27. Decrypt. Ciphertext c = (c 1,...,c n ) Z n 27 gives plaintext m = (m 1,...,m n ), where m i = (c i b)a 1 mod 27.

37 Substitution Cipher Ceasar cipher and affine cipher are examples of substitution ciphers. Substitution Cipher. Key. Random permutation σ S of the symbols in the alphabet, for some subset S of all permutations. Encrypt. Plaintext m = (m 1,...,m n ) Z n 27 c = (c 1,...,c n ), where c i = σ(m i ). Decrypt. Ciphertext c = (c 1,...,c n ) Z n 27 m = (m 1,...,m n ), where m i = σ 1 (c i ). gives ciphertext gives plaintext

38 Digrams and Trigrams A digram is an ordered pair of symbols. A trigram is an ordered triple of symbols. It is useful to compute frequency tables for the most frequent digrams and trigrams, and not only the frequencies for individual symbols.

39 Generic Attack Against Substitution Cipher 1. Compute symbol/digram/trigram frequency tables for the candidate language and the ciphertext. 2. Try to match symbols/digrams/trigrams with similar frequencies. 3. Try to recognize words to confirm your guesses (we would use a dictionary (or Google!) here). 4. Backtrack/repeat until the plaintext can be guessed. This is hard when several symbols have similar frequencies. A large amount of ciphertext is needed. How can we ensure this?

40 Vigénère Vigénère Cipher. Key. k = (k 0,...,k l 1 ), where k i Z 27 is random. Encrypt. Plaintext m = (m 1,...,m n ) Z n 27 gives ciphertext c = (c 1,...,c n ), where c i = m i +k i mod l mod 27. Decrypt. Ciphertext c = (c 1,...,c n ) Z n 27 gives plaintext m = (m 1,...,m n ), where m i = c i k i mod l mod 27.

41 Vigénère Vigénère Cipher. Key. k = (k 0,...,k l 1 ), where k i Z 27 is random. Encrypt. Plaintext m = (m 1,...,m n ) Z n 27 gives ciphertext c = (c 1,...,c n ), where c i = m i +k i mod l mod 27. Decrypt. Ciphertext c = (c 1,...,c n ) Z n 27 gives plaintext m = (m 1,...,m n ), where m i = c i k i mod l mod 27. We could even make a variant of Vigénère based on the affine cipher, but is Vigénère really any better than Ceasar?

42 Attack Vigénère (1/2) Index of Coincidence. Each probability distribution p 1,...,p n on n symbols may be viewed as a point p = (p 1,...,p n ) on a n 1 dimensional hyperplane in R n orthogonal to the vector 1 Such a point p = (p 1,...,p n ) is at distance F(p) from the origin, where F(p) = n i=1 p2 i. It is clear that p is closest to the origin, when p is the uniform distribution, i.e., when F(p) is minimized. F(p) is invariant under permutation of the underlying symbols tool to check if a set of symbols is the result of some substitution cipher.

43 Attack Vigénère (2/2) 1. For l = 1,2,3,..., we form C 0 c 0 c l c 2l C 1. = c 1 c l+1 c 2l c l 1 c 2l 1 c 3l 1 C l 1 and compute f l = 1 l l 1 i=0 F(C i). 2. The local maximum with smallest l is probably the right length. 3. Then attack each C i separately to recover k i, using the attack against the Ceasar cipher.

44 Hill Cipher Hill Cipher. Key. k = A, where A is an invertible l l-matrix over Z 27. Encrypt. Plaintext m = (m 1,...,m n ) Z n 27 gives ciphertext c = (c 1,...,c n ), where (computed modulo 27): (c i+0,...,c i+l 1 ) = (m i+0,...,m i+l 1 )A. Decrypt. Ciphertext c = (c 1,...,c n ) Z n 27 gives plaintext m = (m 1,...,m n ), where (computed modulo 27): (m i+0,...,m i+l 1 ) = (c i+0,...,c i+l 1 )A 1. for i = 1,l +1,2l +1,...

45 Hill Cipher Hill Cipher. Key. k = A, where A is an invertible l l-matrix over Z 27. Encrypt. Plaintext m = (m 1,...,m n ) Z n 27 gives ciphertext c = (c 1,...,c n ), where (computed modulo 27): (c i+0,...,c i+l 1 ) = (m i+0,...,m i+l 1 )A. Decrypt. Ciphertext c = (c 1,...,c n ) Z n 27 gives plaintext m = (m 1,...,m n ), where (computed modulo 27): (m i+0,...,m i+l 1 ) = (c i+0,...,c i+l 1 )A 1. for i = 1,l +1,2l +1,... The Hill cipher is easy to break using a known plaintext attack.

46 Permutation Cipher (Transposition Cipher) The permutation cipher is a special case of the Hill cipher. Permutation Cipher. Key. Random permutation π S for some subset S of the set of permutations of {0,1,2,...,l 1}. Encrypt. Plaintext m = (m 1,...,m n ) Z n 27 gives ciphertext c = (c 1,...,c n ), where c i = m i/l +π(i mod l). Decrypt. Ciphertext c = (c 1,...,c n ) Z n 27 gives plaintext m = (m 1,...,m n ), where m i = c i/l +π 1 (i mod l).

47 Last Lecture: Simple Ciphers Caesar cipher and affine cipher: m i am i +b. Substitution cipher: m i σ(m i ). Vigénère cipher: m i m i +k i mod l. Hill cipher (linear map): (m 1,...,m l ) A(m 1,...,m l ) Transposition cipher (permutation): (m 1,...,m l ) (m π(1),...,m π(l) )

48 Substitution-Permutation Networks

49 Good Block Cipher For every key a block-cipher with plaintext/ciphertext space {0,1} n gives a permutation of {0,1} n. What would be an good cipher?

50 Good Block Cipher For every key a block-cipher with plaintext/ciphertext space {0,1} n gives a permutation of {0,1} n. What would be an good cipher? A good cipher is one where each key gives a randomly chosen permutation of {0,1} n. Why is this not possible?

51 Good Block Cipher For every key a block-cipher with plaintext/ciphertext space {0,1} n gives a permutation of {0,1} n. What would be an good cipher? A good cipher is one where each key gives a randomly chosen permutation of {0,1} n. Why is this not possible? The representation of a single typical function {0,1} n {0,1} n requires roughly n2 n bits ( for n = 64)

52 Good Block Cipher For every key a block-cipher with plaintext/ciphertext space {0,1} n gives a permutation of {0,1} n. What would be an good cipher? A good cipher is one where each key gives a randomly chosen permutation of {0,1} n. Why is this not possible? The representation of a single typical function {0,1} n {0,1} n requires roughly n2 n bits ( for n = 64) What should we look for instead?

53 Something Smaller Idea. Compose smaller permutations into a large one. Mix the components thoroughly.

54 Something Smaller Idea. Compose smaller permutations into a large one. Mix the components thoroughly. Shannon (1948) calls this: Diffusion. In the method of diffusion the statistical structure of M which leads to its redundancy is dissipated into long range statistics... Confusion. The method of confusion is to make the relation between the simple statistics of E and the simple description of K a very complex and involved one.

55 Substitution-Permutation Networks (1/2) Block-size. We use a block-size of n = l m bits. Key Schedule. Round r uses its own round key K r derived from the key K using a key schedule. Each Round. In each round we invoke: 1. Round Key. xor with the round key. 2. Substitution. l substitution boxes each acting on one m-bit word (m-bit S-Boxes). 3. Permutation. A permutation π i acting on {1,...,n} to reorder the n bits.

56 Substitution-Permutation Networks (2/2) U i 1 K i

57 Substitution-Permutation Networks (2/2) U i 1 K i xor with round key X i

58 Substitution-Permutation Networks (2/2) U i 1 K i xor with round key X i S i,1 S i,2 S i,3 S i,4 substitute words Y i

59 Substitution-Permutation Networks (2/2) U i 1 K i xor with round key X i S i,1 S i,2 S i,3 S i,4 substitute words Y i π i permute bits U i

60 Substitution-Permutation Networks (2/2) U i 1 K i xor with round key X i S i,1 S i,2 S i,3 S i,4 substitute words Y i permute bits U i

61 Substitution-Permutation Networks (2/2) U i 1 K i Round i U i

62 A Simple Block Cipher (1/2) P = C = 16 4 rounds K = 32 rth round key K r consists of the 4rth to the (4r +16)th bits of key K. 4-bit S-Boxes

63 A Simple Block Cipher (2/2) S-Boxes the same (S S 1 ) Y = S(X) Can be described using 4 boolean functions Input A B C D E F Output E 4 D 1 2 F B 8 3 A 6 C

64 A Simple Block Cipher (2/2) S-Boxes the same (S S 1 ) Y = S(X) Can be described using 4 boolean functions Input A B C D E F Output E 4 D 1 2 F B 8 3 A 6 C bit permutation (π = π 1 ) Input Output

65 AES

66 Advanced Encryption Standard (AES) Chosen in worldwide public competition Probably no backdoors. Increased confidence! Winning proposal named Rijndael, by Rijmen and Daemen Family of 128-bit block ciphers: Key bits Rounds The first key-recovery attacks on full AES due to Bogdanov, Khovratovich, and Rechberger, published 2011, is faster than brute force by a factor of about algebraics of AES make some people uneasy.

67 AES AddRoundKey: xor with round key. SubBytes: substitution of bytes. ShiftRows: permutation of bytes. MixColumns: linear map.

68 Similar to SPN The 128 bit state is interpreted as a 4 4 matrix of bytes. Something like a mix between substitution, permutation, affine version of Hill cipher. In each round!

69 SubBytes SubBytes is field inversion in F 2 8 plus affine map in F 8 2.

70 ShiftRows ShiftRows is a cyclic shift of bytes with offsets: 0, 1, 2, and 3.

71 MixColumns MixColumns is an invertible linear map over F 2 8 (with irreducibile polynomial x 8 +x 4 +x 3 +x +1) with good diffusion.

72 Decryption Uses the following transforms: AddRoundKey InvSubBytes InvShiftRows InvMixColumns

73 Feistel Networks

74 Feistel Networks Identical rounds are iterated, but with different round keys. The input to the ith round is divided in a left and right part, denoted L i 1 and R i 1. f is a function for which it is somewhat hard to find pre-images, but f is typically not invertible! One round is defined by: L i = R i 1 where K i is the ith round key. R i = L i 1 f(r i 1,K i )

75 Feistel Round left L i 1 R i 1 right K i

76 Feistel Round left L i 1 R i 1 right f K i

77 Feistel Round left L i 1 R i 1 right f K i R i compute left

78 Feistel Round left L i 1 R i 1 right f K i copy right L i R i compute left

79 Feistel Cipher

80 Inverse Feistel Round Feistel Round. L i = R i 1 R i = L i 1 f(r i 1,K i )

81 Inverse Feistel Round Feistel Round. L i = R i 1 R i = L i 1 f(r i 1,K i ) Inverse Feistel Round. L i 1 = R i f(l i,k i ) R i 1 = L i Reverse direction and swap left and right!

82 DES

83 Quote The news here is not that DES is insecure, that hardware algorithm-crackers can be built, or that a 56-bit key length is too short.... The news is how long the government has been denying that these machines were possible. As recently as 8 June 98, Robert Litt, principal associate deputy attorney general at the Department of Justice, denied that it was possible for the FBI to crack DES.... My comment was that the FBI is either incompetent or lying, or both. Bruce Schneier, 1998

84 Data Encryption Standard (DES) Developed at IBM in 1975, or perhaps...

85 Data Encryption Standard (DES) Developed at IBM in 1975, or perhaps... at National Security Agency (NSA). Nobody knows for certain.

86 Data Encryption Standard (DES) Developed at IBM in 1975, or perhaps... at National Security Agency (NSA). Nobody knows for certain. 16-round Feistel network.

87 Data Encryption Standard (DES) Developed at IBM in 1975, or perhaps... at National Security Agency (NSA). Nobody knows for certain. 16-round Feistel network. Key schedule derives permuted bits for each round key from a 56-bit key. Supposedly not 64-bit due to parity bits.

88 Data Encryption Standard (DES) Developed at IBM in 1975, or perhaps... at National Security Agency (NSA). Nobody knows for certain. 16-round Feistel network. Key schedule derives permuted bits for each round key from a 56-bit key. Supposedly not 64-bit due to parity bits. Let us look a little at the Feistel-function f.

89 DES s f-function 32 bits R i 1 K i 48 bits

90 DES s f-function 32 bits R i 1 E E(R i 1 ) K i 48 bits 48 bits

91 DES s f-function 32 bits R i 1 E E(R i 1 ) K i 48 bits 48 bits B 1 B 2 B 3 B 4 B 5 B 6 B 7 B 8 48 bits

92 DES s f-function 32 bits R i 1 E E(R i 1 ) K i 48 bits 48 bits B 1 B 2 B 3 B 4 B 5 B 6 B 7 B 8 48 bits S 1 S 2 S 3 S 4 S 5 S 6 S 7 S 8 c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 32 bits

93 DES s f-function 32 bits R i 1 E E(R i 1 ) K i 48 bits 48 bits B 1 B 2 B 3 B 4 B 5 B 6 B 7 B 8 48 bits S 1 S 2 S 3 S 4 S 5 S 6 S 7 S 8 c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 32 bits P f(r i 1,K i )

94 Security of DES Brute Force. Try all 2 56 keys. Done in practice with special chip by Electronic Frontier Foundation, Likely much earlier by NSA and others. Differential Cryptanalysis chosen plaintexts, Biham and Shamir, (approach: late 80 ies). Known earlier by IBM and NSA. DES is surprisingly resistant! Linear Cryptanalysis known plaintexts, Matsui, Probably not known by IBM and NSA!

95 Double DES We have seen that the key space of DES is too small. One way to increase it is to use DES twice, so called double DES. 2DES k1,k 2 (x) = DES k2 (DES k1 (x)) Is this more secure than DES? This question is valid for any cipher.

96 Meet-In-the-Middle Attack Get hold of a plaintext-ciphertext pair (m,c) Compute X = {x k 1 K DES x = E k1 (m)}. For k 2 K DES check if E 1 k 2 (c) = E k1 (m) for some k 1 using the table X. If so, then (k 1,k 2 ) is a good candidate. Repeat with (m,c ), starting from the set of candidate keys to identify correct key.

97 Triple DES What about triple DES? 3DES k1,k 2,k 3 (x) = DES k3 (DES k2 (DES k1 (x))) Seemingly 112 bit effective key size. 3 times as slow as DES. DES is slow in software, and this is even worse. One of the motivations of AES. Triple DES is still considered to be secure.

98 Modes of Operation

99 Modes of Operation Electronic codebook mode (ECB mode). Cipher feedback mode (CFB mode). Cipher block chaining mode (CBC mode). Output feedback mode (OFB mode). Counter mode (CTR mode).

100 ECB Mode Electronic codebook mode Encrypt each block independently: c i = E k (m i )

101 ECB Mode Electronic codebook mode Encrypt each block independently: c i = E k (m i ) Identical plaintext blocks give identical ciphertext blocks.

102 ECB Mode Electronic codebook mode Encrypt each block independently: c i = E k (m i ) Identical plaintext blocks give identical ciphertext blocks. How can we avoid this?

103 CFB Mode Cipher feedback mode xor plaintext block with previous ciphertext block after encryption: c 0 = initialization vector c i = m i E k (c i 1 )

104 CFB Mode Cipher feedback mode xor plaintext block with previous ciphertext block after encryption: c 0 = initialization vector c i = m i E k (c i 1 ) Sequential encryption and parallel decryption.

105 CFB Mode Cipher feedback mode xor plaintext block with previous ciphertext block after encryption: c 0 = initialization vector c i = m i E k (c i 1 ) Sequential encryption and parallel decryption. Self-synchronizing.

106 CFB Mode Cipher feedback mode xor plaintext block with previous ciphertext block after encryption: c 0 = initialization vector c i = m i E k (c i 1 ) Sequential encryption and parallel decryption. Self-synchronizing. How do we pick the initialization vector?

107 CBC Mode Cipher block chaining mode xor plaintext block with previous ciphertext block before encryption: c 0 = initialization vector c i = E k ( ci 1 m i )

108 CBC Mode Cipher block chaining mode xor plaintext block with previous ciphertext block before encryption: c 0 = initialization vector c i = E k ( ci 1 m i ) Sequential encryption and parallel decryption

109 CBC Mode Cipher block chaining mode xor plaintext block with previous ciphertext block before encryption: c 0 = initialization vector c i = E k ( ci 1 m i ) Sequential encryption and parallel decryption Self-synchronizing.

110 OFB Mode Output feedback mode Generate stream, xor plaintexts with stream (emulate one-time pad ): s 0 = initialization vector s i = E k (s i 1 ) c i = s i m i

111 OFB Mode Output feedback mode Generate stream, xor plaintexts with stream (emulate one-time pad ): s 0 = initialization vector s i = E k (s i 1 ) c i = s i m i Sequential.

112 OFB Mode Output feedback mode Generate stream, xor plaintexts with stream (emulate one-time pad ): s 0 = initialization vector s i = E k (s i 1 ) c i = s i m i Sequential. Synchronous.

113 OFB Mode Output feedback mode Generate stream, xor plaintexts with stream (emulate one-time pad ): s 0 = initialization vector s i = E k (s i 1 ) c i = s i m i Sequential. Synchronous. Allows batch processing.

114 OFB Mode Output feedback mode Generate stream, xor plaintexts with stream (emulate one-time pad ): s 0 = initialization vector s i = E k (s i 1 ) c i = s i m i Sequential. Synchronous. Allows batch processing. Malleable!

115 CTR Mode Counter mode Generate stream, xor plaintexts with stream (emulate one-time pad ): s 0 = initialization vector s i = E k (s 0 i) c i = s i m i

116 CTR Mode Counter mode Generate stream, xor plaintexts with stream (emulate one-time pad ): s 0 = initialization vector s i = E k (s 0 i) c i = s i m i Parallel.

117 CTR Mode Counter mode Generate stream, xor plaintexts with stream (emulate one-time pad ): s 0 = initialization vector s i = E k (s 0 i) c i = s i m i Parallel. Synchronous.

118 CTR Mode Counter mode Generate stream, xor plaintexts with stream (emulate one-time pad ): s 0 = initialization vector s i = E k (s 0 i) c i = s i m i Parallel. Synchronous. Allows batch processing.

119 CTR Mode Counter mode Generate stream, xor plaintexts with stream (emulate one-time pad ): s 0 = initialization vector s i = E k (s 0 i) c i = s i m i Parallel. Synchronous. Allows batch processing. Malleable!

120 Linear Cryptanalysis of the SPN

121 Basic Idea Linearize Find an expression of the following form with a high probability of occurrence. P i1 P ip C j1 C jc = K l1,s 1 K lk,s k Each random plaintext/ciphertext pair gives an estimate of K l1,s 1 K lk,s k Collect many pairs and make a better estimate based on the majority vote.

122 How do we come up with the desired expression? How do we compute the required number of samples?

123 Bias Definition. The bias ǫ(x) of a binary random variable X is defined by ǫ(x) = Pr[X = 0] 1 2.

124 Bias Definition. The bias ǫ(x) of a binary random variable X is defined by ǫ(x) = Pr[X = 0] /ǫ 2 (X) samples are required to estimate X (Matsui)

125 Linear Approximation of S-Box (1/3) Let X and Y be the input and output of an S-box, i.e. Y = S(X). We consider the bias of linear combinations of the form ( ( ) a X b Y = a i X i ) b i Y i. i i

126 Linear Approximation of S-Box (1/3) Let X and Y be the input and output of an S-box, i.e. Y = S(X). We consider the bias of linear combinations of the form ( ( ) a X b Y = a i X i ) b i Y i. i i Example: X 2 X 3 = Y 1 Y 3 Y 4 The expression holds in 12 out of the 16 cases. Hence, it has a bias of (12 8)/16 = 4/16 = 1/4.

127 Linear Approximation of S-Box (2/3) Let N L (a,b) be the number of zero-outcomes of a X b Y. The bias is then ǫ(a X b Y) = N L(a,b) 8 16 since there are four bits in X, and Y is determined by X.,

128 Linear Approximation Table (3/3) N L (a,b) 8

129 This gives linear approximation for one round. How do we come up with linear approximation for more rounds?

130 Piling-Up Lemma Lemma. Let X 1,...,X t be independent binary random variables and let ǫ i = ǫ(x i ). Then ( ) ǫ X i = 2 t 1 ǫ i. i Proof. Case t = 2: i Pr[X 1 X 2 = 0] = Pr[(X 1 = 0 X 1 = 0) (X 1 = 1 X 1 = 1)] = ( 1 2 +ǫ 1)( 1 2 +ǫ 2)+( 1 2 ǫ 1)( 1 2 ǫ 2) = ǫ 1ǫ 2. By induction Pr[X 1 X t = 0] = t 1 i ǫ i

131 Linear Trail Four linear approximations with ǫ i = 1/4 S 12 : X 1 X 3 X 4 = Y 2 S 22 : X 2 = Y 2 Y 4 S 32 : X 2 = Y 2 Y 4 S 34 : X 2 = Y 2 Y 4 Combine them to get: U 4,6 U 4,8 U 4,14 U 4,16 P 5 P 7 P 8 = K i,j with bias ǫ = ( 1 4 )4 = 2 5

132 Attack Idea Our expression (with bias 2 5 ) links plaintext bits to input bits to the 4th round Partially undo the last round by guessing the last key. Only 2 S-Boxes are involved, i.e., 2 8 = 256 guesses For a correct guess, the equation holds with bias 2 5. For a wrong guess, it holds with bias zero (i.e., probability close to 1/2).

133 Attack Idea Our expression (with bias 2 5 ) links plaintext bits to input bits to the 4th round Partially undo the last round by guessing the last key. Only 2 S-Boxes are involved, i.e., 2 8 = 256 guesses For a correct guess, the equation holds with bias 2 5. For a wrong guess, it holds with bias zero (i.e., probability close to 1/2). Required pairs Attack complexity operations

134 Linear Cryptanalysis Summary 1. Find linear approximation of S-Boxes. 2. Compute bias of each approximation. 3. Find linear trails. 4. Compute bias of linear trails. 5. Compute data and time complexity. 6. Estimate key bits from many plaintext-ciphertexts pairs. Linear cryptanalysis is a known plaintext attack.

135 Ideal Block Cipher

136 Negligible Functions Definition. A function ǫ(n) is negligible if for every constant c > 0, there exists a constant n 0, such that for all n n 0. ǫ(n) < 1 n c Motivation. Events happening with negligible probability can not be exploited by polynomial time algorithms! (they never happen)

137 Pseudo-Random Function Definition. A function is pseudo-random if no efficient adversary can distinguish between the function and a random function.

138 Pseudo-Random Function Definition. A function is pseudo-random if no efficient adversary can distinguish between the function and a random function. Definition. A family of functions F : {0,1} k {0,1} n {0,1} n is pseudo-random if for all polynomial time oracle adversaries A [ ] Pr A FK( ) = 1 Pr A R( ) = 1] is negligible. K R:{0,1} n {0,1} n [

139 Pseudo-Random Permutation Definition. A permutation and its inverse is pseudo-random if no efficient adversary can distinguish between the permutation and its inverse, and a random permutation and its inverse.

140 Pseudo-Random Permutation Definition. A permutation and its inverse is pseudo-random if no efficient adversary can distinguish between the permutation and its inverse, and a random permutation and its inverse. Definition. A family of permutations P : {0,1} k {0,1} n {0,1} n are pseudo-random if for all polynomial time oracle adversaries A ] [ [A Pr P K( ),P 1 K ( ) = 1 Pr A Π( ),Π 1 ( ) = 1] K Π S 2 n is negligible, where S 2 n is the set of permutations of {0,1} n.

141 Idealized Four-Round Feistel Network Definition. Feistel round (H for Horst Feistel ). H FK (L,R) = (R,L F(R,K))

142 Idealized Four-Round Feistel Network Definition. Feistel round (H for Horst Feistel ). H FK (L,R) = (R,L F(R,K)) Theorem. (Luby and Rackoff) If F is a pseudo-random family of functions, then H Fk1,F k2,f k3,f k4 (x) = H Fk4 (H Fk3 (H Fk2 (H Fk1 (x)))) (and its inverse) is a pseudo-random family of permutations.

143 Idealized Four-Round Feistel Network Definition. Feistel round (H for Horst Feistel ). H FK (L,R) = (R,L F(R,K)) Theorem. (Luby and Rackoff) If F is a pseudo-random family of functions, then H Fk1,F k2,f k3,f k4 (x) = H Fk4 (H Fk3 (H Fk2 (H Fk1 (x)))) (and its inverse) is a pseudo-random family of permutations. Why do we need four rounds?

144 Perfect Secrecy

145 Perfect Secrecy (1/3) When is a cipher perfectly secure?

146 Perfect Secrecy (1/3) When is a cipher perfectly secure? How should we formalize this?

147 Perfect Secrecy (2/3) Definition. A cryptosystem has perfect secrecy if guessing the plaintext is as hard to do given the ciphertext as it is without it.

148 Perfect Secrecy (2/3) Definition. A cryptosystem has perfect secrecy if guessing the plaintext is as hard to do given the ciphertext as it is without it. Definition. A cryptosystem has perfect secrecy if Pr[M = m C = c] = Pr[M = m] for every m M and c C, where M and C are random variables taking values over M and C.

149 Perfect Secrecy (3/3) Game Based Definition. Exp b A, where A is a strategy: 1. k R K 2. (m 0,m 1 ) A 3. c = E k (m b ) 4. d A(c), with d {0,1} 5. Output d. Definition. A cryptosystem has perfect secrecy if for every computationally unbounded strategy A, Pr [ Exp 0 A = 1] = Pr [ Exp 1 A = 1].

150 One-Time Pad One-Time Pad (OTP). Key. Random tuple k = (b 0,...,b n 1 ) Z n 2. Encrypt. Plaintext m = (m 0,...,m n 1 ) Z n 2 gives ciphertext c = (c 0,...,c n 1 ), where c i = m i b i. Decrypt. Ciphertext c = (c 0,...,c n 1 ) Z n 2 m = (m 0,...,m n 1 ), where m i = c i b i. gives plaintext

151 Bayes Theorem Theorem. If A and B are events and Pr[B] > 0, then Pr[A B] = Pr[A]Pr[B A] Pr[B] Terminology: Pr[A] prior probability of A Pr[B] prior probability of B Pr[A B] posterior probability of A given B Pr[B A] posterior probability of B given A

152 One-Time Pad Has Perfect Secrecy Probabilistic Argument. Bayes implies that: Pr[M = m C = c] = Pr[M = m]pr[c = c M = m] Pr[C = c] = Pr[M = m] 2 n 2 n = Pr[M = m]. Simulation Argument. The ciphertext is uniformly and independently distributed from the plaintext. We can simulate it on our own!

153 Bad News Theorem. For every cipher with perfect secrecy, the key requires at least as much space to represent as the plaintext. Dangerous in practice to rely on no reuse of, e.g., file containing randomness!

154 Information Theory

155 Information Theory Information theory is a mathematical theory of communication. Typical questions studied are how to compress, transmit, and store information. Information theory is also useful to argue about some cryptographic schemes and protocols.

156 Classical Information Theory Memoryless Source Over Finite Alphabet. A source produces symbols from an alphabet Σ = {a 1,...,a n }. Each generated symbol is independently distributed. Binary Channel. A binary channel can (only) send bits. Coder/Decoder. Our goal is to come up with a scheme to: 1. convert a symbol a from the alphabet Σ into a sequence (b 1,...,b l ) of bits, 2. send the bits over the channel, and 3. decode the sequence into a again at the receiving end.

157 Classical Information Theory m Enc Channel Dec m Alice Bob

158 Optimization Goal We want to minimize the expected number of bits/symbol we send over the binary channel, i.e., if X is a random variable over Σ and l(x) is the length of the codeword of x then we wish to minimize E[l(X)] = x ΣP X (x)l(x).

159 Examples: X takes values in Σ = {a,b,c,d} with uniform distribution. How would you encode this?

160 Examples: X takes values in Σ = {a,b,c,d} with uniform distribution. How would you encode this? It seems we need l(x) = log Σ. This gives the Hartley measure.

161 Examples: X takes values in Σ = {a,b,c,d} with uniform distribution. How would you encode this? X takes values in Σ = {a,b,c}, with P X (a) = 1 2, P X (b) = 1 4, and P X (c) = 1 4. How would you encode this? It seems we need l(x) = log Σ. This gives the Hartley measure. hmmm...

162 Examples: X takes values in Σ = {a,b,c,d} with uniform distribution. How would you encode this? X takes values in Σ = {a,b,c}, with P X (a) = 1 2, P X (b) = 1 4, and P X (c) = 1 4. How would you encode this? It seems we need l(x) = log 1 P X (x) bits to encode x.

163 Entropy Let us turn this expression into a definition. Definition. Let X be a random variable taking values in X. Then the entropy of X is H(X) = x X P X (x)logp X (x). Examples and intuition are nice, but what we need is a theorem that states that this is exactly the right expected length of an optimal code.

164 Jensen s Inequality Definition. A function f : X (a,b) is concave if λ f(x)+(1 λ)f(y) f (λ x +(1 λ)y), for every x,y (a,b) and 0 λ 1.

165 Jensen s Inequality Definition. A function f : X (a,b) is concave if λ f(x)+(1 λ)f(y) f (λ x +(1 λ)y), for every x,y (a,b) and 0 λ 1. Theorem. Suppose f is continuous and strictly concave on (a, b), and X is a discrete random variable. Then with equality iff X is constant. E[f(X)] f(e[x]),

166 Jensen s Inequality Definition. A function f : X (a,b) is concave if λ f(x)+(1 λ)f(y) f (λ x +(1 λ)y), for every x,y (a,b) and 0 λ 1. Theorem. Suppose f is continuous and strictly concave on (a, b), and X is a discrete random variable. Then with equality iff X is constant. E[f(X)] f(e[x]), Proof idea. Consider two points + induction over number of points.

167 Kraft s Inequality Theorem. There exists a prefix-free code E with codeword lengths l x, for x Σ if and only if 2 lx 1. x Σ Proof Sketch. Given a prefix-free code, we consider the corresponding binary tree with codewords at the leaves. We may fold it by replacing two sibling leaves E(x) and E(y) by (xy) with length l x 1. Repeat. Given lengths l x1 l x2... l xn we start with the complete binary tree of depth l xn and prune it.

168 Binary Source Coding Theorem (1/2) Theorem. Let E be an optimal code and let l(x) be the length of the codeword of x. Then H(X) E[l(X)] < H(X)+1.

169 Binary Source Coding Theorem (1/2) Theorem. Let E be an optimal code and let l(x) be the length of the codeword of x. Then H(X) E[l(X)] < H(X)+1. Proof of Upper Bound. Define l x = logp X (x). Then we have x Σ2 lx x Σ2 logpx(x) = x Σ P X (x) = 1 Kraft s inequality implies that there is a code with codeword lengths l x. Then note that x Σ P X (x) logp X (x) < H(X)+1.

170 Binary Source Coding Theorem (2/2) Proof of Lower Bound. E[l(X)] = x P X (x)l x = x x P X (x)log2 lx P X (x)logp X (x) = H(X)

171 Huffman s Code (1/2) Input: {(a 1,p 1 ),...,(a n,p n )}. Output: 0/1-labeled rooted tree. Huffman({(a 1,p 1 ),...,(a n,p n )}) (1) S {(a 1,p 1,a 1 ),...,(a n,p n,a n )} (2) while S 2 (3) Find (b i,p i,t i ),(b j,p j,t j ) S with minimal p i and p j. (4) S S \{(b i,p i,t i ),(b j,p j,t j )} (5) S S { ( b i b j,p i +p j,node(t i,t j ) ) } (6) return S

172 Huffman s Code (2/2) Theorem. Huffman s code is optimal. Proof idea. There exists an optimal code where the two least likely symbols are neighbors.

173 Entropy Let us turn this expression into a definition. Definition. Let X be a random variable taking values in X. Then the entropy of X is H(X) = x X P X (x)logp X (x). Examples and intuition are nice, but what we need is a theorem that states that this is exactly the right expected length of an optimal code.

174 Conditional Entropy Definition. Let (X,Y) be a random variable taking values in X Y. We define conditional entropy H(X y) = x P X Y (x y)logp X Y (x y) and H(X Y) = y P Y (y)h(x y) Note that H(X y) is simply the ordinary entropy function of a random variable with probability function P X Y ( y).

175 Properties of Entropy Let X be a random variable taking values in X. Upper Bound. H(X) = E[ logp X (X)] log X. Chain Rule and Conditioning. H(X,Y) = x,y = x,y P X,Y (x,y)logp X,Y (x,y) P X,Y (x,y) ( logp Y (y)+logp X Y (x y) ) = y P Y (y)logp Y (y) x,y P X,Y (x,y)logp X Y (x y) = H(Y)+H(X Y) H(Y)+H(X)

176 Elementary Number Theory

177 Greatest Common Divisors Definition. A common divisor of two integers m and n is an integer d such that d m and d n. Definition. A greatest common divisor (GCD) of two integers m and n is a common divisor d such that every common divisor d divides d.

178 Greatest Common Divisors Definition. A common divisor of two integers m and n is an integer d such that d m and d n. Definition. A greatest common divisor (GCD) of two integers m and n is a common divisor d such that every common divisor d divides d. The GCD is the positive GCD.

179 Greatest Common Divisors Definition. A common divisor of two integers m and n is an integer d such that d m and d n. Definition. A greatest common divisor (GCD) of two integers m and n is a common divisor d such that every common divisor d divides d. The GCD is the positive GCD. We denote the GCD of m and n by gcd(m,n).

180 Properties gcd(m,n) = gcd(n,m) gcd(m,n) = gcd(m ±n,n) gcd(m,n) = gcd(m mod n,n) gcd(m,n) = 2gcd(m/2,n/2) if m and n are even. gcd(m,n) = gcd(m/2,n) if m is even and n is odd.

181 Euclidean Algorithm Euclidean(m, n) (1) while n 0 (2) t n (3) n m mod n (4) m t (5) return m

182 Steins Algorithm (Binary GCD Algorithm) Stein(m, n) (1) if m = 0 or n = 0 then return 0 (2) s 0 (3) while m and n are even (4) m m/2, n n/2, s s +1 (5) while n is even (6) n n/2 (7) while m 0 (8) while m is even (9) m m/2 (10) if m < n (11) Swap(m, n) (12) m m n (13) m m/2 (14) return 2 s n

183 Bezout s Lemma Lemma. There exists integers a and b such that gcd(m,n) = am+bn.

184 Bezout s Lemma Lemma. There exists integers a and b such that gcd(m,n) = am+bn. Proof. Let d > gcd(m,n) be the smallest positive integer on the form d = am+bn. Write m = cd +r with 0 < r < d. Then d > r = m cd = m c(am+bn) = (1 ca)m+( cb)n, a contradiction! Thus, r = 0 and d m. Similarly, d n.

185 Extended Euclidean Algorithm (Recursive Version) ExtendedEuclidean(m, n) (1) if m mod n = 0 (2) return (0, 1) (3) else (4) (x,y) ExtendedEuclidean(n,m mod n) (5) return (y,x y m/n ) If (x,y) ExtendedEuclidean(m,n) then gcd(m,n) = xm+yn.

186 Coprimality (Relative Primality) Definition. Two integers m and n are coprime if their greatest common divisor is 1. Fact. If a and n are coprime, then there exists a b such that ab = 1 mod n.

187 Coprimality (Relative Primality) Definition. Two integers m and n are coprime if their greatest common divisor is 1. Fact. If a and n are coprime, then there exists a b such that ab = 1 mod n. Excercise: Why is this so?

188 Chinese Remainder Theorem (CRT) Theorem. (Sun Tzu 400 AC) Let n 1,...,n k be positive pairwise coprime integers and let a 1,...,a k be integers. Then the equation system x = a 1 mod n 1 x = a 2 mod n 2 x = a 3 mod n 3. x = a k mod n k has a unique solution in {0,..., i n i 1}.

189 Constructive Proof of CRT 1. Set N = n 1 n 2... n k. N 2. Find r i and s i such that r i n i +s i n i = 1 (Bezout). 3. Note that s i N n i = 1 r i n i = { 1 (mod ni ) 0 (mod n j ) if j i 4. The solution to the equation system becomes: x = k i=1 ( ) N s i a i n i

190 The Multiplicative Group The set Z n = {0 a < n : gcd(a,n) = 1} forms a group, since: Closure. It is closed under multiplication modulo n. Associativity. For x,y,z Z n : (xy)z = x(yz) mod n. Identity. For every x Z n: 1 x = x 1 = x. Inverse. For every a Z n exists b Z n such that: ab = 1 mod n.

191 Lagrange s Theorem Theorem. If H is a subgroup of a finite group G, then H divides G. Proof. 1. Define ah = {ah : h H}. This gives an equivalence relation x y x = yh h H on G. 2. The map φ a,b : ah bh, defined by φ a,b (x) = ba 1 x is a bijection, so ah = bh for a,b G.

192 Euler s Phi-Function (Totient Function) Definition. Euler s Phi-function φ(n) counts the number of integers 0 < a < n relatively prime to n.

193 Euler s Phi-Function (Totient Function) Definition. Euler s Phi-function φ(n) counts the number of integers 0 < a < n relatively prime to n. Clearly: φ(p) = p 1 when p is prime.

194 Euler s Phi-Function (Totient Function) Definition. Euler s Phi-function φ(n) counts the number of integers 0 < a < n relatively prime to n. Clearly: φ(p) = p 1 when p is prime. Similarly: φ(p k ) = p k p k 1 when p is prime and k > 1.

195 Euler s Phi-Function (Totient Function) Definition. Euler s Phi-function φ(n) counts the number of integers 0 < a < n relatively prime to n. Clearly: φ(p) = p 1 when p is prime. Similarly: φ(p k ) = p k p k 1 when p is prime and k > 1. ) In general: φ( i pk i i = ( i p k i p k 1 i ).

196 Euler s Phi-Function (Totient Function) Definition. Euler s Phi-function φ(n) counts the number of integers 0 < a < n relatively prime to n. Clearly: φ(p) = p 1 when p is prime. Similarly: φ(p k ) = p k p k 1 when p is prime and k > 1. ) In general: φ( i pk i i = ( i p k i p k 1 i Excercise: How does this follow from CRT? ).

197 Fermat s and Euler s Theorems Theorem. (Fermat) If b Z p b p 1 = 1 mod p. and p is prime, then Theorem. (Euler) If b Z n, then bφ(n) = 1 mod n.

198 Fermat s and Euler s Theorems Theorem. (Fermat) If b Z p b p 1 = 1 mod p. and p is prime, then Theorem. (Euler) If b Z n, then bφ(n) = 1 mod n. Proof. Note that Z n = φ(n). b generates a subgroup b of Z n, so b divides φ(n) and b φ(n) = 1 mod n.

199 Multiplicative Group of a Prime Order Field Definition. A group G is called cyclic if there exists an element g such that each element in G is on the form g x for some integer x. Theorem. If p is prime, then Z p is cyclic.

200 Multiplicative Group of a Prime Order Field Definition. A group G is called cyclic if there exists an element g such that each element in G is on the form g x for some integer x. Theorem. If p is prime, then Z p is cyclic. Every group of prime order is cyclic. Why?

201 Multiplicative Group of a Prime Order Field Definition. A group G is called cyclic if there exists an element g such that each element in G is on the form g x for some integer x. Theorem. If p is prime, then Z p is cyclic. Every group of prime order is cyclic. Why? Why is there no cyclic multiplicative group Z p, with prime p, except the trivial case Z 2?

202 Multiplicative Group of a Prime Order Field Definition. A group G is called cyclic if there exists an element g such that each element in G is on the form g x for some integer x. Theorem. If p is prime, then Z p is cyclic. Every group of prime order is cyclic. Why? Why is there no cyclic multiplicative group Z p, with prime p, except the trivial case Z 2? Keep in mind the difference between: Z p with prime order as an additive group, Z p with non-prime order as a multiplicative group. group G p of prime order.

203 Public-Key Cryptography

204 Cipher (Symmetric Cryptosystem) c = E k (m) m = E 1 k (c) m E c E 1 m Alice k k Bob

205 Public-Key Cryptosystem c = E pk (m) m = D sk (c) m E c D m Alice pk sk Bob

206 History of Public-Key Cryptography Public-key cryptography was discovered: By Ellis, Cocks, and Williamson at the Government Communications Headquarters (GCHQ) in the UK in the early 1970s (not public until 1997). Independently by Merkle in 1974 (Merkle s puzzles). Independently in its discrete-logarithm based form by Diffie and Hellman in 1977, and instantiated in 1978 (key-exchange). Independently in its factoring-based form by Rivest, Shamir and Adleman in 1977.

207 Public-Key Cryptography Definition. A public-key cryptosystem is a tuple (Gen, E, D) where, Gen is a probabilistic key generation algorithm that outputs key pairs (pk, sk), E is a (possibly probabilistic) encryption algorithm that given a public key pk and a message m in the plaintext space M pk outputs a ciphertext c, and D is a decryption algorithm that given a secret key sk and a ciphertext c outputs a plaintext m, such that D sk (E pk (m)) = m for every (pk,sk) and m M pk.

208 RSA

209 The RSA Cryptosystem (1/2) Key Generation. Choose n/2-bit primes p and q randomly and define N = pq. Choose e in Z φ(n) and compute d = e 1 mod φ(n). Output the key pair ((N,e),(p,q,d)), where (N,e) is the public key and (p,q,d) is the secret key.

210 The RSA Cryptosystem (2/2) Encryption. Encrypt a plaintext m Z N by computing c = m e mod N. Decryption. Decrypt a ciphertext c by computing m = c d mod N.

211 Why Does It Work? (m e mod N) d mod N = m ed mod N

212 Why Does It Work? (m e mod N) d mod N = m ed mod N = m 1+tφ(N) mod N

213 Why Does It Work? (m e mod N) d mod N = m ed mod N = m 1+tφ(N) mod N ( = m 1 m φ(n)) t mod N

214 Why Does It Work? (m e mod N) d mod N = m ed mod N = m 1+tφ(N) mod N ( = m 1 m φ(n)) t mod N = m 1 t mod N

215 Why Does It Work? (m e mod N) d mod N = m ed mod N = m 1+tφ(N) mod N ( = m 1 m φ(n)) t mod N = m 1 t mod N = m mod N

216 Implementing RSA Modular arithmetic. Greatest common divisor. Primality test.

217 Modular Arithmetic (1/3) Basic operations on O(n)-bit integers using school book implementations. Operation Running time Addition O(n) Subtraction O(n) Multiplication O(n 2 ) Modular reduction O(n 2 ) Greatest common divisor O(n 2 )

218 Modular Arithmetic (1/3) Basic operations on O(n)-bit integers using school book implementations. Operation Running time Addition O(n) Subtraction O(n) Multiplication O(n 2 ) Modular reduction O(n 2 ) Greatest common divisor O(n 2 ) Optimal algorithms for multiplication and modular reduction are much faster.

219 Modular Arithmetic (1/3) Basic operations on O(n)-bit integers using school book implementations. Operation Running time Addition O(n) Subtraction O(n) Multiplication O(n 2 ) Modular reduction O(n 2 ) Greatest common divisor O(n 2 ) Optimal algorithms for multiplication and modular reduction are much faster. What about modular exponentiation?

220 Modular Arithmetic (2/3) Square-and-Multiply. SquareAndMultiply(x, e, N) 1 z 1 2 i =index of most significant one 3 while i 0 do 4 z z z mod N 5 if e i = 1 then z z x mod N 6 i i 1 7 return z

221 Modular Arithmetic (3/3) Although the basic is the same, the most efficient algorithms for exponentiation is faster. Computing g x 1,...,g x k can be done much faster! Computing i [k] gx i i can be done much faster!

222 Modular Arithmetic (3/3) Although the basic is the same, the most efficient algorithms for exponentiation is faster. Computing g x 1,...,g x k can be done much faster! Computing i [k] gx i i can be done much faster! How about side channel attacks?

DD2448 Foundations of Cryptography Lecture 3

DD2448 Foundations of Cryptography Lecture 3 DD2448 Foundations of Cryptography Lecture 3 Douglas Wikström KTH Royal Institute of Technology dog@kth.se February 3, 2016 Linear Cryptanalysis of the SPN Basic Idea Linearize Find an expression of the

More information

Introduction to Cybersecurity Cryptography (Part 4)

Introduction to Cybersecurity Cryptography (Part 4) Introduction to Cybersecurity Cryptography (Part 4) Review of Last Lecture Blockciphers Review of DES Attacks on Blockciphers Advanced Encryption Standard (AES) Modes of Operation MACs and Hashes Message

More information

Introduction to Cybersecurity Cryptography (Part 4)

Introduction to Cybersecurity Cryptography (Part 4) Introduction to Cybersecurity Cryptography (Part 4) Review of Last Lecture Blockciphers Review of DES Attacks on Blockciphers Advanced Encryption Standard (AES) Modes of Operation MACs and Hashes Message

More information

CHALMERS GÖTEBORGS UNIVERSITET. TDA352 (Chalmers) - DIT250 (GU) 11 April 2017, 8:30-12:30

CHALMERS GÖTEBORGS UNIVERSITET. TDA352 (Chalmers) - DIT250 (GU) 11 April 2017, 8:30-12:30 CHALMERS GÖTEBORGS UNIVERSITET CRYPTOGRAPHY TDA35 (Chalmers) - DIT50 (GU) 11 April 017, 8:30-1:30 No extra material is allowed during the exam except for pens and a simple calculator (not smartphones).

More information

Public-key Cryptography: Theory and Practice

Public-key Cryptography: Theory and Practice Public-key Cryptography Theory and Practice Department of Computer Science and Engineering Indian Institute of Technology Kharagpur Appendix A: Symmetric Techniques Block Ciphers A block cipher f of block-size

More information

CSc 466/566. Computer Security. 5 : Cryptography Basics

CSc 466/566. Computer Security. 5 : Cryptography Basics 1/84 CSc 466/566 Computer Security 5 : Cryptography Basics Version: 2012/03/03 10:44:26 Department of Computer Science University of Arizona collberg@gmail.com Copyright c 2012 Christian Collberg Christian

More information

CIS 551 / TCOM 401 Computer and Network Security

CIS 551 / TCOM 401 Computer and Network Security CIS 551 / TCOM 401 Computer and Network Security Spring 2008 Lecture 15 3/20/08 CIS/TCOM 551 1 Announcements Project 3 available on the web. Get the handout in class today. Project 3 is due April 4th It

More information

CPE 776:DATA SECURITY & CRYPTOGRAPHY. Some Number Theory and Classical Crypto Systems

CPE 776:DATA SECURITY & CRYPTOGRAPHY. Some Number Theory and Classical Crypto Systems CPE 776:DATA SECURITY & CRYPTOGRAPHY Some Number Theory and Classical Crypto Systems Dr. Lo ai Tawalbeh Computer Engineering Department Jordan University of Science and Technology Jordan Some Number Theory

More information

RSA. Ramki Thurimella

RSA. Ramki Thurimella RSA Ramki Thurimella Public-Key Cryptography Symmetric cryptography: same key is used for encryption and decryption. Asymmetric cryptography: different keys used for encryption and decryption. Public-Key

More information

Cristina Nita-Rotaru. CS355: Cryptography. Lecture 9: Encryption modes. AES

Cristina Nita-Rotaru. CS355: Cryptography. Lecture 9: Encryption modes. AES CS355: Cryptography Lecture 9: Encryption modes. AES Encryption modes: ECB } Message is broken into independent blocks of block_size bits; } Electronic Code Book (ECB): each block encrypted separately.

More information

Computer Science A Cryptography and Data Security. Claude Crépeau

Computer Science A Cryptography and Data Security. Claude Crépeau Computer Science 308-547A Cryptography and Data Security Claude Crépeau These notes are, largely, transcriptions by Anton Stiglic of class notes from the former course Cryptography and Data Security (308-647A)

More information

Topics in Cryptography. Lecture 5: Basic Number Theory

Topics in Cryptography. Lecture 5: Basic Number Theory Topics in Cryptography Lecture 5: Basic Number Theory Benny Pinkas page 1 1 Classical symmetric ciphers Alice and Bob share a private key k. System is secure as long as k is secret. Major problem: generating

More information

CRYPTOGRAPHY AND NUMBER THEORY

CRYPTOGRAPHY AND NUMBER THEORY CRYPTOGRAPHY AND NUMBER THEORY XINYU SHI Abstract. In this paper, we will discuss a few examples of cryptographic systems, categorized into two different types: symmetric and asymmetric cryptography. We

More information

Lecture 1: Introduction to Public key cryptography

Lecture 1: Introduction to Public key cryptography Lecture 1: Introduction to Public key cryptography Thomas Johansson T. Johansson (Lund University) 1 / 44 Key distribution Symmetric key cryptography: Alice and Bob share a common secret key. Some means

More information

Definition: For a positive integer n, if 0<a<n and gcd(a,n)=1, a is relatively prime to n. Ahmet Burak Can Hacettepe University

Definition: For a positive integer n, if 0<a<n and gcd(a,n)=1, a is relatively prime to n. Ahmet Burak Can Hacettepe University Number Theory, Public Key Cryptography, RSA Ahmet Burak Can Hacettepe University abc@hacettepe.edu.tr The Euler Phi Function For a positive integer n, if 0

More information

Asymmetric Encryption

Asymmetric Encryption -3 s s Encryption Comp Sci 3600 Outline -3 s s 1-3 2 3 4 5 s s Outline -3 s s 1-3 2 3 4 5 s s Function Using Bitwise XOR -3 s s Key Properties for -3 s s The most important property of a hash function

More information

1 Number Theory Basics

1 Number Theory Basics ECS 289M (Franklin), Winter 2010, Crypto Review 1 Number Theory Basics This section has some basic facts about number theory, mostly taken (or adapted) from Dan Boneh s number theory fact sheets for his

More information

Lemma 1.2. (1) If p is prime, then ϕ(p) = p 1. (2) If p q are two primes, then ϕ(pq) = (p 1)(q 1).

Lemma 1.2. (1) If p is prime, then ϕ(p) = p 1. (2) If p q are two primes, then ϕ(pq) = (p 1)(q 1). 1 Background 1.1 The group of units MAT 3343, APPLIED ALGEBRA, FALL 2003 Handout 3: The RSA Cryptosystem Peter Selinger Let (R, +, ) be a ring. Then R forms an abelian group under addition. R does not

More information

Introduction to Cryptography. Lecture 8

Introduction to Cryptography. Lecture 8 Introduction to Cryptography Lecture 8 Benny Pinkas page 1 1 Groups we will use Multiplication modulo a prime number p (G, ) = ({1,2,,p-1}, ) E.g., Z 7* = ( {1,2,3,4,5,6}, ) Z p * Z N * Multiplication

More information

Mathematics of Cryptography

Mathematics of Cryptography UNIT - III Mathematics of Cryptography Part III: Primes and Related Congruence Equations 1 Objectives To introduce prime numbers and their applications in cryptography. To discuss some primality test algorithms

More information

Public Key 9/17/2018. Symmetric Cryptography Review. Symmetric Cryptography: Shortcomings (1) Symmetric Cryptography: Analogy

Public Key 9/17/2018. Symmetric Cryptography Review. Symmetric Cryptography: Shortcomings (1) Symmetric Cryptography: Analogy Symmetric Cryptography Review Alice Bob Public Key x e K (x) y d K (y) x K K Instructor: Dr. Wei (Lisa) Li Department of Computer Science, GSU Two properties of symmetric (secret-key) crypto-systems: The

More information

1 Recommended Reading 1. 2 Public Key/Private Key Cryptography Overview RSA Algorithm... 2

1 Recommended Reading 1. 2 Public Key/Private Key Cryptography Overview RSA Algorithm... 2 Contents 1 Recommended Reading 1 2 Public Key/Private Key Cryptography 1 2.1 Overview............................................. 1 2.2 RSA Algorithm.......................................... 2 3 A Number

More information

Lecture Notes, Week 6

Lecture Notes, Week 6 YALE UNIVERSITY DEPARTMENT OF COMPUTER SCIENCE CPSC 467b: Cryptography and Computer Security Week 6 (rev. 3) Professor M. J. Fischer February 15 & 17, 2005 1 RSA Security Lecture Notes, Week 6 Several

More information

Cryptography. P. Danziger. Transmit...Bob...

Cryptography. P. Danziger. Transmit...Bob... 10.4 Cryptography P. Danziger 1 Cipher Schemes A cryptographic scheme is an example of a code. The special requirement is that the encoded message be difficult to retrieve without some special piece of

More information

Lecture 1: Perfect Secrecy and Statistical Authentication. 2 Introduction - Historical vs Modern Cryptography

Lecture 1: Perfect Secrecy and Statistical Authentication. 2 Introduction - Historical vs Modern Cryptography CS 7880 Graduate Cryptography September 10, 2015 Lecture 1: Perfect Secrecy and Statistical Authentication Lecturer: Daniel Wichs Scribe: Matthew Dippel 1 Topic Covered Definition of perfect secrecy One-time

More information

ENEE 457: Computer Systems Security 10/3/16. Lecture 9 RSA Encryption and Diffie-Helmann Key Exchange

ENEE 457: Computer Systems Security 10/3/16. Lecture 9 RSA Encryption and Diffie-Helmann Key Exchange ENEE 457: Computer Systems Security 10/3/16 Lecture 9 RSA Encryption and Diffie-Helmann Key Exchange Charalampos (Babis) Papamanthou Department of Electrical and Computer Engineering University of Maryland,

More information

Technische Universität München (I7) Winter 2013/14 Dr. M. Luttenberger / M. Schlund SOLUTION. Cryptography Endterm

Technische Universität München (I7) Winter 2013/14 Dr. M. Luttenberger / M. Schlund SOLUTION. Cryptography Endterm Technische Universität München (I7) Winter 2013/14 Dr. M. Luttenberger / M. Schlund SOLUTION Cryptography Endterm Exercise 1 One Liners 1.5P each = 12P For each of the following statements, state if it

More information

Lecture 4 Chiu Yuen Koo Nikolai Yakovenko. 1 Summary. 2 Hybrid Encryption. CMSC 858K Advanced Topics in Cryptography February 5, 2004

Lecture 4 Chiu Yuen Koo Nikolai Yakovenko. 1 Summary. 2 Hybrid Encryption. CMSC 858K Advanced Topics in Cryptography February 5, 2004 CMSC 858K Advanced Topics in Cryptography February 5, 2004 Lecturer: Jonathan Katz Lecture 4 Scribe(s): Chiu Yuen Koo Nikolai Yakovenko Jeffrey Blank 1 Summary The focus of this lecture is efficient public-key

More information

Number Theory: Applications. Number Theory Applications. Hash Functions II. Hash Functions III. Pseudorandom Numbers

Number Theory: Applications. Number Theory Applications. Hash Functions II. Hash Functions III. Pseudorandom Numbers Number Theory: Applications Number Theory Applications Computer Science & Engineering 235: Discrete Mathematics Christopher M. Bourke cbourke@cse.unl.edu Results from Number Theory have many applications

More information

CS 282A/MATH 209A: Foundations of Cryptography Prof. Rafail Ostrosky. Lecture 4

CS 282A/MATH 209A: Foundations of Cryptography Prof. Rafail Ostrosky. Lecture 4 CS 282A/MATH 209A: Foundations of Cryptography Prof. Rafail Ostrosky Lecture 4 Lecture date: January 26, 2005 Scribe: Paul Ray, Mike Welch, Fernando Pereira 1 Private Key Encryption Consider a game between

More information

Shift Cipher. For 0 i 25, the ith plaintext character is. E.g. k = 3

Shift Cipher. For 0 i 25, the ith plaintext character is. E.g. k = 3 Shift Cipher For 0 i 25, the ith plaintext character is shifted by some value 0 k 25 (mod 26). E.g. k = 3 a b c d e f g h i j k l m n o p q r s t u v w x y z D E F G H I J K L M N O P Q R S T U V W X Y

More information

Public-Key Cryptosystems CHAPTER 4

Public-Key Cryptosystems CHAPTER 4 Public-Key Cryptosystems CHAPTER 4 Introduction How to distribute the cryptographic keys? Naïve Solution Naïve Solution Give every user P i a separate random key K ij to communicate with every P j. Disadvantage:

More information

Lecture 10 - MAC s continued, hash & MAC

Lecture 10 - MAC s continued, hash & MAC Lecture 10 - MAC s continued, hash & MAC Boaz Barak March 3, 2010 Reading: Boneh-Shoup chapters 7,8 The field GF(2 n ). A field F is a set with a multiplication ( ) and addition operations that satisfy

More information

My brief introduction to cryptography

My brief introduction to cryptography My brief introduction to cryptography David Thomson dthomson@math.carleton.ca Carleton University September 7, 2013 introduction to cryptography September 7, 2013 1 / 28 Outline 1 The general framework

More information

Public Key Algorithms

Public Key Algorithms Public Key Algorithms Raj Jain Washington University in Saint Louis Saint Louis, MO 63130 Jain@cse.wustl.edu Audio/Video recordings of this lecture are available at: http://www.cse.wustl.edu/~jain/cse571-09/

More information

THE UNIVERSITY OF CALGARY FACULTY OF SCIENCE DEPARTMENT OF COMPUTER SCIENCE DEPARTMENT OF MATHEMATICS & STATISTICS MIDTERM EXAMINATION 1 FALL 2018

THE UNIVERSITY OF CALGARY FACULTY OF SCIENCE DEPARTMENT OF COMPUTER SCIENCE DEPARTMENT OF MATHEMATICS & STATISTICS MIDTERM EXAMINATION 1 FALL 2018 THE UNIVERSITY OF CALGARY FACULTY OF SCIENCE DEPARTMENT OF COMPUTER SCIENCE DEPARTMENT OF MATHEMATICS & STATISTICS MIDTERM EXAMINATION 1 FALL 2018 CPSC 418/MATH 318 L01 October 17, 2018 Time: 50 minutes

More information

Biomedical Security. Overview 9/15/2017. Erwin M. Bakker

Biomedical Security. Overview 9/15/2017. Erwin M. Bakker Biomedical Security Erwin M. Bakker Overview Cryptography: Algorithms Cryptography: Protocols Pretty Good Privacy (PGP) / B. Schneier Workshop Biomedical Security Biomedical Application Security (guest

More information

Modern Cryptography Lecture 4

Modern Cryptography Lecture 4 Modern Cryptography Lecture 4 Pseudorandom Functions Block-Ciphers Modes of Operation Chosen-Ciphertext Security 1 October 30th, 2018 2 Webpage Page for first part, Homeworks, Slides http://pub.ist.ac.at/crypto/moderncrypto18.html

More information

Cryptography IV: Asymmetric Ciphers

Cryptography IV: Asymmetric Ciphers Cryptography IV: Asymmetric Ciphers Computer Security Lecture 7 David Aspinall School of Informatics University of Edinburgh 31st January 2011 Outline Background RSA Diffie-Hellman ElGamal Summary Outline

More information

Biomedical Security. Some Security News 9/17/2018. Erwin M. Bakker. Blockchains are not safe for voting (slashdot.org) : From: paragonie.

Biomedical Security. Some Security News 9/17/2018. Erwin M. Bakker. Blockchains are not safe for voting (slashdot.org) : From: paragonie. Biomedical Security Erwin M. Bakker Some Security News From: NYTimes Blockchains are not safe for voting (slashdot.org) : From Motherboard.vice.com ECDAA: Eliptic Curve Direct Anonymous Attestation for

More information

Permutation Generators Based on Unbalanced Feistel Network: Analysis of the Conditions of Pseudorandomness 1

Permutation Generators Based on Unbalanced Feistel Network: Analysis of the Conditions of Pseudorandomness 1 Permutation Generators Based on Unbalanced Feistel Network: Analysis of the Conditions of Pseudorandomness 1 Kwangsu Lee A Thesis for the Degree of Master of Science Division of Computer Science, Department

More information

Introduction to Public-Key Cryptosystems:

Introduction to Public-Key Cryptosystems: Introduction to Public-Key Cryptosystems: Technical Underpinnings: RSA and Primality Testing Modes of Encryption for RSA Digital Signatures for RSA 1 RSA Block Encryption / Decryption and Signing Each

More information

Lecture 5: Arithmetic Modulo m, Primes and Greatest Common Divisors Lecturer: Lale Özkahya

Lecture 5: Arithmetic Modulo m, Primes and Greatest Common Divisors Lecturer: Lale Özkahya BBM 205 Discrete Mathematics Hacettepe University http://web.cs.hacettepe.edu.tr/ bbm205 Lecture 5: Arithmetic Modulo m, Primes and Greatest Common Divisors Lecturer: Lale Özkahya Resources: Kenneth Rosen,

More information

Public Key Cryptography

Public Key Cryptography Public Key Cryptography Spotlight on Science J. Robert Buchanan Department of Mathematics 2011 What is Cryptography? cryptography: study of methods for sending messages in a form that only be understood

More information

CPSC 467b: Cryptography and Computer Security

CPSC 467b: Cryptography and Computer Security CPSC 467b: Cryptography and Computer Security Michael J. Fischer Lecture 11 February 21, 2013 CPSC 467b, Lecture 11 1/27 Discrete Logarithm Diffie-Hellman Key Exchange ElGamal Key Agreement Primitive Roots

More information

Overview. Background / Context. CSC 580 Cryptography and Computer Security. March 21, 2017

Overview. Background / Context. CSC 580 Cryptography and Computer Security. March 21, 2017 CSC 580 Cryptography and Computer Security Math for Public Key Crypto, RSA, and Diffie-Hellman (Sections 2.4-2.6, 2.8, 9.2, 10.1-10.2) March 21, 2017 Overview Today: Math needed for basic public-key crypto

More information

Great Theoretical Ideas in Computer Science

Great Theoretical Ideas in Computer Science 15-251 Great Theoretical Ideas in Computer Science Lecture 22: Cryptography November 12th, 2015 What is cryptography about? Adversary Eavesdropper I will cut your throat I will cut your throat What is

More information

Introduction to Cybersecurity Cryptography (Part 5)

Introduction to Cybersecurity Cryptography (Part 5) Introduction to Cybersecurity Cryptography (Part 5) Prof. Dr. Michael Backes 13.01.2017 February 17 th Special Lecture! 45 Minutes Your Choice 1. Automotive Security 2. Smartphone Security 3. Side Channel

More information

ASYMMETRIC ENCRYPTION

ASYMMETRIC ENCRYPTION ASYMMETRIC ENCRYPTION 1 / 1 Recommended Book Steven Levy. Crypto. Penguin books. 2001. A non-technical account of the history of public-key cryptography and the colorful characters involved. 2 / 1 Recall

More information

Notes. Number Theory: Applications. Notes. Number Theory: Applications. Notes. Hash Functions I

Notes. Number Theory: Applications. Notes. Number Theory: Applications. Notes. Hash Functions I Number Theory: Applications Slides by Christopher M. Bourke Instructor: Berthe Y. Choueiry Fall 2007 Computer Science & Engineering 235 Introduction to Discrete Mathematics Sections 3.4 3.7 of Rosen cse235@cse.unl.edu

More information

Lecture 4: DES and block ciphers

Lecture 4: DES and block ciphers Lecture 4: DES and block ciphers Johan Håstad, transcribed by Ernir Erlingsson 2006-01-25 1 DES DES is a 64 bit block cipher with a 56 bit key. It selects a 64 bit block and modifies it depending on the

More information

Cryptography - Session 2

Cryptography - Session 2 Cryptography - Session 2 O. Geil, Aalborg University November 18, 2010 Random variables Discrete random variable X: 1. Probability distribution on finite set X. 2. For x X write Pr(x) = Pr(X = x). X and

More information

Circuit Complexity. Circuit complexity is based on boolean circuits instead of Turing machines.

Circuit Complexity. Circuit complexity is based on boolean circuits instead of Turing machines. Circuit Complexity Circuit complexity is based on boolean circuits instead of Turing machines. A boolean circuit with n inputs computes a boolean function of n variables. Now, identify true/1 with yes

More information

Classical Cryptography

Classical Cryptography Classical Cryptography CSG 252 Fall 2006 Riccardo Pucella Goals of Cryptography Alice wants to send message X to Bob Oscar is on the wire, listening to communications Alice and Bob share a key K Alice

More information

Public Key Cryptography

Public Key Cryptography Public Key Cryptography Ali El Kaafarani 1 Mathematical Institute 2 PQShield Ltd. 1 of 44 Outline 1 Public Key Encryption: security notions 2 RSA Encryption Scheme 2 of 44 Course main reference 3 of 44

More information

Slides by Kent Seamons and Tim van der Horst Last Updated: Oct 1, 2013

Slides by Kent Seamons and Tim van der Horst Last Updated: Oct 1, 2013 RSA Slides by Kent Seamons and Tim van der Horst Last Updated: Oct 1, 2013 Recap Recap Number theory o What is a prime number? o What is prime factorization? o What is a GCD? o What does relatively prime

More information

Mathematical Foundations of Public-Key Cryptography

Mathematical Foundations of Public-Key Cryptography Mathematical Foundations of Public-Key Cryptography Adam C. Champion and Dong Xuan CSE 4471: Information Security Material based on (Stallings, 2006) and (Paar and Pelzl, 2010) Outline Review: Basic Mathematical

More information

b = 10 a, is the logarithm of b to the base 10. Changing the base to e we obtain natural logarithms, so a = ln b means that b = e a.

b = 10 a, is the logarithm of b to the base 10. Changing the base to e we obtain natural logarithms, so a = ln b means that b = e a. INTRODUCTION TO CRYPTOGRAPHY 5. Discrete Logarithms Recall the classical logarithm for real numbers: If we write b = 10 a, then a = log 10 b is the logarithm of b to the base 10. Changing the base to e

More information

CS 282A/MATH 209A: Foundations of Cryptography Prof. Rafail Ostrovsky. Lecture 7

CS 282A/MATH 209A: Foundations of Cryptography Prof. Rafail Ostrovsky. Lecture 7 CS 282A/MATH 209A: Foundations of Cryptography Prof. Rafail Ostrovsky Lecture 7 Lecture date: Monday, 28 February, 2005 Scribe: M.Chov, K.Leung, J.Salomone 1 Oneway Trapdoor Permutations Recall that a

More information

U.C. Berkeley CS276: Cryptography Luca Trevisan February 5, Notes for Lecture 6

U.C. Berkeley CS276: Cryptography Luca Trevisan February 5, Notes for Lecture 6 U.C. Berkeley CS276: Cryptography Handout N6 Luca Trevisan February 5, 2009 Notes for Lecture 6 Scribed by Ian Haken, posted February 8, 2009 Summary The encryption scheme we saw last time, based on pseudorandom

More information

CPSC 467b: Cryptography and Computer Security

CPSC 467b: Cryptography and Computer Security CPSC 467b: Cryptography and Computer Security Michael J. Fischer Lecture 10 February 19, 2013 CPSC 467b, Lecture 10 1/45 Primality Tests Strong primality tests Weak tests of compositeness Reformulation

More information

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculty of Mathematics and Computer Science Exam Cryptology, Tuesday 30 October 2018

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculty of Mathematics and Computer Science Exam Cryptology, Tuesday 30 October 2018 Faculty of Mathematics and Computer Science Exam Cryptology, Tuesday 30 October 2018 Name : TU/e student number : Exercise 1 2 3 4 5 total points Notes: Please hand in all sheets at the end of the exam.

More information

8.1 Principles of Public-Key Cryptosystems

8.1 Principles of Public-Key Cryptosystems Public-key cryptography is a radical departure from all that has gone before. Right up to modern times all cryptographic systems have been based on the elementary tools of substitution and permutation.

More information

Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Module No. # 01 Lecture No. # 08 Shannon s Theory (Contd.)

More information

ECS 189A Final Cryptography Spring 2011

ECS 189A Final Cryptography Spring 2011 ECS 127: Cryptography Handout F UC Davis Phillip Rogaway June 9, 2011 ECS 189A Final Cryptography Spring 2011 Hints for success: Good luck on the exam. I don t think it s all that hard (I do believe I

More information

Lecture 17 - Diffie-Hellman key exchange, pairing, Identity-Based Encryption and Forward Security

Lecture 17 - Diffie-Hellman key exchange, pairing, Identity-Based Encryption and Forward Security Lecture 17 - Diffie-Hellman key exchange, pairing, Identity-Based Encryption and Forward Security Boaz Barak November 21, 2007 Cyclic groups and discrete log A group G is cyclic if there exists a generator

More information

Lecture 5: Pseudorandom functions from pseudorandom generators

Lecture 5: Pseudorandom functions from pseudorandom generators Lecture 5: Pseudorandom functions from pseudorandom generators Boaz Barak We have seen that PRF s (pseudorandom functions) are extremely useful, and we ll see some more applications of them later on. But

More information

Chapter 8 Public-key Cryptography and Digital Signatures

Chapter 8 Public-key Cryptography and Digital Signatures Chapter 8 Public-key Cryptography and Digital Signatures v 1. Introduction to Public-key Cryptography 2. Example of Public-key Algorithm: Diffie- Hellman Key Exchange Scheme 3. RSA Encryption and Digital

More information

Public-Key Encryption: ElGamal, RSA, Rabin

Public-Key Encryption: ElGamal, RSA, Rabin Public-Key Encryption: ElGamal, RSA, Rabin Introduction to Modern Cryptography Benny Applebaum Tel-Aviv University Fall Semester, 2011 12 Public-Key Encryption Syntax Encryption algorithm: E. Decryption

More information

YALE UNIVERSITY DEPARTMENT OF COMPUTER SCIENCE

YALE UNIVERSITY DEPARTMENT OF COMPUTER SCIENCE YALE UNIVERSITY DEPARTMENT OF COMPUTER SCIENCE CPSC 467a: Cryptography and Computer Security Notes 13 (rev. 2) Professor M. J. Fischer October 22, 2008 53 Chinese Remainder Theorem Lecture Notes 13 We

More information

EXAM IN. TDA352 (Chalmers) - DIT250 (GU) 18 January 2019, 08:

EXAM IN. TDA352 (Chalmers) - DIT250 (GU) 18 January 2019, 08: CHALMERS GÖTEBORGS UNIVERSITET EXAM IN CRYPTOGRAPHY TDA352 (Chalmers) - DIT250 (GU) 18 January 2019, 08:30 12.30 Tillåtna hjälpmedel: Typgodkänd räknare. Annan minnestömd räknare får användas efter godkännande

More information

Symmetric Crypto Systems

Symmetric Crypto Systems T H E U N I V E R S I T Y O F B R I T I S H C O L U M B I A Symmetric Crypto Systems EECE 412 Copyright 2004-2008 Konstantin Beznosov 09/16/08 Module Outline Stream ciphers under the hood Block ciphers

More information

Symmetric Crypto Systems

Symmetric Crypto Systems T H E U N I V E R S I T Y O F B R I T I S H C O L U M B I A Symmetric Crypto Systems EECE 412 Copyright 2004-2012 Konstantin Beznosov 1 Module Outline! Stream ciphers under the hood Block ciphers under

More information

CODING AND CRYPTOLOGY III CRYPTOLOGY EXERCISES. The questions with a * are extension questions, and will not be included in the assignment.

CODING AND CRYPTOLOGY III CRYPTOLOGY EXERCISES. The questions with a * are extension questions, and will not be included in the assignment. CODING AND CRYPTOLOGY III CRYPTOLOGY EXERCISES A selection of the following questions will be chosen by the lecturer to form the Cryptology Assignment. The Cryptology Assignment is due by 5pm Sunday 1

More information

Lectures 2+3: Provable Security

Lectures 2+3: Provable Security Lectures 2+3: Provable Security Contents 1 Motivation 1 2 Syntax 3 3 Correctness 5 4 Security Definitions 6 5 Important Cryptographic Primitives 8 6 Proofs of Security 10 7 Limitations of Provable Security

More information

during transmission safeguard information Cryptography: used to CRYPTOGRAPHY BACKGROUND OF THE MATHEMATICAL

during transmission safeguard information Cryptography: used to CRYPTOGRAPHY BACKGROUND OF THE MATHEMATICAL THE MATHEMATICAL BACKGROUND OF CRYPTOGRAPHY Cryptography: used to safeguard information during transmission (e.g., credit card number for internet shopping) as opposed to Coding Theory: used to transmit

More information

Cryptography. pieces from work by Gordon Royle

Cryptography. pieces from work by Gordon Royle Cryptography pieces from work by Gordon Royle The set-up Cryptography is the mathematics of devising secure communication systems, whereas cryptanalysis is the mathematics of breaking such systems. We

More information

Hans Delfs & Helmut Knebl: Kryptographie und Informationssicherheit WS 2008/2009. References. References

Hans Delfs & Helmut Knebl: Kryptographie und Informationssicherheit WS 2008/2009. References. References Hans Delfs & Helmut Knebl: Kryptographie und Informationssicherheit WS 2008/2009 Die Unterlagen sind ausschliesslich zum persoenlichen Gebrauch der Vorlesungshoerer bestimmt. Die Herstellung von elektronischen

More information

Fundamentals of Modern Cryptography

Fundamentals of Modern Cryptography Fundamentals of Modern Cryptography BRUCE MOMJIAN This presentation explains the fundamentals of modern cryptographic methods. Creative Commons Attribution License http://momjian.us/presentations Last

More information

Cryptography CS 555. Topic 22: Number Theory/Public Key-Cryptography

Cryptography CS 555. Topic 22: Number Theory/Public Key-Cryptography Cryptography CS 555 Topic 22: Number Theory/Public Key-Cryptography 1 Exam Recap 2 Exam Recap Highest Average Score on Question Question 4: (Feistel Network with round function f(x) = 0 n ) Tougher Questions

More information

Cryptanalysis on An ElGamal-Like Cryptosystem for Encrypting Large Messages

Cryptanalysis on An ElGamal-Like Cryptosystem for Encrypting Large Messages Cryptanalysis on An ElGamal-Like Cryptosystem for Encrypting Large Messages MEI-NA WANG Institute for Information Industry Networks and Multimedia Institute TAIWAN, R.O.C. myrawang@iii.org.tw SUNG-MING

More information

Public Key Encryption

Public Key Encryption Public Key Encryption KG October 17, 2017 Contents 1 Introduction 1 2 Public Key Encryption 2 3 Schemes Based on Diffie-Hellman 3 3.1 ElGamal.................................... 5 4 RSA 7 4.1 Preliminaries.................................

More information

Introduction to Cryptography. Lecture 6

Introduction to Cryptography. Lecture 6 Introduction to Cryptography Lecture 6 Benny Pinkas page 1 Public Key Encryption page 2 Classical symmetric ciphers Alice and Bob share a private key k. System is secure as long as k is secret. Major problem:

More information

Cryptography and Security Midterm Exam

Cryptography and Security Midterm Exam Cryptography and Security Midterm Exam Serge Vaudenay 23.11.2017 duration: 1h45 no documents allowed, except one 2-sided sheet of handwritten notes a pocket calculator is allowed communication devices

More information

Chapter 4 Asymmetric Cryptography

Chapter 4 Asymmetric Cryptography Chapter 4 Asymmetric Cryptography Introduction Encryption: RSA Key Exchange: Diffie-Hellman [NetSec/SysSec], WS 2008/2009 4.1 Asymmetric Cryptography General idea: Use two different keys -K and +K for

More information

Outline. 1 Arithmetic on Bytes and 4-Byte Vectors. 2 The Rijndael Algorithm. 3 AES Key Schedule and Decryption. 4 Strengths and Weaknesses of Rijndael

Outline. 1 Arithmetic on Bytes and 4-Byte Vectors. 2 The Rijndael Algorithm. 3 AES Key Schedule and Decryption. 4 Strengths and Weaknesses of Rijndael Outline CPSC 418/MATH 318 Introduction to Cryptography Advanced Encryption Standard Renate Scheidler Department of Mathematics & Statistics Department of Computer Science University of Calgary Based in

More information

Introduction to Modern Cryptography. Benny Chor

Introduction to Modern Cryptography. Benny Chor Introduction to Modern Cryptography Benny Chor RSA Public Key Encryption Factoring Algorithms Lecture 7 Tel-Aviv University Revised March 1st, 2008 Reminder: The Prime Number Theorem Let π(x) denote the

More information

Asymmetric Cryptography

Asymmetric Cryptography Asymmetric Cryptography Chapter 4 Asymmetric Cryptography Introduction Encryption: RSA Key Exchange: Diffie-Hellman General idea: Use two different keys -K and +K for encryption and decryption Given a

More information

Solutions for week 1, Cryptography Course - TDA 352/DIT 250

Solutions for week 1, Cryptography Course - TDA 352/DIT 250 Solutions for week, Cryptography Course - TDA 352/DIT 250 In this weekly exercise sheet: you will use some historical ciphers, the OTP, the definition of semantic security and some combinatorial problems.

More information

10 Concrete candidates for public key crypto

10 Concrete candidates for public key crypto 10 Concrete candidates for public key crypto In the previous lecture we talked about public key cryptography and saw the Diffie Hellman system and the DSA signature scheme. In this lecture, we will see

More information

Security Issues in Cloud Computing Modern Cryptography II Asymmetric Cryptography

Security Issues in Cloud Computing Modern Cryptography II Asymmetric Cryptography Security Issues in Cloud Computing Modern Cryptography II Asymmetric Cryptography Peter Schwabe October 21 and 28, 2011 So far we assumed that Alice and Bob both have some key, which nobody else has. How

More information

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculty of Mathematics and Computer Science Exam Cryptology, Friday 25 January 2019

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculty of Mathematics and Computer Science Exam Cryptology, Friday 25 January 2019 Faculty of Mathematics and Computer Science Exam Cryptology, Friday 25 January 2019 Name : TU/e student number : Exercise 1 2 3 4 5 total points Notes: Please hand in all sheets at the end of the exam.

More information

10 Public Key Cryptography : RSA

10 Public Key Cryptography : RSA 10 Public Key Cryptography : RSA 10.1 Introduction The idea behind a public-key system is that it might be possible to find a cryptosystem where it is computationally infeasible to determine d K even if

More information

Provable security. Michel Abdalla

Provable security. Michel Abdalla Lecture 1: Provable security Michel Abdalla École normale supérieure & CNRS Cryptography Main goal: Enable secure communication in the presence of adversaries Adversary Sender 10110 10110 Receiver Only

More information

Cryptography and RSA. Group (1854, Cayley) Upcoming Interview? Outline. Commutative or Abelian Groups

Cryptography and RSA. Group (1854, Cayley) Upcoming Interview? Outline. Commutative or Abelian Groups Great Theoretical Ideas in CS V. Adamchik CS 15-251 Upcoming Interview? Lecture 24 Carnegie Mellon University Cryptography and RSA How the World's Smartest Company Selects the Most Creative Thinkers Groups

More information

Historical cryptography. cryptography encryption main applications: military and diplomacy

Historical cryptography. cryptography encryption main applications: military and diplomacy Historical cryptography cryptography encryption main applications: military and diplomacy ancient times world war II Historical cryptography All historical cryptosystems badly broken! No clear understanding

More information

Intro to Public Key Cryptography Diffie & Hellman Key Exchange

Intro to Public Key Cryptography Diffie & Hellman Key Exchange Introduction to Modern Cryptography Lecture 5 Number Theory: 1. Quadratic residues. 2. The discrete log problem. Intro to Public Key Cryptography Diffie & Hellman Key Exchange Course Summary - Math Part

More information

Introduction to Cryptography k. Lecture 5. Benny Pinkas k. Requirements. Data Integrity, Message Authentication

Introduction to Cryptography k. Lecture 5. Benny Pinkas k. Requirements. Data Integrity, Message Authentication Common Usage of MACs for message authentication Introduction to Cryptography k Alice α m, MAC k (m) Isα= MAC k (m)? Bob k Lecture 5 Benny Pinkas k Alice m, MAC k (m) m,α Got you! α MAC k (m )! Bob k Eve

More information

Public Key Cryptography

Public Key Cryptography Public Key Cryptography Introduction Public Key Cryptography Unlike symmetric key, there is no need for Alice and Bob to share a common secret Alice can convey her public key to Bob in a public communication:

More information

Addition. Ch1 - Algorithms with numbers. Multiplication. al-khwārizmī. al-khwārizmī. Division 53+35=88. Cost? (n number of bits) 13x11=143. Cost?

Addition. Ch1 - Algorithms with numbers. Multiplication. al-khwārizmī. al-khwārizmī. Division 53+35=88. Cost? (n number of bits) 13x11=143. Cost? Ch - Algorithms with numbers Addition Basic arithmetic Addition ultiplication Division odular arithmetic factoring is hard Primality testing 53+35=88 Cost? (n number of bits) O(n) ultiplication al-khwārizmī

More information