Senin, 17 Oktober 2016

KRIPTOGRAFI

Kriptografi merupakan ilmu sekaligus seni untuk menjaga keamanan pesan (message) dengan cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti lagi maknanya. Kata cryptography berasal dari kata Yunani yaitu “kryptos” yang artinya tersembunyi dan “graphein” yang artinya menulis.


Tujuan Kriptografi:
1.     kerahasiaan (confidentiality), yaitu menjaga supaya pesan tidak dapat dibaca oleh pihak-pihak yang tidak berhak.
2.   integritas data (data integrity), yaitu memberikan jaminan bahwa untuk tiap bagian pesan tidak akan mengalami perubahan dari saat data 10 dibuat/dikirim oleh pengirim sampai dengan saat data tersebut dibuka oleh penerima data.
3.    otentikasi (authentication), yaitu berhubungan dengan identifikasi, baik mengidentifikasi kebenaran pihak-pihak yang berkomunikasi maupun mengidentifikasi kebenaran sumber pesan
4.  nirpenyangkalan (non repudiation), yaitu memberikan cara untuk membuktikan bahwa suatu dokumen datang dari seseorang tertentu sehingga apabila ada seseorang yang mencoba mengakui       memiliki dokumen tersebut, dapat dibuktikan kebenarannya dari pengakuan orang tersebut.

Pada prinsipnya, Kriptografi memiliki 4 komponen utama yaitu:
1.      Plaintext, yaitu pesan yang dapat dibaca
2.      Ciphertext, yaitu pesan acak yang tidka dapat dibaca
3.      Key, yaitu kunci untuk melakukan teknik kriptografi
4.      Algorithm, yaitu metode untuk melakukan enkrispi dan dekripsi

 2 proses dasar pada Kriptografi yaitu:
1.      Enkripsi (Encryption)
2.      Dekripsi (Decryption)
dengan key yang digunakan sama untuk kedua proses diatas. Penggunakan key yang sama untuk kedua proses enkripsi dan dekripsi ini disebut juga dengan Secret Key, Shared Key atau Symetric Key Cryptosystems.
1.      Enkripsi
Enkripsi (Encryption) adalah sebuah proses menjadikan pesan yang dapat dibaca (plaintext) menjadi pesan acak yang tidak dapat dibaca (ciphertext). Berikut adalah contoh enkripsi yang digunakan oleh Julius Caesar, yaitu dengan mengganti masing-masing huruf dengan 3 huruf selanjutnya (disebut juga Additive/Substitution Cipher):

Plaintext
Ciphertext
Rumah
xasgn
Motor
suzux
Kompor
qusvux
dst…

2.      Dekripsi
Dekripsi merupakan proses kebalikan dari enkripsi dimana proses ini akan mengubah ciphertext menjadi plaintext dengan menggunakan algortima ‘pembalik’ dan key yang sama. Contoh:
Ciphertext

Plaintext
Xasgn

Rumah
Suzux

Motor
Qusvux

Kompor

dst…

ISTILAH-ISTILAH KRIPTOGRAFI

•Encoding: Transformasi dari plainteksmenjadi kode
•Decoding: Transformasi kebalikan dari kode menjadi plainteks.
•Buku Kode (codebook) : Dokumen yang digunakan untuk mengimplementasikan suatukode
•Buku kode terdiri dari tabel lookup(lookuptabel) untuk encodingdan decoding
•Chipertidak sama dengan kode (code)
•Kode mempunyai sejarah tersendiri didalamkrptografi
•Codebreaker: Orang yang memecahkan kode (untuk menemukan plainteks)

Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan

v  Praktisi (pengguna kriptografi) disebut kriptografer (cryptographer).
v  Algoritma kriptografi adalah:
◦aturan / metode untuk enkripsi dan dekripsi
◦fungsi matematika yang digunakan untuk enkripsi dan dekripsi.
v  Kunci adalah parameter yang digunakan untuk transformasi enkripsi dan dekripsi.
v  Sistem kriptografi (atau cryptosystem) adalah algoritma kriptografi, plainteks, cipherteks, dankunci.
v  Penyadap adalah orang yang mencoba menangkap pesan selama ditransmisikan. Nama lain: enemy, adversary, intruder, interceptor, bad guy
v  Kriptanalisis (cryptanalysis) adalah ilmu dan seni untuk memecahkan cipherteks menjadi plainteks tanpa mengetahui kunci yang diberikan. Pelakunya disebut kriptanalis.
v  Kriptologi(cryptology) adalahstudimengenaikriptografidankriptanalisis.


