Kriptografi

22
KRIPTOGRAFI DENGAN MENGGUNAKAN ALGORITMA SUBTITUSI KARAKTER Ditujukan untuk memenuhi tugas matakuliah Keamanan Sistem Informasi Program Studi Teknik Informatika Fakultas Teknik dan Ilmu Komputer DENNY SANTOSO 10110645 FAKHRIZAL AHADIAT 10110655 FIRMAN PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK DAN ILMU KOMPUTER UNIVERSITAS KOMPUTER INDONESIA

description

Enkripsi dengan menggunakan algoritma subtitusi merupakan salah satu tugas pada mata kuliah keamanan sistem informasi

Transcript of Kriptografi

Page 1: Kriptografi

KRIPTOGRAFI DENGAN MENGGUNAKAN ALGORITMA

SUBTITUSI KARAKTER

Ditujukan untuk memenuhi tugas matakuliah Keamanan Sistem Informasi

Program Studi Teknik Informatika

Fakultas Teknik dan Ilmu Komputer

DENNY SANTOSO 10110645

FAKHRIZAL AHADIAT 10110655

FIRMAN

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

2014

Page 2: Kriptografi

DAFTAR ISI

DAFTAR ISI......................................................................................................................................... i

DAFTAR GAMBAR........................................................................................................................... ii

DAFTAR TABEL............................................................................................................................... iii

1.1 Teori Kriptografi.................................................................................................................1

1.2 Macam – macam Algoritma Kriptografi...........................................................................1

1.2.1 Algoritma Simetri........................................................................................................2

1.2.2 Algoritma Asimetri......................................................................................................2

1.2.3 Fungsi Hash..................................................................................................................3

1.3 Kriptografi Klasik...............................................................................................................3

1.3.1 Teknik Subtitusi...........................................................................................................3

1.3.2 Teknik Transposisi.......................................................................................................5

2. Algoritma Kriptografi yang digunakan.....................................................................................6

2.1 Implementasi Kriptografi pada Program..........................................................................6

7. Hasil Deskripsi Algoritma Kelompok Lain..............................................................................10

Daftar Pustaka.................................................................................................................................... iv

i

Page 3: Kriptografi

DAFTAR GAMBAR

Gambar 1 Caesar Cipher....................................................................................................................3

Gambar 2 Karakter Plain teks [1]......................................................................................................4

Gambar 3 Karakter Cipher Teks menggunakan Kode Kaisar [1]..................................................4

Gambar 4 Contoh Kunci Permutasi Teknik Transposisi [1]............................................................5

Gambar 5 Contoh Kunci Inversi Permutasi [1]................................................................................5

ii

Page 4: Kriptografi

DAFTAR TABEL

Tabel 1 Cipher Text pada Huruf Vokal.............................................................................................6

Tabel 2 Cipher Text pada Huruf Konsonan......................................................................................7

iii

Page 5: Kriptografi

1. Pendahuluan

Informasi pada saat ini sangat diperlukan oleh para khalayak ramai karena informasi sudah

menjadi komoditi utama bagi berkembangnya suatu organisasi. Informasi yang sangat cepat

memberikan dampak pengaruh pada perusahaan terhadap pandangan dunia. Karena dengan sangat

pentingnya nilai sebuah informasi menyebabkan seringkali informasi jatuh ketangan yang salah

dapat menimbulkan kerugian bagi pemilik informasi.

Keamanan informasi saat ini sangat dibutuhkan karena keamanan sistem informasi menjadi

faktor penting yang perlu dipertimbangkan. Tujuan keamanan sistem informasi tersebut ialah

untuk mencegah terjadinya ancaman terhadap sistem serta untuk mendeteksi dan memperbaiki

kerusakan yang disebabkan oleh threat yang menyerang sistem. Ancaman terhadap sistem

informasi dapat dibagi menjadi dua macam yaitu ancaman yang aktif dan pasif. Ancaman aktif

