Project Preliminaries - Kutztown University of...

29
Vernam Cipher Project Preliminaries CSC112 March 14, 2011 Oskars J. Rieksts Computer Science Department Kutztown University

Transcript of Project Preliminaries - Kutztown University of...

Vernam Cipher Project Preliminaries

CSC112 March 14, 2011

Oskars J. Rieksts Computer Science Department

Kutztown University

2008 Kutztown University 2

Early/Simple Examples

Steganography

Caesar cipher

Substitution cipher

Transposition cipher

Vigenere cipher

Vernam cipher

2008 Kutztown University 3

Steganography

Merriam-Webster: The art or practice of concealing a message, image, or file within another message, image, or file from Greek

» steganos = covered

» grafo = write

Histiaeus – tyrant of Miletus shaved head of most trusted slave

tattooed a message

hair grew back covering message

Advantage – does not draw attention to itself

messenger

recipient

Often combined with cryptography

2008 Kutztown University 4

Steganography Example

You may have seen the TV show – In Plain Sight –which is based entirely on the federal witness protection program. The show is about people who have testified or will be testifying soon as witnesses in criminal cases but whose lives are in danger as a result. For their protection they are given new identities and are moved to a new community. Ergo they are all hidden “in plain sight”. And if you think this would not work, according to the U.S. Marshalls extant website, no program participant who follows security guidelines has ever been harmed while under the active protection of the Marshals Service.

2008 Kutztown University 5

Caesar Cipher

Example of a shift cipher

Encryption – forward shift by 3

Decryption – backward shift by 3

Shift ciphers

Private key

Symmetric key

Key = shift amount

Keyspace = 25

Plain text – IHAVEASECRET

Cipher text – LKDYHDVHFUHW

2008 Kutztown University 6

Caesar Cipher – Example L KDYH D GUHDP WKDW RQH GDB WKLV QDWLRQ ZLOO ULVH XS DQG OLYH

RXW WKH WUXH PHDQLQJ RI LWV FUHHG: "ZH KROG WKHVH WUXWKV WR

EH VHOI-HYLGHQW: WKDW DOO PHQ DUH FUHDWHG HTXDO."

L KDYH D GUHDP WKDW RQH GDB RQ WKH UHG KLOOV RI JHRUJLD WKH VRQV

RI IRUPHU VODYHV DQG WKH VRQV RI IRUPHU VODYH RZQHUV ZLOO EH

DEOH WR VLW GRZQ WRJHWKHU DW WKH WDEOH RI EURWKHUKRRG.

L KDYH D GUHDP WKDW RQH GDB HYHQ WKH VWDWH RI PLVVLVVLSSL, D

VWDWH VZHOWHULQJ ZLWK WKH KHDW RI LQMXVWLFH, VZHOWHULQJ

ZLWK WKH KHDW RI RSSUHVVLRQ, ZLOO EH WUDQVIRUPHG LQWR DQ

RDVLV RI IUHHGRP DQG MXVWLFH.

L KDYH D GUHDP WKDW PB IRXU OLWWOH FKLOGUHQ ZLOO RQH GDB OLYH LQ

D QDWLRQ ZKHUH WKHB ZLOO QRW EH MXGJHG EB WKH FRORU RI WKHLU

VNLQ EXW EB WKH FRQWHQW RI WKHLU FKDUDFWHU.

L KDYH D GUHDP WRGDB.

2008 Kutztown University 7

Substitution Cipher Randomly generated substitution

Example A F

B K

C D

D J

etc.

Characteristics

Private & symmetric key

Monoalphabetic

Key = alphabet of substitutions

Keyspace = 26!

2008 Kutztown University 8

Substitution Cipher – Analysis Keyspace = 26! =

403291461126605635584000000 = 4.03 x 1026

But other factors make it insecure

Letter frequency

N-grams

Strong elimination coefficient

With patience, can be decoded by hand

Plain text – BOOKKEEPINGROCKS

Cipher text – JXXTTZZDOYBEXATU

2008 Kutztown University 9

