4. materi 4 kripto klasik i

Post on 26-Dec-2015

58 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Algoritma Kriptografi Klasik (bag 1)

Yanuar Nurdiansyah, ST., M.Cs

UNEJ

Kriptografi

2

PendahuluanKriptografi Klasik memiliki beberapa ciri :

Algoritma kriptografi klasik berbasis karakter Menggunakan pena dan kertas saja, belum ada

komputer Termasuk ke dalam kriptografi kunci-simetri

Tiga alasan mempelajari algoritma klasik:

1. Memahami konsep dasar kriptografi.

2. Dasar algoritma kriptografi modern.

3. Memahami kelemahan sistem cipher.

3

Algoritma kriptografi klasik:

1. Cipher Substitusi (Substitution Ciphers)

2.Cipher Transposisi (Transposition Ciphers)

Subtitusi merupakan penggantian setiap karakter teks asli dengan karakter lain

4

Cipher Substitusi

A B C D E N F L T PF G H I J B D K R OK L M N O V S J E IP Q R S T C A H W UU V W X Y X M G Q Y

Ter dapat 4 istilah subtitusi kode ;

1.Monoalphabet : setiap karakter teks kode menggantikan salah satu karakter teks asli.

2.Polyalphabet : setiap karakter teks kode dapat mengantikan lebih dari 1 mcm teks asli

3.Monograf : satu enkripsi dilakukan terhadap satu karakter teks asli

4.Poygraph : satu enkripsi dilakukan terhadap lebih dari satu karakter teks asli

Subtitusi kode pertama dalam dunia penyandian Mengganti posisi huruf awal dari alphabet atau

disebut jg dg Algoritma ROT3

5

Kode Kaisar

Caesar Cipher (ROT3)Plain Text Encoded Text

ABC DEFHello Khoor

Attack Dwwdfn

6

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

7

Dalam praktek, cipherteks dikelompokkan ke dalam kelompok n-huruf, misalnya kelompok 4-huruf:

DZDV LDVW HULA GDQW HPDQ QBAR EHOL A

Atau membuang semua spasi:

DZDVLDVWHULAGDQWHPDQQBAREHOLA

Tujuannya agar kriptanalisis menjadi lebih sulit

8

Caesar wheel

Secara detail perhatikan cnth:

9

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 Z0 1 2 3 4 5 6 7 8 9 101112131415161718 19 202122232425

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

3 4 5 6 7 8 9 101112131415161718192021 22 232425 0 1 2

Menjadi :

•Jika pergeseran dilakukan Sebanyak 3 kali maka key untuk dekripi nya adlh 3.•Pergesaran key tergantung keinginan pengirim pesan•Key yang dipakai bisa a=7, b=9 dst….

10

Misalkan A = 0, B = 1, …, Z = 25, maka secara matematis caesar cipher dirumuskan sebagai berikut:

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

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

11

Jika pergeseran huruf sejauh k, maka:

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

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

Untuk 256 karakter ASCII, maka:

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

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

12

/* Program enkripsi file dengan Caesar cipher */#include <stdio.h> main(int argc, char *argv[]){ FILE *Fin, *Fout; char p, c; int k;

Fin = fopen(argv[1], "rb"); if (Fin == NULL) printf("Kesalahan dalam membuka %s sebagai berkas masukan/n", argv[1]); Fout = fopen(argv[2], "wb");  printf("\nEnkripsi %s menjadi %s ...\n", argv[1], argv[2]); printf("\n"); printf("k : "); scanf("%d", &k);  while ((p = getc(Fin)) != EOF) { c = (p + k) % 256; putc(c, Fout); } fclose(Fin); fclose(Fout); }

13

/* Program dekripsi file dengan Caesar cipher */ #include <stdio.h> main(int argc, char *argv[]){ FILE *Fin, *Fout; char p, c; int n, i, k;   Fin = fopen(argv[1], "rb"); if (Fin == NULL) printf("Kesalahan dalam membuka %s sebagai berkas masukan/n", argv[1]); Fout = fopen(argv[2], "wb");  printf("\nDekripsi %s menjadi %s ...\n", argv[1], argv[2]); printf("\n"); printf("k : "); scanf("%d", &k);  while ((c = getc(Fin)) != EOF) { p = (c - k) % 256; putc(p, Fout); } fclose(Fin); fclose(Fout); }

EX. GEMPA YOGYA MENELAN KORBAN TIDAK SEDIKIT DAN SAMPAI SEKARANG MASIH MENYISAKAN TRAUMA BAGI ORANG-ORANG KOTA GUDEG

14

Menjadi: JHPSDBRJBDPHQHODQNRUEDQWLGDNVHGLNLWGDQVDPDLVHNDUDQJPHNDUDQJPHQBLVDNDQWUDPDEDJLRUDQJRUDQJNRWDJXGHJ

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 Z0 1 2 3 4 5 6 7 8 9 101112131415161718 19 202122232425

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

3 4 5 6 7 8 9 101112131415161718192021 22 232425 0 1 2

KENAIKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDERITA

15

Menjadi NHQDLNDQKDUJDEEPPHPEXDWUDNBDWNHFLOPHQGHULWD

VDBDNXOLDKGLSURGLVLVWLPLQIRUPDVLXQHMGHQJDQGREVEQBDQJJDQWEQJ ?

COBA DI BACA ……. ^_^

16

Kelemahan:

Caesar cipher mudah dipecahkan dengan

Brute force attack, suatu bentuk serangan yang dilakukan dengan mencoba-coba berbagai kemungkinan untuk menentukan kunci

exhaustive key search karena jumlah kuncinya sangat sedikit (hanya ada 26 kunci).

Ada cara lain yang dpt digunakan kriptanalis untuk memecahkan nya yaitu dgn melihat frekuensi kemunculan huruf seperti brkt

17

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

Pada teks bhs indonesia yang paling Sering muncul adalah 10 huruf yaitu

18

Letter Frequency kemunculan (%)A 17.50N 10.30I 8.70E 7.50K 5.65T 5.10R 4.60D 4.50S 4.50M 4.50

19

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.

20

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.

21

Di dalam sistem operasi Unix, ROT13 adalah fungsi menggunakan Caesar cipher dengan pergeseran k = 13

 

22

Contoh: ROT13(ROTATE) = EBGNGR Nama “ROT13” berasal dari net.jokes

(hhtp://groups.google.com/group/net.jokes) (tahun 1980)

ROT13 biasanya digunakan di dalam forum online untuk menyandikan jawaban teka-teki, kuis, canda, dsb

Enkripsi arsip dua kali dengan ROT13 menghasilkan pesan semula:

  P = ROT13(ROT13(P))

sebab ROT13(ROT13(x)) = ROT26(x) = x

Jadi dekripsi cukup dilakukan dengan mengenkripsi cipherteks kembali dengan ROT13

top related