Kriptografer dan Kriptanalis

Persamaan
Perbedaan
Keduanya sama-sama menerjemahkan cipherteksmenjadi plainteks
Kriptografer bekerja atas legitimasi pengirim atau penerima pesan.


Jenis Kriptografi Berdasarkan Kunci

Algoritma kriptografi dapat diklasifikasikan menjadi dua jenis berdasarkan kuncinya, yaitu algoritma simetris dan algoritma asimetris

a. Algoritma Simetris 


Algoritma ini disebut simetris karena memiliki key atau kunci yang sama dalam proses enkripsi dan dekripsi sehingga algoritma ini juga sering disebut algoritma kunci tunggal atau algoritma satu kunci. Key dalam algoritma ini bersifat rahasia atau private key sehingga algoritma ini juga disebut dengan algoritma kunci rahasia



b. Algoritma Asimetris 

Algoritma ini disebut asimetris karena kunci yang digunakan untuk enkripsi berbeda dengan kunci yang digunakan untuk dekripsi. Kunci yang digunakan untuk enkripsi adalah kunci publik atau public key sehingga algoritma ini juga disebut dengan algoritma kunci publik. Sedangkan kunci untuk dekripsi menggunakan kunci rahasia atau private key



Berdasarkan besar data yang diolah:

• Algoritma block cipher : Informasi / data yang hendak dikirim dalam bentuk blok –blok besar (misal 64 - bit) dimana blok –blok ini dioperasikan dengan fungsi enkripsi yang sama dan akan menghasilkan informasi rahasia dalam blok –blok yang berukuran sama juga. Contoh : RC4, Seal, A5, Oryx.
• Algoritma stream cipher : Informasi / data yang hendak dikirim dioperasikan dalam bentuk blok – blok yang lebih kecil (byteatau bit), biasanya satu karakter per –satuan waktu proses, menggunakan tranformasi enkripsi yang berubah setiap waktu. Contohnya : Blowfish, DES, Gost, Idea, RC5, Safer, Square, Twofish, RC6, Loki97.

Jenis-jenis CipherSubstitusi

1. Cipher Abjad - Tunggal (Monoalphabetic Cipher)
2. Cipher Substitusi Homofonik (Homophonic substitution cipher)
3. Cipherabjad – majemuk (Polyalpabetic substitution cipher)
4. Cipher Substitusi Poligram (Polygram substitution cipher)

CAESAR CIPHER 1

Plain text: MAHASISWA BARU
Nomor: 12 0 7 0 18 8 18 22 0  1 0 17 20
Transformasi(n=3): 3+Pt
15 3 10 3 21 11 21 25 3  4 3 20 23
Chipertext: PDKDVLVZD EDUX


CAESAR CIPHER 2

•Tiap huruf alfabet digeser 3 huruf kekanan

•Contoh:
Plainteks    : KEAMANAN SISTEM KOMPUTER
Cipherteks : NHDPDQDQ VLVWHP NRPSXWHU


CAESAR CIPHER 3

•Dalam praktek, cipherteks dikelompokkan kedalam kelompok n - huruf, misalnya kelompok 4 - huruf:

NHDP  DQDQ  VLVW  HPNR  PSXW  HU
•Atau membuang semua spasi:

NHDPDQDQVLVWHPNRPSXWHU
•Tujuannya agar kriptanalisis menjadi lebih sulit


CAESAR CIPHER 4

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

• 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

Kelemahan:
Caesar cipher mudah dipecahkan dengan exhaustive key search karena jumlah kuncinya sangat sedikit (hanya ada 26 kunci). 42

CARA KERJA PEMECAHAN KUNCI CAESAR CIPHER
DENGAN EXHAUSTIVE KEY SEARCH

Cipherteks : FLQWD



Dengan kriptanalisis menggunakan exhaustive attack, maka pengkriptanalisisan dari kata FLQWD dapat dilihat pada tabel di bawah. Jika diketahui bahasa yang digunakan adalah Bahasa Indonesia, maka kata yang memiliki makna adalah kata dengan kunci k = 23, yaitu
CINTA .

ALFABETIK MAJEMUK

• Vigenere Polyalphabetic Cipher
• Rumus umum : Ci = F (n, d, Pi)
Ci = cipher text, n = key (number of letter sifted), d = number of repeating letters representing the key, Pi = Plaintext