Substitution Cipher – Example HPFAIFJZIFYTPFTUVIJFBTPHWVFTHUVGHXXZHWIEMFVJXHAIUETTPITZ

EIYIFVHVNUCHTWDZIIJGIPUXJTPIWITZETPWTUKIWIXCIAHJIVTTPFT

FXXYIVFZIDZIFTIJIOEFXHPFAIFJZIFYTPFTUVIJFBUVTPIZIJPHXXWUC

NIUZNHFTPIWUVWUCCUZYIZWXFAIWFVJTPIWUVWUCCUZYIZWXFA

IUGVIZWGHXXKIFKXITUWHTJUGVTUNITPIZFTTPITFKXIUCKZUTPIZP

UUJHPFAIFJZIFYTPFTUVIJFBIAIVTPIWTFTIUCYHWWHWWHMMHFWT

FTIWGIXTIZHVNGHTPTPIPIFTUCHVREWTHDIWGIXTIZHVNGHTPTPIPI

FTUCUMMZIWWHUVGHXXKITZFVWCUZYIJHVTUFVUFWHWUCCZIIJU

YFVJREWTHDIHPFAIFJZIFYTPFTYBCUEZXHTTXIDPHXJZIVGHXXUVIJ

FBXHAIHVFVFTHUVGPIZITPIBGHXXVUTKIREJNIJKBTPIDUXUZUCTPI

HZWSHVKETKBTPIDUVTIVTUCTPIHZDPFZFDTIZHPFAIFJZIFYTUJFBH

PFAIFJZIFYTPFTUVIJFBJUGVHVFXFKFYFGHTPHTWAHDHUEWZFDHW

TWGHTPHTWNUAIZVUZPFAHVNPHWXHMWJZHMMHVNGHTPTPIGUZ

JWUCHVTIZMUWHTHUVFVJVEXXHCHDFTHUVUVIJFBZHNPTTPIZIHV

FXFKFYFXHTTXIKXFDSKUBWFVJKXFDSNHZXWGHXXKIFKXITURUH

VPFVJWGHTPXHTTXIGPHTIKUBWFVJGPHTINHZXWFWWHWTIZWFVJ

KZUTPIZWHPFAIFJZIFYTUJFBHPFAIFJZIFYTPFTU

2008 Kutztown University 10

Transposition Cipher Generate permutation of n objects

Transpose letters Permutation of 0 through 7

6 – 3 – 7 – 1 – 4 – 8 – 5 – 2

Yields value transposition 1 6

2 3

3 7

4 1

5 4

6 8

7 5

8 2

2008 Kutztown University 11

Transposition Cipher – Example Cipher text

TYTSNHOAGTGERLUSHATEUAGNTIHVLBEAURRYTHHAOHUUCGLGOATHYTNSUSGHTGREGNHLATUEEATAIHLVBEOTLUAHHNERDWTAANRODESUHIEVNETAAMINYNFENNOTORTSTIHFLAEAHAINSNTDEHBGAEVSYTREHEENFIHMNOIARSEPWDEEEEAUSRFPEALSYIBMMSAAIYTROINBNSYEOKNMECCOOLUEDRYADMECRSAOEAECSNEHEWFNTLHONRDISBAEYFOUOURTSSSPSTEOLFDHIFEELWEOHTIRETDHIWREAEIASNVVABKLRIEYMSHNEEEGANIRONPECLHFITNUFAAOIRNGHCRBKOTAEHEUCKRGNNLSDEIAIMNTAGKSSMICELSOOTOEFDLNTGHIIENNNIDMNNAAABSOYTETNNDEWOIRYOWWNHLSLDIEAGYNECSHOCMTNETOSHIMTIIEGNHLTOHFNETRINMSCBLUHLOSOWWSYOBSWULLWEATSRTWTOHDOEKLSNBLDRIARHEITMIGSBIEETRMTNHTGOAIEIAMNDREAGBIAOSNSFTYLEIOONTNGHTIOAIEDTIRESRWAYVAMDEBTFIALEAONNGRENSDTEHIONRCDLWOIANDRSWWUNRTCCHOALSHLRWIGDAEIPNAYMNOSOAETHRTEUSTALUGEGNGIALHVEATRBTTYHAHUCGULHORNRACDLIACRMCMUAOCHORYNOPCRONYNOO

