kriptografi

September 12, 2017 | Author: Freddy Fransisco Fargas Siahaan | Category: N/A
Share Embed Donate


Short Description

Download kriptografi...

Description

42

//

Pengontor IImu Kriptogrofi

BAB III

ALGORITMA KRIPTOGRAFI

3.1 PENDAHUlUAN Ditinjau dari asal-usulnya. kara algoritma mempunyai sejarah yang menarik. Kata ini muncul di dalam kamus Webster sampai akhir tahun 1957. Kata algorism mempunyai ani proses perhicungan dalam bahasa Arab. Algoritma berasal dari nama penulis buku Arab yang terkenal, yaitu Abu Ja'far Muhammad Ibnu Musa al-Khuwarizmi (al-Khuwarizmi dibaca oleh orang barat sebagai algorism). KatJ algorism lambat laun berubah menjadi algorithm. Definisi terminologi algoritma adalah urutan langkah-langkah logis untuk menyelesaikan masalah yang disusun secara sistematis. Algoritma kriptografi merupakan langkah-Iangkah logis bagaimana menyembunyikan pesan dari orang-orang yang tidak berhak atas pesan terse but. Algoritma kriptografi terdiri dari tiga fungsi dasar, yaitu: 1. Enkripsi merupakan hal yang sangat penting dalam kriptografi. merupa­ kan pengamanan data yang dikirimkan agar terjaga kerahasiaannya. Pesan ash disebut plaintext, yang diubah menjadi kode-kode yang tidak dimengerti. Enkripsi bisa diartikan dengan cipher atau kode. Sama halnya dengan kita tidak mengerti akan sebuah kata maka kita akan melihatnya di dalam kamus atau daftar istilah. Beda halnya dengan enkripsi. umuk

mengubah teks-asii ke bentuk teks-kode kita menggunakan algoritma

yang dapat mengkodekan data yang kita ingini.

2. Dekripsi: merupakan kebalikan dari enkripsi. Pesan yang tclah dienkripsi dikembalikan ke bentuk asalnya (teks-asli), disebut dengan dekripsi pesan. Algoritma yang digunakan untuk dekripsi tentu berbeda dengan algoritma yang digunakan untuk enkripsi. 3. KUl1ci yang dimaksud di sini adalah kunci yang dipakai untuk melakukan enkripsi dan dekripsi. Kunci rerbagi menjadi dua bagian, kunci rahasia (private key) dan kunci umum (public key).

,I

il I

,I

'I

I

... 1

44

Pengantar Ilmu Kriptografi

Keamanan dari algoritma kriptografi tergantung pad a bagairnana algoritma itu bekerja. Oleh sebab itu algoritma semacam ini disebut dengan algoritma terbatas. Algoritma terbatas merupakan algoritma yang dipakai sekelompok orang untuk merahasiakan pesan yang mereka kirim. Jika salah satu dari anggota kelompok itu keluar dari kelompoknya maka algoritma yang dipakai diganti dengan yang baru. Jika tidak maka hal itu bisa menjadi masalah dl kemudian hari. Keamanan dari kriptografi modern didapat dengan merahasiakan kunci yang dimiliki dari orang lain. tanpa harus merahasiakan algoritma itu sendiri. Kunci memiliki fungsi yang sarna dengan password. Jika keseluruhan dari keamanan algoritma tergantung pada kunci yang dipakai maka algoritma ini bisa dipubliskasikan dan dianalisis oleh orang lain. Jika algoritma yang telah dipublikasikan bisa dipecahkan dalam waktu singkat oleh orang lain maka berarti algoritma tersebut tidaklah aman untuk digunakan. Pada pembahasan berikutnya akan dijelaskan berbagai macam algoritma kriptografi yang pernah ada.