• Contoh : d = 3, k = bad (1 0 3)
Plain text: ATTACK AT DAWN
Nomor : 0 19 19 0 2 10 0 19 3 0 22 13
Transformasi (3, BAD):
1 0 3 1 0 3 1 0 3 1 0 3 (key)
0 19 19 0 2 10 0 19 3 0 22 13 (Plaintxt)
____________________________ +

1 19 22 1 2 13 1 19 6 1 22 16
Chipertext: BTWBCNBTGBWQ

Vigènere Cipher

Termasuk ke dalam cipher abjad - majemuk (polyalpabetic substitution cipher ).
v  Dipublikasikan oleh diplomat (sekaligus seorang kriptologis) Perancis, Blaise de Vigènere pada abad 16 (tahun 1586).
v  Tetapi sebenarnya Giovan Batista Belaso telah menggambarkannya pertama kali pada tahun 1553 seperti ditulis di dalam bukunya La Cifra del Sig. Giovan Batista Belaso
v  Algoritma tersebut baru dikenal luas 200 tahun kemudian yang oleh penemunya cipher tersebut kemudian dinamakan Vigènere Cipher


Polyalphabetic Cipher

• Vigenere CiPHER

Plainteks   : T E K N I K  D I G I T A L
Keyword   : R O S I D A  R O S I D A R
Ciphertext : KSBVLK  UWYQWAB

      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
R         R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
O         O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
S          S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
I           I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
D         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
A         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           

• Beuford Cipher

Plainteks   : T E K N I K  D I G I T A L
Keyword   : R O S I D A  R O S I D A R
Ciphertext : YKIVVQ  OGMAKAG

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
R         R Q P O N M L K  J I H G  F  E  D C  B A Z Y X W V  U  T  S
O         O N M L K J  I  H G F E D  C B  A Z  Y X W V U T  S  R  Q  P
S          S R  Q P O N M L K J  I  H G  F  E D C  B A  Z Y X  W V U  T
I           I  H  G F E D C B A Z Y X W V U T  S  R Q  P  O N M  L  K  J
D         D C  B A ZY X WVU T  S  R  Q P O N  M L  K J   I   H  G  F  E
A         A Z  Y X WVU T S R Q  P O  N M L K  J  I   HG   F   E  D C  B


Polyalphabetic Cipher

• Varian Beuford Cipher

Plainteks   : T E K N I K  D I G I T A L
Keyword   : R O S I D A  R O S I D A R
Ciphertext : XJHUTP  NFLZJZF

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
R         Q P O N M L K  J  I H G  F  E  D C  B A Z Y X W V  U T  S R
O         N M L K J  I  H G F E D  C B  A Z  Y X W V U T  S  R  Q  P O
S          R  Q P O N M L K J  I  H G  F  E D C  B A  Z Y X  W V U  T S
I           H  G F E D C B A Z Y X W V U T  S  R Q  P  O N M  L  K  J  I
D         C  B A ZY X WVU T  S  R  Q P O N  M L  K  J   I   H  G  F  E D
A         Z  Y X WVU T S R Q  P O  N M L K  J  I   HG   F   E  D C  B A



Auto-Key Vigènere cipher

• Jika panjang kunci lebih kecil dari panjang plainteks, maka kunci disambung dengan plainteks tersebut.
• Misalnya,
Pesan : SEKOLAH TINGGI TEKNIK
Kunci : PLN
maka kunci tersebut disambung dengan plainteks semula sehingga panjang kunci menjadi sama dengan panjang plainteks:

• Plainteks : SEKOLAH TINGGI TEKNIK
• Kunci      : PLNSEKO LAHTIN GGITEK


Running-Key Vigènerecipher

Kunci adalah string yang sangat panjang yang diambil dari teks bermakna (misalnya naskah proklamasi, naskah Pembukaan UUD 1945, terjemahanaya tadi dalam kitab suci, dan lain -lain).

•Misalnya,
Pesan: NEGARA PENGHASIL MINYAK
Kunci: KEMANUSIAN YANG ADIL DAN BERADAB

•Selanjutnya enkripsi dan dekripsi dilakukan seperti biasa.

SUBSTITUSI HOMOFONIK POLIGRAM

Mengganti setiap gabungan unit plain text dengan gabungan huruf ciphertext
Jenis:
•Diagram: gabungan dua unit
•Trigram: gabungan tiga unit Dst
•Contoh: AS----RT

Teknik Dasar Kriptografi Terbagi 5 Jenis, yaitu :
1. Substitusi
2. Blocking
3. Permutasi
4. Ekspansi
5. Pemampatan

