2. algoritma kriptografi klasik

6
1/24/2016 1 Rinaldi Munir/IF5054 Kriptografi 1 Algoritma Kriptografi Klasik Bahan kuliah ke-4 IF5054 Kriptografi Rinaldi Munir/IF5054 Kriptografi 2 Pendahuluan Algoritma kriptografi klasik berbasis karakter Termasuk ke dalam kriptorafi simetri Tiga alasan mempelajari algoritma klasik: 1. Memahami konsep dasar kriptografi. 2. Dasar algoritma kriptografi modern. 3. Memahami kelemahan sistem cipher. Rinaldi Munir/IF5054 Kriptografi 3 Algoritma kriptografi klasik: 1. Cipher Substitusi (Substitution Ciphers) 2.Cipher Transposisi (Transposition Ciphers) Rinaldi Munir/IF5054 Kriptografi 4 Cipher Substitusi Contoh: Caesar Cipher Tiap huruf alfabet digeser 3 huruf ke kanan p i :ABCDEFGHIJKLMNOPQRSTUVWXYZ c i : DEFGHIJKLMNOPQRSTUVWXYZABC Contoh: Plainteks: AWASI ASTERIX DAN TEMANNYA OBELIX Cipherteks: DZDVL DVWHULA GDQ WHPDQQBA REHOLA Rinaldi Munir/IF5054 Kriptografi 5 Misalkan A = 0, B = 1, …, Z = 25, maka secara matematis caesar cipher dirumsukan sebagai berikut: Enkripsi: c i = E(p i )=(p i + 3) mod 26 Dekripsi: p i = D(c i )=(c i 3) mod 26 Rinaldi Munir/IF5054 Kriptografi 6 Jika pergeseran huruf sejauh k, maka: Enkripsi: c i = E(p i )=(p i + k) mod 26 Dekripsi: p i = D(c i )=(c i k) mod 26 k = kunci rahasia Untuk 256 karakter ASCII, maka: Enkripsi: c i = E(p i )=(p i + k) mod 256 Dekripsi: p i = D(c i )=(c i k) mod 256 k = kunci rahasia

Upload: destiawan-yukikaze

Post on 13-Jul-2016

14 views

Category:

Documents


6 download

DESCRIPTION

coba

TRANSCRIPT

Page 1: 2. Algoritma Kriptografi Klasik

1/24/2016

1

Rinaldi Munir/IF5054 Kriptografi 1

Algoritma Kriptografi Klasik

Bahan kuliah ke-4

IF5054 Kriptografi

Rinaldi Munir/IF5054 Kriptografi 2

Pendahuluan

Algoritma kriptografi klasik berbasis

karakter

Termasuk ke dalam kriptorafi simetri

Tiga alasan mempelajari algoritma klasik:

1. Memahami konsep dasar kriptografi.

2. Dasar algoritma kriptografi modern.

3. Memahami kelemahan sistem cipher.

Rinaldi Munir/IF5054 Kriptografi 3

Algoritma kriptografi klasik:

1. Cipher Substitusi (Substitution Ciphers)

2.Cipher Transposisi (Transposition Ciphers)

Rinaldi Munir/IF5054 Kriptografi 4

Cipher Substitusi

Contoh: Caesar Cipher

Tiap huruf alfabet digeser 3 huruf ke kanan

pi : 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

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

Contoh:Plainteks: AWASI ASTERIX DAN TEMANNYA OBELIX

Cipherteks: DZDVL DVWHULA GDQ WHPDQQBA REHOLA

Rinaldi Munir/IF5054 Kriptografi 5

Misalkan A = 0, B = 1, …, Z = 25, maka

secara matematis caesar cipher dirumsukan

sebagai berikut:

Enkripsi: ci = E(pi) = (pi + 3) mod 26

Dekripsi: pi = D(ci) = (ci – 3) mod 26

Rinaldi Munir/IF5054 Kriptografi 6

Jika pergeseran huruf sejauh k, maka:

Enkripsi: ci = E(pi) = (pi + k) mod 26

Dekripsi: pi = D(ci) = (ci – k) mod 26

k = kunci rahasia

Untuk 256 karakter ASCII, maka:

Enkripsi: ci = E(pi) = (pi + k) mod 256

Dekripsi: pi = D(ci) = (ci – k) mod 256

k = kunci rahasia

Page 2: 2. Algoritma Kriptografi Klasik

