330 likes | 582 Views
Codes, Ciphers, and Cryptography-Ch 3.1. Michael A. Karls Ball State University. Substitution and Permutation Ciphers. In Chapter 1 we looked at various examples of monoalphabetc substitution ciphers. A convenient way to describe these ciphers is via permutations !. Functions.
E N D
Codes, Ciphers, and Cryptography-Ch 3.1 Michael A. Karls Ball State University
Substitution and Permutation Ciphers • In Chapter 1 we looked at various examples of monoalphabetc substitution ciphers. • A convenient way to describe these ciphers is via permutations!
Functions • A function f is a rule that assigns to each element x in a set A exactly one element, called f(x), in a set B. • Notation: f: A B; y = f(x) f x f(x) B A
One-to-One Function • We say a function f: AB is one-to-one (1-1) if f(x1) f(x2) whenever x1 x2. f 0 1 3 4 6 5 5 A B f is 1-1
Onto Function • We say f: AB is onto if given y in B, there is an element x in A such that f(x) = y. g 1 1 4 2 5 A B g is onto
“Neither” Function • Not all functions are 1-1 or onto! h 0 1 1 4 2 5 A B h is neither 1-1 nor onto
Example 1: Some functions! • (a) f: AB where A = (- 1, 1), B = [0, 1), and f(x) = x2. • f(1) = 12 = 1 • f(2) = 22 = 4 • f(-2) = (-2)2 = 4 • … • f is onto, not 1-1
Example 1: Some functions! • (b) f: AB where A = {books in library}, B = {possible call numbers}, and f is the rule “call number on book spine”. • f is 1-1, but not onto (different books have different call numbers).
Example 1: Some functions! • (c) Permutations: Let A = Zn and B = Zn where Zn = {0, 1, 2, … , n}. Then a 1-1, onto function f: ZnZn is called a permutation. • Example: Z6 = {0, 1, 2, 3, 4, 5}. is the permutation given by the table below. • Notation: instead of (x), we use x – it will be useful later!
Cycle Notation • We can use cycle notation to describe a permutation! • A cycle is a process that repeats itself. • As an example, in Example 1(c) would be written as = (012)(3)(45), a 3-cycle, followed by a 1-cycle, followed by a 2-cycle. • Here, (012) represents the cycle 0120 (3) represents the cycle 33 (45) represents the cycle 454. • Notice that the cycles of are disjoint, i.e. no symbol appears in more than one cycle.
Cycle Notation • Fact 1: Every permutation can be written as a product of disjoint cycles.
Cycle Notation • Example 2: Write the permutation : Z6Z6 given by (01)(2453) in table form. • Solution: • x (01)(2453) x 0 1 1 1 0 0 2 2 4 3 3 2 4 4 5 5 5 3
Cycle Notation • Example 2 (cont.) • Thus, the table form of the permutation = (01)(2453) is given by:
Operations on Permutations • Given two permutations : ZnZn and : ZnZn, we can form new permutations! • Given a permutation , the inverse of is the permutation -1 defined by: x = y^(-1) if and only if y = x. x y -1 B A
Operations on Permutations • Example 3: For Example 1(c), -1 is given by the table below. • Therefore, -1 = (021)(3)(45) in cycle form.
Operations on Permutations • Note: If is a 1-cycle or a 2-cycle, then -1 = . If = (x1 x2 … xn), then -1 = (x1 xn … x2). • “Proof”: For = (1234), we have 12341. For -1, we have 14321, which is (1432) in cycle notation.
Operations on Permutations • Given permutations : ZnZn and : ZnZn, the product is the permutation obtained by applying first, then . • Notation: x = (x).
Operations on Permutations • Example 4: Find if = (012)(3)(45) and = (01)(2453). • Solution: • x (012)(3)(45) x (01)(2453) (x) 0 11 1 0 0 1 22 2 2 4 2 00 0 1 1 3 33 3 3 2 4 44 5 5 3 5 55 4 4 5 Thus, = (0)(1432)(5) (or we could write (1432)).
Operations on Permutations • Fact 2: The inverse of a product of permutations is given by ()-1 = -1 -1.
Operations on Permutations • Example 5: Let and be as in the last example. • Then = (0)(1432)(5), so it follows from the Note above that ()-1 = (0)(1234)(5). • Now, -1 = (021)(3)(45) and -1 = (01)(2354), so by Fact 2, ()-1 = -1-1 = (01)(2354) (021)(3)(45). • Check that we get the same result!
Operations on Permutations • Example 5(cont.) • x (01)(2354) x^(-1) (021)(3)(45) (x^(-1))^(-1) 0 1 0 1 0 2 2 3 3 3 5 4 4 2 1 5 4 5 • Thus, -1-1= (0)(1234)(5), so ()-1 = -1-1 for this example!
Substitution Ciphers (Revisited) • By labeling the letters A, B, C, … , Y, Z as 0, 1, 2, … , 24, 25, any substitution cipher is equivalent to some permutation : Z26Z26. • Usually we just write the letters instead of the numbers!
Substitution Ciphers (Revisited) • Example 6: Use the substitution cipher: = (APHITX)(BERC)(DNZFVM)(GJKWLOYQSU) to encipher the plaintext “BSUMATH”. • x (APHITX)(BERC)(DNZFVM)(GJKWLOYQSU) x B B E E E S S S S U U U U U G
Substitution Ciphers (Revisited) • Example 6 (cont.) • x (APHITX)(BERC)(DNZFVM)(GJKWLOYQSU) x M M M D D A P P P P T X X X X H I I I I • Thus, “BSUMATH” is encrypted as “EUGDPXI”.
Permutation Ciphers • Another way to make a cipher with a permutation is to use a fixed-length permutation to rearrange blocks of text of the same length. • We illustrate this method with the next example!
Permutation Ciphers • Example 7 (a permutation cipher) • First, choose a permutation of the numbers 1-9. For example, = (147)(238956). • Next, break up plaintext into blocks of length 9: • this is a form of a transposition cipher
Permutation Ciphers • Example 7 (a permutation cipher) • First, choose a permutation of the numbers 1-9. For example, = (147)(238956). • Next, break up plaintext into blocks of length 9: • this is a fo|rm of a tran|sposition| cipherabc
Permutation Ciphers • For Example 7, the ciphertext is • SIFASHTOI FOARTMRNA SOOITPSNI HPBARICCE
Permutation Ciphers • Remark: The cipher in Example 7 is known as a stream cipher. • Such ciphers can be used for high speed encryption with computers. • Flaw: The Friedman Test can be used to guess it is a transposition cipher.