mencakup kecurangan dan kejahatan terhadap dunia komputer, sedangkan ancaman pasif mecakup

kegagalan sistem, kesalahan manusia (Human Error), dan bencana alam.

1.1 Teori Kriptografi

Kriptografi berasal dari bahasa Yunani, cryto dan graphia. Crypto berarti secret (rahasia) dan

graphia berarti writing (tulisan). Menurut terminologinya, kriptografi adalah ilmu dan seni untuk

menjaga keamanan pesan ketika pesan dikirim dari suatu tempat ke tempat lain.

Algoritma kriptografi memiliki tiga fungsi dasar, yaitu :

1. Enkripsi : merupakan hal yang sangat penting dalam kriptografi, merupakan pengamanan data

yang dikirimkan agar terjaga kerahasiaannya. Pesan yang berasal dari plaintext diubah

menjadi ciphertext. Enkripsi dapat disebut juga cipher atau kode. Sama halnya dengan

merubah teks biasa menjadi teks yang tidak dapat dimengerti pada saat dilihat.

2. Deskripsi : merupakan hal kebalikan dari enkripsi. Deskripsi ini mengembalikan keadaan teks

yang sudah berubah menjadi cipher teks menjadi plain teks atau teks biasa yang dapat kita

mengerti.

3. Key : kunci untuk melakukan enkripsi dan deskripsi atau keyword pada pesan yang akan

dienkripsi dan deskripsi. Kunci terdiri dari 2 bagian yaitu public key dan private key.

1.2 Macam – macam Algoritma Kriptografi

Algoritma Kriptografi dibagi menjadi tiga bagian berdasarkan kunci yang dipakainya, yaitu :

1. Algoritma Simetri (menggunakan satu kunci untuk enkripsi dan deskripsinya/kunci yang

digunakan sama).

2. Algoritma Asimetri (menggunakan kunci yang berbeda untuk enkripsi dan deskripsinya /

memakai kunci public lalu menggunakan kunci private)

1

Page 6: Kriptografi

3. Fungsi Hash (fungsi enkripsi satu arah). [1]

1.2.1 Algoritma Simetri

Algoritma ini sering disebut juga algoritma klasik karena memakai kunci yang sama untuk

kegiatan enkripsi dan deskripsinya. Algoritma ini sudah ada sejak lebih dari 4000 tahun yang lalu.

Bila mengirim pesan dengan menggunakan algoritma ini, si penerima pesan haru diberitahu kunci dari

pesan tersebut agar bisa mendeskripsikan pesan yang dikirim. Keamanan dari pesan yang

menggunakan algoritma ini tergantung pada kunci. Jika kunci tersebut diketahui oleh orang lain maka

orang tersebut akan dapat melakukan enkripsi dan deskripsi pesan. Algoritma yang memakai kunci

simetri ini ialah: [1]

1. Data Encryption Standard (DES).

2. RC2, RC4, RC5, RC6.

3. International Data Encryption Algorithm (IDEA).

4. Advanced Encryption Standard (AES).

5. One Time Pad (OTP).

6. A5, dan lain-lain.

1.2.2 Algoritma Asimetri

Algoritma asimetri sering juga disebut dengan algoritma kunci publik, dengan arti kata kunci

yang digunakan untuk melakukan enkripsi dan deskripsi berbeda. Pada algoritma asimetri kunci

terbagi menjadi dua bagian yaitu :

1. Kunci umum (Public Key) : Kunci yang boleh semua orang tahu.

2. Kunci rahasia (private key) : Kunci yang dirahasikan (hanya boleh diketahui oleh satu orang).

Kunci-kunci tersebut berhubungan satu sama lain. Dengan kunci publik orang dapat

mengenkripsi pesan tetapi tidak bisa mendeskripsinya. Hanya orang yang memiliki kunci rahasia yang

dapat mendeskripsi pesan tersebut. Algoritma asimetri bisa mengirimkan pesan dengan lebih aman

daripada algoritma simetri. [1]

