1 / 24

Introduction to Codes, Ciphers, and Cryptography

Introduction to Codes, Ciphers, and Cryptography. Michael A. Karls Ball State University. 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. Definitions and Terminology.

onslow
Download Presentation

Introduction to Codes, Ciphers, and 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. 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.

  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 x5 + 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

  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 = 16 or 27 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 = 15 or (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!

  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. 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. RSA Scheme (with Alice and Bob!)

  19. 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. RSA Scheme (with Alice and Bob!) (cont.)

  20. 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. RSA Scheme (with Alice and Bob!) (cont.)

  21. 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 00space; 01A; 02B, … , 26Z (or use ASCII). RSA Scheme (with Alice and Bob!) (cont.)

  22. 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. RSA Scheme (with Alice and Bob!) (cont.)

  23. 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_. RSA Scheme (with Alice and Bob!) (cont.)

  24. References • The Code Book by Simon Singh

More Related