Presentation is loading. Please wait.

Presentation is loading. Please wait.

The Secure Hill Cipher Jeff Overbey MA464-01 Dr. Jerzy Wojdyło April 29, 2003 Based on S. Saeednia. How to Make the Hill Cipher Secure. Cryptologia 24.

Similar presentations


Presentation on theme: "The Secure Hill Cipher Jeff Overbey MA464-01 Dr. Jerzy Wojdyło April 29, 2003 Based on S. Saeednia. How to Make the Hill Cipher Secure. Cryptologia 24."— Presentation transcript:

1 The Secure Hill Cipher Jeff Overbey MA464-01 Dr. Jerzy Wojdyło April 29, 2003 Based on S. Saeednia. How to Make the Hill Cipher Secure. Cryptologia 24 (2000) 353–360. HILL

2 The Scenario

3 Alice

4 The Scenario Bob

5 The Scenario Oscar

6 The Scenario

7 Nosy NeighborSender Recipient Insecure Channel

8 Hill Cipher Beforehand… Alice and Bob privately share matrix K, invertible over Z m Alice and Bob privately share matrix K, invertible over Z m To encrypt a matrix X over Z m … Compute Y = KX Compute Y = KX Send Y Send Y To decrypt Y… Compute X = K –1 Y Compute X = K –1 Y

9 Why the Hill Cipher Isn’t Secure Nosy NeighborSender Recipient Insecure Channel

10 Why the Hill Cipher Isn’t Secure Nosy NeighborSender Recipient Insecure Channel “Hey Bob, wassup?”

11 Why the Hill Cipher Isn’t Secure Nosy NeighborSender Recipient Insecure Channel

12 Why the Hill Cipher Isn’t Secure Nosy NeighborSender Recipient Insecure Channel

13 Why the Hill Cipher Isn’t Secure Nosy NeighborSender Recipient Insecure Channel Y = KX

14 Why the Hill Cipher Isn’t Secure Nosy NeighborSender Recipient Insecure Channel

15 Why the Hill Cipher Isn’t Secure Nosy NeighborSender Recipient Insecure Channel HEYBOBWAS Known Plaintext

16 Why the Hill Cipher Isn’t Secure Nosy NeighborSender Recipient Insecure Channel HEYBOBWAS Known Plaintext

17 Why the Hill Cipher Isn’t Secure Nosy NeighborSender Recipient Insecure Channel HEY BOB, WASSUP? hahahaHAHAHAHA… KNOWN PLAINTEXT ATTACK

18 Hill Cipher Beforehand… Alice and Bob privately share matrix K, invertible over Z m Alice and Bob privately share matrix K, invertible over Z m To encrypt a matrix X over Z m … Compute Y = KX Compute Y = KX Send Y Send Y To decrypt Y… Compute X = K –1 Y Compute X = K –1 Y Secure Hill Cipher Beforehand… Alice and Bob privately share matrix K, invertible over Z m Alice and Bob privately share matrix K, invertible over Z m To encrypt a matrix X over Z m … Choose a vector t over Z m Choose a vector t over Z m Form permutation matrix P t Form permutation matrix P t Compute K t = P t –1 KP t Compute K t = P t –1 KP t Compute Y = K t X and u = K t Compute Y = K t X and u = K t Send ( Y, u ) Send ( Y, u ) To decrypt (Y, u )… Compute t = K –1 u Compute t = K –1 u Compute P t Compute P t Compute K t –1 = P t –1 K –1 P t Compute K t –1 = P t –1 K –1 P t Compute X = K t –1 Y Compute X = K t –1 Y K t ) –1 = K –1 ) t Note that ( K t ) –1 = ( K –1 ) t

19 Permutation Matrices 1000 0100 0010 0001 I =

20 Permutation Matrices 1000 0100 0010 0001 I =10000010 0100 0001 P 23 =

21 Permutation Matrices 1000 0100 0010 0001 I =10000010 0100 0001 P 23 =01000010 1000 0001 P 12,23 = A permutation matrix is a matrix with exactly one 1 in each row and column and zeros elsewhere.

22 Permutation Matrices

23 Vector Representation 1000 0010 0100 0001 P 23 =01000010 1000 0001 P 12,23 =13 2 4 23 1 4