Algoritma yang memakai kunci publik diantaranya adalah :

1. Digital Signature Algorithm (DSA).

2. RSA.

3. Diffie-Hellman (DH).

4. Elliptic Curve Cryptography (ECC).

5. Kriptografi Quantum, dan lain-lain.

2

Page 7: Kriptografi

1.2.3 Fungsi Hash

Fungsi Hash sering disebut juga dengan fungsi Hash satu arah (one-way function), message

client, fingeprint, fungsi kompresi dan message authentication code (MAC), merupakan suatu fungsi

matematika yang mengambil masukan panjang variabel dan mengubahnya kedalam urutan biner

dengan panjang yang tetap. Fungsi Hash biasanya diperlukan bila ingin membuat sidik jari dari suatu

pesan. Sidik jari pada pesan merupakan suatu tanda bahwa pesan tersebut benar-benar berasal dari

orang yang diinginkan. [1]

1.3 Kriptografi Klasik

Kriptografi klasik merupakan suatu algoritma yang menggunakan satu kunvi untuk

mengamankan data. Teknik ini sudah digunakan beberapa abad yang lalu. Dua teknik dasar yang

biasa digunakan pada algoritma jenis ini adalah sebagai berikut :

1. Teknik Subtitusi : Penggantian setiap karakter teks asli dengan karakter lain.

2. Teknik transposisi : dilakukan dengan menggunakan permutasi karakter.

1.3.1 Teknik Subtitusi

Subtitusi merupakan penggantian setiap karakter teks asli dengan karakter lain. Terdapat

empat istilah subtitusi kode, antara lain:

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

2. Polyalphabet : setiap karakter teks-kode dapat menggantikan lebih dari satu macam karakter

teks-asli.

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

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

1.3.1.1 Kode Kaisar (Caesar Cipher)

Subtitusi kode yang pertama dalam dunia penyandian yang diciptakan oleh pemerintahan

Julius Caesar yang dikenal dengan kode Kaisar, dengan mengganti huruf awal dari alfabet menjadi

huruf ketiga alfabet. [1]

Gambar 1 Caesar Cipher

3

Page 8: Kriptografi

Secara lebih detail, lihat contoh berikut :

Gambar 2 Karakter Plain teks [1]

Menjadi :

Gambar 3 Karakter Cipher Teks menggunakan Kode Kaisar [1]

1.3.1.2 ROT 13

Pada sistem ini sebuah huruf digantikan dengan huruf alfabet yang letaknya 13 posisi dari

huruf alfabet awal. Sebagai contoh huruf “A” digantikan dengan huruf “N”, huruf “B” digantikan

dengan huruf “O” dan seterusnya. Secara matematis, hal ini dapat dituliskan sebagai berikut :

C ROT13=(M)

Untuk mengembalikan kembali ke bentuk semula dilakukan enkripsi ROT13 dua kali.

M = ROT13(ROT13(M))

1.3.1.3 VIGENNERE

Kode Vigennere merupakan sistem sandi poli-alfabetik yang sederhana. Sistem sandi poli-

alfabetik mengenkripsi sekaligus sebuah teks yang terdiri dari beberapa huruf. Sandi Vigennere

menggunakan subtitusi dengan fungsi shift seperti pada Kode Caisar. [2]

Contoh menggunakan kode Vigennere mengubah teks “sayamakan” menjadi cipher text

dengan himpunan kunci (2,4,5).

Jawab :

c[0]= 18 + 2 mod 26 = 20

c[1]= 0 + 4 mod 26 = 4

c[2]= 24 + 5 mod 26 = 3

c[3]= 0 + 2 mod 26 = 2

c[4]= 12 + 4 mod 26 = 16

4

Page 9: Kriptografi

c[5]= 0 + 5 mod 26 = 5

c[6]= 10 + 2 mod 26 = 12

c[7]= 0 + 4 mod 26 = 4

c[8]= 13 + 5 mod 26 = 18

Maka hasil angka tersebut ditransformasi ke huruf didapatkan teks sandi : “UEDCQFMES”