1/24/2016

2

Rinaldi Munir/IF5054 Kriptografi 7

Rinaldi Munir/IF5054 Kriptografi 8

Kelemahan:

Caesar cipher mudah dipecahkan dengan

exhaustive key search karena jumlah

kuncinya sangat sedikit (hanya ada 26

kunci).

Rinaldi Munir/IF5054 Kriptografi 9

Contoh: kriptogram XMZVH

Tabel 1. Contoh exhaustive key search terhadap cipherteks XMZVH

Kunci (k)

ciphering

‘Pesan’ hasil

dekripsi

Kunci (k)

ciphering

‘Pesan’ hasil

dekripsi

Kunci (k)

ciphering

‘Pesan’ hasil

dekripsi

0

25

24

23

22

21

20

19

18

XMZVH

YNAWI

ZOBXJ

APCYK

BQDZL

CREAM

DSFBN

ETGCO

FUHDP

17

16

15

14

13

12

11

10

9

GVIEQ

HWJFR

IXKGS

JYLHT

KZMIU

LANJV

MBOKW

NCPLX

ODQMY

8

7

6

5

4

3

2

1

PERNZ

QFSOA

RGTPB

SHUQC

TIVRD

UJWSE

VKXTF

WLYUG

Plainteks yang potensial adalah CREAM dengan k = 21.

Kunci ini digunakan untuk mendekripsikan cipherteks lainnya.

Rinaldi Munir/IF5054 Kriptografi 10

PHHW PH DIWHU WKH WRJD SDUWB

KEY

1 oggv og chvgt vjg vqic rctva

2 nffu nf bgufs uif uphb qbsuz

3 meet me after the toga party

4 Ldds ld zesdq sgd snfz ozqsx

5 kccr kc ydrcp rfc rmey nyprw

6 …

21 ummb um inbmz bpm bwoi xizbg

22 tlla tl hmaly aol avnh whyaf

23 skkz sk glzkx znk zumg vgxze

24 rjjy rj fkyjw ymj ytlf ufwyd

25 qiix qi ejxiv xli xske tevxc

Rinaldi Munir/IF5054 Kriptografi 11

Contoh: Kriptogram HSPPW menghasilkan dua

kemungkinan kunci yang potensial, yaitu k =

4 menghasilkan pesan DOLLS dan k = 11

menghasilkan WHEEL.

Jika kasusnya demikian, maka lakukan

dekripsi terhadap potongan cipherteks lain

tetapi cukup menggunakan k = 4 dan k = 11

agar dapat disimpulkan kunci yang benar.

Rinaldi Munir/IF5054 Kriptografi 12

Jenis-jenis Cipher Substitusi

1. Cipher abjad-tunggal (monoalphabetic cipher)

Satu karakter di plainteks diganti dengan satu karakter yang bersesuaian.

Jumlah kemungkinan susunan huruf-hurufcipherteks yang dapat dibuat adalah sebanyak

26! = 403.291.461.126.605.635.584.000.000

Contoh: Caesar Cipher

Page 3: 2. Algoritma Kriptografi Klasik

1/24/2016

3

Rinaldi Munir/IF5054 Kriptografi 13

Di dalam sistem operasi Unix, rot13 adalah fungsi menggunakan cipher abjad-tunggal dengan pergeseran k = 13

Contoh: rot13(ROTATE) =

rot13(17,14,19,0,19,4)= EBGNGR

Enkripsi arsip dua kali dengan rot13

menghasilkan arsip semula:

P = rot13(rot13(P)) (Kenapa?)

Rinaldi Munir/IF5054 Kriptografi 14

2. Cipher substitusi homofonik (Homophonicsubstitution cipher)

Setiap karakter plainteks dipetakan ke dalamsalah satu karakter cipherteks yang mungkin.

Fungsi ciphering memetakan satu-ke-banyak(one-to-many).

Misalnya huruf A dapat berkoresponden dengan7, 9, atau 16, huruf B dapat berkorespondendengan 5, 10, atau 23 dan seterusnya.

Rinaldi Munir/IF5054 Kriptografi 15

3. Cipher abjad-majemuk (Polyalpabeticsubstitution cipher )

Merupakan cipher substitusi-ganda yangmelibatkan penggunaan kunci berbeda.

Cipher abjad-majemuk dibuat dari sejumlahcipher abjad-tunggal, masing-masing dengankunci yang berbeda.