3.2 MACAM-MACAM ALGORITMA KRIPTOGRAFI Algoritma kriptografi dibagi menjadi tiga bagian berdasarkan kunci yang dipakainya: 1. Algoritma Simetri (menggunakan satu kunci untuk enkripsi dan dekrip­ sinya). 2. Algoritma Asimetri (menggunakan kunci yang berbeda ulltuk enkripsi dan dekripsi). 3. Hash Function.

3.2.1 ALGORITMA SIMETRI Algoritma ini sering disebut dengan algoritma klasik karena memakai kunci yang sarna untuk kegiatan enkripsi dan dekripsi. Algoritma ini sudah ada sejak lebih dari 4000 tahun yang lalu. Bila mengirim pes an dengan meng­ gunakan algoritma ini. si penerima pesan harus diberitahu kunci dari pesan terse but agar bisa mendekripsikan pesan yang dikirim. Keamanan dari pesan yang menggunakan algoritma ini tergantung pada kunci. Jika kunci tersebut diketahui oleh orang lain maka orang rersebut akan dapat melakukan

Algoritma Kriptografi

45

enkripsi dan dekripsi terhadap pesan. Algoritma yang memakai kunci simetri di antaranya adalah:

1. Di'ta Encryption Standard (DES).

2. RC2. RC4, RCS. RC6, 3. International Data Encryption Algorithm (IDEA), 4. Advanced Encryption Standard (AES), 5. One Time Pad (OTP), 6. AS, dan lain sebagainya.

3.2.2 ALGORITMA ASIMETRI Algoritma asimetri sering juga disebut dengan algoritma kunci publik. dengan ani kata kllnci yang digunakan untuk melakukan enkripsi dan dekripsi berbeda. Pada algoritma asimetri kunci terbagi menjadi dua bagian. yaitu: 1. Kunci umum (public key): Kunci yang boleh semua orang tahu (dipublikasikan). 2. Kunci rahasia (private key): Kunci yang dirahasiakan (hanya boleh diketahui oleh satu orang). Kunci-kunci tersebut berhubungan satll sarna lain. Dengan kunci publik orang dapat mengenkripsi pesan tetapi tidak bisa mendekripsinya. Hanya orang yang memiliki kunci rahasia yang dapat mendekripsi pesan terse but. Algoritma asimetri bisa mengirimkan pesan dengan lebih aman daripada algoritma simetri. Contoh, Bob mengirim pesan ke Alice menggunakan algoritma asimetri. Hal yang harus dilakukan adalah: 1. Bob memberitahukan kunci publiknya ke Alice.

2. Alice mengenkripsi pesan dengan menggunakan kunci publik Bob. 3. Bob mende'uipsi pesan dari Alice dengan kunci rahasianya. 4. Begitu juga sebaliknya jika Bob ingin mengirim pesan ke Alice.

., 46

Pengantar IImu Kriptografi

Algoritma yang memakai kunci publik di antaranya adalah: 1. Digital Signature Algorithm (DSA),

2. RSA, 3. Diffie-Hellman (DH),

A\gorilmo Kriptogrofi

47

3.5 PROSES PENGKODEAN Cara kerja sistem penyandian sangat sederhana, bisa dianalogikan dengan kayu. mesin, serbuk kayu. Kayu digunakan sebagai bahan baku untuk mem­ buat serbuk kayu dan untuk membuat serbuk terse but dibutuhkan mesin pembuatnya. Coba lihat gambar di bawah ini.

4. Elliptic Curve Cryptography (ECC), 5. Kriptografi Quantum, dan lain sebagainya.

3.2.3 FUNGSJ HASH Fungsi Hash disebut dengan fungsi Hash saru arah (one-way function), message digest, fi'ngerprint. fungsi kompresi dan message authentication code merupakan suatu fungsi matematika yang mengambil masukan panjang variabel dan mengubahnya ke dalam urutan biner dengan panjang yang tetap. Fungsi Hash biasanya diperlukan bila ingin membuat sidik jari dari suatu pesan. Sidik jari pada pesan merupakan suaru tanda bahwa pesan tersebut benar-benar berasal dari orang yang diinginkan. Tentang hal ini akan dibahas lebih laniut bagian hoY;L-".~"