24 Hill Cipher Beforehand… Alice and Bob privately share matrix K, invertible over Z m Alice and Bob privately share matrix K, invertible over Z m To encrypt a matrix X over Z m … Compute Y = KX Compute Y = KX Send Y Send Y To decrypt Y… Compute X = K –1 Y Compute X = K –1 Y Secure Hill Cipher Beforehand… Alice and Bob privately share matrix K, invertible over Z m Alice and Bob privately share matrix K, invertible over Z m To encrypt a matrix X over Z m … Choose a vector t over Z m Form permutation matrix P t Form permutation matrix P t Compute K t = P t –1 KP t Compute K t = P t –1 KP t Compute Y = K t X and u = K t Compute Y = K t X and u = K t Send ( Y, u ) Send ( Y, u ) To decrypt (Y, u )… Compute t = K –1 u Compute t = K –1 u Compute P t Compute P t Compute K t –1 = P t –1 K –1 P t Compute K t –1 = P t –1 K –1 P t Compute X = K t –1 Y Compute X = K t –1 Y

25 The Easy Way to Encrypt Require t to be the vector representation of a permutation matrix Require t to be the vector representation of a permutation matrix N.B.: This is for example only—it is not practical “in the field.” N.B.: This is for example only—it is not practical “in the field.”

26 An Example “Hey Bob, wassup?”

27 An Example Choose a permutation vector: Form permutation matrix P t : 3 rows, since K is 3×3

28 An Example Find P t –1 : Compute K t = P t –1 KP t :

29 An Example Find P t –1 : Compute K t = P t –1 KP t : Permutation of K

30 An Example Compute Y = K t X: Compute u = Kt:

31 An Example Compute Y = K t X: Compute u = Kt:

32 An Example Send (Y,u) to Bob

33 The Scenario Nosy NeighborSender Recipient

34 The Scenario Nosy NeighborSender Recipient

35 The Scenario Nosy NeighborSender Recipient

36 The Scenario Nosy NeighborSender Recipient

37 An Example Receive (Y,u):

38 An Example Compute K –1 : Compute t = K –1 u and derive P t :

39 An Example Compute K t –1 = P t –1 K –1 P t : Compute X = K t –1 Y:

40 An Example Compute K t –1 = P t –1 K –1 P t : Compute X = K t –1 Y: “Hey Bob, wassup?”

41 An Example But that was just a regular Hill cipher with a fancy key… KNOWN PLAINTEXT ATTACK

42 The Actual Really Secure Hill Cipher Jeff Overbey MA464-01 Dr. Jerzy Wojdyło April 29, 2003 Based on S. Saeednia. How to Make the Hill Cipher Secure. Cryptologia 24 (2000) 353–360. HILL

43 The Actual Really Secure Hill Cipher or How to Secure the Secure Hill Cipher HILL

44 Ensuring Security X should have two columns X should have two columns Why? Suppose K is n × n and X is n × s. Why? Suppose K is n × n and X is n × s. If s  n… If s  n… If 2 < s < n… If 2 < s < n… If s = 2… If s = 2… P t should be different for each encryption P t should be different for each encryption Theoretically, this can be ensured by choosing a different t for each encryption Theoretically, this can be ensured by choosing a different t for each encryption We did this by requiring t to be a vector representation of a permutation matrix, but this is not the best solution. We did this by requiring t to be a vector representation of a permutation matrix, but this is not the best solution.

45 The  Function Let  n denote the set of n × n permutation matrices.  : Z m n   n Ideally,  is onto  is onto  is 1-1  is 1-1

46 The  Function Let  n denote the set of n × n permutation matrices.  : Z m n   n Is it possible?  Z m n  = m n  Z m n  = m n  n  = n !  n  = n !  Z m n    n   Z m n    n  y = 26 n y = n ! An “ideal” function DNE.

47 The  Function Ideas? Awkward silence…

48 Apologies for the horrible background image pun.

49


Download ppt "The Secure Hill Cipher Jeff Overbey MA464-01 Dr. Jerzy Wojdyło April 29, 2003 Based on S. Saeednia. How to Make the Hill Cipher Secure. Cryptologia 24."

Similar presentations


Ads by Google