Kebanyakan cipher abjad-majemuk adalahcipher substitusi periodik yang didasarkan padaperiode m.

Rinaldi Munir/IF5054 Kriptografi 16

Plainteks:

P = p1p2 … pmpm+1 … p2m …

Cipherteks:

Ek(P) = f1(p1) f2(p2) … fm(pm) fm+1(pm+1) …

f2m(p2m) …

Untuk m = 1, cipher-nya ekivalen dengan

cipher abjad-tunggal.

Rinaldi Munir/IF5054 Kriptografi 17

Contoh cipher substitusi periodik adalah cipher Vigenere

Kunci: K = k1k2 … km

ki untuk 1 i m menyatakan jumlah pergeseranpada huruf ke-i.

Karakter cipherteks: ci(p) = (p + ki) mod 26 (*)

Misalkan periode m = 20, maka 20 karakterpertama dienkripsi dengan persamaan (*), setiapkarakter ke-i menggunakan kunci ki.

Untuk 20 karakter berikutnya, kembalimenggunakan pola enkripsi yang sama.

Rinaldi Munir/IF5054 Kriptografi 18

Contoh:

Plainteks: SHE SELLS SEA SHELLS BY THE SEASHORE

+ Kunci KEY KEYKE YKE YKEYKE YK EYK EYKEYKEY

Cipherteks:CLC CIJVW QOE QRIJVW ZI XFO WCKWFYVC

Page 4: 2. Algoritma Kriptografi Klasik

1/24/2016

4

Rinaldi Munir/IF5054 Kriptografi 19

4. Cipher substitusi poligram (Polygram

substitution cipher )

Contoh: Playfair cipher

Blok karakter disubstitusi dengan blok cipherteks.

Misalnya ABA diganti dengan RTQ, ABB diganti

dengan SLL, dan lain-lain.

Rinaldi Munir/IF5054 Kriptografi 20

Cipher Transposisi

Ciphereteks diperoleh dengan mengubah

posisinya. Dengan kata lain, algoritma ini

melakukan transpose terhadap rangkaian karakter

di dalam teks.

Nama lain untuk metode ini adalah permutasi,

karena transpose setiap karakter di dalam teks

sama dengan mempermutasikan karakter-karakter

tersebut.

Rinaldi Munir/IF5054 Kriptografi 21

Contoh 4. Misalkan plainteks adalah

DEPARTEMEN TEKNIK INFORMATIKA ITB

Enkripsi:

DEPART

EMENTE

KNIKIN

FORMAT

IKAITB

Cipherteks: (baca secara vertikal)

DEKFIEMNOKPEIRAANKMIRTIATTENTB

Rinaldi Munir/IF5054 Kriptografi 22

Dekripsi: Bagi panjang cipherteks dengan kunci.

(Pada contoh ini, 30 / 6 = 5)

DEKFI

EMNOK

PEIRA

ANKMI

RTIAT

TENTB

Plainteks: (baca secara vertikal)

DEPARTEMEN TEKNIK INFORMATIKA ITB

Rinaldi Munir/IF5054 Kriptografi 23

Contoh lain. Misalkan plainteks adalah

CRYPTOGRAPHY AND DATA SECURITY

Plainteks disusun menjadi 3 baris (k = 3) seperti di bawah ini:

C T A A A E I

R P O R P Y N D T S C R T

Y G H D A U Y

maka cipherteksnya adalah

CTAAAEIRPORPYNDTSCRTYGHDAUY

Rinaldi Munir/IF5054 Kriptografi 24

Lebih jauh dengan Cipher Abjad-

tunggal

Jumlah kunci = jumlah cara menyusun 26

huruf abjad tersebut, yaitu sebanyak

26! = 403.291.461.126.605.635.584.000.000

Contoh susunan tabel substitusi (acak):

pi: 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

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

Page 5: 2. Algoritma Kriptografi Klasik

1/24/2016

5

Rinaldi Munir/IF5054 Kriptografi 25

Tip membuat kunci:

1. Pilih kunci dari sembarang kalimat:

we hope you enjoy this book

2. Buang huruf yang berulang:

wehopyunjtisbk

3. Sambung dengan huruf lain yang belum ada:W E H O P Y U N J T I S B K A C D F G L M Q R V X Z

4. Tabel substitusi:pi: 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

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

Rinaldi Munir/IF5054 Kriptografi 26

Mendekripsi cipherteks tanpa mengetahui