3.3 KRIPTOGRAFI KLASIK

Gambar 3.1lluslrnsi Proses Teks-Kode

Pad a gam bar di atas kit a bisa lihat proses kayu menjadi serbuk kayu. Begitu juga halnya yang terjadi pada sistem penyandian. Kayu adalah teks-asli sedangkan mesin adalah algoritma kriptografi, sedangkan untuk proses pem­ buatan serbuk dibutuhkan aksi. yang mana aksi adalah kunci dan serbuk kayu adalah teks- kode.

Kriptografi klasik merupakan suaru algoritma yang menggunakan satu kunci untuk mengamankan data. Teknik ini sudah digunakan beberapa abad yang lalu. Dua teknik dasar yang biasa digunakan pada algoritma jenis ini adalah sebagai berikut:

Tahap-tahap proses kriptografi atau sistem penyandian adalah sebagai berikut:

1. Teknik substitusi: Penggantian setiap karakter teks-asli dengan karakter

1. Dibutuhkan algoritma, sebagai urutan dari langkah-langkah untuk

lain. 2. Teknik transposisi (permutasi): Dilakukan dengan menggunakan per­ mutasi karakter.

3.4 KRIPTOGRAFI MODERN Kriptografi modern mempunyai kerumitan yang sangat kompleks karena dioperasikan menggunakan komputer. Hal ini akan dibahas lebih detail bagian lain.

melakukan 2.

suatu nilai yang digunakan pada algoritma sehingga algoritma tersebut bisa bekerja.

48

Pengantar IImu Kriptografi

~A.~

\\1

AlGORllMA KR1P10GRAfl KlAS1K

4.1 PENDAHUlUAN Kriptografi sudah dipakai sejak empat abad yang lalu. Perkembangan krip­ tografi begitu pesat sampai sekarang. Untuk mendapatkan pengertian bagai­ mana suau algoritma kriptografi berkembang. buku ini akan menelusuri satu per satu algoritma kriptografi klasik. dari teknik subsitusi dan teknik transposisi. Kriptografi klasik memiliki beberapa citi: 1.

berbasis karakter.

2.

menggunakan pena dan kertas saja. belum ada komputer,

3.

termasuk ke dalam kriptografi kund sil1etri.

Tiga alasan mempelajari algoritma klasik: I.

memahami konsep dasar kriptografi.

2.

dasar algoritma kriptografi modern.

3.

memahami kelemahan sistem kode.

4.2 TEKNIK SUBSITUSI Substitusi merupakan penggantian setiap karakter teks-asli dengan karakter lain.

A

F

K

p

c

U

X

50

Pengantar Ilmu Kriptografi

Terdapat empat istilah substimsi kode. antara lain:

1. Monoalphabec: setiap karakter teks-kode menggantikan salah sam karakter teks-asli. 2. Polyalphabec: setiap karakter teks-kode dapat menggantikan lebih dari satu maeam karakter teks-asH.

3. Monogral sam enkripsi dilakukan terhad.lp satu karakter teks-asli.

Algoritma Kriptografi Klasik

51

Contoh algoritma kode Kaisar: Untuk teks-asH diberikan simbol "P" dan teks­ kodenya He" dan kunci "K". Jadi rumusnya dapat dibuat sebagai berikut: C=E(P) = (P+K) mod (26) Pada eontoh di atas kita bisa memasukkan kunci dengan nilai tiga sehingga menjadi: C=E(P)

=

(P+3) mod (26)

4. Polygraph: sam enkripsi dilakukan terhadap lebih dari sam karakter teks­ ash.

Rumus dekripsinya menjadi seperti berikut:

4.2.1 KODE KAISAR

Dari eomoh di atas. dengan memasukkan kunci tiga. maka:

Subsitusi kode yang pertama dalam dunia penyanuian terjadi pada pemerin­ tahan Yulius Caesar yang dikenal dengan kode Kaisar. dengan mengganti posisi huruf awal dari alfabet atau disebut juga dengan algoritma ROT3.