1.3.2 Teknik Transposisi

Teknik Transposisi adalah teknik yang menggunakan permutasi karakter, yang mana dengan

menggunakan teknik ini pesan yang asli tidak dapat dibaca kecuali oleh orang yang memiliki kunci

untuk mengembalikan pesan tersebut ke bentuk semula. Sebagai contoh :

Ada 6 kunci untuk melakukan permutasi kode :

Gambar 4 Contoh Kunci Permutasi Teknik Transposisi [1]

Dan 6 kunci untuk inversi dari permutasi tersebut :

Gambar 5 Contoh Kunci Inversi Permutasi [1]

Seadainya melakukan permutasi terhadap kalimat dibawah ini :

“SAYA SEDANG BELAJAR KEAMANAN KOMPUTER”

Terlebih dahulu kalimat tersebut dibagi menjadi 6 blok dan apabila terjadi kekurangan dari

blok bisa ditambah dengan huruf yang disukai. Dalam contoh ini ditambah dengan huruf X. Hal ini

berguna untuk mempersulit analisis dari kode tersebut. [1]

“SAYASE DANGBE LAJARK EAMANA NKOMPU TERXXX”

5

Page 10: Kriptografi

Setelah dibagi menjadi 6 blok maka dengan menggunakan kunci diatas setiap blok akan

berubha menjadi seperti dibawah ini :

“YSSEAA NBDEGA JRLKAA MNEAAA OPNUMK RXTXXE”

Untuk mengembalikan kebentuk teks asli maka dilakukan inversi terhadap chipertext dengan

mengikuti kunci nomor dua diatas. Ada banyak teknik untuk permutasi ini, seperti zig zag, segitiga,

spiral dan diagonal. [1]

2. Algoritma Kriptografi yang digunakan

Dalam pengerjaan tugas Kriptografi ini kelompok kami menggunakan teknik subtitusi yang

diantaranya yaitu :

1. Teknik Subtitusi Caisar Cipher

2. Teknik Subtitusi ROT13

3. Teknik Subtitusi Vigennere

4. Teknik Transposisi Columnar

2.1 Implementasi Kriptografi pada Program

Dalam proses enkripsi untuk huruf vokal kelompok kami menggunakan teknik subtitusi

ROT13, Caisar Cipher, dan Vigennere. Proses Enkripsi dapat dilihat dibawah ini :

Tabel 1 Cipher Text pada Huruf Vokal

Proses EnkripsiA E I O U

1 2 3 4 5

Enkripsi 1 = (ROT13) N R V B H

Enkripsi 2 = (Vigennere Himpunan (3,7,11)) U C Y I O

Enkripsi 3 = (Caisar 9 huruf(Hasil Enkripsi 1)) W A E K Q

Enkripsi 4 = (Vigennere(Hasil Enkripsi 3)) D D L R X

1. Proses enkripsi pertama menggunakan teknik subtitusi ROT13 sehingga didapatkan :

Huruf “A” menjadi “N”,

Huruf “E” menjadi “R”,

Huruf “I” menjadi “V”,

Huruf “O” menjadi “B”,

Huruf “U” menjadi “H”.

6

Page 11: Kriptografi

2. Proses enkripsi kedua menggunakan teknik Vigennere Himpunan (3,7,11) sehingga didapatkan :

Huruf “A” menjadi “U”,

Huruf “E” menjadi “C”,

Huruf “I” menjadi “Y”,

Huruf “O” menjadi “I”,

Huruf “U” menjadi “O”.

3. Proses enkripsi ketiga menggunakan teknik caisar 9 huruf pada hasil dari enkripsi pertama

sehingga didapatkan :

Huruf “N” menjadi “W”,

Huruf “R” menjadi “A”,

Huruf “V” menjadi “E”,

Huruf “B” menjadi “K”,

Huruf “H” menjadi “Q”.

4. Proses enkripsi keempat menggunakan teknik vigennere himpunan (3,7,11) pada hasil dari

