BAB2 LANDASAN TEORI 2.1 Kriptografi

  

BAB2

LANDASAN TEORI

2.1 Kriptografi

  2.1.1Pengertian Kriptografi

  Secara etimologi, kriptografi berasal dari bahasa Yunani, yaitu: cryptos berarti rahasia dan graphein berarti tulisan [6]. Sedangkan secara terminologi, kriptografi adalah ilmu dan seni untuk menjaga kerahasiaan pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat dipahami maknanya sehingga tidak dapat dibaca oleh orang yang tidak berkepentingan.

  Setiap orang dimungkinkan untuk bebas memilih metode untuk merahasiakan pesan dalam metode kriptografi. Metode tersebut berbeda-beda untuk setiap pelaku kriptografi sehingga penulisan pesan rahasia mempunyai estetika tersendiri. Estetika penulisan pesan rahasia ini menjadikan kriptografi sebagai sebuah seni. Pada perkembangan selanjutnya, kriptografi dikenal sebagai disiplin ilmu yang menggunakan teknik matematika untuk keamanan informasi, seperti privasi dan autentikasi.

  2.1.2 Tujuan Kriptografi

  Kriptografi bertujuan untuk memberikan layanan keamanan [10] sebagai berikut: 1.

  Autentikasi (Authentication) Autentikasi memberikan kepastian terhadap identitas setiap entitas yang terlibat dan sumber sebuah data.

2. Kerahasiaan (Confidentiality)

  Data yang ditransmisikan diproteksi terhadap pengungkapan oleh pihak-pihak yang tidak berwenang.

  3. Keutuhan Data (Data Integrity) Data yang diterima oleh penerima dipastikan adalah sama dengan data yang dikirim oleh pengirim.

  4. Nirpenyangkalan (Non-Repudiation) Setiap entitas yang berkomunikasi tidak dapat menolak atau menyangkal atas data yang telah dikirim atau diterima.

2.2 Sistem Kriptografi

  Kriptografi membentuk sebuah sistem yang dinamakan sistem kriptografi (cryptosystem). Cryptosystem adalah lima tuple (P, C, K, E, D), dimana P adalah

  

plaintext ,C adalah ciphertext, K adalah himpunan kunci-kunci, E adalah himpunan

  fungsi enkripsi dan D adalah himpunan fungsi dekripsi [9]. Berdasarkan prinsip kerjanya, sistem kriptografi terbagi dua, yaitu sistem kriptografi klasik (simetris) dan modern (asimetris) [11].

2.2.1 Sistem Kriptografi Klasik (Simetris)

  Kriptografi klasik umumnya merupakan teknik penyandian dengan kunci simetris dan pesan disembunyikan sehingga tidak memiliki arti dengan metode substitusi dan/atau transposisi. Terdapat lima komponen utama dalam sistem kriptografi klasik, yaitu: 1.

  Plaintext Teks asli dapat berupa pesan atau data sebagai input algoritma enkripsi.

  2. Kunci Rahasia Kunci rahasia sebagai penentu output dari algoritma enkripsi. Antar entitas harus saling mengetahui kunci ini agar dapat melakukan enkripsi/dekripsi pesan.

  3. Ciphertext Hasil dari proses algoritma enkripsi di mana teks asli dianggap telah tersembunyi.

  4. Algoritma Enkripsi Algoritma enkripsi mengubah teks asli menjadi ciphertext dengan parameter masukan, yaitu teks asli dan kunci rahasia.

5. Algoritma Dekripsi

  Algoritma dekripsi mengubah ciphertext menjadi teks asli dengan parameter masukan, yaitu ciphertext dan kunci rahasia.

  Berdasarkan skema pada Gambar 2.1, kriptografi simetris menggunakan kunci tunggal yang mengharuskan pengirim dan penerima menyetujui dan mengetahui satu kunci rahasia tertentu sebelum mereka dapat berkomunikasi dengan aman. Keamanan kriptografi simetris ini terletak pada kerahasiaan kuncinya. Semua algoritma kriptografi klasik termasuk dalam algoritma simetri. A B

  Teks Asli Teks Asli

  

Ciphertext

Algoritma Algoritma

Dekripsi

  Enkripsi

Kunci Rahasia

: Jalur Rahasia

Gambar 2.1 Skema Sistem Kriptografi Klasik

2.2.2Sistem Kriptografi Kunci Publik Sistem kunci kriptografi kunci publik merupakan bagian dari sistem kriptografi modern.

  Pada kriptografi kunci publik terdapat dua jenis kunci, kunci pertama ialah kunci tidak rahasia, yaitu kunci enkripsi (K e ) yang disebut kunci publik (K publik ). Kunci kedua ialah

  d privat

  kunci dekripsi (K ) bersifat rahasia (K ) yang ditunjukkan pada gambar 2.2. Berikut algoritma sistem kriptografi kunci publik [12]:

  (K , K )  PembangkitKunci() publik privat …(B) Ciphertext  Enkripsi(K publik , Plaintext) …(A) Plaintext  Dekripsi(K publik , Ciphertext) A B …(B) Teks Asli

  Teks Asli Ciphertext

  Algoritma Algoritma Enkripsi Dekripsi Pembangkit K privat B

  Kunci K B publik

