1 introduction to codes, ciphers, and cryptography michael a. karls ball state university

24
1 Introduction to Codes, Ciphers, and Cryptography Michael A. Karls Ball State University

Upload: angelina-hicks

Post on 24-Dec-2015

223 views

Category:

Documents


1 download

TRANSCRIPT

1

Introduction to Codes, Ciphers, and Cryptography

Michael A. Karls

Ball State University

2

Introduction

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.

3

Definitions 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.

4

Definitions 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.

Plaintext a b c d e f g h i j k l m n o p q r s t u v w x y z

Ciphertext O P Q R S T U V W X Y Z A B C D E F G H I J K L M N

5

Definitions 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 ciphers—an 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.

6

Notes 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, Algorithm—shift the alphabet. Key—how many places to shift! Thus, there are 26 keys for this cipher.

7

Notes 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!

8

Notes 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.

9

Ciphers 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 + 34 mod 7 = 4, since 4 = 0 x 7 + 428 mod 26 = 2, since 28 = 1 x 26 + 226 mod 13 = 0, since 26 = 2 x 13 + 0

10

Ciphers via Modular Arithmetic (cont.)

We can add and multiply numbers mod n too! For example, here is how to find (27+15) mod 26

and (27 x 15) mod 26. 27+15 = 42 and 42 mod 26 = 16,

so (27+15) mod 26 = 16or27 mod 26 = 1 and 15 mod 26 = 15, so (27+15) mod 26 = (1+15) mod 26 = 16 mod 26 = 16

27 x 15 = 405 and 405 mod 26 = 15, so (27 x 15) mod 26 = 15or(27 x 15) mod 26 = (1 x 15) mod 26 = 15 mod 26 = 15

11

Ciphers via Modular Arithmetic (cont.)

To find (a+b) 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!

12

Ciphers 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 = (x+m) mod 26. As an example, here is additive cipher alphabet for m=14.

Notice that this is just the Caesar cipher we saw before! Plaintext a b c d e f g h i j k l m

Plaintext # 1 2 3 4 5 6 7 8 9 10 11 12 13

Ciphertext # 15 16 17 18 19 20 21 22 23 24 25 0 1

Ciphertext O P Q R S T U V W X Y Z A

Plaintext n o p q r s t u v w x y z

Plaintext # 14 15 16 17 18 19 20 21 22 23 24 25 0

Ciphertext # 2 3 4 5 6 7 8 9 10 11 12 13 14

Ciphertext B C D E F G H I J K L M N

13

The 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!

14

Definition 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: b|a Example 1:

3|24 since 24 = 3 x 8.Divisors of 12 are: -12, -6, -4, -3, -2, -1, 1, 2, 3, 4, 6, 12

15

Definition 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.

16

Definition 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.

17

Definition of Prime Number

A positive integer p is said to be prime if p>1 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).

18

RSA Scheme (with Alice and Bob!)

Step 1: Alice chooses two

huge prime numbers p and q.

Note: Alice keeps p and q secret!

Example 5: p = 47 and q = 59.

19

RSA 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

1<e<N 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 1<17<2773 and (17,2668)= 1.

20

RSA 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. Alice’s public key:

N = 2773; e = 17. Alice’s private key:

p = 47; q = 59; d = 157; k = 2668.

21

RSA Scheme (with Alice and Bob!) (cont.)

Step 4: Suppose Bob wants to

send a message to Alice.

To do so, he looks up Alice’s public key, converts the message into numbers M<N.

Example 5 (cont.): Plaintext is HELLO HELLO HE LL O_ Assign 00space;

01A; 02B, … , 26Z (or use ASCII).

Plaintext Plain #

HE 0805

LL 1212

O_ 1500

22

RSA 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.

23

RSA 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_.

24

References

The Code Book by Simon Singh