enkripsi ketiga sehingga didapatkan :

Huruf “W” menjadi “D”,

Huruf “A” menjadi “D”,

Huruf “E” menjadi “L”,

Huruf “K” menjadi “R”,

Huruf “Q” menjadi “X”.

Dalam proses enkripsi untuk huruf Konsonan kelompok kami menggunakan teknik subtitusi

ROT13, Caisar Cipher, Vigennere, dan metode Transposisi Columnar. Proses Enkripsi dapat dilihat

dibawah ini :

Tabel 2 Cipher Text pada Huruf Konsonan

Proses EnkripsiB C D F G H J K L M N P Q R S T V W X Y Z

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

Enkripsi 1 = (Caisar

9 huruf)K L M O P Q S T U V W Y Z A B C E F G H I

Enkripsi 2 = ROT13 X Y Z B C D F G H I J L M N O P R S T U V

7

Page 12: Kriptografi

(Hasil Enkripsi 1)

Enkripsi 3 =

Vigennere (Hasil

Enkripsi 1)

R W P Z S X V B F Y D B G D I N L Q J O T

Enkripsi 4 =

Vigennere (Hasil

Enkripsi 2)

I B G I N G Q J O T M W P U Z S C V B F Y

Enkripsi 5 =

Transposisi

Columnar (Hasil

Enkripsi 3)

Z D Q X G O W F N S B J P Y L R B I V D T

Enkripsi 6 =

Transposisi

Columnar (Hasil

Enkripsi 4)

I M V G P F B O S N W B G T C I J Z Q U Y

8

Page 13: Kriptografi

1. Proses enkripsi pertama menggunakan teknik subtitusi Caisar 9 huruf sehingga didapatkan :

Huruf “B” menjadi “K”

Huruf “C” menjadi “L”

Huruf “D” menjadi

“M”

Huruf “F” menjadi “O”

Huruf “G” menjadi “P”

Huruf “H” menjadi “Q”

Huruf “J” menjadi “S”

Huruf “K” menjadi “T”

Huruf “L” menjadi “U”

Huruf “M” menjadi

“V”

Huruf “N” menjadi “W”

Huruf “P” menjadi “Y”

Huruf “Q” menjadi “Z”

Huruf “R” menjadi “A”

Huruf “S” menjadi “B”

Huruf “T” menjadi “C”

Huruf “V” menjadi “E”

Huruf “W” menjadi “F”

Huruf “X” menjadi “G”

Huruf “Y” menjadi “H”

Huruf “Z” menjadi “I”

2. Proses enkripsi kedua menggunakan teknik ROT13 pada hasil dari enkripsi pertama sehingga

didapatkan :

Huruf “K” menjadi “X”

Huruf “L” menjadi “Y”

Huruf “M”menjadi “Z”

Huruf “O” menjadi “B”

Huruf “P” menjadi “C”

Huruf “Q” menjadi “D”

Huruf “S” menjadi “F”

Huruf “T” menjadi “G”

Huruf “U” menjadi “H”

Huruf “V” menjadi “I”

Huruf “W” menjadi “J”

Huruf “Y” menjadi “L”

Huruf “Z” menjadi “M”

Huruf “A” menjadi “N”

Huruf “B” menjadi “O”

Huruf “C” menjadi “P”

Huruf “E” menjadi “R”

Huruf “F” menjadi “S”

Huruf “G” menjadi “T”

Huruf “H” menjadi “U”

Huruf “I” menjadi “V”

3. Proses enkripsi ketiga menggunakan teknik Vigennere himpunan (3,7,11) pada hasil dari enkripsi

pertama sehingga didapatkan :

Huruf “K” menjadi “R”

Huruf “L” menjadi

“W”

Huruf “M”menjadi “P”

Huruf “O” menjadi “Z”

Huruf “P” menjadi “S”

Huruf “Q” menjadi “X”

Huruf “S” menjadi “V”