2008 Kutztown University 12

Vigenere Cipher

Polyalphabetic substitution

Use n randomly generated substitutions 1st letter is encoded by 1st substitution alphabet

2nd letter is encoded by 2nd substitution alphabet

. . .

nth letter is encoded by nth substitution alphabet

n+1st letter is encoded by 1st substitution alphabet

etc.

2008 Kutztown University 13

Vigenere – Simple Example

Key = 3752

Successive letters are shifted by 3, 7, 5, 2

Plain text – BOOKKEEPINGROCKS

Cipher text – EVTMNLJRLULTRJPU

Eliminates double letters

Scatters N-grams

2008 Kutztown University 14

Vigenere Cipher

Advantages

Creates confusion

Same letter can be encoded n different ways

Pretty much eliminates n-grams

Keyspace > 26!

2008 Kutztown University 15

Vigenere Cipher

le chiffre indéchiffrable

Named for Blaise de Vigenère

Invented by Giovan Battista Bellaso ca. 1550

Broken by Charles Babbage in 1854 (unpublished)

Major Friedrich Kasiski in 1863

» Prussian infantry office

2008 Kutztown University 16

Vigenere Cipher – Example T KRCS L GILOX WYHH ZQV KOJ WYPG YDKPCY ZZSZ CLJL IA DEK ZTYV VIE WYL HCXV

TSLQZUU ZI ZAG NUVLR: "HH YVZO WYLGP WIBHSV KV PP VVST-PYZKSYW: KOOE DCS APQ RYS NUVHHPG VXILO."

Z OOGH R KFPDD AVLW FUS ODP VB EKV YSO KZSZD RW NSZUXPO EKV ZCYV FM TZUDLF DORCSD DEK HSH JVBD RW MCCPVY GWDML CHQVYG HLCS PP DSSS ER JPH ORNU HZJVAVPU RA HSH KHPWH FM PCRKOSCKFVR.

T KRCS L GILOX WYHH ZQV KOJ HMLB EKV ZHLWV VT XLJZWDVZWDT, D JAOEH JDSWWVYWYJ NPHS WYL VPDK VT TQABGELTL, GHHCASCLEN KTWY AVP KVHH ZI FWDCHJZWZQ, NPZW EV AFLQJMCCPVK WYWF HB ZDJPG ZI WYSPGFT OYG ABGELTL.

W SDML O OUVHA EKRA AJ IFBF WLKAZP FYPZOUVU KTOC VBP GRF ZTYV PB L QRAWZQ NOSCH KOSJ ZZSZ YRK IS UXUNSO EP AVP FFSCC RW AVPLI ZYTQ SBH MB KOS NREASYW FM HSHZY QSDIHQEHI.

P VLYV H RCHRT HZGRF.

W SDML O OUVHA EKRA CYH UHM, ORNU WY DCHPLPR, DWEK ZAG GLTPCFV IHQTVKZ, KTWY PHD JFCSCQFY VLYZUU SLJ SWAV UYWASZUU HLKO HSH NVFOV FM WYWVYDZVZAWZQ RUR YXCSWQLTHHTRE; VBP GRF FTJYA HSHIL WY DCHPLPR, SWEWCL PWDTR PZBJ HBO ECHQV JZYZD ZZSZ MH RIZP WF QCTQ YHBOV NPHS OZAHWH NOWEH SVMD DEK KSLKL UTUCZ OD VZZHPUJ HBO EIVHSHIZ.

W SDML O OUVHA ERUHM.

T KRCS L GILOX WYHH ZQV KOJ HMLFJ YRSZPB JOOWO SL SIDCASO, HMLFJ KZSZ LQU TCFQKHWY VYHZW EV TOOH

2008 Kutztown University 17

Vigenere Cipher – Example Analysis TKRCSLGILOXWYHHZQVKOJWYPGYDKPCYZZSZCLJLIADEKZTYVVI