1. SUBSTITUSI

Dalam kriptografi, sandi substitusi adalah jenis metode enkripsi dimana setiap satuan pada teks terang digantikan oleh teks tersandi dengan sistem yang teratur. Metode penyandian substitusi telah dipakai dari zaman dulu (kriptografi klasik) hingga kini (kriptografi modern),
Langkah pertama adalah membuat suatu tabel substitusi. Tabel substitusi dapat dibuat sesuka hati, dengan catatan bahwa penerima pesan memiliki tabel yang sama untuk keperluan decrypt.  Bila tabel substitusi dibuat secara acak, akan semakin sulit pemecahanciphertext oleh orang yang tidak berhak.
Metode ini dilakukan dengan mengganti setiap huruf dari teks asli dengan huruf lain sebagai huruf sandi yang telah didefinisikan sebelumnya oleh algoritma kunci.

Contoh:
Metode Penyandian Substitusi Sederhana


2. BLOCKING

Sistem enkripsi ini terkadang membagi plaintext menjadi beberapa blok yang terdiri dari beberapa karakter, kemudian di enkripsikan secara independen.

Caranya :
Plaintext dituliskan secara vertikal ke bawah berurutan pada lajur, dan dilanjutkan pada kolom berikutnya sampai seluruhnya tertulis. Ciphertext-nya adalah hasil pembacaan plaintext secara horizontal berurutan sesuai dengan blok-nya.

Contoh :

3. PERMUTASI

Salah satu teknik enkripsi yang terpenting adalah permutasi atau sering juga disebut transposisi. Teknik ini memindahkan atau merotasikan karakter dengan aturan tertentu. Prinsipnya adalah berlawanan dengan teknik substitusi. Dalam teknik substitusi, karakter berada pada posisi yang tetap tapi identitasnya yang diacak. Pada teknik permutasi, identitas karakternya tetap, namun posisinya yang diacak.


Caranya
Sebelum dilakukan permutasi, umumnya plaintext terlebih dahulu dibagi menjadi blok-blok dengan panjang yang sama.
Plaintext akan dibagi menjadi blok-blok yang terdiri dari 6 karakter, dengan aturan permutasi, sebagai berikut :



4. EKSPANSI

Suatu metode sederhana untuk mengacak pesan adalah dengan memelarkan pesan itu dengan aturan tertentu.  Salah satu contoh penggunaan teknik ini adalah dengan meletakkan huruf konsonan atau bilangan ganjil yang menjadi awal dari suatu kata di akhir kata itu dan menambahkan akhiran “an”. Jika suatu kata dimulai dengan huruf vokal atau bilangan genap, ditambahkan akhiran “i”.
Contoh :



5.      PEMAMPATAN

Mengurangi panjang pesan atau jumlah bloknya dengan cara lain untuk menyembunyikan isi pesan.
Contoh sederhana ini menggunakan cara menghilangkan setiap karakter ke-tiga secara berurutan. Karakter-karakter yang dihilangkan disatukan kembali dan disusulkan sebagai “lampiran” dari pesan utama, dengan diawali oleh suatu karakter khusus, dalam contoh ini menggunakan ”  * “.


Contoh :

Cipher Transposisi


• Cipher transposisi atau juga sering disebut cipher permutasi menyembunyikan / merahasiakan pesan dengan cara mengatur kembali urutan pesan tanpa mengubah huruf-huruf yang ada pada plaintext.
• Ciphereteks diperoleh dengan mengubah posisi huruf di dalam plaintekls.
• Algoritma ini melakukan transpose terhadap rangkaian huruf di dalam plainteks.
• Nama lain untuk metode ini adalah permutasi, karena transpose setiap karakter di dalam teks sama dengan mempermutasikan karakter-karakter tersebut.

Contoh Enkripsi:
plaintext : SAATNYA BERTINDAK, 

ditulis dalam Lima baris :
S A A T
N Y A B
E R T  I 
    N D A K

ciphertext (dibaca vertikal) : SNENAYRDAATATBIK

Contoh Deskripsi:
Bagi panjang cipherteks dengan kunci. (16 / 4 = 4)

S N E N
A Y R D
A A T A 
T B  I  K

ciphertext (dibaca vertikal) : SAATNYA BERTINDAK

Super-enkripsi

• Menggabungkan cipher substitusi dengan cipher transposisi.