Gambar 2.2 Skema Sistem Kriptografi Kunci Publik

2.2.3Sistem Kriptografi Non Kunci Publik

  Hampir semua algoritma kriptografinya menggunakan konsep kunci publik, seperti Rivest-Shamir-Adleman (RSA), El-Gamal, Rabin dan sebagainya. Kecuali algoritma Pohlig˗Hellman karena kunci enkripsi maupun kunci dekripsinya bersifat rahasia.Skema non kunci publik (dengan asumsi kunci sudah diketahui oleh kedua belah pihak sebelumnya) dapat dilihat pada Gambar 2.3. A B

  Teks Asli Teks Asli

  

Ciphertext

Algoritma Algoritma

  

Enkripsi Dekripsi

Kunci Rahasia A Kunci Rahasia B

Gambar 2.3 Skema Sistem Kriptografi Non Kunci Publik

2.3 Algoritma Nihilist Cipher

  Algoritma Nihilist ciphers ditemukan sekitar abad ke-19 tepanya tahun 1880an [1] dan digunakan di Rusia oleh Russian Nihilist untuk mengorganisir teroris-teroris dalam melawan rezim czarist. Beberapa tahun kemudian algoritma ini mengalami perkembangan dan digunakan sebagai alat komunikasi mata-mata Soviet. Nihilist mendukung cara untuk menggulingkan kekuasaan Tsar Alexander II di Rusia [3].

2.3.1 Enkripsi Nihilist Cipher

  Langkah-langkah dalam mengenkripsi sebuah pesan pada algoritma Nihilist Cipher adalah sebagai berikut :

  1. Algoritma ini menggunakan Polybius Squre [3] yaitu sebuah kotak 5x5, dengan huruf Latin secara acak dan misalkan huruf J dihilangkan. Setiap elemen berisi huruf yang berbeda dengan 2 digit koordinat. Penempatan setiap huruf dapat diacak. Untuk kata SIHOTANG dapat direpresentasikan sebagai koordinat (43 24 23 34 44 11 33 22).

Tabel 2.1 Tabel Polybius Square

  ciphertext dan “TIGA” menjadi kata kuncinya.

  87

  48

  45

  

45

  88

  35

  55

  33

  Tahapan mendekripsi plaintext dengan menggunakan algoritma Nihilist Cipher [2]:

  1. Untuk mendekripsi nihilist kita harus mengetahui kata kunci dan memiliki

  ciphertext- nya

  . Misalkan kita memiliki “87 48 45 45 88 35 55 33” sebagai

  2. Mengacu pada Tabel 2 .3 kata “TIGA” bila disubstitusi akan menghasilkan himpunan koordinat “44 24 22 11”.

  22

Tabel 2.3 Tabel Polybius Square

  1

  2

  3

  4

  5

  

1 A B C D E

  2 F G H

  I J

  3 L M N O P

  

4 Q R S T U

  5 V W

  X Y Z

  11 ct

  24

  1

  Kk untuk Kata Kunci, pt untuk plaintext dan ct untuk ciphertext.

  2

  3

  4

  5

  

1 A B C D E

  2 F G H

  I J

  3 L M N O P

  

4 Q R S T U

  5 V W

  X Y Z

  2. Selanjutnya tentukan Kata Kunci misalnya TIGA maka hasil substitusinya adalah (44 24 22 11). Lakukan pengulangan bila panjang karakter berlebih.

  3. Lakukan operasi penjumlahan antara koordinat kata kunci dengan plaintext.

Tabel 2.2 Tabel Hasil Enkripsi dengan Nihilist

  44

  pt

  43

  24

  23

  34

  44

  11

  33

  22 kk

  44

  24

  22

  11

2.3.2 Dekripsi Nihilist

3. Lakukan operasi pengurangan antara koordinat cipertext dengan kata kunci.

Tabel 2.4 Tabel Hasil Dekripsi dengan Nihilist

  ct

  87

  48

  45

  

45

  88

  35

  55

  33

  kk

  44

  24

  22

  11

  44

  24

  22

  11 pt

  43

  24

  23

  34

  44

  11

  33

  22

  4. Langkah terakhir adalah mencari padanan karakter untuk setiap koordinat yang didapatkan di atas dengan tabel Polybius Square seperti pada Tabel 2.4 Maka didapati kata plaintext “SIHOTANG”.

2.4 Algoritma ADFGVX Cipher

  Salah satu implementasi kriptografi Kunci ialah sistem kriptografi ADFGVX Cipher yang dipublikasikan pada tahun 1918 [4]. Algoritma ADFGVX Ciphermerupakan bagian dari algoritma simetris yang mana menggunakan tabel 6 x 6 yang berisi 26 huruf dan 10 angka (0-9).Enkripsinya terdiri dari dua proses, yaitu proses substitusi dan transposisi. Selain itu setiap proses tersebut setiap proses tersebut membutuhkan sebuah kunci.

