1 Codes, Ciphers, and Cryptography-Ch 3.1 Michael A. Karls Ball State University
2 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!
3 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) A B x f(x) f
4 One-to-One Function We say a function f: A B is one-to-one (1-1) if f(x 1 ) f(x 2 ) whenever x 1 x AB f f is 1-1
5 Onto Function We say f: A B is onto if given y in B, there is an element x in A such that f(x) = y AB g g is onto
6 “Neither” Function Not all functions are 1-1 or onto! AB h h is neither 1-1 nor onto
7 Example 1: Some functions! (a) f: A B where A = (- 1, 1), B = [0, 1), and f(x) = x 2. f(1) = 1 2 = 1 f(2) = 2 2 = 4 f(-2) = (-2) 2 = 4 … f is onto, not 1-1
8 Example 1: Some functions! (b) f: A B 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).
9 Example 1: Some functions! (c) Permutations: Let A = Z n and B = Z n where Z n = {0, 1, 2, …, n}. Then a 1-1, onto function f: Z n Z n is called a permutation. Example: Z 6 = {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! x xx
10 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 0 1 2 0 (3) represents the cycle 3 3 (45) represents the cycle 4 5 4. Notice that the cycles of are disjoint, i.e. no symbol appears in more than one cycle.
11 Cycle Notation Fact 1: Every permutation can be written as a product of disjoint cycles.
12 Cycle Notation Example 2: Write the permutation : Z 6 Z 6 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
13 Cycle Notation Example 2 (cont.) Thus, the table form of the permutation = (01)(2453) is given by: x xx
14 Operations on Permutations Given two permutations : Z n Z n and : Z n Z n, 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 . A B x y -1
15 Operations on Permutations Example 3: For Example 1(c), -1 is given by the table below. Therefore, -1 = (021)(3)(45) in cycle form. x x ^(-1)
16 Operations on Permutations Note: If is a 1-cycle or a 2-cycle, then -1 = . If = (x 1 x 2 … x n ), then -1 = (x 1 x n … x 2 ). “Proof”: For = (1234), we have 1 2 3 4 1. For -1, we have 1 4 3 2 1, which is (1432) in cycle notation.
17 Operations on Permutations Given permutations : Z n Z n and : Z n Z n, the product is the permutation obtained by applying first, then . Notation: x = (x ) .
18 Operations on Permutations Example 4: Find if = (012)(3)(45) and = (01)(2453). Solution: x (012)(3)(45) x (01)(2453) (x ) 0 1 1 1 0 0 1 2 2 2 2 4 2 0 0 0 1 1 3 3 3 3 3 2 4 4 4 5 5 3 5 5 5 4 4 5 Thus, = (0)(1432)(5) (or we could write (1432)).
19 Operations on Permutations Fact 2: The inverse of a product of permutations is given by ( ) -1 = -1 -1.
20 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!
21 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!
22 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 : Z 26 Z 26. Usually we just write the letters instead of the numbers!
23 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
24 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”.
25 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!
26 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
27 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
28 Permutation Ciphers THISISAFO SIFASHTOI
29 Permutation Ciphers RMOFATRAN FOARTMRNA
30 Permutation Ciphers SPOSITION SOOITPSNI
31 Permutation Ciphers CIPHERABC HPBARICCE
32 Permutation Ciphers For Example 7, the ciphertext is SIFASHTOI FOARTMRNA SOOITPSNI HPBARICCE
33 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.