• Contoh. Plainteks HELLO WORLD
• dienkripsi dengan caesar cipher menjadi KHOOR ZRUOG
kemudian hasil enkripsi ini dienkripsi lagi dengan cipher transposisi (k = 4):
– KHOO
– RZRU
– OGZZ
Cipherteks akhir adalah: KROHZGORZOUZ

One Time Pad

One Time Pad adalah salah satu contoh metode kriptografi dengan algoritma jenis simetri. Ditemukan pada tahun 1917 oleh Major Yoseph Mouborgne dan Gilbert Vernam pada perang dunia ke dua. Metode ini telah diklaim sebagai satu-satunya algoritma kriptografi sempurna yang tidak dapat dipecahkan. Suatu algoritma dikatakan aman, apabila tidak ada cara untuk menemukan plaintext-nya Sampai saat ini, hanya algoritma One Time Pad (OTP) yang dinyatakan tidak dapat dipecahkan meskipun diberikan sumber daya yang tidak terbatas. Algoritma One Time Pad adalah salah satu jenis algorima simetri (konvensional).

Jumlah kunci sama panjangnya dengan jumlah plaintext. Jika anda ingin agar ciphertext sulit untuk di pecahkan maka pemakaian kunci seharusnya :
* Jangan gunakan kunci yang berulang
* Pilihkan kunci yang random
Rumus melakukan One Time Pad ini yaitu :
Enkripsi : E(x) = (P(x) + K(x) ) Mod 26
Dekripsi : D(x) = (C(x) – K(x) ) Mod 26
CARA I
Pemakaian One Time Pad digunakan pada sederetan abjad A..Z dengan memberikan nilai urutan abjad yaitu A=0, B=1, C=2, D=3, E=4…..sampai Z.
Contoh Enkripsi Pesan :
Pesan : ZENSHIFU
Kunci : OTIMEPAD
maka perhatikan langkahnya seperti di bawah ini :
Plaintext 25(Z) 4(E) 13(N) 18(S) 7(H) 8(I) 5(F) 20(U)
Kunci 14(O) 19(T) 8(I) 12(M) 4(E) 15(P) 0(A) 3(D)
——————————————– +
Hasil mod 26 13 23 21 4 11 23 5 23
Chipertext N X V E L X F X
Jadi Chipertext yang di hasilkan yaitu : NXVELXFX
Dekripsi pesan, perhatikan langkah di bawah ini
Chipertext 13(N) 23(X) 21(V) 4(E) 11(L) 23(X) 5(F) 23(X)
Kunci 14(O) 19(T) 8(I) 12(M) 4(E) 15(P) 0(A) 3(D)
———————————————— –
Hasil mod 26 25 4 13 18 7 8 5 20
Plaintext Z E N S H I F U
Jadi Plaintext yaitu : ZENSHIFU





Vernam Cipher:
Setiap key diberikan pada setiap huruf plaintext, key hanya dipakai satu kali dalam satu plaintext saja dan tidak pernah digunakan kembali.

Plaintext: HOWAREYOU
Key: XRAQZTBCN
7 14 22 0 17 4 24 14 20 (Plaintxt)
23 17 0 16 25 19 1 2 13 (Key)
______________________________+
30 31 22 16 42 23 25 16 33
4 5 22 16 16 23 25 16 7
Ciphertext: EFWQQXZQH








MODERN KRIPTOGRAPHY
•Stream cipher:
•RC4
•A5 (gsm)
•Block cipher:
•DES
•Doube DES, Tripple DES
•RC5
•AES (Advanced Encryption Standard)

DES-DATA ENCRYPTION STANDARD
•Menggunakan 64-bit block size dan 56-bit key dan 16-round cryptosystem
•Terminologi:
•Block cipher. Membagi plaintext kedalam kelompok sejumlah karakter/bit, pada masing-masing blok diterapkan algoritma enkripsi (key) yang sama
•Clustering. Mengenkripsi plaintext dengan algoritma sama, tetapi berbeda key

TRIPLE DES
•Triple DES: mengenkripsiDES 3 kali dengankey yang berbeda-beda
•Jenis:
•2 kunci-DES-EDE2 : mengenkripdengank1, mendekripdengank2 dandienkripkembalidengank1
•2 kunci-DES-EEE2: mengenkriptigakali dengan2 kunci
•3 kunci–DES-EEE3: mengenkriptigakali dengan3 kunci

AES-ADVANCED ENCRIPTION STANDARD
•1997 by NIST
•Kandidat:
•Rijndael
•Twofish
•IDEA
•RC5