Title: Introduction to Codes, Ciphers, and Cryptography
1Introduction to Codes, Ciphers, and Cryptography
- Michael A. Karls
- Ball State University
2Introduction
- Throughout history, people have had the need to
send messages to other people in secret! - Methods have been developed to disguise and break
secret messages.
3Definitions and Terminology
- A code is a form of secret communication in which
a word or phrase is replaced with a word, number,
or symbol. - For example, here is a simple code for an army.
- Attack at dawn ?Jupiter.
- The coast is clear ? Tippy-toe.
- Each commander and soldier would have a copy of
the codes in some sort of codebook.
4Definitions and Terminology (cont.)
- A cipher is a form of secret communication in
which letters are replaced with a letter, number,
or symbol. - One example of a cipher, attributed to Julius
Caesar (1st Century B.C.), is outlined in the
table below. - Basically, the cipher alphabet is the plain
alphabet shifted n spaces left. - For example, if we take n 14, we get
- Plaintext attack at dawn
- Ciphertext OHHOQY OH ROKB
- Send ciphertext as OHH OQY OHR OKB.
- Recipient would need to know how message was
created.
5Definitions and Terminology (cont.)
- Cryptography is the science of concealing the
meaning of a message. - It is also used to mean the science of anything
connected with ciphersan alternative to
cryptology, which is the science of secret
writing. - To encrypt a message, one conceals the meaning of
the message via a code or cipher. - Similar definitions hold for encode and encipher.
- To decrypt a message, one turns an ecrypted
message back into the original message. - Similar definitions hold for decode and decipher.
6Notes on Ciphers
- For any cipher there is an algorithm, which is a
general encrypting method, and a key which
specifies the exact details of the algorithm. - For the Caesar cipher,
- Algorithmshift the alphabet.
- Keyhow many places to shift!
- Thus, there are 26 keys for this cipher.
7Notes on Ciphers (cont.)
- The key must remain secure!
- If the key is found, the code will be broken.
- If the algorithm is known, the code can still be
secure! - For a code or cipher, the greater the number of
keys, the greater the security!
8Notes on Ciphers (cont.)
- The Caesar cipher is an example of a substitution
cipher. - This cipher is symmetric because sender and
receiver must both know (have) the key.
9Ciphers via Modular Arithmetic
- Using modular arithmetic, we can make ciphers!
- For any non-negative integers a and n, we define
a mod n to be the remainder when a is divided by
n. - For example,
- 18 mod 5 3, since 18 3 x 5 3
- 4 mod 7 4, since 4 0 x 7 4
- 28 mod 26 2, since 28 1 x 26 2
- 26 mod 13 0, since 26 2 x 13 0
10Ciphers via Modular Arithmetic (cont.)
- We can add and multiply numbers mod n too!
- For example, here is how to find (2715) mod 26
and (27 x 15) mod 26. - 2715 42 and 42 mod 26 16,
- so (2715) mod 26 16
- or
- 27 mod 26 1 and 15 mod 26 15,
- so (2715) mod 26 (115) mod 26 16 mod 26
16 - 27 x 15 405 and 405 mod 26 15,
- so (27 x 15) mod 26 15
- or
- (27 x 15) mod 26 (1 x 15) mod 26 15 mod 26
15
11Ciphers via Modular Arithmetic (cont.)
- To find (ab) mod n
- Add a to b, then find the resulting sum mod n,
- Or find a mod n, find b mod n, and add the
results mod n. - Multiplication works in a similar fashion!
- Now we are ready to make an additive cipher!
12Ciphers via Modular Arithmetic (cont.)
- First, assign 1, 2, , 26 mod 26 to a, b, , z.
- Next, choose a fixed integer m between 0 and 25.
- To get the ciphertext y from plaintext x, add m
mod 26, i.e., y (xm) mod 26. - As an example, here is additive cipher alphabet
for m14. - Notice that this is just the Caesar cipher we saw
before!
13The RSA Encryption Scheme
- In 1977, MIT mathematicians Rivest, Shamir, and
Adleman announced their invention of a public key
cryptography scheme. - In order to understand this scheme, commonly
known as RSA, we need some definitions!
14Definition of Divisor
- Let a and b be integers, with b ? 0. We say that
b divides a or b is a divisor of a if a bc for
some integer c. - Notation ba
- Example 1
- 324 since 24 3 x 8.
- Divisors of 12 are -12, -6, -4, -3, -2, -1,
1, 2, 3, 4, 6, 12
15Definition of Greatest Common Divisor (GCD)
- Let a and b be integers, not both zero. The
greatest common divisor (GCD) of a and b is the
largest integer that divides both a and b. - Notation (a,b)
- Example 2
- Divisors of 6 -6, -3, -2, -1, 1, 2, 3, 6
- Divisors of 8 -8, -4, -2, -1, 1, 2, 4, 8
- Thus, (6,8) 2
- Since the divisors of 7 are -7, -1, 1, 7,
(7,8) 1.
16Definition of Relatively Prime
- Two integers whose GCD is 1 are said to be
relatively prime. - Example 3
- Since (7,8) 1, 7 and 8 are relatively prime.
17Definition of Prime Number
- A positive integer p is said to be prime if pgt1
and the only positive divisors of p are 1 and p. - Example 4
- 2, 3, and 7 are prime.
- 6, 8, 10, 100 are not prime (composite).
18RSA Scheme (with Alice and Bob!)
- Step 1
- Alice chooses two huge prime numbers p and q.
- Note Alice keeps p and q secret!
19RSA Scheme (with Alice and Bob!) (cont.)
- Step 2
- Alice computes
- N p x q.
- Then she computes
- k (p-1)(q-1).
- Finally, she chooses an integer e such that
- 1lteltN and (e,k) 1.
- Example 5 (cont.)
- N 47 x 59 2773.
- k 46 x 58 2668.
- e 17.
- Choice of e is o.k, since 1lt17lt2773 and
(17,2668) 1.
20RSA Scheme (with Alice and Bob!) (cont.)
- Step 3
- Alice computes
- d e-1 mod k.
- Alice publishes her public key N, e.
- Alice keeps secret her private key p, q, d, k.
- Example 5 (cont.)
- d 17-1 mod 2668 157.
- Alices public key
- N 2773 e 17.
- Alices private key
- p 47 q 59 d 157 k 2668.
21RSA Scheme (with Alice and Bob!) (cont.)
- Step 4
- Suppose Bob wants to send a message to Alice.
- To do so, he looks up Alices public key,
converts the message into numbers MltN.
- Example 5 (cont.)
- Plaintext is HELLO
- HELLO ? HE LL O_
- Assign 00?space 01?A 02?B, , 26?Z (or use
ASCII).
22RSA Scheme (with Alice and Bob!) (cont.)
- Step 4 (cont.)
- Next, for each plaintext number M, Bob computes
- C Me mod N (1)
- to get ciphertext number C.
- Example 5 (cont.)
- 080517 mod 2773 542.
- 121217 mod 2773 2345.
- 150017 mod 2773 2417.
- Encrypted message is 0542 2345 2417.
23RSA Scheme (with Alice and Bob!) (cont.)
- Step 5
- Bob emails Alice the encrypted message.
- To decrypt, Alice uses her private key and
computes - M Cd mod N (2)
- Example 5 (cont.)
- 0542157 mod 2773 805.
- 2345157 mod 2773 1212.
- 2417157 mod 2773 1500.
- Decrypted message is HE LL O_.
24References
- The Code Book by Simon Singh