2.4.1 Enkripsi ADFGVX Cipher

  Berikut ini adalah langkah-langkah dalam mengenkripsi sebuah pesan plaintext dengan menggunakan algoritma ADFGVX Cipher [2].

  1. Buatlah sebuah tabel 6 x 6 yang berisi secara acak 26 huruf dan 10 angka.

  Setiap huruf dalam plaintext disubstitusi menjadi dua huruf yang ditentukan oleh posisi baris dan kolom. Misalkan plaintext-nya adalah “SIHOTANG”, maka hasil substitusinya adalah “FX DV DX FD GX VD FA AX”.

Tabel 2.5 Tabel ADFGVX Cipher A D F G

  V X A B C D E F G

  M L K J

  I H

  D

  N O P Q R S

  F G Y

  X W

  V U T

  V Z A

  1

  2

  3

  4 X

  9

  8

  7

  6

  5

  2. Tentukan kata kunci, yang mana terdiri dari huruf saja. Kunci ini digunakan dalam proses transposisi. Pertama buatlah sebuah tabel baru. Kemudian tulis kata yang menjadi kunci di bagian atas setiap kolomnya. Selanjutnya tulis hasil substitusi plaintext dibawahnya secara berurutan ke kanan lalu ke bawah. Sebagai contoh, kata kunci yang kita gunakan adalah “TIGA”. Maka tabel yang terbentuk adalah seperti pada Tabel 2.6.

Tabel 2.6 Tabel Kunci Enkripsi ADFGVX Cipher T

  I G A

  4

  3

  2

  1 F

  X D

  V D

  X F D G

  X V D F A A

  X

  3. Selanjutnya, urutkan kolom pada kunci terurut sesuai dengan alfabet. Maka urutan kata “tiga” menjadi “agit” (1-2-3-4). Sehingga tabel menjadi seperti pada Tabel 2.7.

Tabel 2.7 Tabel Perubahan Posisi Kunci ADFGVX Cipher A G

  I T

  1

  2

  3

  4 V D

  X F D F

  X D D

  V X G

  X A A F 4. Ciphertext adalah huruf-huruf yang berada di kolom pertama dan seterusnya.

  Maka ciphertext yang dihasilkan adalah “VDDX DFVA XXXA FDGF”.

2.4.2 Dekripsi ADFGVX Cipher

  Berikut algoritma dekripsi ADFGVX Cipher:

  1. Lakukan pemisahan ciphertext dengan cara membagi ciphertext yang ada dengan kata kunci yang kita miliki. Sebagai contoh, kita memiliki pesan

  ciphertext : “VDDXDFVAXXXAFDGF”.

  2. Misalkan kunci yang digunakan adalah “TIGA”. Kita mengetahui bahwa kolom dibawah T, I, G dan Amemiliki 4 huruf. Selanjutnya, kita tempatkan 4 huruf pertama FDGF dibawah T, XXXA dibawah I, DFVA dibawah G, dan terakhir VDDX dibawah A. Maka tabel yang terbentuk seperti pada Tabel 2.8.

Tabel 2.8 Tabel Kunci Dekripsi ADFGVX Cipher T

  I G A

  4

  3

  2

  1 F

  X D

  V D

  X F D G

  X V D F A A

  X

  3. Kemudian lakukan penyelesaian dengan pembacaan secara berurutan ke kanan lalu ke bawah.

  “FXDVDXFDGXVDFAAX”.

  4. Langkah terakhir adalah mencari padanan karakter untuk setiap 2 huruf teks yang didapatkan di atas dengan tabel ADFGVX seperti pada Tabel 2.9.

Tabel 2.9 Tabel ADFGVX Cipher A D F G

  V X A B C D E F G

  M L K J

  I H

  D

F N O P Q R S

G Y

  X W

  V U T

  V Z A

  1

  2

  3

  4 X

  9

  8

  7

  6

  5

5. Setelah mencari padanan karakter, maka didapatkan plaintext “SIHOTANG”.

2.5Penelitian Terkait

  Berikut penelitian tentang kriptografi yang membahas ADFGVX Cipher dan RSA:

  1. Pada penelitian oleh Yahya [1], nihilist unggul dalam penggunaan bujursangkar Polybius yang bisa berubah tergantung kunci, namun sekaligus menjadi kelemahan karena tidak efektif dimana kriptografer harus memberitahukan bentuk bujursangkar tersebut kepada penerima pesan.

  2. Dalam penelitian oleh Mahyudin [4], kelebihan Algoritma ADFGVX cipher terletak pada fakta bahwa algoritma ini berbeda dengan algoritma klasik lainnya dimana frekuensi tiap huruf seperti frekuensi huruf E tidaklah mudah untuk dikenali. Selanjutnya kekuatan algoritma ini menjadi lebih ketika sistem transposisi diterapkan. Namun, kekuatan terbesar algoritma ini terletak pada kunci yang digunakan.