EWYLHCXVTSLQZUUZIZAGNUVLRHHYVZOWYLGPWIBHSVKVPPVVST

PYZKSYWKOOEDCSAPQRYSNUVHHPGVXILOZOOGHRKFPDDAVLWFUS

ODPVBEKVYSOKZSZDRWNSZUXPOEKVZCYVFMTZUDLFDORCSDDEKH

SHJVBDRWMCCPVYGWDMLCHQVYGHLCSPPDSSSERJPHORNUHZJVAV

PURAHSHKHPWHFMPCRKOSCKFVRTKRCSLGILOXWYHHZQVKOJHMLB

EKVZHLWVVTXLJZWDVZWDTDJAOEHJDSWWVYWYJNPHSWYLVPDKVT

TQABGELTLGHHCASCLENKTWYAVPKVHHZIFWDCHJZWZQNPZWEVAF

LQJMCCPVKWYWFHBZDJPGZIWYSPGFTOYGABGELTLWSDMLOOUVHA

EKRAAJIFBFWLKAZPFYPZOUVUKTOCVBPGRFZTYVPBLQRAWZQNOS

CHKOSJZZSZYRKISUXUNSOEPAVPFFSCCRWAVPLIZYTQSBHMBKOS

NREASYWFMHSHZYQSDIHQEHIPVLYVHRCHRTHZGRFWSDMLOOUVHA

EKRACYHUHMORNUWYDCHPLPRDWEKZAGGLTPCFVIHQTVKZKTWYPH

DJFCSCQFYVLYZUUSLJSWAVUYWASZUUHLKOHSHNVFOVFMWYWVYD

ZVZAWZQRURYXCSWQLTHHTREVBPGRFFTJYAHSHILWYDCHPLPRSW

EWCLPWDTRPZBJHBOECHQVJZYZDZZSZMHRIZPWFQCTQYHBOVNPH

SOZAHWHNOWEHSVMDDEKKSLKLUTUCZODVZZHPUJHBOEIVHSHIZW

SDMLOOUVHAERUHMTKRCSLGILOXWYHHZQVKOJHMLFJYRSZPBJOO

WOSLSIDCASOHMLFJKZSZLQUTCFQKHWYVYHZWEVTOOHCVKEKVYC

FJYWZLFVZKTOCISXDULDWDZUOYGKOSNUFVYPGGSONHJDWWOSLA

LGVZHCDZNVEDEKHSHXSCCBFMHSHCVFOVYHZWEVYSGHRSSODEKO

2008 Kutztown University 18

Vigenere Cipher – Example Analysis TKRCSLGILO

XWYHHZQVKO

JWYPGYDKPC

YZZSZCLJLI

ADEKZTYVVI

EWYLHCXVTS

LQZUUZIZAG

NUVLRHHYVZ

OWYLGPWIBH

SVKVPPVVST

PYZKSYWKOO

EDCSAPQRYS

NUVHHPGVXI

LOZOOGHRKF

PDDAVLWFUS

ODPVBEKVYS

OKZSZDRWNS

ZUXPOEKVZC

YVFMTZUDLF

DORCSDDEKH

SHJVBDRWMC

CPVYGWDMLC

HQVYGHLCSP

PDSSSERJPH

ORNUHZJVAV

PURAHSHKHP

WHFMPCRKOS

CKFVRTKRCS

LGILOXWYHH

ZQVKOJHMLB

EKVZHLWVVT

XLJZWDVZWD

TDJAOEHJDS

WWVYWYJNPH

SWYLVPDKVT

TQABGELTLG

2008 Kutztown University 19

Vigenere Cipher – Example Analysis HHCASCLENK

TWYAVPKVHH

ZIFWDCHJZW

ZQNPZWEVAF

LQJMCCPVKW

YWFHBZDJPG

ZIWYSPGFTO

YGABGELTLW

SDMLOOUVHA

EKRAAJIFBF

WLKAZPFYPZ

OUVUKTOCVB

PGRFZTYVPB