kunci (cipher substitusi abjad-tunggal):

Metode yang digunakan:

1. Terkaan

2. Statistik

Informasi tambahan:

1. Mengetahui bahasa palinteks

2. Konteks plainteks

Rinaldi Munir/IF5054 Kriptografi 27

Metode Terkaan

Asumsi: bahasa plainteks adalah B Inggris

Tujuan: mereduksi jumlah kunci

Contoh 1. Cipherteks: G WR W RWL

Plainteks: I AM A MA*

I AM A MAN

Jumlah kunci berkurang dari 26! menjadi 22!

Rinaldi Munir/IF5054 Kriptografi 28

Contoh 2. Cipherteks: HKC

Plainteks:(lebih sukar ditentukan, tetapi

tidak mungkin Z diganti dengan H, Q

dengan K, dan K dengan C., karena tidak

ada kata “ZQC” dalam Bahasa Inggris)

Rinaldi Munir/IF5054 Kriptografi 29

Contoh 3. Cipherteks: HATTPT

Plainteks: salah satu dari T atau P

merepresentasikan huruf vokal

CHEESE

MISSES

CANNON

Rinaldi Munir/IF5054 Kriptografi 30

Contoh 4. Cipherteks: HATTPT

Plainteks:(diketahui informasi bahwa pesan

tersebut adalah nama negara. Dengan cepat

kriptanalis menyimpulkan bahwa polygram

tersebut adalah GREECE.)

Page 6: 2. Algoritma Kriptografi Klasik

1/24/2016

6

Rinaldi Munir/IF5054 Kriptografi 31

Metode Statistik

Paling umum digunakan

Tabel 2. Frekuensi kemunculan (relatif) huruf-huruf

dalam teks Bahasa Inggris (sampel mencapai 300.000 karakter di dalam

sejumlah novel dan suratkabar

Huruf % Huruf %

A

B

C

D

E

F

G

H

I

J

K

L

M

8,2

1,5

2,8

4,2

12,7

2,2

2,0

6,1

7,0

0,1

0,8

4,0

2,4

N

O

P

Q

R

S

T

U

V

W

X

Y

Z

6,7

7,5

1,9

0,1

6,0

6,3

9,0

2,8

1,0

2,4

2,0

0,1

0,1

Rinaldi Munir/IF5054 Kriptografi 32

Terdapat sejumlah tabel frekuensi sejenis yang

dipublikasikan oleh pengarang lain, namun secara

umum persentase kemunculan tersebut konsisten

pada sejumlah tabel.

Kemunculan huruf-huruf di dalam plainteks

tercermin pada tabel 2 di atas .

Jika karakter “R” paling sering muncul di dalam

cipherteks, maka kemungkinan besar itu adalah

huruf “E” di dalam plainteks.

Rinaldi Munir/IF5054 Kriptografi 33

Contoh cipherteks:DIX DR TZX KXCQDIQ RDK XIHPSZXKPIB TZPQ TXGT

PQ TD QZDM TZX KXCJXK ZDM XCQPVN TZPX TNSX DR

HPSZXK HCI LX LKDUXI. TZX MDKJ QTKFHTFKX DR

TZX SVCPITXGT ZCQ LXXI SKXQXKWXJ TD OCUX

TZX XGXKHPQX XCQPXK. PR MX ZCJ MKPTTXI TZX.

HKNSTDBKCOPI BKDFSQ DR RPWX VXTTXKQ TZXI PT

MDFVJ ZCWX LXXI ZCKJXK. TD HDIWPIHX

NDFKQXVWXQ DR TZPQ SCPKQ SCPKQ DR KXCJXKQ

HCI SKDWPJX XCHZ DTZXK MPTZ HKNSTDBKCOQ

MPTZ TZPQ VXTTXK BKDFSIB

Rinaldi Munir/IF5054 Kriptografi 34

Histogram kemunculan relatif:

Rinaldi Munir/IF5054 Kriptografi 35

Karakter yang paling sering muncul di dalam cipherteks adalah H.

Dengan membandingkan Tabel 2 dengan histogram tersebut, kita dapat menyimpulkasn sementara bahwa H berkoresponden dengan Edan bahwa W berkoresponden dengan T.

Tetapi kita belum dapat memastikannya. Masihdiperlukan:

- cara trial and error

- pengetahuan tentang bahasa

- konteks plainteks

- intuisi