Huruf “T” menjadi “B”

Huruf “U” menjadi “F”

Huruf “V” menjadi “Y”

Huruf “W” menjadi “D”

Huruf “Y” menjadi “B”

Huruf “Z” menjadi “G”

Huruf “A” menjadi “D”

Huruf “B” menjadi “I”

Huruf “C” menjadi “N”

Huruf “E” menjadi “L”

Huruf “F” menjadi “Q”

Huruf “G” menjadi “J”

Huruf “H” menjadi “O”

Huruf “I” menjadi “T”

4. Proses enkripsi keempat menggunakan teknik vigennere himpunan (3,7,11) pada hasil dari

enkripsi kedua sehingga didapatkan :

Huruf “X” menjadi “I”

Huruf “Y” menjadi “B”

Huruf “Z”menjadi “G”

Huruf “B” menjadi “I”

Huruf “C” menjadi “N”

Huruf “D” menjadi “G”

Huruf “F” menjadi “Q”

Huruf “G” menjadi “J”

Huruf “H” menjadi “O”

Huruf “I” menjadi “T”

Huruf “J” menjadi “M”

Huruf “L” menjadi “W”

Huruf “M” menjadi “P”

Huruf “N” menjadi “U”

Huruf “O” menjadi “Z”

Huruf “P” menjadi “S”

Huruf “R” menjadi “C”

Huruf “S” menjadi “V”

Huruf “T” menjadi “B”

Huruf “U” menjadi “F”

Huruf “V” menjadi “Y”

9

Page 14: Kriptografi

5. Proses enkripsi kelima menggunakan teknik transposisi columnar dengan kunci (6,3,5,1,4,2,7)

pada hasil dari enkripsi ketiga sehingga didapatkan :

Huruf “R” menjadi “Z”

Huruf “W” menjadi

“D”

Huruf “P”menjadi “Q”

Huruf “Z” menjadi “X”

Huruf “S” menjadi “G”

Huruf “X” menjadi “O”

Huruf “V” menjadi

“W”

Huruf “B” menjadi “F”

Huruf “F” menjadi “N”

Huruf “Y” menjadi “S”

Huruf “D” menjadi “B”

Huruf “B” menjadi “J”

Huruf “G” menjadi “P”

Huruf “D” menjadi “Y”

Huruf “I” menjadi “L”

Huruf “N” menjadi “R”

Huruf “L” menjadi “B”

Huruf “Q” menjadi “I”

Huruf “J” menjadi “V”

Huruf “O” menjadi “D”

Huruf “T” menjadi “T”

6. Proses enkripsi keenam menggunakan teknik transposisi columnar dengan kunci (6,3,5,1,4,2,7)

pada hasil dari enkripsi keempat sehingga didapatkan :

Huruf “I” menjadi “I”

Huruf “B” menjadi

“M”

Huruf “G”menjadi “V”

Huruf “I” menjadi “G”

Huruf “N” menjadi “P”

Huruf “G” menjadi “F”

Huruf “Q” menjadi “B”

Huruf “J” menjadi “O”

Huruf “O” menjadi “S”

Huruf “T” menjadi “N”

Huruf “M” menjadi “W”

Huruf “W” menjadi “B”

Huruf “P” menjadi “G”

Huruf “U” menjadi “T”

Huruf “Z” menjadi “C”

Huruf “S” menjadi “I”

Huruf “C” menjadi “J”

Huruf “V” menjadi “Z”

Huruf “B” menjadi “Q”

Huruf “F” menjadi “U”

Huruf “Y” menjadi “Y”

7. Hasil Deskripsi Algoritma Kelompok Lain

10

Page 15: Kriptografi

Daftar Pustaka

[1] D. Ariyus, Pengantar Ilmu Kriptografi Teori, Analisis, dan Implementasi, 1st penyunt., Yogyakarta:

ANDI, 2008.

[2] R. Sadikin, kriptografi untuk keamanan jaringan, Yogyakarta: ANDI, 2012.