Plain Text Encoded Text i---'-' DEF ABC

-

Attack

D\NWdfn

C

B I

(C 3) mod (26)

Jika diberikan teks-ash sebagai berikut:

JHPDBRJBDPHQHODQNRUEDQWLGDNVHGLNLWGDQVDPSDL VHND UDQJPHNDUDQJPHQBLVDNDQWUDPDEDJLRUDQJRUDQJNRWDJXG

HJ

-

Seeara lebih detail, eoba perhatikan eontah berikut: A

=

Dengan menggunakan kunci tiga maka akan didapat teks-kode berikut:

----i

Khoor

P '" D(C)

(C K) mod (26)

GEMPA YOGYA MENELAN KORBAN TIDAK SEDlKIT DAN SAMPAI SEKARANG MASIH MENYISAKAN TRAUMA BAGI ORANG-ORANG KOTAGUDEG

Caesar Cipher (ROT3)

Hello

P = D(C)

(

D

E

F

G

H

I

J

K

l

M

N

01 p

Q

II

~

1

U

V

W

X

2

j

~

5

f

I

8

~

Ie

11

12

1J

14 liS

16

17

18

19

20

21

2:l

23 24

i

-

Z

25 '--

Menjadi: u v w x 19 ZC 21

22

2J

)

Z

24

25

A

B

Jika penggeseran yang dilakukan sebanyak tiga kali maka kunei untuk dekripsinya adalah 3. Penggeseran kunci yang dilakukan tergantung keinginan pengirim pesan. Bisa saja kunei yang dipakai a 7. b '" 9, dan seterusnya.

Kode Kaisar dipeeahkan dengan eara brute force attaCl. suatu bentuk serangan yang dilakukan dengan meneoba-eoba berbagai kemungkiuan untuk menemukan kunei. Bisa juga menggunakan exJlaustive key search, karena jumlah kunei sangat sedikit (hanya ada 26 kunei). Meski sedikit. kunei suatu kode eukup merepotkan kriptanalis, karen a untuk menemukannya dengan brute foree attaek dibutuhkan waktu yang eukup lama. Ada cara lain yang dapat digunakan kriptanalis untuk memeeahkannya, yaitu dengan melihat frekuensi kemuneulan huruf sepeni yang ditunjukkan tabel frekuensi kemuneulan huruf berikut ini:

52

Pengantar IImu Kriptografi Tabel 4. I Frekuensi Kemunculan Huruf dalam Bahasa

Karakter A B

C D E

F G H I I

J K L M

Peluang 0.082 .015 .028 .043 .127 .022 .020 .061 .070 .002 .008 .040 .024

Karakter N

0 P Q R S T U V

W X Y

Z

Peluang .067 .075 .019 .001 .060 .063

I E

K T

R

0

S M

1* Program.dekr1psi

17.50 10.30 8.70 7.50 5.65 5.10 4.60 4.50 4.50 . 4.50

Brute force attack juga digunakan untuk mencari password dan ID dari suatu sistem. Pada serangan ini para penyerang mencoba beberapa kemungkinan yang ada dari daftar kata-kata yang ada di dalam kamus. Umumnya serangan ini dapat berhasil. hanya saja memerlukan waktu yang lama.

*1

main (int' argo •. char 'argv[J) I ..

FILE *Fin, *Foutj

char p, 'C;

int~'n~ 1, It; Fin ,,·fop41n(argv[ll. "rb"):

if (Fin - NULL)

. printt("Kesalahan dalam mmnbuka %s sebagai berkas ma .. ukan/n••··• Fout. - fopen(arqv[2], Itwb lf ) ; , " printt("\noakripsi %s manjadi , ..... \n", argv[l·J. argvl2J I; printf(".\n") ; printf(tlk : .. ,; scant ("'d". &k);

"hil.. «c -
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF