DTTF/NB479: Dszquphsbqiz Day 8 Announcements: Please use pencil on - - PowerPoint PPT Presentation

dttf nb479 dszquphsbqiz day 8 announcements
SMART_READER_LITE
LIVE PREVIEW

DTTF/NB479: Dszquphsbqiz Day 8 Announcements: Please use pencil on - - PowerPoint PPT Presentation

DTTF/NB479: Dszquphsbqiz Day 8 Announcements: Please use pencil on quizzes if possible Questions? Today: Congruences Chinese Remainder Theorem Modular Exponents Hill Cipher implementation Encryption Easy to do in MATLAB.


slide-1
SLIDE 1

Announcements:

 Please use pencil on quizzes if possible

Questions? Today:

 Congruences  Chinese Remainder Theorem  Modular Exponents

DTTF/NB479: Dszquphsbqiz Day 8

slide-2
SLIDE 2

Hill Cipher implementation

Encryption

 Easy to do in MATLAB.  Or find/write a matrix library for language X.

Decryption

 Uses matrix inverse.  How do we determine if a matrix is invertible

mod 26?

slide-3
SLIDE 3

How to break via known plaintext?

Good work on last session’s quiz. Idea: Assume you know the matrix size, n. Then grab n sets of n plaintext chars  ciphertext This gives n2 equations and n2 unknowns. Then solve using basic linear algebra, but mod n. Caveat: sometimes it doesn’t give a unique solution, so you need to choose a different set of plaintext.

  • Hmm. This could make a nice exam problem…
slide-4
SLIDE 4

Substitution ciphers

Each letter in the alphabet is always replaced by another one.

Which ciphers have we seen are substitution ciphers?

Which aren’t and why?

Breaking ciphertext only uses linguistic structure. Frequencies of:

Single letters

Digrams (2-letter combinations)

Trigrams

Where do T&W get their rules like “80% of letters preceding n are vowels”? (p. 26)

See http://keithbriggs.info/documents/english_latin.pdf

Lots of trial and error when done by hand. Could automate with a dictionary.

slide-5
SLIDE 5

Fairy Tales

Goldilocks’ discovery of Newton’s method

  • f approximation required surprisingly few

changes.

HTTP://XKCD.COM/872/

slide-6
SLIDE 6

Basics 4: Congruence

Def: a≡b (mod n) iff (a-b) = nk for some int k Properties You can easily solve congruences ax≡b (mod n) if gcd(a,n) = 1.

 For small numbers, do by hand  For larger numbers, compute a-1 using Euclid

) (mod ) (mod , ) (mod ) (mod ) (mod | ) (mod . . ) (mod , , , , n c a n c b b a n a b iff n b a n a a a n iff n a nk b a t s Z k if n b a n Z d c b a Consider ≡ ⇒ ≡ ≡ ≡ ≡ ≡ ≡ + = ∈ ∃ ≡ ≠ ∈ ) (mod ), (mod 1 ) , gcd( ) (mod ) )(mod ( ) ( ) )(mod ( ) ( ), (mod , n c b then n ac ab and n a If n bd ac n d b c a n d b c a then n d c b a If ≡ ≡ = ≡ − ≡ − + ≡ + ≡ ≡

slide-7
SLIDE 7

Solving ax≡b(mod n) when gcd(a,n)≠1

Let gcd(a,n)=d If d doesn’t divide b then no solution Else divide everything by d and solve (a/d)x=(b/d)(mod (n/d)) Get solution x0 Multiple solutions:

x0, x0+n/d,x0+2n/d,…x0+(d-1)n/d Always write solution with the

  • riginal modulus

This is an easy program to code

  • nce you have Euclid…

Example: 2x ≡ 7(mod 10)

1-2

Example: 3x ≡ 3 (mod 6)

slide-8
SLIDE 8

How could we write x ≡ 16 (mod 35) as a system of congruences with smaller moduli?

slide-9
SLIDE 9

Chinese Remainder Theorem

Equivalence between a single congruence mod a composite number and a system of congruences mod its factors Two-factor form

 Given gcd(m,n)=1. For integers a and b, there exists

exactly 1 solution (mod mn) to the system:

) (mod ) (mod n b x m a x ≡ ≡

slide-10
SLIDE 10

CRT Equivalences let us use systems

  • f congruences to solve problems

Solve the system: How many solutions?

 Find them.

) 15 (mod 5 ) 7 (mod 3 ≡ ≡ x x

) 35 (mod 1

2 ≡

x

3-4

slide-11
SLIDE 11

Chinese Remainder Theorem

n-factor form

 Let m1, m2,… mk be integers such that gcd(mi, mj)=1

when i ≠ j. For integers a1, … ak, there exists exactly 1 solution (mod m1m2…mk) to the system:

) (mod ... ) (mod ) (mod

2 2 1 1 k k

m a x m a x m a x ≡ ≡ ≡

slide-12
SLIDE 12

Modular Exponentiation

Compute last digit of 3^2000 Compute 3^2000 (mod 19) Idea:

 Get the powers of 3 by repeatedly squaring 3,

BUT taking mod at each step.

5-6

slide-13
SLIDE 13

Modular Exponentiation

Compute 3^2000 (mod 19) Technique:

 Repeatedly square

3, but take mod at each step.

 Then multiply the

terms you need to get the desired power.

Book’s powermod()

17 3 6 3 5 3 9 256 16 3 16 4 3 4 289 17 3 ) 2 ( 17 36 6 3 6 25 5 3 5 81 9 3 9 3

1024 512 256 2 128 2 64 2 32 2 16 2 8 2 4 2

≡ ≡ ≡ ≡ ≡ ≡ ≡ = ≡ ≡ = − ≡ ≡ = ≡ ≡ = ≡ ≡ = ≡

  • r

) 19 (mod 9 3 ) 1248480 ( 3 ) 17 )( 16 )( 9 )( 5 )( 6 )( 17 ( 3 ) 3 )( 3 )( 3 )( 3 )( 3 )( 3 ( 3

2000 2000 2000 16 64 128 256 512 1024 2000

≡ ≡ ≡ ≡

(All congruences are mod 19)

slide-14
SLIDE 14

Modular Exponentiation

Compute 3^2000 (mod 152) 17 3 25 3 81 3 9 3 73 18769 137 3 137 289 17 3 17 625 25 3 25 6561 81 3 81 9 3 9 3

1024 512 256 128 2 64 2 32 2 16 2 8 2 4 2

≡ ≡ ≡ ≡ ≡ ≡ = ≡ ≡ = ≡ ≡ = ≡ ≡ = ≡ = ≡

) 152 (mod 9 3 ) 384492875 ( 3 ) 17 )( 73 )( 9 )( 81 )( 25 )( 17 ( 3 ) 3 )( 3 )( 3 )( 3 )( 3 )( 3 ( 3

2000 2000 2000 16 64 128 256 512 1024 2000

≡ ≡ ≡ ≡