LQRAWZQNOS

CHKOSJZZSZ

YRKISUXUNS

OEPAVPFFSC

CRWAVPLIZY

TQSBHMBKOS

NREASYWFMH

SHZYQSDIHQ

EHIPVLYVHR

CHRTHZGRFW

SDMLOOUVHA

2008 Kutztown University 20

Deciphering Vigenere

Determine the number of alphabets Compute distances between matching sequences

Compute GCD of distances

Treat cipher text as n separate texts

For each separate text & each of 25 possible shifts Compute Index of Coincidence

based on frequencies found in cipher text

using table of frequencies of letters in English

Index of Coincidence formula

fee = S {relFreqTab(k, ciphLet) * charFreq(ciphLet)}

2008 Kutztown University 21

Frequency Table – English

A 0.08; B 0.015; C 0.03; D 0.04; E 0.13;

F 0.02; G 0.015; H 0.06; I 0.065; J 0.005

K 0.005; L 0.035; M 0.03; N 0.07; O 0.08

P 0.02; Q 0.002; R 0.065; S 0.06; T 0.09

U 0.03; V 0.01; W 0.015; X 0.005; Y 0.02

Z 0.002

2008 Kutztown University 22

Vigenere – Final Step

Produce possible plain texts using combination of

highest ranking fee table values

Choose best plain text

This step can be automated Rate each possible plain text

using n-gram information

or list of 5 letter words in English

2008 Kutztown University 23

Vernam Cipher

Gilbert Sandford Vernam – inventor

Also known as one-time pad

Invented ca. 1919

Proven unbreakable by Claude Shannon

Communication Theory of Secrecy Systems

1949

Unbreakable if and only if

Key is same length as plain text

Key is never re-used

2008 Kutztown University 24

Vernam Cipher

Basic operation – bitwise XOR

XOR table

0 xor 0 = 0

0 xor 1 = 1

1 xor 0 = 1

1 xor 1 = 0

Plain text is represented as bit stream

Key is random bit stream of same length

Cipher text is produced via bitwise XOR of plain bit stream and key bit stream.

2008 Kutztown University 25

Vernam Cipher – Example

Plain text :: Grade = A – Great!

Plain text in ASCII

71 114 97 100 101 32 61 32 65 32 45 32

71 114 101 97 116 33

Plain text as bit stream

01000111 01110010 01100001 01100100

01100101 00100000 00111101 00100000

01000110 00100000 10010110 00100000

01010011 01101111 01110010 01110010

01111001 00100001

2008 Kutztown University 26

Vernam Cipher – Example

Key as bit stream

11000001 01110000 11011110 10111001 01100001

10001000 01101100 11111010 00110011

01001110 01111001 00011110 00001000 10010001

10100100 01000000 10000000 01000010

Cipher text as bit stream

10000110 00000010 10111111 11011101 00000100

10101000 01010001 11011010 01110010

01101110 01010100 00111110 01001111 11100011

11000001 00100001 11110100 01100011

2008 Kutztown University 27

Vernam Cipher – Why Unbreakable

Try attack by exhaustive search

Among possible keys

11000001 01110000 11011110 10111001

01100001 10001000 01101100 11111010

00110100 01001110 01111001 00011110

00011100 10001100 10110011 01010011

10001101 01000010

Produces this recovered plain text:

Grade = F – Sorry!

2008 Kutztown University 28

Vernam Cipher – Why Unbreakable

Exhaustive search will produce every possible combination of 18 characters.

And there is no way to distinguish between them

Among the possible recovered texts:

Tickle me Elmo now

Jabberwocky Rocks!

Attack tomorrow am

Attack tomorrow pm

Grade = C++ & Java

2008 Kutztown University 29

Vernam Cipher – Why Look

Elsewhere? Key distribution problem

Every sender/recipient must have same pad

N sender recipient pairs require O(N2) pads

Pad distribution is security risk

Key coordination problem

Sheets on pad must match exactly

Messages must arrive in order sent

Key generation problem

High quality random numbers hard to generate

Bottom line – has some limited use