1 / 28

Classical Cryptography

Classical Cryptography. 1. Introduction: Some Simple Cryptosystems. Outline. [1] Introduction: Some Simple Cryptosystems <1> The Shift Cipher <2> The Substitution Cipher <3> The Affine Cipher <4> The Vigen è re Cipher <5> The Hill Cipher <6> The Permutation Cipher <7> Stream Ciphers

raper
Download Presentation

Classical Cryptography

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Classical Cryptography 1. Introduction: Some Simple Cryptosystems

  2. Outline • [1] Introduction: Some Simple Cryptosystems • <1> The Shift Cipher • <2> The Substitution Cipher • <3> The Affine Cipher • <4> The Vigenère Cipher • <5> The Hill Cipher • <6> The Permutation Cipher • <7> Stream Ciphers • [2] Cryptanalysis • <1> Cryptanalysis of the Affine Cipher • <2> Cryptanalysis of the Substitution Cipher • <3> Cryptanalysis of the Vigenère Cipher • <4> Cryptanalysis of the Hill Cipher • <5> Cryptanalysis of the LFSR Stream Cipher

  3. Oscar x y x Alice encrypter decrypter Bob secure channel K key source Introduction: Some Simple Cryptosystems • [1] Introduction

  4. Introduction: Some Simple Cryptosystems • Definition 1.1: A cryptosystem is a five-tuple (P,C,K,E,D) satisfies • P is a finite set of possible plaintexts • C is a finite set of possible ciphertexts • K, the keyspace, is a finite set of possible keys • For each K∈K, there is an encryption rule eK∈E and a corresponding decryption rule dK∈D • dK(eK(x))=x for every plaintext x∈P

  5. Introduction: Some Simple Cryptosystems • Definition 1.2: a and b are integers, m is a positive integer • congruence: a≡b (mod m) if m divides b-a • Zm: the set {0,1,…,m-1} • with 2 operations + and ☓ • 10+20=4 in Z26 (10+20 mod 26=4) • 10☓20=18 in Z26 (10☓20 mod 26=18)

  6. Introduction: Some Simple Cryptosystems • <1> Shift Cipher • Cryptosystem 1.1: Shift Cipher • P = C =K = Z26 • K, x, y ∈Z26 • eK(x)=(x+K) mod 26 • dK(y)=(y-K) mod 26

  7. Introduction: Some Simple Cryptosystems • eg.: Suppose K=11 • Plaintext: student • Ciphertext: DEFOPZE

  8. Introduction: Some Simple Cryptosystems • <2> Substitution Cipher • Cryptosystem 1.2: Substitution Cipher • P=C=Z26 • K: all possible permutations of the 26 symbols • For each p∈K • ep(x)=p(x) • dp(y)=p-1(y) where p-1 is the inverse permutation to p

  9. Introduction: Some Simple Cryptosystems • eg.: • Plaintext: student • Ciphertext: VMUSHSM

  10. Introduction: Some Simple Cryptosystems • <3> Affine Cipher • Theorem 1.1: ax≡b (mod m) has a unique solution x∈Zm for every b∈Zm iff gcd(a,m)=1 • Definition 1.3: Suppose a≥1 and m≥2 are integers • a and m are relatively prime if gcd(a,m)=1 • f(m): the number of integers in Zm that are relatively prime to m • Theorem 1.2: Suppose

  11. Introduction: Some Simple Cryptosystems • Definition 1.4: Suppose a∈Zm • a-1 mod m: the multiplicative inverse of a modulo m • aa-1≡a-1a≡1 (mod m) • Cryptosystem 1.3: Affine Cipher • P = C = Z26 • K={(a,b) ∈Z26☓Z26 : gcd(a,26)=1} • For K=(a,b)∈K ; x, y∈Z26 • eK(x)=(ax+b) mod 26 • dK(y)=a-1(y-b) mod 26

  12. Introduction: Some Simple Cryptosystems • e.g.: Suppose K=(7,3) • 7-1 mod 26 = 15 • Plaintext: student • Ciphertext: ZGNYFQG eK(x)=(7x+3) mod 26 dK(y)=15(y-3) mod 26

  13. Introduction: Some Simple Cryptosystems • <4> Vigenère Cipher • Cryptosystem 1.4: Vigenère Cipher • m: a positive integer • P = C = K = (Z26)m • For a key K=(k1,k2,…,km) • eK(x1,x2,…,xm)=(x1+k1,x2+k2,…,xm+km) • dK(y1,y2,…,ym)=(y1-k1,y2-k2,…,ym-km)

  14. Introduction: Some Simple Cryptosystems • e.g.: Suppose m=4 and K=(2,8,15,7) • Plaintext: student • Ciphertext: UBJKGVI

  15. Introduction: Some Simple Cryptosystems • <5> Hill Cipher • Definition 1.5: Suppose A=(ai,j) is an m☓m matrix • Ai,j: the matrix obtained from A by deleting the ith row and the jth column • det A: the determinant of A • m=1: det A=a1,1 • m>1: for any fixed i • A*=(a*i,j): the adjoint matrix of A • a*i,j=(-1)i+jdet Aj,i

  16. Introduction: Some Simple Cryptosystems • Theorem 1.3: Suppose K=(ki,j) is an m☓m invertible matrix over Zn • K-1=(det K)-1K* • e.g.: • det K=11☓7-8☓3 mod 26=1 • K-1=(det K)-1K*=

  17. Introduction: Some Simple Cryptosystems • Cryptosystem 1.5: Hill Cipher • M ≥ 2 is an integer • P = C = (Z26)m • K = {m☓m invertible matrices over Z26} • For a key K • eK(x)=xK • dK(y)=yK-1 where K-1 is the inverse of K

  18. Introduction: Some Simple Cryptosystems • e.g.: • Plaintext: GOD (6 14 3) • Ciphertext: WTJ (22 19 9)

  19. Introduction: Some Simple Cryptosystems • <6> Permutation Cipher • Cryptosystem 1.6: Permutation Cipher • m is a positive integer • P = C = (Z26)m • K consist of all permutations of {1,…,m} • For a key(a permutation) p • ep(x1,…,xm)=(xp(1),…,xp(m)) where p-1 is the inverse permutation to p

  20. Introduction: Some Simple Cryptosystems • e.g.: Suppose m=6 • Plaintext: CYBERFORMULA • Ciphertext: BRCFEYMLOAUR

  21. Introduction: Some Simple Cryptosystems • <7> Stream Ciphers • Block ciphers Plaintext string x =x1x2 … (each xi is a plaintext) Ciphertext string y =y1y2… = eK(x1)eK(x2) … • Stream ciphers Plaintext string x =x1x2 … Generate a keystream (by using some K) z=z1z2 … Ciphertext string y =y1y2… = ez1(x1)ez2(x2) …

  22. Introduction: Some Simple Cryptosystems • Definition 1.6: A synchronous stream cipher is a tuple (P,C,K,L,E,D) with a function g • P : a finite set of possible plaintexts • C : a finite set of possible ciphertexts • K : a finite set of possible keys • L : a finite set called the keystream alphabet • g: the keystream generator • Input: K • g generates an infinite string z1z2…

  23. Introduction: Some Simple Cryptosystems • Definition 1.6 (cont.) • For each z∈L, there is an encryption rule ez∈E and a corresponding decryption rule dZ∈D • dz(ez(x))=x for every plaintext x∈P

  24. Introduction: Some Simple Cryptosystems • Vigenère Cipher can be defined as a synchronous stream cipher • K = (Z26)m • P = C = L = Z26 • ez(x)=(x+z) mod 26 • dz(y)=(y-z) mod 26 • Keystream z1z2… = k1k2..km k1k2..km k1k2..km …

  25. Introduction: Some Simple Cryptosystems • Keystream can be produced efficiently in hardware using a LFSR (Linear Feedback Shift Register) • k1 would be tapped as the next keystream bet • k2,…km would each be shifted 1 stage to the left • The new value of km would be this is “linear feedback“ (see Figure 1.2) • This system is modulo 2

  26. + k1 k2 k3 k4 Introduction: Some Simple Cryptosystems • e.g.: in Figure 1.2,suppose K=(1,0,0,0) • c0=1, c1=1, c2=0, c3=0 • The keystream is 100010011010111… Figure 1.2

  27. Introduction: Some Simple Cryptosystems • Non-synchronous stream cipher: • Each keystream element zi depends on previous plaintext or ciphertext elements • Cryptosystem 1.7: Autokey Cipher • P = C = K = L = Z26 • z1=K, zi=xi-1 for all i>1 • For x, y, z ∈Z26 • ez(x)=(x+z) mod 26 • dz(y)=(y-z) mod 26

  28. Introduction: Some Simple Cryptosystems • e.g.: Suppose K=8 • Plaintext: student • Ciphertext: ALNXHRG

More Related