Kriptografi TI PDF
Kriptografi TI PDF
MODUL PERKULIAHAN
Kriptografi
01
Ilmu Komputer Teknik Informatika Tim Dosen
MS.Word 2010.
Pendahuluan
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
Algoritma kriptografi klasik:
1. Cipher Substitusi (Substitution Ciphers)
2.Cipher Transposisi (Transposition Ciphers)
Algoritma Kriptografi Modern
Pendahuluan
Operasi dalam mode bit berarti semua data dan informasi (baik
kunci, plainteks, maupun cipherteks) dinyatakan dalam
rangkaian (string) bit biner, 0 dan 1. Algoritma enkripsi dan
dekripsi memproses semua data dan informasi dalam bentuk
rangkaian bit. Rangkaian bit yang menyatakan plainteks
dienkripsi menjadi cipherteks dalam bentuk rangkaian bit,
demikian sebaliknya.
Perkembangan algoritma kriptografi modern berbasis bit
didorong oleh penggunaan komputer digital yang
merepresentasikan data dalam bentuk biner.
Diagram blok kriptografi modern (Gambar 8.1)
Secure Network Protocols
Data Non-
Confidentiality Authentication
Integrity Repudiation
Gambar 8.1 Diagram blok kriptografi modern
Rangkaian bit yang dipecah menjadi blok‐blok bit dapat ditulis
dalam sejumlah cara bergantung pada panjang blok.
Contoh: Plainteks 100111010110 dibagi menjadi blok bit
yang panjangnya 4 menjadi
Setiap blok menyatakan bilangan dari 0 sampai 15, yaitu
9 13 6
Bila plainteks dibagi menjadi blok‐blok berukuran 3 bit:
100 111 010 110
maka setiap blok menyatakan bilangan dari 0 sampai 7, yaitu
4 7 2 6
Bila panjang rangkaian bit tidak habis dibagi dengan ukuran
blok yang ditetapkan, maka blok yang terakhir ditambah
dengan bit‐bit semu yang disebut padding bits.
Misalnya rangkaian bit di atas dibagi menjadi blok 5‐bit menjadi
10011 10101 00010
Misalnya, plainteks 100111010110 dibagi menjadi blok bit
yang panjangnya 4 menjadi
1001 1101 0110
9 D 6
00=0
01=1
10=1
11=0
0 + 0 (mod 2) = 0
0 + 1 (mod 2) = 1
1 + 0 (mod 2) = 1
1 + 1 (mod 2) = 0
(i) a a = 0
(ii) a b = b a (Hukum komutatif)
(iii) a (b c) = (a b) c (Hukum asosiatif)
1 0 0 1 1
1 1 0 0 1
1 1 0 1 0 0 1 0 1 1
0 1 0 1 0
C= PK (8.1)
P=CK (8.2)
‘15 Kriptografi Pusat Bahan Ajar dan eLearning
7 Tim Dosen http://www.mercubuana.ac.id
main() main()
{ {
FILE *Fin, *Fout; FILE *Fin, *Fout;
char P, C, K[20]; char P, C, K[20];
int n, i; int n, i;
fclose(Fout); fclose(Fout);
} }
enk_xor.c dek_xor.c
Pa 79
da
wi S
su
da S9
sa
rj H IS
an
a
ba Ao9
ru 99S
,
te
rn G
ya H
ta HKS=9b EAYA9FA.E
ad SA
a
se 9
or G(:'y9 9N-GPYE @ES29
an 99E9
g H
wi
su b
da
wa
n A
ya 9H A
ng
pa
li S
ng
mu K
da
.
Um
ur
ny
a
ba
ru
21
ta
hu
n.
In
i
be
ra
rt
i
di
a
ma
su
k
IT
B
pa
da
um
ur
17
ta
hu
n.
Za
ma
n
se
ka
ra
ng
ba
ny
ak
sa
rj
an
a
ma
si
h
be
ru
si
a
mu
da
be
li
a.
plain.txt cipher.txt
MODUL PERKULIAHAN
Kriptografi
01
Ilmu Komputer Teknik Informatika Tim Dosen
MS.Word 2010.
Pendahuluan
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
Algoritma kriptografi klasik:
1. Cipher Substitusi (Substitution Ciphers)
2.Cipher Transposisi (Transposition Ciphers)
Algoritma Kriptografi Modern
Pendahuluan
Operasi dalam mode bit berarti semua data dan informasi (baik
kunci, plainteks, maupun cipherteks) dinyatakan dalam
rangkaian (string) bit biner, 0 dan 1. Algoritma enkripsi dan
dekripsi memproses semua data dan informasi dalam bentuk
rangkaian bit. Rangkaian bit yang menyatakan plainteks
dienkripsi menjadi cipherteks dalam bentuk rangkaian bit,
demikian sebaliknya.
Perkembangan algoritma kriptografi modern berbasis bit
didorong oleh penggunaan komputer digital yang
merepresentasikan data dalam bentuk biner.
Diagram blok kriptografi modern (Gambar 8.1)
Secure Network Protocols
Data Non-
Confidentiality Authentication
Integrity Repudiation
Gambar 8.1 Diagram blok kriptografi modern
Rangkaian bit yang dipecah menjadi blok‐blok bit dapat ditulis
dalam sejumlah cara bergantung pada panjang blok.
Contoh: Plainteks 100111010110 dibagi menjadi blok bit
yang panjangnya 4 menjadi
Setiap blok menyatakan bilangan dari 0 sampai 15, yaitu
9 13 6
Bila plainteks dibagi menjadi blok‐blok berukuran 3 bit:
100 111 010 110
maka setiap blok menyatakan bilangan dari 0 sampai 7, yaitu
4 7 2 6
Bila panjang rangkaian bit tidak habis dibagi dengan ukuran
blok yang ditetapkan, maka blok yang terakhir ditambah
dengan bit‐bit semu yang disebut padding bits.
Misalnya rangkaian bit di atas dibagi menjadi blok 5‐bit menjadi
10011 10101 00010
Misalnya, plainteks 100111010110 dibagi menjadi blok bit
yang panjangnya 4 menjadi
1001 1101 0110
9 D 6
00=0
01=1
10=1
11=0
0 + 0 (mod 2) = 0
0 + 1 (mod 2) = 1
1 + 0 (mod 2) = 1
1 + 1 (mod 2) = 0
(i) a a = 0
(ii) a b = b a (Hukum komutatif)
(iii) a (b c) = (a b) c (Hukum asosiatif)
1 0 0 1 1
1 1 0 0 1
1 1 0 1 0 0 1 0 1 1
0 1 0 1 0
C= PK (8.1)
P=CK (8.2)
‘15 Kriptografi Pusat Bahan Ajar dan eLearning
7 Tim Dosen http://www.mercubuana.ac.id
main() main()
{ {
FILE *Fin, *Fout; FILE *Fin, *Fout;
char P, C, K[20]; char P, C, K[20];
int n, i; int n, i;
fclose(Fout); fclose(Fout);
} }
enk_xor.c dek_xor.c
Pa 79
da
wi S
su
da S9
sa
rj H IS
an
a
ba Ao9
ru 99S
,
te
rn G
ya H
ta HKS=9b EAYA9FA.E
ad SA
a
se 9
or G(:'y9 9N-GPYE @ES29
an 99E9
g H
wi
su b
da
wa
n A
ya 9H A
ng
pa
li S
ng
mu K
da
.
Um
ur
ny
a
ba
ru
21
ta
hu
n.
In
i
be
ra
rt
i
di
a
ma
su
k
IT
B
pa
da
um
ur
17
ta
hu
n.
Za
ma
n
se
ka
ra
ng
ba
ny
ak
sa
rj
an
a
ma
si
h
be
ru
si
a
mu
da
be
li
a.
plain.txt cipher.txt
MODUL PERKULIAHAN
Kriptografi
03
Ilmu Komputer Teknik Informatika Tim Dosen
Pengertian Enkripsi
Kalau kamu berbicara tentang enkripsi, ini adalah sebuah metode yang digunakan
untuk mengirim pesan rahasia. Enkripsi memiliki sejarah yang panjang, bermula saat
orang-orang Yunani dan Romawi saling mengirim pesan rahasia.
Sekarang, dan dapat dipastikan kedepannya akan makin bertambah, Anda memiliki
nomor kartu kredit, nomor rekening, dan lain-lain yang bersifat sensitif. Yang
mengatakan bahwa informasi tersebut harus ada di suatu tempat jika tidak anda
tidak akan pernah bisa menggunakannya. Anda dapat menghafal angka, tetapi Anda
tidak dapat mengandalkan memori Anda sebagai satu-satunya sumber untuk
menyimpan angka dalam jumlah banyak.
Jaman dahulu orang Yunani menggunakan tool yang disebut Scytale untuk
membantu mengenkripsi pesan yang akan mereka kirimkan. Metode ini lebih cepat
Julius Caesar menggunakan metode yang agak mirip dengan ini, menggeser setiap
huruf alfabet ke kanan atau ke kiri berdasarkan angka dan posisi. Tekni enkripsi ini
disebut juga Caesar cipher. Sebagai contoh kamu bisa melihat cipher di bawah ini,
ketika ingin menuliskan WINPOIN maka dituliskan ZLQSRLQ.
Plain: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Cipher: DEFGHIJKLMNOPQRSTUVWXYZABC
Hanya para penerima pesan memiliki cipher akan tahu maksut pesan tersebut, akan
sulit orang berikutnya untuk memecahkan kode pesan.
Mesin Enigma
Kamu udah nonton Imitation Game?? Kamu pasti udah tahu tentang mesin Enigma.
Saat perang dunia ke-2, Jerman menggunakan mesin Enigma untuk bisa lolos dari
transmisi enkripsi bolak balik, butuh waktu bertahun-tahun sebelum Polandia
mampu memecahkan pesan, dan memberikan solusi untuk Sekutu. Membuat mereka
menang dari perang dunia ini.
Hari ini orang orang tidak memiliki metode enkripsi yang baik untuk mengamankan
komunikasi di dunia elektronik.
Lucifer adalah nama yang diberikan beberapa orang block cipher saat awal-awal,
dikembangkan oleh Horst Feistel bersama teman-temannya di IBM.
Data Encryption Standard (DES) adalah sebuah block cipher (bentuk dari enkripsi
rahasia yang dibagikan) dipilih oleh National Bureau of Standards sebagai Federal
Information Processing Standard (FIPS) di Amerika pada tahun 1976 yang kemudian
digunakan secara luas dan mendunia.
Kekhawatiran tentang keamanan dan perkembangan operasi dari DES yang lambat
membuat peneliti software termotivasi untuk mengusulkan berbagai alternatif desain
dari block cipher, muncul pada akhir tahun 1980an dan awal 1990an. Sebagai contoh
ada RC5, Blowfish, IDEA, NewDES, SAFER, CAST5 dan FEAL.
Banyak algoritma enkripsi yang terkenal dan mereka semua memiliki fungsi yang
Sebagai contoh yang mudah dipahami adalah perbedaan kecepatan antara berbagai
jenis enkripsi, kamu bisa menggunakan tool benchmarking yang ada di TrueCrypt’s
volume creation wizard. Seperti yang kamu lihat, AES sejauh ini adalah tipe enkripsi
tercepat dan terkuat.
Ada metode enkripsi yang cepat dan lambat, dan mereka semua memiliki fungsi
yang berbeda. Jika kamu ingin mencoba untuk melakukan dekripsi data kecil, kamu
bisa menggunakan enkripsi yang kuat atau bahkan melakukan enkripsi dua kali
dengan berbagai jenis enkripsi. Kalau kamu butuh sesuatu yang cepat, kamu bisa
menggunakan AES.
Untuk perbandingan atau benchmark tipe enkripsi, kamu bisa melihat Washington
University of St. Louis, dimana kamu bisa melakukan berbagai test pada rutinitas
yang berbeda dan memiliki penjelasan yang sangat geek.
Semua algoritma enkripsi yang sudah kita bahas tadi sebagian besar menggunakan
dua jenis enkripsi, yaitu:
Algoritma Symmetric key menggunakan kunci enkripsi yang terkait atau identik
untuk enkripsi dan dekripsi.
Untuk menjelaskan konsep enkripsi ini, kita akan menggunakan sedikit penjelasan
dariWikipedia untuk memahami bagaimana cara kerja algoritma Symmetric.
Alice menaruh sebuah pesan rahasia di dalam kotak dan mengunci kotak
menggunakan gembok dan ia memiliki kuncinya. Kemudian dia mengirimkan kotak
ke Bob melalui surat biasa. Ketika Bob menerima kotak, ia menggunakan kunci
salinan sama persis yang dimiliki Alice untuk membuka kotak dan membaca pesan.
Bob kemudian dapat menggunakan gembok yang sama untuk membalasa pesan
rahasia.
Dari contoh itu, algoritma sysmmetric-key dapat dibagikan kepada stream cipher dan
block cipher. Stream cipher mengenkripsi satu per satu bit dari pesan, dan block
cipher mengamil beberapa bit, biasanya 64bit dan mengenkripsi mereka menjadi
satu bagian. Ada banyak algoritma berbeda dari symmetric termasuk Twofish,
Serpent, AES (Rijndael), Blowfish, CAST5, RC4, TDES, and IDEA.
Pada metode asymmetric key, Bob dan Alice memiliki gembok yang berbeda, bukan
satu gembok dengan beberapa kunci seperti contoh symmetrick key di atas. Tentu
saja contoh ini lebih sederhana daripada yang seharusnya, tapi sebenarnya jauh lebih
rumit.
Pertama Alice meminta Bob untuk mengirim gembok yang terbuka melalui surat
biasa, sehingga ia tidak membagikan kuncinya. Ketika Alice menerimanya, ia
menggunakannya untuk mengunci sebuah kota yang berisi pesan dan mengirimkan
kotak dengan gembok terkunci tadi ke Bob. Bob kemudian membuka kotak dengan
kunci yang ia pegang karena itu gembok miliknya untuk membaca pesan Alice.
Untuk membalasnya, Bob harus meminta Alice untuk melakukan hal yang sama.
Keuntungan dari metode asymmetric key adalah Bob dan Alice tidak pernah berbagi
kunci mereka. Hal ini untuk mencegah pihak ketiga agar tidak menyalin kunci atau
memata-matai pesan Alice dan Bob. Selain itu, jika Bob ceroboh dan membiarkan
orang lain untuk menyalin kuncinya, pesan Alice ke Bob akan terganggu, namun
pesan Alice kepada orang lain akan tetap menjadi rahasia, karena orang lain akan
memberikan gembok milik mereka ke Alice untuk digunakan.
Enkripsi asymmetric menggunakan kunci yang berbeda untuk enkripsi dan dekripsi.
Penerima pesan memiliki sebuah kunci pribadi dan kunci publik. Kunci publik
diberikan ke pengirim pesan dan mereka menggunakan kunci publik untuk
Ada satu keuntungan melakukan enkripsi dengan menggunakan metode ini. Kita
tidak perlu mengirim sesuatu yang rahasia (seperti kunci enkripsi kita atau password)
melalui saluran yang tidak aman. Kunci publik kamu akan leihat ke dunia dan itu
bukan rahasia. Kunci rahasia kamu akan tetap aman di komputer kamu, dimana itu
tempatnya.
SSL sendiri memiliki konsep yang sederhana. Dimulai ketika browser meminta
Browser memeriksa sertifikat yang dikeluarkan oleh pihak terpercaya (biasanya CA),
bahwa sertifikat tersebut masih berlaku dan sertifikat masih berkaitan dengan web
tersebut.
Web server mendekripsi enkripsi symmetric key menggunakan kunci pribadi dan
menggunakan kunci sysmmetric untuk mendekripsi URL dan http data.
Web server mengirimkan kembali permintaan dokumen html dan enkripsi http data
dengan browser symmetric key. Browser mendekripsi http data dan dokumen html
mengg unakan symmetric key dan menampilkan informasi.
Perlu pemahaman yang panjang untuk tahu tentang enkripsi dan sedikit cara
kerjanya. Dimulai dari memahami awal mula enkripsi di era Yunani dan Romawi,
kemunculan Lucifer dan sekarang SSL yang menggunakan enkripsi asymmetric dan
symmetric untuk mengamankan kamu dari transaksi apa pun.
Referensi :
http://www.slideshare.net/kyucute/kriptografi‐42572702
Ir. Rinaldi Munir, M.T.
http://winpoin.com/winexplain‐apa‐itu‐enkripsi‐dan‐bagaimana‐cara‐kerjanya/
MODUL PERKULIAHAN
Kriptografi
04
Ilmu Komputer Teknik Informatika Tim Dosen
Pembagian Jenis Metode Algoritma Kriptografi
Berawal dari membaca diskusi menarik di sebuah forum programmer web, kemudian
muncul kembali di sebuah forum komunitas linux. Saya memposting pernyataan saya
tentang keheranan saya terhadap orang‐orang yang menyatakan bahwa MD5 bisa di‐
decrypt. Tentunya hanya sebuah status di jejaring sosial Google+. Ternyata postingan
tersebut mendapat respon ketidak‐setujuan beberapa mahasiswa saya terhadap pernyataan
saya. Ya sudahlah, tidak apa‐apa, mereka kan belum pernah dapat kuliah keamanan.
Kali ini saya akan sedikit menjelaskan tentang beberapa jenis metode algoritma enkripsi
atau kriptografi. Setidaknya ada 3 jenis, yakni Symmetric, asymmetric, dan hash function.
Apa perbedaannya?
Algoritma enkripsi symmetric adalah sebuah algoritma di mana kunci pengaman untuk
melakukan enkripsi dan dekripsi adalah satu. Kekurangannya adalah, kita tidak bisa
mengobral kunci pengaman sembarangan. Tapi bagaimanapun, algoritma ini masih dipakai
untuk memproteksi file yang dikompresi, semisal file zip, karena biasanya orang yang
menggunakannya sengaja untuk berbagi di internet, tapi tidak ingin mudah dicari oleh
search engine agar tidak dihapus oleh orang yang melaporkan.
Berbeda dengan metode asymmetric, kunci pengamannya ada 2, yang satu untuk disebar ke
umum, biasa disebut Public Key, yang satunya dirahasiakan, disebut Private Key. Salah satu
kelebihannya adalah bisa digunakan untuk tanda tangan digital, juga bisa digunakan untuk
memastikan bahwa file hanya bisa dibuka oleh orang yang berhak.
Kedua kunci pengaman pada Metode Asymmetric, baik Public Key maupun Private Key bisa
digunakan untuk mengenkripsi maupun mendekripsi file. Jika enkripsi dilakukan dengan
menggunakan Public Key, maka dekripsi hanya bisa dilakukan dengan Private Key, begitu
pula sebaliknya, jika enkripsi dilakukan dengan Private Key, maka hanya bisa dibuka dengan
Public Key.
Sebagai contoh kasus dalam Metode Asymmetric, saya akan menggambarkan pengiriman
data, dari A ke B. Kasus pertama sebagai tanda tangan digital. Maka, A akan mengenkripsi
file yang akan dikirim ke B dengan Private Key A. Setelah B menerima, maka B akan
membukanya dengan Public Key A. Jika bisa dibuka, maka bisa dipastikan itu dari A.
Adapun penggunaan enkripsi untuk memastikan yang menerima B, maka A akan
mengenkripsi dengan Public Key B. Setelah itu, baru B akan membukanya dengan Private
Key B.
Apabila kedua permasalahan di atas digabung, yakni agar pesan dari A ke B bisa dipastikan
dari A dan bahwa hanya B yang bisa membaca pesan, maka pesan bisa dienkripsi dengan
Private Key A terlebih dahulu, baru kemudian dienkripsi dengan Public Key B. Setelah B
menerima, maka B akan membukanya dengan Private Key B terlebih dahulu, kemudian
mendekripnya lagi dengan Public Key A.
Namun, Metode Asymmetric ini jarang digunakan untuk umum, kecuali dalam kasus
perbankan, dikarenakan begitu kompleknya algoritmanya.
Nah, yang terakhir adalah Hash Function. Hash Function adalah algoritma dimana,
berapapun karakter yang anda masukkan akan dirubah ke dalam susunan karakter sebesar
bit tertentu. Bingung? Saya akan berusaha memberikan permisalan semudah mungkin.
Sebagai misal, sebuah password berupa angka akan diubah ke dalam angka senilai 0‐9.
Password hanya berupa angka. Coba gunakan fungsi berikut:
F = Sum ( Input [0 .. n] )
Hash = F %10
Rumusan di atas bisa dikatakan fungsi Hash sederhana. Katakanlah kita gunakan input
"123", maka nilai Hash‐nya adalah
Hash = ( 1 + 2 + 3 ) % 10 = 6
OK, bagaimana dengan input "1234564"?
Hash = ( 1 + 2 + 3 + 4 + 5 + 6 + 4 ) % 10 = 6
Jadi, begitu banyak macam input, hasilnya bisa memiliki nilai Hash yang sama. Fungsi Hash
biasanya digunakan untuk menyimpan password. Mengapa passwordnya tidak langsung di
simpan saja sebagai teks plain tanpa enkripsi. Tentunya berbahaya, karena administrator
dapat membaca password dengan mudah. Meskipun secara otomatis, admin bisa saja
membaca data yang ada di servernya, tapi ada kecenderungan seorang user menggunakan
password yang sama di tempat lain. Sehingga bisa saja admin membuka login user di luar
wilayah kekuasaanya dengan mencoba password yang terdaftar di servernya.
Mengapa tidak menggunakan enkripsi Symmetric atau Asymmetric? Untuk pengamanan
yang kuat, penggunaan kedua enkripsi tersebut sangat menghabiskan resource server. Lagi
pula, melakukan dekripsi pada password juga tidak terlalu penting. Selain itu, kalau
menggunakan metode Symmetric, admin yang iseng bisa saja melakukan brute force diam‐
diam ke data yang dimilikinya. Jadi, kalau bisa malah dekripsi itu jangan sampai bisa
dilakukan.
Jenis-Jenis Kriptografi
1. Pengertian Kriptografi Hybrid
Sistem ini mengggabungkan chiper simetrik dan asimetrik. Proses ini dimulai dengan negosiasi
menggunakan chiper asimetrik dimana kedua belah pihak setuju dengan private key/session key yang
akan dipakai. Kemudian session key digunakan dengan teknik chiper simetrik untuk mengenkripsi
conversation ataupun tukar-menukar data selanjutnya. Suatu session key hanya dipakai sekali sesi.
Untuk sesi selanjutnya session key harus dibuat kembali.
Pendistribusian Key
Dalam pendistribusian suatu key dapat dilakukan dengan bermacam cara misalnya download,
diberikan secara langsung dsb. Untuk mencegah pemalsuan key oleh pihak ketiga maka diperlukan
adanya certificate.
Disebut sebagai algoritma simetris, karena dalam proses enkripsi dan dekripsinya
menggunakan kunci yang sama. Algoritma enkripsi dan deskripsi bias merupakan algoritma yang
sudah umum diketahui, namun kunci yang dipakai harus terjaga kerahasiaanya, dan hanya diketahui
oleh pihak pengirim dan penerima saja. Kunci ini disebut sebagai private key. Sebelum berkomunikasi
kedua pihak harus bersepakat lebih dahulu tentang kunci yang dipergunakan. Pendistribusian kunci
dari satu pihak ke pihak lainnya memerlukan suatu kanal tersendiri yang terjagaan kerahasiaannya.
Adapun proses kriptografi simetris dapat kita lihat pada Gambar
Kelebihan :
1. Waktu proses untuk enkripsi dan dekripsi relatif cepat, hal ini disebabkan karena efisiensi
yang terjadi pada pembangkit kunci.
2. Karena cepatnya proses enkripsi dan dekripsi, maka algoritma ini dapat digunakan pada
sistem secara real-time seperti saluran telepon digital.
Kekurangan :
3. Untuk tiap pasang pengguna dibutuhkan sebuah kunci yang berbeda, sedangkan sangat sulit
untuk menyimpan dan mengingat kunci yang banyak secara aman, sehingga akan
menimbulkan kesulitan dalam hal manajemen kunci.
4. Perlu adanya kesepakatan untuk jalur yang khusus untuk kunci, hal ini akan menimbulkan
masalah yang baru karena tidak mudah u menentukan jalur yang aman untuk kunci, masalah
ini sering disebut dengan “Key Distribution Problem”.
5. Apabila kunci sampai hilang atau dapat ditebak maka kriptosistem ini tidak aman lagi.
Contoh skema enkripsi kunci simetrik adalah :
c. FEAL
Algoritma asimetrik disebut juga algoritma kunci publik. Disebut kunci publik karena kunci
yang digunakan pada proses enkripsi dapat diketahui oleh orang banyak[1] tanpa membahayakan
kerahasiaan kunci dekripsi, sedangkan kunci yang digunakan untuk proses dekripsi hanya diketahui
oleh pihak yang tertentu (penerima). Mengetahui kunci publik semata tidak cukup untuk menentukan
kunci rahasia. Pasangan kunci publik dan kunci rahasia menentukan sepasang transformasi yang
merupakan invers satu sama lain, namun tidak dapat diturunkan satu dari yang lain. Dalam sistem
kriptografi kunci publik ini, proses enkripsi dan dekripsi menggunakan kunci yang berbeda, namun
kedua kunci tersebut memiliki hubungan matematis (karena itu disebut juga sistem asimetris). Adapun
proses kriptografi asimetris secara umum dapat kita lihat pada Gambar
Kelebihan :
a. Kecepatan proses algoritma ini tergolong lambat bila dibandingkan dengan algoritma kunci
simetris.
b. Untuk tingkat keamanan yang sama, rata-rata ukuran kunci harus lebih besar bila
dibandingkan dengan ukuran kunci yang dipakai pada algoritma kunci simetris.
Contoh skema enkripsi kunci asimetrik adalah [1]:
b. RSA
c. Diffie-Hellman (DH)
Daftar Pustaka:
http://surfwithadi.blogspot.com/2011/03/k-r-i-p-t-o-g-r-f-i.html
Ada banyak sekali cara mendistribusikan kunci, salah satunya adalah melalui
teknikKriptografi Simetris. Dalam teknik ini, maka dibutuhkan orang lain yang terpercaya, mungkin
dia adalah Trent. Agar anda dapat mengirim kunci kepada Alice dengan sangat rahasia, maka anda
bergantung pada Trent ini.
Dengan sistem ini pula, maka si Interceptor (orang yang ingin tahu kunci-kunci anda) akan
bingung. Dia tidak akan bisa membedakan antara kunci A, kunci B, kunci random, atau kunci simetris
yang benar-benar merupakan kunci simetris, ingat, dia tidak tahu bahwa kunci simetris anda adalah
kunci simetris. Sehingga, disini akan terdapat sedikit permainan ‘probabilitas’ di pelajaran SMA =D.
Lagian, jika sebuah sistem dapat menggenerate 1000-kunci acak, ini ide yang lebih bagus. Si
Interceptor akan kebingungan menggunakan kunci yang mana untuk mendapatkan kunci asli anda,
belum lagi, kunci tersebut didekripsi, sehingga membutuhkan waktu banyak untuk mendekripsi si
kunci.
Satu hal yang mengkhawatirkan: jika ternyata Trent adalah orang bermulut besar, dia bisa
membobol kunci simetris anda. Karena, dia tahu kunci “B”. Kunci simetris yang anda kirim kepada
alice dienkripsi menggunakan kunci “B” bukan? Lha, itulah masalahnya. Are you understand? If not,
you can ask here, NOW!
Permasalahan yang menarik pada bidang kemanan informasi adalah adanya trade off antara
kecepatan dengan kenyamanan. Semakin aman semakin tidak nyaman, berlaku juga sebaliknya
semakin nyaman semakin tidak aman. Salah satu contohnya adalah bidang kriptografi. Tetapi hal ini
dapat diatasi dengan penggunaan kriptografi hibrida. Kriptografi hibrida sering dipakai karena
memanfaatkan keunggulan kecepatan pemrosesan data oleh algoritma simetrik dan kemudahan
transfer kunci menggunakan algoritma asimetrik. Hal ini mengakibatkan peningkatan kecepatan tanpa
mengurangi kenyamanan serta keamanan. Aplikasi kriptografi hibrida yang ada saat ini pada
umumnya ditujukan untuk penggunaan umum atau mainstream yang merupakan pengguna komputer.
Aplikasi pada umumnya mengikuti perkembangan hardware komputer yang semakin cepat
dari waktu ke waktu. Sehingga hardware yang sudah lama tidak dapat difungsikan sebagaimana
mestinya. Selain itu banyak perangkat embedded dengan kekuatan pemrosesan maupun daya yang
terbatas. Terutama dengan trend akhir akhir ini, hampir semua orang memiliki handheld device yang
mempunyai kekuatan terbatas, seperti telepon seluler.
Dalam tugas akhir ini dibahas mengenai perancangan sebuah aplikasi kriptografi hibrida yang
ditujukan untuk kalangan tertentu, terutama pemakai hardware dengan kekuatan pemrosesan yang
terbatas. Aplikasi yang ingin dicapai adalah aplikasi yang sederhana, ringan dan cepat tanpa
mengurangi tingkat keamanan menggunakan hash.
Sistem ini mengggabungkan chiper simetrik dan asimetrik. Proses ini dimulai dengan
negosiasi menggunakan chiper asimetrik dimana kedua belah pihak setuju dengan private key/session
key yang akan dipakai. Kemudian session key digunakan dengan teknik chiper simetrik untuk
mengenkripsi conversation ataupun tukar-menukar data selanjutnya. Suatu session key hanya dipakai
sekali sesi. Untuk sesi selanjutnya session key harus dibuat kembali.
Pendistribusian Key
Dalam pendistribusian suatu key dapat dilakukan dengan bermacam cara misalnya download,
diberikan secara langsung dsb. Untuk mencegah pemalsuan key oleh pihak ketiga maka diperlukan
adanya certificate.
Referensi :
http://www.slideshare.net/kyucute/kriptografi‐42572702
http://winpoin.com/winexplain‐apa‐itu‐enkripsi‐dan‐bagaimana‐cara‐kerjanya/
[1] Childs, Lindsay N. A Concrete Introduction to Higher Algebra.
Undergraduate Texts in Mathematics. Springer-Verlaag: New York,
2000.
[2] Schneier, B. Applied Cryptography, 2nd Ed. John Wiley & Sons, Inc:
Canada, 1996.
[3] Rivest R.L., Shamir A., Adleman L. "A Method for Obtaining Digital
Signatures and Public-Key Cryptosystems. MIT: Massachusetts. 1977.
MODUL PERKULIAHAN
Kriptografi
05
Ilmu Komputer Teknik Informatika Tim Dosen
Pembagian Algoritma Kriptografi
• Algoritma Kunci Simetris
• Algoritma Kunci Asimetris
Algoritma Simetris
Ada dua teknik dalam kriptografi enkripsi simetris: stream cipher dan block cipher.
Stream cipher mengenkripsi satu per satu bit pesan dalam satu waktu, sedangkan block
cipher mengambil sejumlah bit dan mengenkripsi mereka sebagai satu unit.
Algoritma kunci simetris umumnya lebih cepat untuk dijalankan daripada algoritma kunci
simetris
Kerugian untuk algoritma kunci simetris adalah persyaratan menggunakan kunci rahasia
bersama. Kunci rahasia harus dipertukarkan antar pihak melalui saluran yang aman sebelum
enkripsi dapat terjadi.
Data Encryption Standard
DES dikembangkan IBM pada tahun 1975, dan telah bertahan sangat baik terhadap
kriptoanalisis selama bertahun‐tahun.
DES adalah algoritma enkripsi simetris dengan panjang kunci yang tetap 56 bit.
Algoritma ini masih bagus, tapi karena panjang kunci pendek, maka rentan terhadap
serangan brute force yang memiliki sumber daya yang cukup.
DES biasanya beroperasi dalam modus blok, di mana mengenkripsi data dalam blok
64‐bit. Algoritma dan kunci yang sama digunakan untuk enkripsi dan dekripsi.
Karena DES didasarkan pada fungsi‐fungsi matematika sederhana, maka dapat
dengan mudah diimplementasikan dalam hardware.
Triple Data Encryption Standard (3DES)
Salah satu cara efektif untuk meningkatkan panjang kunci DES tanpa mengubah
algoritma itu sendiri adalah dengan menggunakan algoritma yang sama dengan
kunci yang berbeda beberapa kali berturut‐turut.
Menerapkan teknik DES tiga kali berturutturut ke blok teks biasa disebut Triple DES
(3DES)
Ketika sebuah pesan yang akan dienkripsi dengan 3DES, sebuah metode yang disebut EDE
(Encrypt Decrypt Encrypt) digunakan.
EDE metode yang dijelaskan dalam daftar berikut :
1. Pesan dienkripsi dengan 56‐bit kunci pertama, K1.
2. Data didekripsi dengan kunci kedua 56‐bit, K2.
3. Data dienkripsi lagi dengan kunci ketiga 56‐bit, K3.
Prosedur EDE menyediakan enkripsi dengan panjang kunci yang efektif 168 bit. Jika kunci K1
dan K3 adalah sama (seperti dalam beberapa implementasi), enkripsi yang kurang aman
dengan panjang kunci 112 bit tercapai.
Untuk mendekripsi pesan, harus menggunakan prosedur sebagai berikut, yang merupakan
kebalikan dari metode EDE:
1. Mendekripsi ciphertext dengan kunci K3
2. Mengenkripsi data dengan kunci K2
3. Akhirnya, mendekripsi data dengan kunci K1
Mengenkripsi data tiga kali dengan tiga kunci yang berbeda tidak secara signifikan
meningkatkan keamanan.
Metode EDE harus digunakan Mengenkripsi turut dengan 56‐bit yang berbeda sama dengan
panjang kunci yang efektif 58 bit dan bukan 128 bit, seperti yg diharapkan.
Referensi :
http://www.slideshare.net/kyucute/kriptografi‐42572702
Ir. Rinaldi Munir, M.T.
http://winpoin.com/winexplain‐apa‐itu‐enkripsi‐dan‐bagaimana‐cara‐kerjanya/
MODUL PERKULIAHAN
Kriptografi
06
Ilmu Komputer Teknik Informatika Tim Dosen
DES ‐Data Encryption Standard‐
Kriptografi merupakan ilmu dan seni untuk menjaga kerahasiaan pesan dengan
cara menyandikannya kebentuk yang tidak dapat dimengerti lagi maknanya. DES (Data
Encryption Standard) merupakan salah satu algoritma standar yang ada. DES merupakan
block cipher 16 ronde yang memiliki struktur Feistel dan memiliki masukan/keluaran 64 bit,
serta memiliki kunci sepanjang 56 bit. Dengan struktur Feistel, algoritma enkripsi memiliki
struktur yang sama dengan yang untuk dekripsi. Perbedaannya hanya terletak pada urutan
subkey yang dimasukkan.
APA ITU DES?
DES merupakan salah satu algoritma kriptografi cipher block dengan ukuran blok 64 bit
dan ukuran kuncinya 56 bit. Algoritma DES dibuat di IBM, dan merupakan modifikasi
daripada algoritma terdahulu yang bernama Lucifer. Lucifer merupakan algoritma cipher
block yang beroperasi pada blok masukan 64 bit dan kuncinya berukuran 28 bit.
Pengurangan jumlah bit kunci pada DES dilakukan dengan alasan agar mekanisme algoritma
ini bisa diimplementasikan dalam satu chip.
DES pertama kali dipublikasikan di Federal Register pada 17 Maret 1975. Setelah
melalui banyak diskusi, akhirnya algortima DES diadopsi sebagai algoritma standar yang
digunakan oleh NBS (National Bureau of Standards) pada 15 Januari 1977. Sejak saat itu, DES
banyak digunakan pada dunia penyebaran informasi untuk melindungi data agar tidak bisa
dibaca oleh orang lain. Namun demikian, DES juga mengundang banyak kontroversi dari
para ahli di seluruh dunia. Salah satu kontroversi tersebut adalah S‐Box yang digunakan
pada DES. S‐Box merupakan bagian vital dari DES karena merupakan bagian yang paling sulit
dipecahkan. Hal ini disebabkan karena S‐Box merupakan satu – satunya bagian dari DES
yang komputasinya tidak linear. Sementara itu, rancangan dari S‐Box sendiri tidak
diberitahukan kepada publik. Karena itulah, banyak yang curiga bahwa S‐Box dirancang
sedemikian rupa sehingga memberikan trapdoor kepada NSA agar NSA bisa membongkar
semua ciphertext yang dienkripsi dengan DES kapan saja.
Kontroversi yang kedua adalah jumlah bit pada kunci DES yang dianggap terlalu kecil, hanya
56 bit. Akibatnya DES rawan terhadap serangan brute force. Walaupun terdapat
kerawanan tersebut, DES tetap digunakan pada banyak aplikasi seperti pada enkripsi PIN
(Personal Identification Numbers) pada mesin ATM (Automatic Teller Machine) dan
transaksi perbankan lewat internet. Bahkan, organisasi – organisasi pemerintahan di
Amerika seperti Department of Energy, Justice Department, dan Federal Reserve System
menggunakan DES untuk melindungi penyebaran data mereka.
SKEMA GLOBAL DES
Pada sekitar akhir tahun 1960, IBM melakukan riset pada bidang kriptografi yang pada
akhirnya disebut Lucifer. Lucifer dijual pada tahun 1971 pada sebuah perusahaan di London.
Lucifer merupakan algoritma berjenis Block Cipher yang artinya bahwa input maupun
output dari algoritma tersebut merupakan 1 blok yang terdiri dari banyak bit seperti 64 bit
atau 128 bit. Lucifer beroperasi pada blok input 64 bit dan menggunakan key sepanjang 128
bit. Lama kelamaan Lucifer semakin dikembangkan agar bisa lebih kebal terhadap serangan
analisis cypher tetapi panjang kuncinya dikurangi menjadi 56 bit dengan maksud supaya
dapat masuk pada satu chip. Di tempat yang lain, biro standar amerika sedang mencari‐cari
sebuah algoritma enkripsi untuk dijadikan sebagai standar nasional.IBM
mencoba mendaftarkan algoritmanya dan di tahun 1977 algoritma tersebut dijadikan
sebagai DES (Data Encryption Standard). Algoritma ini telah disetujui oleh National Bureau
of Standard (NBS) setelah penilaian kekuatannya oleh National Security Agency (NSA)
Amerika Serikat. DES termasuk ke dalam sistem kriptografi simetri dan tergolong jenis
cipher blok. DES beroperasi pada ukuran blok 64 bit dan mengenkripsikan 64 bit plainteks
menjadi 64 bit cipherteks dengan menggunakan 56 bit kunci internal (internal key) atau sub‐
kunci (subkey). Kunci internal dibangkitkan dari kunci eksternal (external key) yang
panjangnya 64 bit. Skema global dari algoritma DES adalah sebagai berikut:
2. Hasil permutasi awal kemudian di‐enciphering‐ sebanyak 16 kali (16 putaran).
Setiap putaran menggunakan kunci internal yang berbeda.
ENKRIPSI DES
Di dalam proses enciphering, blok plainteks terbagi menjadi dua bagian, kiri (L) dan kanan
(R), yang masing‐masing panjangnya 32 bit. Kedua bagian ini masuk ke dalam 16 putaran
DES. Pada setiap putaran i, blok R merupakan masukan untuk fungsi transformasi yang
disebut f. Pada fungsi f, blok R dikombinasikan dengan kunci internal Ki. Keluaran dai fungsi f
di‐XOR‐kan dengan blok L untuk mendapatkan blok R yang baru. Sedangkan blok L yang baru
langsung diambil dari blok R sebelumnya. Ini adalah satu putaran DES. Secara lengkap
proses Enkripsi dengan menggunakan DES ditunjukan pada skema berikut :
Algoritma DES memerlukan sebuah kunci yang panjang bloknya 64 bit di setiap blok
DES digunakan untuk mengamankan data pada perangkat lunak dan keras negara tersebut.
Berikut desain input‐output algoritma DES
Dapat dilihat bahwa ada dua input untuk fungsi enkripsi, yaitu plaintext dengan panjang 64‐
bit dan kunci dengan panjang 56‐bit. Untuk mengenkripsi data dengan menggunakan
algoritma DES, dimulai dengan membagi bit dari teks tersebut kedalam blok‐blok dengan
ukuran blok sebesar 64‐bit, yang kemudian disebut blok plaintext. Adapun penjelasan
langkah‐langkah enkripsi DES dijelaskan sebagai berikut :
A. Permutasi Awal
Sebelum putaran pertama, terhadap blok plainteks dilakukan permutasi awal (initial
permutation atau IP). Tujuan permutasi awal adalah mengacak plainteks sehingga urutan
bit‐biit di dalamnya berubah. Pengacakan dilakukan dengan menggunakan matriks
permutasi awal berikut ini:
B. Pembangkitan Kunci Internal
Pada proses enchipering akan dilakukan proses pemutaran sebanyak 16 kali, oleh karena
itu dibutuhkan 16 buah kunci. 16 buah kunci tersebut dibangkitkan dari kunci eksternal.
Masukan kunci (input key) K dispesifikasikan sebagai 64‐bit kunci (key), kunci eksternal ini
akan menjadi masukan untuk permutasi dengan menggunakan matriks permutasi choice
one (PC‐1) berikut ini:
8 buah bit yaitu bit 8, 16, 24, 32, 40, 48, 56, dan 64 digunakan sebagai parity bit. Parity
bit tersebut akan mereduksi ukuran efektif key dari 64‐bit menjadi 56‐bit. Selanjutnya, 56
bit yang tersisa ini dibagi menjadi dua bagian, yaitu bagian kiri (C0) dan bagian kanan (D0).
Selanjutnya kedua bagian digeser ke kiri (left shifting) sepanjang satu atau dua bit sesuai
tabel pergeseran berikut ini :
Setelah pergeseran bit, maka masing‐masing Ci dan Di akan dipermutasi kembali
dengan menggunakan matriks PC‐2 berikut :
Berikut ini merupakan skema yang menjelaskan proses pembangkitan kunci‐kunci internal
DES :
C. Enciphering
Seperti sudah dijelaskan sebelumnya, setiap blok plaintext mengalami 16 kali
putaran enchipering. Secara matematis, satu putaran DES dinyatakan sebagai berikut :
Adapun langkah‐langkah enchipering dapat dilihat pada skema berikut :
Adapun penjelasan dari skema diatas adalah :
Selanjutnya hasil ekspansi yaitu E(Ri‐1), yang panjangnya 48‐bit di XOR kan dengan Ki
yang panjangnya juga 48‐bit dan menghasilkan vektor A yang panjangnya 48‐bit.
Kedelapan kotak S (s‐box) adalah :
Contoh pencarian output dari kotak s adalah :
Bit 100110 = keluaran dari kotak‐s adalah kotak‐s pertama, baris ke 2 dan kolom ke3 yaitu 8
(1000).
Keluaran proses substitusi adalah vector B yang panjangnya 48 bit. Vector B menjadi
masukan untuk proses permutasi. Adapun tujuan dari proses permutasi adalah untuk
mengacak hasil proses substitusi kotak‐S. Hasil permutasi dinyatakan dalam fungsi f(Ri‐1,Ki).
Permutasi ini dilakukan dengan menggunakan matriks permutasi sebagai berikut :
DEKRIPSI DES
DES memiliki proses yang sama untuk algoritma enkripsi dan dekripisinya. Proses
pendekripsian juga dilakukan dengan menggunakan cipher Feistel sebanyak 16 round,
dengan pada masing‐masing round mengerjakan proses yang sama. Yang membedakan
hanya urutan kunci dan juga input masukannya yang berupa ciphertext.
Pada round pertama, yang digunakan adalah K16, round kedua menggunakan K15, dan
seterusnya hingga round terakhir akan menggunakan K1. Ciphertext yang digunakan yaitu
berupa L16R16 yang diperoleh dari hasil permutasi invers IP‐1 terhadap ciphertext sebenarnya
(y) kemudian menukar 32 bit pertama dengan 32 bit terakhir dari hasil tersebut.
Proses dekripsi dilakukan dengan cara berkebalikan dari proses enkripsi, yaitu
dengan menggunakan L16 R16 untuk menemukan L0 R0 atau plaintext.
Atau dapat ditunjukkan dengan gambar berikut untuk proses setiap round‐nya.
Maka dari itu, untuk mendapatkan L0 R0 bisa digunakan langkah berikut :
Cara untuk mendapatkan plainteks kembali yaitu:
x = IP‐1 (RD0 LD0)
DIFFERENTIAL CRYPTANALYSIS
Salah satu serangan yang paling terkenal pada DES adalah metode “Differential
Cryptanalysis” yang dikenalkan oleh Edi Biham dan Adi Shamir. Serangan ini adalah serangan
chosen plaintext, yaitu penyerang memiliki kemampuan untuk memilih plaintext tertentu
dan mendapatkan ciphertext yang berkesusaian. Serangan ini mungkin tidak efektif untuk
memecahkan DES 16 ronde seperti pada umumnya, tetapi serangan ini dapat memecahkan
DES dengan iterasi lebih rendah. Sebagai contoh, DES 8 ronde dapat dipecahkan hanya
dalam beberapa menit dengan menggunakan sebuah PC sederhana. Pada DES, umumnya
kerahasiaannya terletak pada kunci yang digunakan, sementara tabel permutasi dan
tabel substitusi yang digunakan tidak berubah. Karena tulah kita mengasumsikan kriptanalis
sudah mengetahui tabel permutasi dan tabel substitusi yang digunakan.
Differential Cryptanalysis adalah suatu teknik di mana kita membuat perubahan
tertentu padalaintext sehingga dari ciphertext yang dihasilkan, kita bisa mencari kunci yang
digunakan. Konsep perbedaan dalam differential cryptanalysis dirumuskan dengan operasi
exclusive or. Jadi perbedaan antara dua naskah asli P1 dan P2 adalah P1 ⊕ P2 dimana
operasi XOR dilakukan secara bitwise. Jika C1 dan C2 adalah pasangan ciphertext untuk P1
dan P2 , maka efek P1 ⊕P2 terhadap ‐ C1⊕ C2 dapat mem berikan informasi mengenai
kunci enkripsi. Analisa mencoba mengeksploitasi kecenderungan fungsi cipher dan
didasarkan pada sifat aljabar operasi exclusive or. Efek dari permutasi seperti initial
permutation (IP ) adalah linear dengan
IP (P1 ) ⊕ IP (P2 ) = IP (P1 ⊕ P2 )
Jadi efek permutasi terhadap perbedaan tidak terlalu rumit. Permutasi yang dilakukan diluar
putaran seperti IP dan IP−1 sama sekali tidak mempersulit analisa. Mari kita lihat efek dari
fungsi cipher
f yang beroperasi terhadap setengah dari naskah sebesar 32 bit. Efek dari ekspansi E juga
linear
E(P1 ) ⊕ E(P2 ) = E(P1 ⊕ P2 )
Jadi ekspansi juga tidak membuat rumit perbedaan, jadi tidak mempengaruhi analisa satu
putaran. Akan tetapi, ekspansi, yang selain mengekspansi juga melakukan permutasi,
mempengaruhi tingkat kesulitan analisa lebih dari dua putaran karena efek avalanche yang
ditimbulkannya. Efek avalanche terjadi karena perbedaan 1 bit dalam input setelah
melewati S‐box menjadi perbedaan sedikitnya 2 bit. Karena efek ekspansi, perbedaan 2 bit
akan menjadi input 3 S‐boxes dua putaran kemudian yang oleh 3 Sboxes dijadikan
perbedaan 6 bit, dan seterusnya. Jadi dengan setiap putaran, efek perbedaan semakin besar
bagaikan avalanche.
Efek dari operasi exclusive or dengan kunci putaran adalah :
(P1 ⊕ K) ⊕ (P2 ⊕ K) = P1 ⊕ P2
Ini berarti tidak ada efek terhadap perbedaan. Efek dari permutasi P juga linear, jadi yang
sangat menentukan dalam differential cryptanalysis adalah efek dari substitusi S‐box yang
diketahui sebagai tidak linear.
ANALISIS SATU PUTARAN
x = 0x35 ⊕ k1
y = 0x01 ⊕ k1
Sehingga :
k1 = 0x35 ⊕ x = 0x01 ⊕ y
Jadi bits kunci putaran didapat dari XOR pasangan hasil ekspansi dengan pasangan input
S1. Namun tidak semua pasangan input S1 dapat menghasilkan 0xd sebagai XOR output S1.
Hanya ada 8 pasangan input x dan y dengan XOR 0x34 yang menghasilkan XOR output 0xd,
oleh karena itu hanya ada 8 kandidat nilai bits kunci yang dimungkinkan seperti terlihat
dalam tabel berikut:
Jadi dengan menganalisa hasil transformasi S1 terhadap pasangan ekspansi 0x35 dan 0x01,
ruang pencarian bits kunci putaran diperkecil dari 64 kandidat menjadi 8 kandidat. Jika kita
mempunyai pasangan ekspansi lain (mungkin dengan hasil XOR yang berbeda) yang
menghasilkan tabel lain, kita dapat memperoleh informasi tambahan mengenai bits kunci
putaran. Bits kunci putaran harus berada dalam semua tabel yang dihasilkan, jadi setelah
mendapatkan tabel 8.2, kandidat untuk bits kunci putaran tinggal dua yaitu 0x23 dan 0x17.
Analisis dapat dilanjutkan menggunakan pasangan ekspansi lainnya sampai kandidat bits
kunci putaran tinggal satu sehingga bits kunci putaran dapat ditentukan. Jika proses
pencarian bits kunci putaran menggunakan analisa efek S‐box tidak selesai, hasil analisa
dapat digunakan untuk menentukan probabilitas berbagai kandidat bits kunci putaran.
Pendekatan probabilistik inilah sebenarnya yang digunakan dalam differential cryptanalysis.
Secara garis besar, metode yang digunakan differential cryptanalysis untuk mencari kunci
putaran adalah sebagai berikut:
1. Kita pilih XOR untuk naskah asli.
2. Kita buat beberapa pasangan naskah asli dengan XOR yang dipilih, kita
lakukan enkripsi terhadap pasangan, dan simpan pasangan terenkripsi.
3. Untuk setiap pasangan, cari XOR output yang diharapkan untuk sebanyak
mungkin Sboxes untuk putaran terahir dari XOR naskah asli dan pasangan terenkripsi
(XOR input fungsi cipher f untuk putaran terahir diketahui karena merupakan XOR
bagian dari pasangan terenkripsi).
5. Kunci putaran yang terpilih adalah kandidat kunci putaran yang mempunyai
hitungan terbesar.
Hasil analisa dari Edi Biham dan Adi Shamir tentang kompleksitas pemecahan kunci pada
DES ditunjukkan dalam tabel berikut :
Tabel diatas menunjukkan bahwa untuk DES dengan putaran penuh (16 putaran),
differential crypatanalisis jauh lebih sukar daripada exhaustive search atau brute force.
LINEAR CRYPTANALYSIS
Linear Cryptanalysis pertama kali diterbitkan secara terbuka sebagai sarana untuk
menyerang DES oleh Mitsuru Masui di EUROCRYPT’93. Metodenya adalah mencoba untuk
menemukan hubungan linear antara plaintext, ciphertext dan keys ketika mereka melalui S‐
BOX. Dengan mengetahui sepasang plaintext‐ciphertext sebagai data, hubungan dengan
kemungkinan yang cukup tinggi dapat digunakan untuk menemukan kuncinya.
Matsui menunjukkan bahwa DES dapat dipecahkan dengan bantuan 247 pasang dari
plaintextciphertext yang sudah diketahui dan lebih cepat dari metode exhaustivesearch. [1]
Namun Matsui memperbarui metodenya yaitu untuk mencapai tingkat keberhasilan sebesar
85% dengan metode ini, diperlukan 243 pasang plaintext‐ciphertext. Prinsip dari linear
cryptanalysis sangatlah sederhana, yaitu satu mendekati (non‐linear) blok cipher
menggunakan ekspresi linear :
Eli Biham mengambil satu langkah lebih maju untuk membantu menentukan pembatasan S‐
BOX untuk membuat mereka lebih tahan terhadap linear cryptanalysis. Ia menemukan
bahwa peningkatan jumlah bit output dari sebuah S‐BOX dapat membahayakan S‐BOX
secara signifikan terhadap linear cryptanalysis. Lebih tepatnya, ia menemukan bahwa dalam
m x n S‐BOX, dimana m adalah jumlah bit input dan n adalah jumlah bit output, jika n x 2m –
m maka S‐BOX harus memiliki linear property dari bit input maupun dari bit ouput.
BRUTE FORCE ATTACK
Tipe serangan ini adalah tipe serangan yang dilakukan secara praktikal. Seperti diketahui,
panjang kunci pada DES adalah 56‐bit, sehingga banyak kombinasi kunci yang mungkin
adalah 256 kemungkinan. Dengan mengacu pada fakta tersebut kita dapat mendisain
sebuah program dengan mengacu pada algoritma enkripsi DES untuk kemudian dilakukan
Alternatif lain adalah dengan membangun sebuah perangkat keras khusus yang
diperuntukkan khusus untuk melakukan operasi ini. Telah banyak dikembangkan model
perangkat keras dengan tujuan khusus seperti ini, salah satu contohnya adalah Cost‐
Optimized Parallel Code Breaker (COPACOBANA).
COPACOBANA terdiri dari serangkaian chip FPGA, dimana pada setiap chip terdapat empat
buah engine DES yang bertugas untuk melakukan pengujian terhadap sebuah kunci.
KELEMAHAN DES
Isu‐isu yang menjadi perdebatan kontroversial menyangkut keamanan DES:
1. Panjang kunci
2. Jumlah putaran
3. S‐Box
A. Panjang Kunci
Panjang kunci eksternal DES hanya 64 bit, itupun yang dipakai Cuma 56 bit. Awalnya
diusulkan oleh IBM adalah 128 bit, namun atas permintaan NSA, panjang kunci dikurangi 72
bit sehinggal menjadi 56 bit, alasan pengurangannya tidak diumumkan. Serangan yang bisa
dilakukan dengan memanfaatkan kelemahan panjang kunci ini dengan menggunakan
exhaustive key search. Exhaustive search adalah pencarian terhadap semua kemungkinan
solusi. Dengan panjang kunci 56 bit akan terdapat 256 atau 72.057.594.037.927.936
kemungkinan kunci. Jika diasumsikan serangan exhaustive key search dengan menggunakan
prosesor parallel mencoba setengah dari jumlah kemungkinan kunci itu maka
diperlukan 1142 tahun untuk menemukan kunci yang benar. Namun pada tahun 1998
Electronic Frontier Foundation merancang dan membuat perangkat keras khusus untuk
menemukan kunci DES secara exhaustive search key dengan biaya $250.000 dan diharapkan
menemukan kunci selama 5 hari. Pada tahun 1999, kombinasi perangkat keras EFE dengan
kolaborasi internet yang melibatkan lebih dari 100.000 komputer dapat menemukan kunci
DES kurang dari 1 hari. Kriptoanalisis yang menggunakan exhaustive search key ini adalah
kriptoanalisis differential.
B. Jumlah Putaran
Dari penelitian, DES dengan jumlah putaran yang kurang dari 16 ternyata dapat
dipecahkan dengan knownplaintext attack yang lebih efektif daripada dengan brute force
attack. Kriptoanalisis yang menggunakan seragan knownplaintext ini adalah kriptoanalisis
linier.
C. S‐Box
Pada desain struktur internal DES, bagian substitusinya (S‐box), masih dirahasiakan. S‐box
ini diubah mengikuti saran NSA. Akibatnya, kita tidak bisa yakin bahwa struktur internal DES
bebas dari titik‐titik lemah yang sengaja disembunyikan, yang membuat NSA dapat
membuka cipher tanpa harus mengetahui kuncinya. Menurut penelitian para ahli
kriptografi, DES didesain dengan sangat cermat, sehingga bila kotak‐S ini diubah secara acak,
sangat mungkin sekali DES yang dihasilkan justru menjadi lebih mudah dibobol. Pengisian
kotak‐S DES masih menjadi misteri tanpa ada alasan mengapa memilih konstanta‐konstanta
di dalam kotak itu.
KESIMPULAN
DES meiliki cara yang sama dalam melakukan enkripsi maupun dekripsi. Hanya saja pproses
dekripsi dilakukan secara terbalik dibandingkan dengan proses enkripsi. DES diaplikasikan
dengan melakukan pengolahan pengolahan angka, oleh karena itu konsep dasar yang
digunakan DES adalah teori bilangan. Pada awalnya DES digunakan sebagai salah pengaman
yang paling aman, tetapi seiring berjalannya waktu banyak kekurangan sistem ini yang
menjadi kontroversi karena menyangkut kemanannya.
Referensi :
http://www.slideshare.net/kyucute/kriptografi‐42572702
Ir. Rinaldi Munir, M.T.
http://winpoin.com/winexplain‐apa‐itu‐enkripsi‐dan‐bagaimana‐cara‐kerjanya/
MODUL PERKULIAHAN
Kriptografi
07
Ilmu Komputer Teknik Informatika Tim Dosen
Pengertian Kriptografi
Kriptografi, secara umum adalah ilmu dan seni untuk menjaga kerahasiaan berita [bruce Schneier ‐
Applied Cryptography]. Selain pengertian tersebut terdapat pula pengertian ilmu yang mempelajari
teknik‐teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan
data, keabsahan data, integritas data, serta autentikasi data [A. Menezes, P. van Oorschot and S.
Vanstone ‐ Handbook of Applied Cryptography]. Tidak semua aspek keamanan informasi ditangani
oleh kriptografi.
Tujuan Kriptografi
Ada empat tujuan mendasar dari ilmu kriptografi ini yang juga merupakan aspek keamanan
informasi yaitu :
1. Kerahasiaan, adalah layanan yang digunakan untuk menjaga isi dari informasi dari siapapun
kecuali yang memiliki otoritas atau kunci rahasia untuk membuka/mengupas informasi yang telah
disandi.
2. Integritas data, adalah berhubungan dengan penjagaan dari perubahan data secara tidak sah.
Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi
data oleh pihak‐pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubsitusian
data lain kedalam data yang sebenarnya.
3. Autentikasi, adalah berhubungan dengan identifikasi/pengenalan, baik secara kesatuan sistem
maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan
diri. Informasi yang dikirimkan melalui kanal harus diautentikasi keaslian, isi datanya, waktu
pengiriman, dan lain‐lain.
4. Non‐repudiasi., atau nirpenyangkalan adalah usaha untuk mencegah terjadinya penyangkalan
terhadap pengiriman/terciptanya suatu informasi oleh yang mengirimkan/membuat.
Jenis‐Jenis Kriptografi
Algoritma kriptografi dibagi menjadi tiga bagian berdasarkan kunci yang dipakainya :
1. Kriptografi Simetris
Pengertian Kriptografi Simetris
Kriptografi Simetris adalah : Kode Hill atau lebih dikenal dengan Hill cipher merupakan salah satu
algoritma kriptografi kunci simetris dan merupakan salah satu kripto polyalphabetic. Hill cipher
diciptakan oleh Lester S. Hill pada tahun 1929 .
Teknik kriptografi ini diciptakan dengan maksud untuk dapat menciptakan cipher yang tidak dapat
dipecahkan menggunakanteknik analisis frekuensi. Berbeda dengan caesar cipher, hill cipher tidak
mengganti setiap abjad yang sama pada plainteks dengan abjad lainnya yang sama pada cipherteks
karena menggunakan perkalian matriks pada dasar enkripsi dan dekripsinya.
Hill cipher merupakan penerapan aritmatika modulo pada kriptografi. Teknik kriptografi ini
enggunakan sebuah matriks persegi sebagai kunci berukuran m x m sebagai kunci untuk melakukan
enkripsi dan dekripsi. Dasar teori matriks yang digunakan dalam Hill cipher antara lain adalah
perkalian antar matriks dan melakukan invers pada matriks
Karena menggunakan matriks sebagai kunci, Hill cipher merupakan algoritma kriptografi kunci
simetris yang sulit dipecahkan, karena teknik kriptanalisis seperti analisis frekuensi tidak dapat
diterapkan dengan mudah untuk memecahkan algoritma ini. Hill cipher sangat sulit dipecahkan jika
kriptanalis hanya memiliki ciphertext saja (chipertext‐only), namun dapat dipecahkan dengan mudah
jika kriptanalis memiliki ciphertext dan potongan dari plaintext‐nya (known‐plaintext).
Gambar Kriptografi Simetris :
Gambar Kriptografi Simetris
Contoh Kriptografi Simetris :
Perhitungan Matematis Dasar dari teknik hill cipher adalah aritmatika modulo terhadap matriks.
Dalam penerapannya, Hill cipher menggunakan teknik perkalian matriks dan teknik invers terhadap
matriks. Kunci pada hill cipher adalah matriks n x n dengan n merupakan ukuran blok. Jika matriks
kunci kita sebut dengan K, maka matriks K adalah sebagai berikut :
Contoh Kriptografi Simetris
Matriks K yang menjadi kunci ini harus merupakan matriks yang invertible, yaitu memiliki
multiplicative inverse K‐1 sehingga :
K.K‐1 = 1
Ingat ! Kunci harus memiliki invers karena matriks K‐1 tersebut adalah kunci yang digunakan untuk
melakukan dekripsi.
Cara Enkripsi
Dengan mengkodekan atau mengubah setiap huruf abjad dengan integer sebagai berikut: A = 0, B =
1, …, Z = 25
Cara Enkripsi
maka secara matematis, proses enkripsi pada hill cipher adalah:
Proses enkripsi pada hill cipher dilakukan per blok plainteks. Ukuran blok tersebut sama dengan
ukuran matriks kuncinya. Perhatikan contoh dibawah ini!
Proses enkripsi
Karena matriks kunci K berukuran 2, maka plainteks dibagi menjadi blok yang masing‐masing
bloknya berukuran 2 karakter. Blok pertama dari plainteks P1,2 =[3;14] kemudian dienkripsi dengan
kunci K dengan persamaan C = K . P mod 26. Karena perkalian tersebut menghasilkan lebih dari
angka 25 maka dilakukan modulo 26 pada hasil yang lebih dari 25.
Proses enkripsi
Karakter yang berkorespondensi dengan 21 dan 9 adalah V dan J. Setelah melakukan enkripsi semua
blok pada plainteks P maka dihasilkan cipherteks C sebagai berikut:
P = D O D I S P U T R A
C = V J R N P W L U R X
Cipherteks yang dihasilkan oleh enkripsi hill chiper atau kode hill menghasilkan cipherteks yang tidak
memiliki pola yang mirip dengan plainteks atau pesan aslinya.
Mancari K Invers dan Teknik Dekripsi
Perhitungan matematis dekripsi pada hill chiper atau kode hill ini sama halnya dengan enkripsi.
Namun matriks kunci harus dibalik (invers) terlebih dahulu dan kunci invers harus memenuhi
persamaan K . K‐1 = 1.
P=K‐1.Cm26
Sebelum mendekripsi kita akan menginvers kunci K terlebih dahulu, untuk menginvers kita akan
menggunakan persamaan [K | I] = K‐1, proses invers ini kita akan kita lakukan dengan operasi baris/
row operation.
Mancari K Invers dan Teknik Dekripsi
Dari perhitungan diatas didapatkan K invers :
K invers
K invers ini sudah memenuhi persamaan K . K‐1 = I, berdasarkan perkalian K dengan K‐1 kemudian
dimodulasi dengan 26 menghasilkan I = [1 0;0 1]. Setelah itu kita akan melakukan dekripsi terhadap
chiperteks, kemudian dirubah menjadi integer terlebih dahulu. Dengan kunci dekripsi yang dimiliki,
kriptanalis hanya perlu menerapkan persamaan (P = K‐1 . C mod 26) pada cipherteks dan kunci,
sehingga menghasilkan plainteks/ pesan asli (P = D O D I S P U T R A).
Hill cipher/ kode hill merupakan algoritma kriptografi klasik yang sangat kuat dilihat dari segi
keamanannya dnegan matriks kunci hill cipher harus merupakan matriks yang invertible, karena
disitulah letak keunikan sekaligus kesulitan kode hill tersebut.
2. Kriptografi Asimetris
Pengertian Kriptografi Asimetris
Algoritma asimetris, sering juga disebut dengan algoritma kunci publik atausandi kunci publik,
menggunakan dua jenis kunci, yaitu kunci publik (public key) dan kunci rahasia (secret key). Kunci
publik merupakan kunci yang digunakan untuk mengenkripsi pesan. Sedangkan kunci rahasia
digunakan untuk mendekripsi pesan.
Kunci publik bersifat umum, artinya kunci ini tidak dirahasiakan sehingga dapat dilihat oleh siapa
saja. Sedangkan kunci rahasia adalah kunci yang dirahasiakan dan hanya orang‐orang tertentu saja
yang boleh mengetahuinya. Keuntungan utama dari algoritma ini adalah memberikan jaminan
keamanan kepada siapa saja yang melakukan pertukaran informasi meskipun di antara mereka tidak
ada kesepakatan mengenai keamanan pesan terlebih dahulu maupun saling tidak mengenal satu
sama lainnya.
Gambar Kriptografi Asimetris
Gambar Kriptografi Asimetris
Contoh Kriptografi Asimetris
Contoh RSA:
1. Kunci Publik:
o Pilih bil. prima p = 7 dan q = 11, n = 7.11 =77
o F(n)=(p‐1).(q‐1)=6.10= 60 artinya
F(n)={1,2,3,4,6,8,..,76}={x|gcd(x, n)=1}
o Pilih e dalam {x|gcd(x, 60)=1}, misalnya e=17
o Hapus p dan q dan Kunci Publik n=77, e=17
2. Kunci Rahasia:
o d = e‐1 mod F(n), d .e = 1 mod 60, d =53
o 53 . 17 mod 60 = 901 mod 60 = 1 mod 60
3. Kriptografi Hibrid
Pengertian Kriptografi Hibrid
Permasalahan yang menarik pada bidang kemanan informasi adalah adanya trade off antara
kecepatan dengan kenyamanan. Semakin aman semakin tidak nyaman, berlaku juga sebaliknya
semakin nyaman semakin tidak aman. Salah satu contohnya adalah bidang kriptografi. Tetapi hal ini
dapat diatasi dengan penggunaan kriptografi hibrida. Kriptografi hibrida sering dipakai karena
memanfaatkan keunggulan kecepatan pemrosesan data oleh algoritma simetrik dan kemudahan
transfer kunci menggunakan algoritma asimetrik. Hal ini mengakibatkan peningkatan kecepatan
tanpa mengurangi kenyamanan serta keamanan. Aplikasi kriptografi hibrida yang ada saat ini pada
umumnya ditujukan untuk penggunaan umum atau mainstream yang merupakan pengguna
komputer.
Aplikasi pada umumnya mengikuti perkembangan hardware komputer yang semakin cepat dari
waktu ke waktu. Sehingga hardware yang sudah lama tidak dapat difungsikan sebagaimana
mestinya. Selain itu banyak perangkat embedded dengan kekuatan pemrosesan maupun daya yang
terbatas. Terutama dengan trend akhir akhir ini, hampir semua orang memiliki handheld device yang
mempunyai kekuatan terbatas, seperti telepon seluler.
Dalam tugas akhir ini dibahas mengenai perancangan sebuah aplikasi kriptografi hibrida yang
ditujukan untuk kalangan tertentu, terutama pemakai hardware dengan kekuatan pemrosesan yang
terbatas. Aplikasi yang ingin dicapai adalah aplikasi yang sederhana, ringan dan cepat tanpa
mengurangi tingkat keamanan menggunakan hash.
Sistem ini mengggabungkan chiper simetrik dan asimetrik. Proses ini dimulai dengan negosiasi
menggunakan chiper asimetrik dimana kedua belah pihak setuju dengan private key/session key
yang akan dipakai. Kemudian session key digunakan dengan teknik chiper simetrik untuk
mengenkripsi conversation ataupun tukar‐menukar data selanjutnya. Suatu session key hanya
dipakai sekali sesi. Untuk sesi selanjutnya session key harus dibuat kembali.
Gambar Kriptografi Hibrid
Gambar Kriptografi Hibrid
Contoh Kriptografi Hibrid
Metode hibrida terdiri atas enkripsi simetris dengan satu kunci (Session Key) dan enkripsi asimetris
dengan sepasang kunci (Public/Private Key).
1. Langkah 1 : Pengirim mengenkripsi teks dengan Session Key.
2. Langkah 2 : Mengenkripsi Session Key dengan Public Key.
3. Langkah 3 : Penerima men‐decrypt Session Key dengan Private Key. Langkah 4 : Men‐decrypt teks
dengan Session Key.
Pengertian Enkripsi
Enkripsi adalah suatu metode yang digunakan untuk mengkodekan data sedemikian rupa sehingga
keamanan informasinya terjaga dan tidak dapat dibaca tanpa di dekripsi (kebalikan dari proses
enkripsi) dahulu. Encryption berasal dari bahasa yunani kryptos yang artinya tersembunyi atau
rahasia.
Dikarenakan enkripsi telah digunakan untuk mengamankan komunikasi di berbagai negara, hanya
organisasi‐organisasi tertentu dan individu yang memiliki kepentingan yang sangat mendesak akan
kerahasiaan yang menggunakan enkripsi. Di pertengahan tahun 1970‐an, enkripsi kuat dimanfaatkan
untuk pengamanan oleh sekretariat agen pemerintah Amerika Serikat pada domain publik, dan saat
ini enkripsi telah digunakan pada sistem secara luas, seperti Internet e‐commerce, jaringan Telepon
bergerak dan ATM pada bank.
Enkripsi dapat digunakan untuk tujuan keamanan, tetapi teknik lain masih diperlukan untuk
membuat komunikasi yang aman, terutama untuk memastikan integritas dan autentikasi dari
sebuah pesan. Contohnya, Message Authentication Code (MAC) atau digital signature. Penggunaan
yang lain yaitu untuk melindungi dari analisis jaringan komputer.
Manfaat Enkripsi
1. Beberapa manfaat yang bisa didapatkan dari enkripsi ini adalah :
2. Kerahasiaan suatu informasi terjamin
3. Menyediakan authentication dan perlindungan integritas pada algoritma checksum/hash
4. Menanggulangi penyadapan telepon dan email
5. Untuk digital signature. Digital signature adalah menambahkan suatu baris statemen pada
suatu elektronik copy dan mengenkripsi statemen tersebut dengan kunci yang kita miliki dan
hanya pihak yang memiliki kunci dekripsinya saja yang bisa membukanya.
6. Untuk digital cash
Kerugian Enkripsi
Penyalahgunaan dan kerugian dari enkripsi adalah:
1. Penyandian rencana teroris
2. Penyembunyian record criminal oleh seorang penjahat
3. Pesan tidak bisa dibaca bila penerima pesan lupa atau kehilangan kunci (decryptor).
Macam‐macam Enkripsi pada pemrograman website
Berikut ada beberapa macam metode enkripsi yang dapat anda digunakan pada pemrograman
website seperti PHP, ASP dan yang lainnya.
1. Metode Enkripsi MD2
3. Meskipun algoritma lainnya telah diusulkan sejak dulu, seperti MD4, MD5 dan SHA, bahkan
sampai dengan 2004 [update] MD2 tetap digunakan dalam infrastruktur kunci publik sebagai
bagian dari sertifikat yang dihasilkan dengan MD2 dan RSA.
2. Metode Enkripsi MD4
1. Message‐Digest algortihm 4(seri ke‐4) yang dirancang oleh Profesor Ronald Rivest dari MIT
pada tahun 1990. Panjangnya adalah 128 bit.
2. MD4 juga digunakan untuk menghitung NT‐hash ringkasan password pada Microsoft
Windows NT, XP dan Vista.
3. Metode Enkripsi MD5
1. MD5 adalah salah satu dari serangkaian algortima message digest yang didesain oleh
Profesor Ronald Rivest dari MIT (Rivest, 1994).
2. Saat kerja analitik menunjukkan bahwa pendahulu MD5 yaitu MD4 mulai tidak aman, MD5
kemudian didesain pada tahun 1991 sebagai pengganti dari MD4 (kelemahan MD4
ditemukan oleh Hans Dobbertin).
3. Dalam kriptografi, MD5 (Message‐Digest algortihm 5) ialah fungsi hash kriptografik yang
digunakan secara luas dengan hash value 128‐bit.
4. Pada standart Internet (RFC 1321), MD5 telah dimanfaatkan secara bermacam‐macam pada
aplikasi keamanan, dan MD5 juga umum digunakan untuk melakukan pengujian integritas
sebuah file.
4. Metode Enkripsi SHA
1. SHA adalah serangkaian fungsi cryptographic hash yang dirancang oleh National Security
Agency (NSA) dan diterbitkan oleh NIST sebagai US Federal Information Processing Standard.
2. SHA adalah Secure Hash Algoritma. Jenis‐jenis SHA yaitu SHA‐0, SHA‐1, dan SHA‐2.
3. Untuk SHA‐2 menggunakan algoritma yang identik dengan ringkasan ukuran variabel yang
terkenal sebagai SHA‐224, SHA‐256, SHA‐384, dan SHA‐512.
5. Metode Enkripsi RC4
1. RC4 merupakan salah satu jenis stream cipher, yaitu memproses unit atau input data pada
satu saat. Unit atau data pada umumnya sebuah byte atau bahkan kadang kadang bit (byte
dalam hal RC4).
2. Dengan cara ini enkripsi atau dekripsi dapat dilaksanakan pada panjang yang variabel.
3. RC4 adalah penyandian stream cipher yang dibuat oleh Ron Riverst pada tahun 1987 untuk
pengamanan RSA.
4. Algoritmanya didasarkan pada permutasi acak.
6. Metode Enkripsi Base64
1. Base64 adalah sistem untuk mewakili data mentah byte sebagai karakter ASCII.
2. Base64 menyediakan 6‐bit encoding 8‐bit ASCII karakter.
3. Base64 merupakan format yang dicetak menggunakan karakter, memungkinkan binari data
yang akan dikirim dalam bentuk dan email, dan akan disimpan di database atau file.
1. http://id.wikipedia.org/wiki/Enkripsi
2. http://ruwaifi.0fees.net/2010/10/macam‐macam‐enkripsi/
3. http://comank.blogspot.com/2007/12/enkripsi‐data.html
Referensi :
Diffie, Whitfield, Martin E Hellman. 1976. New Directions in Cryptography. IEEE
Trans. Info. Theory IT‐22.
Prayudi, Yudi, Idham Halik. 2005. Studi Analisis Algoritma Rivest Code 6 (RC6) Dalam
Enkripsi/Dekripsi Data. Seminar Nasional Aplikasi Teknologi Informasi 2005 (SNATI
2005), Yogyakarta.
Rizal, Ansar, Suharto. 2011. Implementasi Algoritma RC4 untuk Keamanan Login
Pada Sistem Pembayaran Uang Sekolah. Dielektrika, ISSN 2086‐9487 Vol. 2 No.2.
Sadikin, Rifki. 2012. Kriptografi untuk Keamanan Jaringan dan Implementasinya
dalam Bahasa Java. Penerbit Andi, Yogyakarta.
Wirdasari, Dian. 2008. Prinsip Kerja Kriptografi dalam Mengamankan Informasi,
Jurnal SAINTIKOM Vol.5 No.2.
http://www.slideshare.net/kyucute/kriptografi‐42572702
Ir. Rinaldi Munir, M.T.
http://winpoin.com/winexplain‐apa‐itu‐enkripsi‐dan‐bagaimana‐cara‐kerjanya/
MODUL PERKULIAHAN
Kriptografi
09
Ilmu Komputer Teknik Informatika Tim Dosen
One Way Hash
Pengertian Tentang Hash
Fungsi hash adalah fungsi yang menerima masukan string yang panjangnya
(fixed) (umumnya berukuran jauh lebih kecil daripada ukuran string semula). Fungsi
hash dapat menerima masukan string apa saja. Jika string menyatakan pesan
(message), maka sembarang pesanM berukuran bebas dikompresi oleh fungsi hash H
melalui persamaan :
Keluaran fungsi hash disebut juga nilai hash (hash‐value) atau pesan‐ringkas (message
digest).. Pada persamaan diatas, h adalah nilai hash atau message digest dari fungsi H
untuk masukan M. Dengan kata lain, fungsi hash mengkompresi sembarang pesan
yang berukuran berapa saja menjadi message digest yang ukurannya selalu tetap (dan
lebih pendek dari panjang pesan semula).
perusahaan ini menggunakan basis data terpusat). Lebih baik mengirimkan message
digest‐nya. Apabila message digest salinan arsip sama dengan message digest arsip asli,
maka salinan arsip tersebut sama dengan arsip didalam basis data.
Fungsi hash sering disebut juga one‐way function karena fungsi hash bekerja
dalam satu arah, yaitu pesan yang sudah di ubah menjadi message digest tidak dapat
dikembalikan lagi menjadi pesan semula. Adapun sifat‐sifat fungsi hash adalah
sebagai berikut :
- Fungsi H dapat diterapkan pada blok data berukuran berapa saja.
- H menghasilkan nilai (h) dengan panjang tetap (fixedlength output).
- H(x) mudah dihitung untuk setiap nilai x yang diberikan.
- Untuk setiap h yang dihasilkan, tidak mungkin dikembalikan nilai x
sedemikian sehingga H(x) = h. Itulah sebabnya fungsi H dikatakan fungsi
hash satu‐arah (one‐way hash function).
- Untuk setiap x yang diberikan, tidak mungkin mencari y ¹x sedemikian
sehingga H(y) = H(x).
- Tidak mungkin mencari pasangan x dan y sedemikian sehingga H(x) =
H(y).
Terdapat beberapa kriptografi yang dikembangkan para pakar kriptografi
menggunakan fungsi hash, diantaranya :
- Algoritma MD2
- Algoritma MD4
- Algoritma MD5
- Algoritma SHA
- Algoritma RIPE‐MD160
- Dsb
Berikut ini beberapa nama lain dari fungsi hash :
- fungsi kompresi/kontraksi (compression function)
- cetak‐jari (fingerprint)
- cryptographic checksum
- message integrity check (MIC)
- manipulation detection code (MDC)
MD4 dibuat oleh Ronald Rivest pada Oktober 1990, MD4 adalah
hash function yang dipakai sebelum MD5, namun karena banyaknya
kelemahan MD4 membuatnya diganti oleh MD5.
Panjang 16 bytes (32 karakter)
contoh : 31d6cfe0d16ae931b73c59d7e0c089c0
3. MD5($pass.$salt)
4. MD5($salt.$pass)
5. md5(md5($pass).$salt)
6. MD5(WordPress)
Digunakan di wordpress
Panjangnya 17 bytes (34 karakter)
Hashnya dimulai oleh tanda $P$ kemudian dilanjutkan oleh sebuah
karakter (karakter yg paling sering dipakai adalah huruf “B”)
kemudian dilanjutkan oleh saltnya (8 karakter yg disusun secara
acak, dalam contoh ini saltnya adalah “12345678″) lalu dilanjutkan
oleh hashnya
contoh : $P$B123456780BhGFYSlUqGyE6ErKErL01
7. MD5(phpBB3)
contoh : 356a192b7913b04c54574d18c28d46e6395428ab
11. Base64
Brute Force
Jika proteksi kita menggunakan one‐way hash seperti ini, maka software pembobol harus
menggunakan cara Brute Force.
Apakah Brute Force itu? Terjemahan kasarnya adalah "memaksa secara brutal/kasar".
Tidak jauh dari artinya, yang dilakukan oleh software pembobol adalah mencoba semua
kombinasi yang mungkin dari semua karakter yang ada, dicobakan satu per satu sampai
ditemukan password yang cocok untuk membuka file kita yang terproteksi.
Dapat dimisalkan kita mempunyai 1 milyar kunci (1 milyar kemungkinan) untuk membuka
sebuah pintu, maka akan dicoba satu per satu pada lubang kunci pintu tersebut sampai
ditemukan yang cocok. Jika beruntung, bisa langsung cocok bahkan pada kunci pertama.
Jika tidak beruntung, mungkin pada kunci yang terakhir dicobakan baru ditemukan yang
cocok.
Jadi, Brute Force adalah membobol (menebak) password dengan cara mencoba semua
kemungkinan kombinasi kata/kalimat ('pesan') yang ada. Tetapi jika pembobol mengetahui
sedikit petunjuk tentang password yang digunakan, misalkan mengetahui berapa panjang
passwordnya, atau mengetahui huruf / karakter apa saja yang digunakan, maka akan
memperkecil jumlah kombinasi password yang akan dicobakan, sehingga mempermudah
software pembobol.
Software pembobol juga mempunyai dictionary (kamus/kumpulan) kata‐kata yang sangat
sering digunakan dalam password untuk dicobakan, karena banyak orang yang
menggunakan kata‐kata yang umum digunakan sebagai passwordnya.
Itulah sebabnya kita disarankan untuk memberikan password yang terdiri dari campuran
berbagai macam huruf, angka dan karakter khusus dan juga jangan menggunakan kata‐kata
yang umum digunakan. Hal ini untuk mempersulit software pembobol.
Berikut adalah ilustrasi kasar untuk melihat berapa maksimal waktu yang diperlukan untuk
menebak sebuah password dengan cara Brute Force. Ilustrasi ini hanya berupa gambaran
kasar saja, karena kecepatan bisa berbeda, perkembangan komputer juga cepat, yang juga
ditandingi dengan pengembangan algoritma Hash yang lebih canggih.
Di asumsikan sebuah komputer mampu melakukan 'percobaan pembobolan password'
sebanyak 17 milyar kombinasi per jam atau hampir 4.800.000 kombinasi per detik (luar
biasa cepat), maka diperlukan waktu:
panjang password 8 karakter, huruf besar atau kecil semua: sekitar 6 jam
panjang password 10 karakter, huruf besar atau kecil semua: sekitar 171 hari
(hampir setengah tahun)
panjang password 8 karakter, kombinasi huruf dan angka: sekitar 264 hari
panjang password 10 karakter, kombinasi huruf dan angka: sekitar hampir 2.800
tahun
panjang password 12 karakter, kombinasi huruf dan angka: sekitar hampir
10.718.803 (10 juta lebih) tahun
panjang password 8 karakter, kombinasi huruf, angka dan karakter khusus: sekitar 20
tahun
panjang password 10 karakter, kombinasi huruf, angka dan karakter khusus: sekitar
178.947 tahun
panjang password 12 karakter, kombinasi huruf, angka dan karakter khusus: sekitar
1.581.176.273 (satu setengah milyar lebih) tahun
Dapat kita simpulkan bahwa dengan mengkombinasikan huruf besar, huruf kecil, angka dan
karakter khusus, jumlah karakter yang agak panjang dan merahasiakan password, maka
password kita nyaris tidak dapat dibobol.
Referensi :
Diffie, Whitfield, Martin E Hellman. 1976. New Directions in Cryptography. IEEE Trans. Info. Theory
IT‐22.
Prayudi, Yudi, Idham Halik. 2005. Studi Analisis Algoritma Rivest Code 6 (RC6) Dalam
Enkripsi/Dekripsi Data. Seminar Nasional Aplikasi Teknologi Informasi 2005 (SNATI 2005),
Yogyakarta.
Rizal, Ansar, Suharto. 2011. Implementasi Algoritma RC4 untuk Keamanan Login Pada Sistem
Pembayaran Uang Sekolah. Dielektrika, ISSN 2086‐9487 Vol. 2 No.2.
Sadikin, Rifki. 2012. Kriptografi untuk Keamanan Jaringan dan Implementasinya dalam Bahasa Java.
Penerbit Andi, Yogyakarta.
Wirdasari, Dian. 2008. Prinsip Kerja Kriptografi dalam Mengamankan Informasi, Jurnal SAINTIKOM
Vol.5 No.2.
http://www.slideshare.net/kyucute/kriptografi‐42572702
Ir. Rinaldi Munir, M.T.
http://winpoin.com/winexplain‐apa‐itu‐enkripsi‐dan‐bagaimana‐cara‐kerjanya/
MODUL PERKULIAHAN
Kriptografi
10
Ilmu Komputer Teknik Informatika Tim Dosen
Fungsi HASH
Cryptographic Hash Basics
Untuk mudahnya anggap saja cryptographic hash sebagai semacam signature atau segel yang unik
dari sebuah file. Setiap file yang berbeda akan memiliki signature yang berbeda. Perbedaan satu bit
saja pada file akan menghasilkan signature yang berbeda. Sehingga dua file yang identik (seluruh
bitnya sama), akan memiliki signature yang sama.
Sebelumnya mari kita lihat bagaimana fungsi hash MD5 in action. Input:
Bayangkan dalam satu pesawat umum terdapat dua kelas penumpang, yaitu kelas VIP dan kela
duduk sesuai haknya. Untuk itu penumpang harus menunjukkan bukti berupa tiket yang di si
duduk di kelas VIP atau ekonomi. Bila anda memegang tiket ekonomi mencoba duduk di kelas
pesawat itu, sudah pasti anda akan ditendang.
Input paragraf tersebut memiliki nilai hash:
Hexa:11ee98b599338ae66458f9b86ab4a6fb
Binary:00010001 11101110 10011000 10110101 10011001 00110011 10001010 11100110 01100100
10110100 10100110 11111011
Input di atas adalah teks sepanjang 578 karakter, sedangkan outputnya hanya 32 karakter, sangat
timpang bukan? Mari kita lihat kalau inputnya hanya satu karakter saja, ‘X’, maka nilai hashnya
adalah 02129bb861061d1a052c592e2dc6b383 atau dalam binary 00000010 00010010 10011011
10111000 01100001 00000110 00011101 00011010 00000101 00101100 01011001 00101110
00101101 11000110 10110011 10000011. Terlihat kan inputnya berapapun panjangnya, nilai hashnya
tetap 128 bit atau 32 karakter hexa. Bahkan string kosong “” memiliki nilai hashnya sendiri sepanjang
32 karakter, yaitu 02129bb861061d1a052c592e2dc6b383.
Berbeda dengan enkripsi, fungsi hash tidak butuh kunci dan sifatnya hanya satu arah, yaitu dari teks
masukan menjadi nilai hash yang panjangnya selalu sama. Setelah menjadi nilai hash, tidak ada
fungsi yang bisa mengembalikan nilai hash itu menjadi teks semula.
Penggunaan Hash
Hash digunakan untuk banyak hal yang terkait dengan kriptografi dan security.
MD5 juga dipakai untuk mendeteksi perubahan file, salah satu contonya adalah Tripwire di
Linux. Ini adalah bagian dari Intrusion Detection System, bila ada file yang berubah nilai
hashnya, maka IDS akan menyalakan alarm bahwa telah terjadi perubahan file.
2. Storing password
MD5 sering juga dipakai untuk menyimpan password di database. Daripada menyimpan
password dalam bentuk plain-text, lebih baik yang disimpan bukan password tapi hash dari
password itu. Ketika pengguna memasukkan password maka password tersebut akan dihitung
nilai hashnya. Nilai hash dari password yang dimasukkan pengguna ketika login dibandingkan
dengan nilai hash yang di database. Bila cocok, maka authentication sukses.
courtesy of www.unixwiz.net/techtips/iguide-crypto-hashes.html
Ketika user mendaftar, password dia akan dihitung nilai hashnya dan disimpan dalam database.
Contohnya bila dia mendaftar dengan password “rahasia” maka nilai hashnya adalah
ac43724f16e9241d990427ab7c8f4228 dan disimpan dalam database. Bila kemudian dia login
dengan password yang lain, maka nilai hashnya akan tidak cocok dengan yang di database
sehingga authentication gagal.
3. Digital signature
Digital signature tidak lain adalah nilai hash yang ter-enkrip dengan kunci private pembuat
dokumen. Penerima dokumen bisa memverifikasi signature ini dengan cara menghitung nilai
hash dokumen yang dia terima. Kemudian men-dekrip digital signature dengan kunci publik
pembuat dokumen sehingga kembali menjadi hash. Kedua nilai hash ini lalu dibandingkan, hasil
dekrip dan hasil perhitungan, jika sama maka signature valid.
Digital signature ini dipakai juga untuk membuat certifikate SSL. Certificate SSL sangat vital
peranannnya menjaga confidentiality dan authentication ketika seseorang mengakses web.
Browser sudah memiliki daftar trusted Certificate Authority, jadi setiap browser mengakses situs
dengan https akan diperiksa apakah certificate server tersebut ditanda-tangani oleh salah satu
dari CA yang dipercaya browser.
Collision Vulnerability
Salah satu masalah yang mungkin terjadi dari fungsi hash adalah collision. Maksudnya adalah ada 2
atau lebih teks yang menghasilkan nilai hash yang sama. Anda sendiri telah melihat dengan MD5
bahwa masukan sepanjang berapapun, akan menghasilkan nilai hash sepanjang 128 bit. Itu artinya
kemungkinan inputnya sangat banyak jumlahnya, tak terhingga, namun kemungkinan nilai hashnya
hanya sejumlah 2^128. Sebagai ilustrasi, bayangkan apa yang terjadi bila dalam suatu negara jumlah
wanitanya sangat banyak, hingga 5 kali lipat jumlah pria. Maka kemungkinan akan ada 2 atau lebih
wanita yang memiliki suami yang sama. Inilah yang disebut collision. Ada 2 atau lebih input teks yang
memiliki nilai hash yang sama.
MD5 memiilki kelemahan yang memungkinkan dicari 2 file yang memiliki nilai hash yang sama
dengan waktu yang singkat. Ilmuwan yang mempublikasikan cara mencari MD5 collision adalah
ilmuwan Cina Xiaoyun Wang and Hongbo Yu dari Shandong University.
executables collision
Peter Selingertelah membuat demonstrasi 2 buah file executable yang berbeda tapi memiliki nilai
hash MD5 yang sama. Skenarionya adalah dari dua file itu salah satunya adalah file yang asli, satu lagi
adalah file yang jahat. Keduanya memiliki ukuran dan nilai hash MD5 yang sama.
Kesamaan hash ini akan mengelabui Tripwire dan orang yang mendownload file itu dari internet.
Tripwire akan diam seribu bahasa walaupun file executables telah diubah attacker. Begitu juga orang
yang medownload sebuah file executable dari internet ternyata file yang dia terima sudah diubah di
tengah perjalanan. Namun karena setelah dihitung nilai hashnya cocok dengan nilai hash file yang
asli, korban akan menganggap file itu benar dan asli padahal berbeda.
Law #1: If a bad guy can persuade you to run his program on your computer, it’s not your computer
anymore
Law #2: If a bad guy can alter the operating system on your computer, it’s not your computer anymore
Hukum di atas adalah 2 di antara 10 immutable laws of security. Memang benar, jika orang lain bisa
menjalankan program atau mengubah program di komputer anda, maka komputer itu bukan milik
anda lagi. Collision executables ini sungguh berbahaya!
Postscript File Collision
Postscript sebenarnya adalah bahasa pemrograman/script yang ditujukan khusus untuk membuat
dokumen yang akan dicetak mirip sekali dengan PDF. Biasanya scriptnya tidak ditulis manual, namun
orang menulis dokumen menggunakan editor WYSIWYG seperti microsoft word, kemudian program
yang akan menulis scriptnya.
Mungkin anda lebih familiar dengan PDF. Bayangkan apa yang terjadi bila ada dua file PDF yang
isinya bertolak belakang namun memiliki nilai hash yang sama. Karena nilai hashnya sama,maka bila
file PDF yang satu di-tandatangani oleh seseorang, maka tandatangan itu akan valid juga untuk file
PDF yang lainnya. Ketika diperlihatkan dokumen yang satunya lagi, orang yang menandatangani akan
kaget karena dia tidak merasa menandatangani dokumen itu.
Dua orang ilmuwan dari jerman membuat demonstrasi collision dua buah file postscript. File ini
isinya sangat jauh berbeda, namun keduanya memiliki nilai hash yang sama.
surat rekomendasi
Alice membuat satu file lagi yang isinya adalah surat perintah Caesar yang memberi kuasa pada Alice
untuk mengakses dokumen rahasia. Agar surat perintah ini dipercaya orang, maka surat perintah ini
juga harus ditandatangani (digitally) oleh Caesar. Ingat bahwa tandatangan adalah hash yang di-
enkrip dengan private key, jadi untuk menandatangani sebuah dokumen dibutuhkan private key,
padahal yang punya private key hanya Caesar.
Kalau Caesar disodori file surat perintah tentu tidak akan mau menandatangani file itu. Maka triknya
adalah memakai tanda tangan Caesar untuk file surat rekomendasi. Bagaimana caranya agar tanda
tangan Caesar bisa valid untuk dua dokumen yang berbeda?
Caranya adalah dengan membuat file surat perintah memiliki nilai hash yang sama dengan file surat
rekomendasi. Karena digital signature adalah hash yang ter-enkrip, maka bila ada dua file dengan
nilai hash yang sama, maka digital signature keduanya juga pasti sama.
Dengan berbekal surat perintah aspal ini Alice bisa mengakses dokumen rahasia Caesar. Anak buah
Caesar yang melihat tanda tangan digital Caesar pada surat itu tentu tidak berani membantah
perintah Caesar.
Dengan digital signature, ketika anda menandatangani suatu file, sebenarnya anda juga
mendatangani semua file lain yang memiliki hash yang sama.
Bila attacker berhasil membuat certificate palsu, maka attacker bisa melakukan man in the middle
attack (mitm) dan menyadap semua komunikasi antara browser dan server.
Browser hanya percaya dengan certificate yang ditandatangani oleh root CA atau intermediary CA
yang terpercaya.
Bila attacker mencoba melakukan mitm attack, namun tidak punya sertifikat yang diterbitkan CA
yang dipercaya browser, maka browser akan memunculkan warning bahwa sertifikat ini tidak bisa
dipercaya. Bagaimana bila attacker mampu membuat certificate palsu dengan tanda tangan asli dari
CA yang dipercaya browser?
Sekelompok hacker di US dan eropa dengan menggunakan 200 mesin PlayStation 3, berhasil
membuat sertifikat palsu yang ditandatangani oleh CA yang dipercaya browser. Tidak hanya membuat
sertifikat untuk satu website, namun mereka membuat sertifikat sebagai intermediary CA, artinya
mereka berhak menerbitkan sertifikat untuk website apapun sebanyak yang mereka mau.
Semua itu bisa terjadi karena collision MD5 sehingga membuat digital signature untuk satu certificate
akan valid juga untuk certificate lain yang palsu. Cara mereka melakukannya adalah:
1. Mereka menyiapkan dua sertifikat yang punya hash yang sama. Sertifikat ini masih belum
ditandatangani. Sertifikat yang satu adalah sertifikat untuk website, dan yang satu lagi sertifikat
untuk menjadi CA (penerbit sertifikat).
2. Mereka membeli tanda tangan CA untuk sertifikat yang untuk website.
3. Setelah sertifikat yang telah ditandatangani CA dikirimkan, mereka mengkopi digital signature
sertifikat itu dan dipasangkan pada sertifikat satu lagi yang telah disiapkan untuk menjadi CA.
4. Karena sertifikat yang untuk website dan sertifikat untuk menjadi CA memiliki hash yang sama,
maka tanda tangan di sertifikat satu akan valid juga di sertifikat yang lain.
5. Dengan cara ini mereka kini berhak menerbitkan sertifikat untuk website lain.
Berikut adalah dua buah sertifikat yang dihasilkan dari serangan ini. Sertifikat yang pertama dalah
sertifikat untuk website, yang dikeluarkan oleh CA yang asli. Sertifikat kedua adalah sertifikat yang
dibuat sendiri dan tandatangannya dicomot dari sertifikat yang satunya.
Di bawah ini adalah sertifikat yang asli dan resmi dibeli dari CA dan ditujukan untuk website.
1 Certificate:
2 Data:
3 Version: 3 (0x2)
4 Serial Number: 643015 (0x9cfc7)
5 Signature Algorithm: md5WithRSAEncryption
6 Issuer: C=US, O=Equifax Secure Inc., CN=Equifax Secure Global eBusiness CA-1
7 Validity
8 Not Before: Nov 3 07:52:02 2008 GMT
9 Not After : Nov 4 07:52:02 2009 GMT
10 Subject: C=US, O=i.broke.the.internet.and.all.i.got.was.this.t-shirt.phreedom
11 Validated - RapidSSL(R), CN=i.broke.the.internet.and.all.i.got.was.this.t-shirt.phree
12 Subject Public Key Info:
13 Public Key Algorithm: rsaEncryption
14 RSA Public Key: (2048 bit)
15 Modulus (2048 bit):
16 00:b2:d3:25:81:aa:28:e8:78:b1:e5:0a:d5:3c:0f:
17 36:57:6e:a9:5f:06:41:0e:6b:b4:cb:07:17:00:00:
18 00:5b:fd:6b:1c:7b:9c:e8:a9:a3:c5:45:0b:36:bb:
19 01:d1:53:aa:c3:08:8f:6f:f8:4f:3e:87:87:44:11:
20 dc:60:e0:df:92:55:f9:b8:73:1b:54:93:c5:9f:d0:
21 46:c4:60:b6:35:62:cd:b9:af:1c:a8:6b:1a:c9:5b:
22 3c:96:37:c0:ed:67:ef:bb:fe:c0:8b:9c:50:2f:29:
23 bd:83:22:9e:8e:08:fa:ac:13:70:a2:58:7f:62:62:
24 8a:11:f7:89:f6:df:b6:67:59:73:16:fb:63:16:8a:
25 b4:91:38:ce:2e:f5:b6:be:4c:a4:94:49:e4:65:51:
26 0a:42:15:c9:c1:30:e2:69:d5:45:7d:a5:26:bb:b9:
27 61:ec:62:64:f0:39:e1:e7:bc:68:d8:50:51:9e:1d:
28 60:d3:d1:a3:a7:0a:f8:03:20:a1:70:01:17:91:36:
29 4f:02:70:31:86:83:dd:f7:0f:d8:07:1d:11:b3:13:
30 04:a5:da:f0:ae:50:b1:28:0e:63:69:2a:0c:82:6f:
31 8f:47:33:df:6c:a2:06:92:f1:4f:45:be:d9:30:36:
32 a3:2b:8c:d6:77:ae:35:63:7f:4e:4c:9a:93:48:36:
33 d9:9f
34 Exponent: 65537 (0x10001)
35 X509v3 extensions:
36 X509v3 Key Usage: critical
37 Digital Signature, Non Repudiation, Key Encipherment, Data Encipherme
1 Certificate:
2 Data:
3 Version: 3 (0x2)
4 Serial Number: 65 (0x41)
5 Signature Algorithm: md5WithRSAEncryption
6 Issuer: C=US, O=Equifax Secure Inc., CN=Equifax Secure Global
7 eBusiness CA-1
8 Validity
9 Not Before: Jul 31 00:00:00 2004 GMT
10 Not After : Sep 2 00:00:00 2004 GMT
11 Subject: CN=MD5 Collisions Inc. (http://www.phreedom.org/md5)
12 Subject Public Key Info:
13 Public Key Algorithm: rsaEncryption
14 RSA Public Key: (1024 bit)
15 Modulus (1024 bit):
16 00:ba:a6:59:c9:2c:28:d6:2a:b0:f8:ed:9f:46:a4:
17 a4:37:ee:0e:19:68:59:d1:b3:03:99:51:d6:16:9a:
18 5e:37:6b:15:e0:0e:4b:f5:84:64:f8:a3:db:41:6f:
19 35:d5:9b:15:1f:db:c4:38:52:70:81:97:5e:8f:a0:
20 b5:f7:7e:39:f0:32:ac:1e:ad:44:d2:b3:fa:48:c3:
21 ce:91:9b:ec:f4:9c:7c:e1:5a:f5:c8:37:6b:9a:83:
22 de:e7:ca:20:97:31:42:73:15:91:68:f4:88:af:f9:
23 28:28:c5:e9:0f:73:b0:17:4b:13:4c:99:75:d0:44:
24 e6:7e:08:6c:1a:f2:4f:1b:41
25 Exponent: 65537 (0x10001)
26 X509v3 extensions:
27 X509v3 Key Usage:
28 Digital Signature, Non Repudiation, Certificate Sign,
29 CRL Sign
30 X509v3 Basic Constraints: critical
31 CA:TRUE
32 X509v3 Subject Key Identifier:
33
34 A7:04:60:1F:AB:72:43:08:C5:7F:08:90:55:56:1C:D6:CE:E6:38:EB
35 X509v3 Authority Key Identifier:
36
37 keyid:BE:A8:A0:74:72:50:6B:44:B7:C9:23:D8:FB:A8:FF:B3:57:6B:68:6C
38
39 Netscape Comment:
40 3
41 Signature Algorithm: md5WithRSAEncryption
42 a7:21:02:8d:d1:0e:a2:80:77:25:fd:43:60:15:8f:ec:ef:90:
43 47:d4:84:42:15:26:11:1c:cd:c2:3c:10:29:a9:b6:df:ab:57:
44 75:91:da:e5:2b:b3:90:45:1c:30:63:56:3f:8a:d9:50:fa:ed:
45 58:6c:c0:65:ac:66:57:de:1c:c6:76:3b:f5:00:0e:8e:45:ce:
46 7f:4c:90:ec:2b:c6:cd:b3:b4:8f:62:d0:fe:b7:c5:26:72:44:
47 ed:f6:98:5b:ae:cb:d1:95:f5:da:08:be:68:46:b1:75:c8:ec:
48 1d:8f:1e:7a:94:f1:aa:53:78:a2:45:ae:54:ea:d1:9e:74:c8:
49 76:67
50 -----BEGIN CERTIFICATE-----
51 MIIEMjCCA5ugAwIBAgIBQTANBgkqhkiG9w0BAQQFADBaMQswCQYDVQQGEwJVUzEc
52 MBoGA1UEChMTRXF1aWZheCBTZWN1cmUgSW5jLjEtMCsGA1UEAxMkRXF1aWZheCBT
53 ZWN1cmUgR2xvYmFsIGVCdXNpbmVzcyBDQS0xMB4XDTA0MDczMTAwMDAwMFoXDTA0
54 MDkwMjAwMDAwMFowPDE6MDgGA1UEAxMxTUQ1IENvbGxpc2lvbnMgSW5jLiAoaHR0
55 cDovL3d3dy5waHJlZWRvbS5vcmcvbWQ1KTCBnzANBgkqhkiG9w0BAQEFAAOBjQAw
56 gYkCgYEAuqZZySwo1iqw+O2fRqSkN+4OGWhZ0bMDmVHWFppeN2sV4A5L9YRk+KPb
57 QW811ZsVH9vEOFJwgZdej6C193458DKsHq1E0rP6SMPOkZvs9Jx84Vr1yDdrmoPe
58 58oglzFCcxWRaPSIr/koKMXpD3OwF0sTTJl10ETmfghsGvJPG0ECAwEAAaOCAiQw
59 ggIgMAsGA1UdDwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSnBGAf
60 q3JDCMV/CJBVVhzWzuY46zAfBgNVHSMEGDAWgBS+qKB0clBrRLfJI9j7qP+zV2to
61 bDCCAb4GCWCGSAGG+EIBDQSCAa8WggGrMwAAACdeOeCJYQ9Oo8VFCza7AdFTqsMI
62 j2/4Tz6Hh0QR3GDg35JV+bhzG1STxZ/QRsRgtjVizbmvHKhpGslbPJY3wO1n77v+
63 wIucUC8pvYMino4I+qwTcKJYf2JiihH3ifbftmdZcxb7YxaKtJE4zi71tr5MpJRJ
64 5GURCkIVycEw4mnVRX2lJru5YexiZPA54ee8aNhQUZ4dYNPRo6cK+AMgoXABF5E2
65 TwJwMYaD3fcP2AcdEbMTBKXc8K5QsSgOY2kqDIJvj0cz32yiBpLxT0W+2TA2oyuM
66 1neuNWN/Tkyak0g22Z8CAwEAAaOBvTCBujAOBgNVHQ8BAf8EBAMCBPAwHQYDVR0O
67 BBYEFM2mg/qlYDf3ljcXKd5BePGHiVXnMDsGA1UdHwQ0MDIwMKAuoCyGKmh0dHA6
68 Ly9jcmwuZ2VvdHJ1c3QuY29tL2NybHMvZ2xvYmFsY2ExLmNybDAfBgNVHSMEGDAW
69 gBS+qKB0clBrRLfJI9j7qP+zV2tobDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYB
70 BQUHAwIwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQQFAAOBgQCnIQKN0Q6igHcl
/UNgFY/s75BH1IRCFSYRHM3CPBApqbbfq1d1kdrlK7OQRRwwY1Y/itlQ+u1YbMBl
rGZX3hzGdjv1AA6ORc5/TJDsK8bNs7SPYtD+t8UmckTt9phbrsvRlfXaCL5oRrF1
yOwdjx56lPGqU3iiRa5U6tGedMh2Zw==
-----END CERTIFICATE-----
Perhatikan pada sertifikat yang palsu pada baris ke-29, “CA:TRUE”, itu artinya sertifikat itu adalah
sertifikat sebagai CA intermediary. Padahal sebenarnya CA yang asli tidak pernah menandatangani
sertifikat itu, tapi tanda tangan untuk sertifikat lain dicomot ke sertifikat itu. Untuk lebih jelasnya
kedua sertifikat tersebut saya capture dan saya beri penjelasan pada gambar di bawah ini.
asli vs palsu
Setelah saya coba lakukan verifikasi dengan openssl di Linux, ternyata hasilnya valid. Hanya karena
tanggal di sertifikat itu sudah expired maka ada warning expired date. Sedangkan untuk sertifikat
yang asli (dibeli dari CA) tidak ada warning expired date karena baru akan expired pada November
2009.
Referensi :
http://www.slideshare.net/kyucute/kriptografi‐42572702
Anggoro, 2007. Kriptografi Message Digest Sebagai Salah Satu Enkripsi Populer. Institut Teknologi
Bandung.
Hidayat, 2008. Aplikasi Kriptografi Sederhana Menggunakan Fungsi Hashing (MD5) Pada Modul
PHP, Universitas Siliwangi Tasikmalaya.
Sofwan, 2006. Aplikasi Kriptografi Dengan Algoritma Message Digest 5 (Md5), Universitas
Diponegoro.
Sudarmo, P, 2006. Kamus Istilah Komputer, Teknologi Informasi &
Komunikasi. Yrama Widya, Bandung.
Sunaryo, 2007. Enkripsi data hasil analisis komponen utama (pca) atas citra iris mata menggunakan
Algoritma MD5, Universitas Dipenogoro Semarang.
http://winpoin.com/winexplain‐apa‐itu‐enkripsi‐dan‐bagaimana‐cara‐kerjanya/
MODUL PERKULIAHAN
Kriptografi
11
Ilmu Komputer Teknik Informatika Tim Dosen
Algoritma DES
DES merupakan salah satu algoritma kriptografi cipher block dengan ukuran blok 64 bit
dan ukuran kuncinya 56 bit. DES diadopsi dan dibakukan oleh NBS (National Bureau
Standard) yang kini menjadi NIST (National Institute of Standards and Technology) pada
tahun 1977 sebagai FIPS 46 (Federal Information Processing Standard).
DES bermula dari hasil riset Tuchman Meyer yang diajukan sebagai kandidat Sandi Standard
Nasional yang diusulkan oleh NBS. Algoritma yang dikembangkan oleh Tuchman Meyer ini
merupakan algoritma terbaik dari semua kandidat Sandi Standard Nasional. Pada mulanya,
algoritma yang kini disebut DES, memiliki panjang kunci sandi 128 bit. Namun selama proses
pengadopsian, NBS melibatkan NSA (National Security Agency), dan algoritma sandi ini
mengalami pengurangan ukuran kunci sandi dari 128 bit menjadi 56 bit saja. Sebagian orang
mungkin mengira bahwa pengurangan panjang kunci sandi ini merupakan usulan NSA untuk
melemahkan algoritma Tuchman Meyer karena motif politik tertentu. Entah itu untuk
mempermudah penyadapan atau untuk melemahkan pengamanan informasi lawan politik.
Mungkin NSA menginginkan algoritma Tuchman Meyer ini “cukup aman” untuk digunakan
warga sipil, tetapi mudah dipecahkan oleh organisasi besar semisal NSA dengan peralatan
canggihnya. Bila dibandingkan dengan performa komputer personal pada saat itu, algoritma
sandi dengan panjang kunci 56 bit dapat dikatakan cukup aman bila digunakan oleh orang‐
orang “biasa”, tapi dapat dengan mudah dipecahkan dengan peralatan canggih dan
tentunya kepemilikan alat canggih ini hanya dapat dijangkau oleh organisasi elit seperti NSA.
DES termasuk ke dalam sistem kriptografi simetri dan tergolong jenis cipher blok. DES
beroperasi pada ukuran blok 64 bit. DES mengenkripsikan 64 bit plainteks menjadi 64 bit
cipherteks dengan menggunakan 56 bit kunci internal (internal key) atau upa‐
kunci (subkey). Kunci internal dibangkitkan dari kunci eksternal (external key) yang
panjangnya 64 bit. Skema global dari algoritma DES adalah sebagai berikut :
1. Blok plainteks dipermutasi dengan matriks permutasi awal (initial permutation atau IP).
2. Hasil permutasi awal kemudian di‐enciphering‐ sebanyak 16 kali (16 putaran). Setiap
putaran menggunakan kunci internal yang berbeda.
3. Hasil enciphering kemudian dipermutasi dengan matriks permutasi balikan (invers
initial permutation atau IP‐1 ) menjadi blok cipherteks.
Di dalam proses enciphering, blok plainteks terbagi menjadi dua bagian, kiri (L) dan kanan
(R), yang masing‐masing panjangnya 32 bit. Kedua bagian ini masuk ke dalam 16 putaran
DES. Pada setiap putaran i, blok R merupakan masukan untuk fungsi transformasi yang
disebut f. Pada fungsi f, blok R dikombinasikan dengan kunci internal Ki. Keluaran dai fungsi f
di‐XOR‐kan dengan blok L untuk mendapatkan blok R yang baru. Sedangkan blok L yang baru
langsung diambil dari blok R sebelumnya. Ini adalah satu putaran DES. Secara lengkap
proses Enkripsi dengan menggunakan DES ditunjukan pada skema berikut :
Algoritma DES memerlukan sebuah kunci yang panjang bloknya 64 bit di setiap blok
DES digunakan untuk mengamankan data pada perangkat lunak dan keras negara tersebut.
Berikut desain input‐output algoritma DES :
Dapat dilihat bahwa ada dua input untuk fungsi enkripsi, yaitu plaintext dengan panjang 64‐
bit dan kunci dengan panjang 56‐bit. Untuk mengenkripsi data dengan menggunakan
algoritma DES, dimulai dengan membagi bit dari teks tersebut kedalam blok‐blok dengan
ukuran blok sebesar 64‐bit, yang kemudian disebut blok plaintext. Adapun penjelasan
langkah‐langkah enkripsi DES dijelaskan sebagai berikut :
A. Permutasi Awal (Initial Permutation)
Sebelum putaran pertama, terhadap blok plainteks dilakukan permutasi awal (Initial
Permutation atau IP). Tujuan permutasi awal adalah mengacak plainteks sehingga urutan‐
bit‐bit di dalamnya berubah. Lihat pada gambar dibawah, Matriks pada Tabel (a) sebagai
plainteks masukan, kemudian dilakukan pengacakan dengan menggunakan matriks
permutasi awal Tabel (b):
Setelah melewati Permutasi Awal, plainteks yang akan disandikan kemudian dibagi menjadi
dua blok (ditunjukkan dengan warna yang berbeda pada Tabel (b)), yaitu blok atas dan blok
bawah yang masing‐masing lebarnya 4 byte (32‐bit).
B. Pembangkitan Kunci Internal DES
Pada algoritma DES, dibutuhkan kunci internal sebanyak 16 buah, yaitu K1, K2,…,K16. Kunci‐
kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan
proses enkripsi. Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh
pengguna. Kunci eksternal pada DES panjangnya 64‐bit atau 8 karakter seperti pada Tabel
(c) dibawah.
Misalkan kunci eksternal yang tersusun atas 64‐bit adalah K. Kunci eksternal ini menjadi
masukan untuk permutasi dengan menggunakan matriks kompresi PC‐1 seperti pada Tabel
(d). Dalam permutasi ini, tiap‐bit kedelapan dari delapan byte kunci diabaikan (Tabel (c)
dengan kolom yang berwarna gelap). Hasil permutasinya adalah sepanjang 56‐bit, sehingga
dapat dikatakan panjang kunci DES adalah 56‐bit.
Selanjutnya, 56 bit ini dibagi menjadi 2 bagian, atas dan bawah, yang masing‐masing
panjangnya 28 bit, dan masing‐masing di simpan di dalam CO dan DO.
CO : Berisi bit‐bit dari K pada sisi gelap tabel (d)
DO : Berisi bit‐bit dari K pada sisi putih tabel (d)
Selanjutnya kedua bagian digeser ke kiri (left shifting) sepanjang satu atau dua bit sesuai
tabel pergeseran berikut ini :
Setelah pergeseran bit, maka masing‐masing Ci dan Di akan dipermutasi kembali
dengan menggunakan matriks PC‐2 berikut :
Berikut ini merupakan skema yang menjelaskan proses pembangkitan kunci‐kunci internal
DES :
C. Enciphering
Seperti sudah dijelaskan sebelumnya, setiap blok plaintext mengalami 16 kali
putaran enchipering. Secara matematis, satu putaran DES dinyatakan sebagai berikut :
Adapun langkah‐langkah enchipering dapat dilihat pada skema berikut :
Adapun penjelasan dari skema diatas adalah :
E merupakan fungsi ekspansi yang memperluas blok Ri‐1 yang panjangnya 32‐bit menjadi
48‐bit. Fungsi ekspansi ini direalisasikan melalui tabel berikut :
Selanjutnya hasil ekspansi yaitu E(Ri‐1), yang panjangnya 48‐bit di XOR kan dengan Ki
yang panjangnya juga 48‐bit dan menghasilkan vektor A yang panjangnya 48‐bit.
Vektor A kemudia dikelompokkan menjadi 8 kelompok yang masing‐masing panjangnya 6
bit dan menjadi masukkan bagi proses substitusi. Proses substitusi dilakukan dengan
menggunakan 8 buah kotak‐s (s‐box). Setiap kotak‐s menerima 6 bit masukkan dan
menghasilkan keluaran 4 bit. Kelompok 6 bit pertama akan menggunakan s1, 6 bit
selanjutnya akan menggunakan s2, dan seterusnya. Bit awal dan akhir menentukan baris dan
4 bit ditengah akan menentukan kolom yang akan dipilih. Kedelapan kotak S (s‐box)
tersebut ditunjukkan pada gambar di bawah ini :
Contoh pencarian output dari kotak s adalah :
Bit 100110 = keluaran dari kotak‐s adalah kotak‐s pertama, baris ke 2 dan kolom ke3 yaitu 8
(1000).
Keluaran proses substitusi adalah vector B yang panjangnya 48 bit. Vector B menjadi
masukan untuk proses permutasi. Adapun tujuan dari proses permutasi adalah untuk
mengacak hasil proses substitusi kotak‐S. Hasil permutasi dinyatakan dalam fungsi f(Ri‐1,Ki).
Permutasi ini dilakukan dengan menggunakan matriks permutasi sebagai berikut :
DES memiliki proses yang sama untuk algoritma enkripsi dan dekripisinya. Proses
pendekripsian juga dilakukan dengan menggunakan cipher Feistel sebanyak 16 round,
dengan pada masing‐masing round mengerjakan proses yang sama. Yang membedakan
hanya urutan kunci dan juga input masukannya yang berupa ciphertext.
Pada round pertama, yang digunakan adalah K16, round kedua menggunakan K15, dan
seterusnya hingga round terakhir akan menggunakan K1. Ciphertext yang digunakan yaitu
berupa L16R16 yang diperoleh dari hasil permutasi invers IP‐1 terhadap ciphertext sebenarnya
(y) kemudian menukar 32 bit pertama dengan 32 bit terakhir dari hasil tersebut.
Proses dekripsi dilakukan dengan cara berkebalikan dari proses enkripsi, yaitu
dengan menggunakan L16 R16 untuk menemukan L0 R0 atau plaintext.
Atau dapat ditunjukkan dengan gambar berikut untuk proses setiap round‐nya.
Maka dari itu, untuk mendapatkan L0 R0 bisa digunakan langkah berikut :
Cara untuk mendapatkan plainteks kembali yaitu:
x = IP‐1 (RD0 LD0)
Isu‐isu yang menjadi perdebatan kontroversial menyangkut keamanan DES:
1. Panjang kunci
2. Jumlah putaran
3. S‐Box
A. Panjang Kunci
Panjang kunci eksternal DES hanya 64 bit, itupun yang dipakai Cuma 56 bit. Awalnya
diusulkan oleh IBM adalah 128 bit, namun atas permintaan NSA, panjang kunci dikurangi 72
bit sehinggal menjadi 56 bit, alasan pengurangannya tidak diumumkan. Serangan yang bisa
dilakukan dengan memanfaatkan kelemahan panjang kunci ini dengan menggunakan
exhaustive key search. Exhaustive search adalah pencarian terhadap semua kemungkinan
solusi. Dengan panjang kunci 56 bit akan terdapat 256 atau 72.057.594.037.927.936
kemungkinan kunci. Jika diasumsikan serangan exhaustive key search dengan menggunakan
prosesor parallel mencoba setengah dari jumlah kemungkinan kunci itu maka
diperlukan 1142 tahun untuk menemukan kunci yang benar. Namun pada tahun 1998
Electronic Frontier Foundation merancang dan membuat perangkat keras khusus untuk
menemukan kunci DES secara exhaustive search key dengan biaya $250.000 dan diharapkan
menemukan kunci selama 5 hari. Pada tahun 1999, kombinasi perangkat keras EFE dengan
kolaborasi internet yang melibatkan lebih dari 100.000 komputer dapat menemukan kunci
DES kurang dari 1 hari. Kriptoanalisis yang menggunakan exhaustive search key ini adalah
kriptoanalisis differential.
B. Jumlah Putaran
Dari penelitian, DES dengan jumlah putaran yang kurang dari 16 ternyata dapat
dipecahkan dengan knownplaintext attack yang lebih efektif daripada dengan brute force
attack. Kriptoanalisis yang menggunakan seragan knownplaintext ini adalah kriptoanalisis
linier.
C. S‐Box
Pada desain struktur internal DES, bagian substitusinya (S‐box), masih dirahasiakan. S‐box
ini diubah mengikuti saran NSA. Akibatnya, kita tidak bisa yakin bahwa struktur internal DES
bebas dari titik‐titik lemah yang sengaja disembunyikan, yang membuat NSA dapat
membuka cipher tanpa harus mengetahui kuncinya. Menurut penelitian para ahli
kriptografi, DES didesain dengan sangat cermat, sehingga bila kotak‐S ini diubah secara acak,
sangat mungkin sekali DES yang dihasilkan justru menjadi lebih mudah dibobol. Pengisian
kotak‐S DES masih menjadi misteri tanpa ada alasan mengapa memilih konstanta‐konstanta
di dalam kotak itu.
DES meiliki cara yang sama dalam melakukan enkripsi maupun dekripsi. Hanya saja proses
dekripsi dilakukan secara terbalik dibandingkan dengan proses enkripsi. DES diaplikasikan
dengan melakukan pengolahan pengolahan angka, oleh karena itu konsep dasar yang
digunakan DES adalah teori bilangan. Pada awalnya DES digunakan sebagai salah pengaman
yang paling aman, tetapi seiring berjalannya waktu banyak kekurangan sistem ini yang
menjadi kontroversi karena menyangkut keamanannya.
Referensi :
http://www.slideshare.net/kyucute/kriptografi‐42572702
Diffie, Whitfield, Martin E Hellman. 1976. New Directions in Cryptography. IEEE Trans.
Info. Theory IT‐22.
Prayudi, Yudi, Idham Halik. 2005. Studi Analisis Algoritma Rivest Code 6 (RC6) Dalam
Enkripsi/Dekripsi Data. Seminar Nasional Aplikasi Teknologi Informasi 2005 (SNATI 2005),
Yogyakarta.
Rizal, Ansar, Suharto. 2011. Implementasi Algoritma RC4 untuk Keamanan Login Pada
Sistem Pembayaran Uang Sekolah. Dielektrika, ISSN 2086‐9487 Vol. 2 No.2.
Sadikin, Rifki. 2012. Kriptografi untuk Keamanan Jaringan dan Implementasinya dalam
Bahasa Java. Penerbit Andi, Yogyakarta.
Wirdasari, Dian. 2008. Prinsip Kerja Kriptografi dalam Mengamankan Informasi, Jurnal
SAINTIKOM Vol.5 No.2.http://winpoin.com/winexplain‐apa‐itu‐enkripsi‐dan‐bagaimana‐
cara‐kerjanya/
MODUL PERKULIAHAN
Kriptografi
12
Ilmu Komputer Teknik Informatika Tim Dosen
enkripsi dan tanda tangan digital. Pada sistemnya, setiap orang mendapatkan sepasang
kunci, satu disebut kunci public dan yang lain disebut kunci privat. Kunci publik
mencakup kunci publik, kunci privat tidak pernah ditransmisikan atau dipakai bersama.
Pada sistem ini, tidak perlu lagi untuk mempercayai keamanan beberapa peralatan
dengan cara yang dapat dipercaya (diotentikasi) (sebagai contoh, dalam direktori yang
dipercaya). Setiap orang dapat mengirimkan pesan rahasia hanya dengan menggunakan
informasi publik, tetapi pesan hanya dapat didekripsi dengan kunci privat, yang
merupakan milik penerima yang dituju. Lebih jauh lagi, public‐key cryptography dapat
digunakan tidak hanya untuk kerahasiaan (enkripsi), tetapi juga untuk otentikasi (tanda
tangan digital) dan teknik‐teknik lainnya.
Cara enkripsi ini mempunyai banyak kelebihan, salah satunya adalah tiap orang
hanya perlu memiliki satu set kunci, tanpa peduli berapa banyak orang yang akan diajak
berkomunikasi.
diantaranya : Sistem Diffie Helman, RSA, PGP, El Gamal, Elliptic Curve.Cara kerja dari
kriptografi simetris dapat digambarkan sebagai berikut:
Gambar 2.6 Enkripsi Kunci Publik
Enkripsi simetris
Enkripsi simetris adalah teknik tua dan terkenal. Kunci rahasia, yang dapat berupa angka,
word atau rangkaian huruf acak, diterapkan untuk teks dari pesan untuk mengubah
konten dengan cara tertentu. Hal ini mungkin sederhana seperti pergeseran setiap huruf
jumlah tempat abjad. Selama pengirim dan Penerima tahu kunci rahasia, mereka dapat
mengenkripsi dan mendekripsi semua pesan yang menggunakan kunci ini.
Enkripsi asimetris
Masalah dengan kunci rahasia bertukar mereka melalui Internet atau jaringan besar
sementara mencegah mereka jatuh ke tangan yang salah. Siapa saja yang mengetahui
kunci rahasia dapat mendekripsi pesan. Satu jawaban adalah asimetris enkripsi, di mana
ada dua kunci terkait--pasangan utama. Kunci publik yang tersedia secara gratis bagi
siapa saja yang dapat mengirim pesan. Kunci kedua, pribadi disimpan rahasia, sehingga
hanya Anda tahu.
Pesan (teks, berkas biner, atau dokumen) yang dienkripsi dengan menggunakan kunci
publik hanya dapat didekripsi dengan menerapkan algoritma yang sama tetapi
menggunakan kunci privat cocok. Pesan yang dienkripsi dengan menggunakan kunci
privat hanya dapat didekripsi dengan menggunakan kunci publik yang cocok.
Ini berarti bahwa Anda tidak perlu khawatir melewati kunci publik Internet (kunci yang
seharusnya publik). Masalah dengan enkripsi asimetris, namun, adalah bahwa lebih
lambat daripada simetris enkripsi. Hal ini membutuhkan jauh lebih banyak daya
pemrosesan untuk mengenkripsi dan mendekripsi konten pesan.
Untuk menggunakan enkripsi asimetris, harus ada cara untuk menemukan kunci publik
lainnya. Teknik yang umum adalah dengan menggunakan sertifikat digital (juga dikenal
sebagai sertifikat). Sertifikat adalah paket informasi yang menunjukkan pengguna atau
server, dan berisi informasi seperti nama organisasi, organisasi yang dikeluarkan
sertifikat, alamat e-mail pengguna dan negara, dan pengguna kunci publik.
Ketika server dan klien memerlukan komunikasi terenkripsi yang aman, mereka
mengirimkan permintaan melalui jaringan pihak lain, yang akan mengirimkan kembali
salinan sertifikat. Kunci publik pihak lain dapat diambil dari sertifikat. Sertifikat yang
dapat digunakan untuk mengidentifikasi pemegang.
Kunci Asimetris
Pada pertengahan tahun 70‐an Whitfield Diffie dan Martin Hellman menemukan teknik
enkripsi asimetris yang merevolusi dunia kriptografi. Kunci asimetris adalah pasangan kunci‐
kunci kriptografi yang salah satunya dipergunakan untuk proses enkripsi dan yang satu lagi
untuk dekripsi. Semua orang yang mendapatkan kunci publik dapat menggunakannya untuk
mengenkripsikan suatu pesan, sedangkan hanya satu orang saja yang memiliki rahasia
tertentu – dalam hal ini kunci privat – untuk melakukan pembongkaran terhadap sandi yang
dikirim untuknya.
Dengan cara seperti ini, jika Anto mengirim pesan untuk Badu, Anto dapat merasa yakin
bahwa pesan tersebut hanya dapat dibaca oleh Badu, karena hanya Badu yang bisa
melakukan dekripsi dengan kunci privatnya. Tentunya Anto harus memiliki kunci publik
Badu untuk melakukan enkripsi. Anto bisa mendapatkannya dari Badu, ataupun dari pihak
ketiga seperti Tari.
Gambar 3.2. Penggunaan kunci asimetris
Teknik enkripsi asimetris ini jauh lebih lambat ketimbang enkripsi dengan kunci simetris.
Oleh karena itu, biasanya bukanlah pesan itu sendiri yang disandikan dengan kunci
asimetris, namun hanya kunci simetrislah yang disandikan dengan kunci asimetris.
Sedangkan pesannya dikirim setelah disandikan dengan kunci simetris tadi. Contoh
algoritma terkenal yang menggunakan kunci asimetris adalah RSA (merupakan singkatan
penemunya yakni Rivest, Shamir dan Adleman).
Panjang Kunci Asimetris
Sedangkan pada sistem enkripsi kunci publik‐privat, yang memegang peranan dalam
menjebol kunci privat adalah kesulitan mencari faktor prima bilangan yang sangat besar.
Beberapa kunci yang dipergunakan 10 tahun lalu saja kini sama sekali tidak laik pakai seiring
dengan perkembangan ilmu pengetahuan dan teknologi.
Kunci publik yang dimanfaatkan SSL adalah teknologi kunci publik 40‐bit dari RSA, yang
ternyata dapat dijebol dalam waktu 1,3 hari dengan 100 komputer menggunakan brute‐
force attack [DHMM 96].
Ronald Rivest, salah seorang penemu RSA, juga pernah menghitung bahwa untuk
menemukan kunci RSA 512‐bit dengan cara brute‐force attack membutuhkan biaya 8,2 juta
dollar AS [DaLe 96]. Untuk kasus tertentu, ini pun tidak aman. Kini perusahaan‐perusahaan
disarankan menggunakan kunci 2048 bit agar data aman sampai tahun 2015.
Prospek
Pada saat tulisan ini dibuat, ekspor teknologi enkripsi DES 56‐bit keluar dari Amerika Serikat
masih diizinkan. Untuk yang lainnya hanya diizinkan 40‐bit. Setelah tanggal 31 Desember
1998, ekspor teknologi enkripsi DES dari Amerika Serikat hanya dibatasi sampai 40‐bit saja,
atau boleh saja tetap 56‐bit, namun pengembang perangkat lunak itu harus menyediakan
perangkat untuk membuka kunci itu juga [Star 97].
Panjang‐pendeknya kunci dalam teknik‐teknik enkripsi pada sistem perdagangan di Internet,
akan menjadi salah satu titik lemah sistem perdagangan di Internet itu sendiri. Ada argumen
yang menyatakan bahwa kalau pada suatu saat ukuran kunci publik‐privat terasa terlalu
pendek, maka panjangkan saja lagi kunci itu, tentu proses penyerangannya akan makin sulit.
Hal ini memang benar, namun ada pertimbangan lain bahwa pengguna kunci tersebut harus
bisa melakukan proses enkripsi‐dekripsi dengan teknologi yang secara komersil
memungkinkan. Terlihat di sini bahwa dibutuhkan ukuran kunci yang cukup panjang supaya
aman, tapi tidak terlalu panjang agar memudahkan dalam penggunannya secara umum.
Beberapa teknik brute‐force attack lain yang tidak akan dibahas panjang disini, seperti
dengan penyebaran virus, komputasi paralel pada jaringan raksasa, undian Cina, atau
penggunaan komputer biologis. Semua itu menunjukkan bahwa ada kemungkinan bahwa
kunci bisa didapatkan dengan brute‐force attack.
Satu hal yang patut dicatat adalah bukan berarti dengan mungkinnya suatu metoda enkripsi
dijebol lantas metoda enkripsi itu tidak bermanfaat, namun yang penting apakah biaya
untuk melakukan serangan itu lebih besar dari pada harga informasi yang dienkripsi itu. Jika
ya, maka untuk apa sang pencuri melakukannya? Untuk apa melakukan penyerangan
dengan biaya 2 milyar rupiah kalau informasi yang dienkripsi hanya berharga Rp.10.000,‐
saja?
Algoritma Asimetris
Algoritma asimetris (asymmetric algorithm) adalah suatu algoritma dimana kunci enkripsi
yang digunakan tidak sama dengan kunci dekripsi. Pada algoritma ini menggunakan dua kunci yakni
kunci publik (public key) dan kunci privat (private key). Kunci publik disebarkan secara umum
sedangkan kunci privat disimpan secara rahasia oleh si pengguna. Walau kunci publik telah diketahui
namun akan sangat sukar mengetahui kunci privat yang digunakan.
Plaintext ciphertext plaintext
enkripsi dekripsi
kunci enkripsi (K1) kunci dekripsi (K2)
Gambar 2.3 Diagram proses enkripsi dan dekripsi algoritma asimetris
Pada umumnya kunci publik (public key) digunakan sebagai kunci enkripsi sementara kunci
privat (private key) digunakan sebagai kunci dekripsi.
Kelebihan :
Masalah keamanan pada distribusi kunci dapat lebih baik
Masalah manajemen kunci yang lebih baik karena jumlah kunci yang lebih sedikit
Kelemahan :
Kecepatan yang lebih rendah bila dibandingkan dengan algoritma simetris
Untuk tingkat keamanan sama, kunci yang digunakan lebih panjang dibandingkan dengan
algoritma simetris.
Contoh algoritma : RSA, DSA, ElGamal
Algoritma Asimetris atau sering disebut algoritma public key, penggunaan kunci dalam
algoritma ini adalah, kunci yang dipakai dalam proses enkripsi berbeda dengan kunci yang
dipakai pada proses dekripsi, jadi jumlah kunci enkripsi ≠ kunci dekripsi.
1. KUNCI PUBLIK adalah kunci yang digunakan untuk melakukan proses enkripsi data. Kunci ini
disebut publik karena siapapun dapat mengetahuinya.
2. KUNCI PRIVAT adalah kunci yang digunakan untuk melakukan proses dekripsi data. Kunci ini
disebut privat karena 1 kunci privat hanya dimiliki oleh 1 orang saja. Kunci privat sering juga
disebut kunci rahasia.
Istilah kunci rahasia dalam algoritma simetris digunakan untk menyatakan kunci enkripsi dan
dekripsi, sementara pada algoritma asimetris digunakan untuk menyatakan kunci privat, karena
kunci publik tidak dirahasiakan
Referensi :
http://www.slideshare.net/kyucute/kriptografi‐42572702
Diffie, Whitfield, Martin E Hellman. 1976. New Directions in Cryptography. IEEE Trans.
Info. Theory IT‐22.
Prayudi, Yudi, Idham Halik. 2005. Studi Analisis Algoritma Rivest Code 6 (RC6) Dalam
Enkripsi/Dekripsi Data. Seminar Nasional Aplikasi Teknologi Informasi 2005 (SNATI 2005),
Yogyakarta.
Rizal, Ansar, Suharto. 2011. Implementasi Algoritma RC4 untuk Keamanan Login Pada
Sistem Pembayaran Uang Sekolah. Dielektrika, ISSN 2086‐9487 Vol. 2 No.2.
Sadikin, Rifki. 2012. Kriptografi untuk Keamanan Jaringan dan Implementasinya dalam
Bahasa Java. Penerbit Andi, Yogyakarta.
Wirdasari, Dian. 2008. Prinsip Kerja Kriptografi dalam Mengamankan Informasi, Jurnal
SAINTIKOM Vol.5 No.2.http://winpoin.com/winexplain‐apa‐itu‐enkripsi‐dan‐bagaimana‐
cara‐kerjanya/
MODUL PERKULIAHAN
Kriptografi
13
Ilmu Komputer Teknik Informatika Tim Dosen
SEJARAH KRIPTOGRAFI
1. Pendahuluan
Kriptografi berasal berasal dari bahasa Yunani yaitu crypto berarti rahasia (secret)
dan graphia berarti tulisan (writing). Menurut terminologinya kriptografi adalah ilmu dan seni untuk
menjaga keamanan pesan ketika dikirim.
2. Sejarah Kriptografi
Sejak 4000 tahun lalu kriptografi telah dikenal oleh orang‐orang Mesir
lewathieroglyph walaupun bukan dalam bentuk tulisan standard. Pada zaman Rumawi Kuno, Julius
Caesar mengirimkan pesan rahasia kepada panglima perang di medan perang dengan mengganti
semua susunan alfabet dari: 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, menjadi: 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.
Pada zaman Rumawi Kuno, telah ada alat untuk mengirim pesan rahasia dengan nama
Scytale yang digunakan oleh tentara Sparta. Scytale merupakan alat yang memiliki pita panjang dari
daun papirus dan sebatang silinder. Pesan ditulis diatas pita yang dililitkan pada sebatang silinder,
setelah itu pita dilepas dari batang silinder lalu dikirim. Untuk membaca pesan, pita tersebut
dililitkan kembali pada sebatang silinder yang diameternya sama sehingga yang menjadi kunci pada
Scytale adalah diameter silinder.
Seiring dengan perkembangan zaman, kriptografi mengalami pengembangan untuk menjaga
kerahasiaan pesan (informasi) agar orang tidak berhak tidak dapat melihat/membaca pesan tersebut
sehingga metode penyadian pesan semakin berkembang.
Dalam kriptografi terdapat dua konsep utama yakni enkripsi dan dekripsi. Enkripsi adalah
proses dimana informasi/data yang hendak dikirim diubah menjadi bentuk yang hampir tidak
dikenali sebagai informasi awalnya dengan menggunakan algoritma tertentu. Dekripsi adalah
kebalikan dari enkripsi yaitu mengubah kembali bentuk tersamar tersebut menjadi informasi awal.
Algoritma kriptografi berdasarkan jenis kunci yang digunakan dapat dibedakan menjadi dua
jenis yaitu :
Algoritma Simetri (Kriptografi Klasik)
Dimana kunci yang digunakan untuk proses enkripsi dan dekripsi adalah kunci yang sama
Algoritma Asimetri (Kriptografi Publik)
Dimana kunci yang digunakan untuk proses enkripsi dan dekripsi menggunakan kunci yang berbeda.
Sedangkan berdasarkan besar data yang diolah dalam satu kali proses, maka algoritma
kriptografi dapat dibedakan menjadi dua jenis yaitu :
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.
Algoritma stream cipher
Informasi/data yang hendak dikirim dioperasikan dalam bentuk blok‐blok yang lebih kecil (byte atau
bit), biasanya satu karakter persatuan persatuan waktu proses, menggunakan tranformasi enkripsi
yang berubah setiap waktu.
Kazumaro Aoki (NTT ‐ Nippon Telegraph and Telephone Corp.)
Tetsuya Ichikawa (Mitsubishi electric Corp.)
Masayuki Kanda (NTT – Nippon Telegraph and Telephone Corp.)
Mitsuru Matsui (Mitsubishi electric Corp.)
Shiho Moriai (NTT – Nippon Telegraph and Telephone Corp.)
Junko Nakajima (Mitsubishi electric Corp.)
Toshio Tokita (Mitsubishi electric Corp.)
Dimana versi 1.0 pada bulan Juli 2000, versi 2.0 pada September 2001 dan versi 2.1 pada Febuari
2002.
3. Konsep Kriptografi
Kriptografi adalah suatu ilmu yang mempelajari bagaimana cara menjaga agar data atau
pesan tetap aman saat dikirimkan, dari pengirim ke penerima tanpa mengalami gangguan dari pihak
ketiga. Menurut Bruce Scheiner dalam bukunya "Applied Cryptography", kriptografi adalah ilmu
pengetahuan dan seni menjaga pesan (informasi) agar tetap aman (secure).
Konsep kriptografi sendiri telah lama digunakan oleh manusia misalnya pada peradaban Mesir dan
Romawi walau masih sangat sederhana. Prinsip‐prinsip yang mendasari kriptografi yakni:
Confidelity (kerahasiaan) yaitu layanan agar isi pesan yang dikirimkan tetap rahasia dan tidak
diketahui oleh pihak lain (kecuali pihak pengirim, pihak penerima / pihak‐pihak memiliki ijin).
Umumnya hal ini dilakukan dengan cara membuat suatu algoritma matematis yang mampu
mengubah data hingga menjadi sulit untuk dibaca dan dipahami.
Berikut adalah istilah‐istilah yang digunakan dalam bidang kriptografi :
Plaintext (M) adalah pesan yang hendak dikirimkan (berisi data asli).
Ciphertext (C) adalah pesan ter‐enkrip (tersandi) yang merupakan hasil enkripsi.
Enkripsi (fungsi E) adalah proses pengubahan plaintext menjadi ciphertext.
Kunci adalah suatu bilangan yang dirahasiakan yang digunakan dalam proses enkripsi dan dekripsi.
Kriptografi itu sendiri terdiri dari dua proses utama yakni proses enkripsi dan proses dekripsi.
Seperti yang telah dijelaskan di atas, proses enkripsi mengubahplaintext menjadi ciphertext (dengan
menggunakan kunci tertentu) sehingga isi informasi pada pesan tersebut sukar dimengerti.
enkripsi
dekripsi
plaintext ciphertext plaintext
kunci enkripsi kunci dekripsi
Gambar 2.1 Diagram proses enkripsi dan dekripsi
Peranan kunci sangatlah penting dalam proses enkripsi dan dekripsi (disamping pula
algoritma yang digunakan) sehingga kerahasiaannya sangatlah penting, apabila kerahasiaannya
terbongkar, maka isi dari pesan dapat diketahui.
Ee(M) – C
Dd(C) = M
Sehingga dari dua hubungan diatas berlaku :
Dd(Ee(M)) = M
KRIPTOGRAFI
A. Definisi Kriptografi
Kriptografi berasal dari bahasa yunani, menurut bahasa dibagi menjadi dua kripto dan graphia,
kripto berarti secret (rahasia) dan graphia berarti writing (tulisan). Menurut teminologinya
kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan di kirim dari suatu
tempat ketempat yang lain.
Implementasi dari kriptografi sangat banyak bisa kita temui dalam kehidupan sehari‐hari, seperti
Automatic Teller Machine (ATM),Penggunaan ATM untuk banking, bahkan mulai meningkat menjadi
Internet Banking, Mobile Banking, Komunikasi elektronik seperti telepon tetap, cellular, SMS, MMS.
3G, Komunikasi via Internet seperti email, messaging, chatting, Voice Call dan E‐Government , E‐
Commence.
Menurut catatan sejarah, kriptografi sudah digunakan oleh bangsa Mesir sejak 4000 tahun yang lalu
oleh raja‐raja Mesir pada saat perang untuk mengirimkan pesan rahasia kepada panglima perangnya
melalui kurir‐kurinya. Orang yang melakukan penyandian ini disebut kriptografer, sedangkan orang
yang mendalami ilmu dan seni dalam membuka atau memecahkan suatu algoritma kriptografi tanpa
harus mengetahui kuncinya disebut kriptanalis.
Seiring dengan perkembangan teknologi, algoritma kriptografi pun mulai berubah menuju ke arah
algoritma kriptografi yang lebih rumit dan kompleks. Kriptografi mau tidak mau harus diakui
mempunyai peranan yang paling penting dalam peperangan sehingga algoritma kriptografi
berkembang cukup pesat pada saat Perang Dunia I dan Perang Dunia II. Menurut catatan sejarah,
terdapat beberapa algoritma kriptografi yang pernah digunakan dalam peperangan, diantaranya
adalah ADFVGX yang dipakai oleh Jerman pada Perang Dunia I, Sigaba/M‐134yang digunakan oleh
Amerika Serikat pada Perang Dunia II, Typex oleh Inggris, dan Purple oleh Jepang. Selain itu Jerman
juga mempunyai mesin legendaris yang dipakai untuk memecahkan sandi yang dikirim oleh pihak
musuh dalam peperangan yaitu, Enigma.
Algoritma kriptografi yang baik tidak ditentukan oleh kerumitan dalam mengolah
data atau pesan yang akan disampaikan. Yang penting, algoritma tersebut harus memenuhi 4
persyaratan berikut :
1. Kerahasiaan. Pesan (plaintext) hanya dapat dibaca oleh pihak yang memliki kewenangan.
2. Autentikasi. Pengirim pesan harus dapat diidentifikasi dengan pasti, penyusup harus dipastikan
tidak bisa berpura‐pura menjadi orang lain.
3. Integritas. Penerima pesan harus dapat memastikan bahwa pesan yang dia terima tidak
dimodifikasi ketika sedang dalam proses transmisi data.
4. Non‐Repudiation. Pengirim pesan harus tidak bisa menyangkal pesan yang dia kirimkan.
style='orphans:
auto;text‐align:start;widows: auto;‐webkit‐text‐stroke‐width: 0px; word‐spacing:0px'
u2:shapes="_x0000_i1025" v:shapes="_x0000_i1025">
Gambar Proses Enkripsi dan Dekripsi
Dalam sistem komputer, pesan terbuka (plaintext) diberi lambang M, yang merupakan singkatan
dari Message. Plaintext ini dapat berupa tulisan, foto, atau video yang berbentuk data biner.
B. Elemen Kriptografi
Berikut Elemen‐elemen Kriptografi :
1. Pesan, Plainteks dan Cipherteks.
Pesan adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Nama lain untuk
pesan adalah plainteks. Agar pesan tidak bisa dimengerti maknanya oleh pihak lain, maka pesan
perlu disandikan ke bentuk lain yang tidak dapat dipahami. Bentuk pesan yan g tersandi disebut
cipherteks
2. Pengirim dan Penerima
Pengirim adalah entitas yang mengirim pesan kepada entitas lainnya. Penerima adalah entitas yang
menerima pesan. Entitas di sini dapat berupa orang, mesin (komputer), kartu kredit dan sebagainya.
3. Enkripsi dan dekripsi
4. Cipher
Algoritma kriptografi disebut juga cipher yaitu aturan untuk enciphering dan deciphering, atau fungsi
matematika yang digunakan untuk enkripsi dan dekripsi. Konsep matematis yang mendasari
algoritma kriptografi adalah relasi antara dua buah himpunan yaitu himpunan yang berisi elemen‐
elemen plainteks dan himpunan yang berisi cipherteks. Enkripsi dan dekripsi adalah fungsi yang
memetakan elemen‐elemen antara kedua himpunan tersebut.
5. Sistem kriptografi
Sistem kriptografi merupakan kumpulan yang terdiri dari algoritma kriptografi, semua plainteks dan
cipherteks yang mungkin dan kunci.
6. Penyadap
Penyadap adalah orang yang berusaha mencoba menangkap pesan selama ditransmisikan dengan
tujuan mendapatkan informasi sebanyak‐banyaknya mengenai sistem kriptografi yang digunakan
untuk berkomunikasi dengan maksud untuk memecahkan cipherteks.
7. Kriptanalisis dan kriptologi
Kriptanalisis (cryptanalysis) adalah ilmu dan seni untuk memecahkan cipherteks menjadi plainteks
tanpa mengetahui kunci yang digunakan. Pelakunya disebut kriptanalis. Kriptologi adalah studi
mengenai kriptografi dan kriptanalisis.
C. Metode Kriptografi
Dalam menjaga kerahasiaan data, kriptografi mentransformasikan data jelas (plaintext) ke dalam
bentuk data sandi (ciphertext) yang tidak dapat dikenali. Ciphertext inilah yang kemudian dikirimkan
oleh pengirim (sender) kepada penerima (receiver). Setelah sampai di penerima, ciphertext tersebut
ditranformasikan kembali ke dalam bentuk plaintext agar dapat dikenali.
Untuk mengenkripsi dan mendekripsi data. Kriptografi menggunakan suatu algoritma (cipher) dan
kunci (key). Cipher adalah fungsi matematika yang digunakan untuk mengenkripsi dan mendekripsi
data. Sedangkan kunci merupakan sederetan bit yang diperlukan untuk mengenkripsi dan
mendekripsi data.
Jenis‐jenis algoritma kriptografi :
Algoritma kriptografi adalah algoritma yang berfungsi untuk melakukan tujuan dari ilmu kriptografi
itu sendiri. Algoritma kriptografi terdiri dari 2 bagian fungsi, yaitu :
1. ENKRIPSI (encryption)
2. DEKRIPSI (decryption).
∙ KONFUSI (confusion). Mengaburkan hubungan antara plaintext dan ciphertext. Cara paling mudah
untuk melakukan konfusi adalah menggunakan substitusi. Konfusi menimbulkan kesulitan dalam
usaha musuh untuk mencari keteraturan dan pola statistik antara plaintext dan ciphertext.
Sehingga dapat digunakan untuk mengamankan informasi. Pada implementasinya sebuah algoritma
sandi harus memperhatikan kualitas layanan dari keseluruhan sistem dimana dia diimplementasikan.
Algoritma sandi yang handal adalah algoritma sandi yang kekuatannya terletak pada kunci, bukan
pada kerahasiaan algoritma itu sendiri. Teknik dan metode untuk menguji kehandalan algoritma
sandi adalah kriptanalisa.
Secara umum berdasarkan kesamaan kuncinya, algoritma sandi dibedakan menjadi :
1. ALGORITMA KUNCI SIMETRIS.
Dalam symmetric cryptosystem ini, kunci yang digunakan untuk proses enkripsi dan dekripsi pada
prinsipnya identik, tetapi satu buah kunci dapat pula diturunkan dari kunci yang lainnya. Kunci‐kunci
ini harus dirahasiakan. Oleh karena itulah sistem ini sering disebut sebagai secret‐key ciphersystem.
Jumlah kunci yang dibutuhkan umumnya adalah :
nC2 = n . (n‐1)
‐‐‐‐‐‐‐‐
2
Gambar Kriptografi simetris
Kriptografi simetris dapat dibagi menjadi dua, yaitu penyandian blok dan penyandian alir.
Penyandian blok bekerja pada suatu data yang terkelompok menjadi blok‐blok data atau kelompok
data dengan panjang data yang telah ditentukan. Pada penyandian blok, data yang masuk akan
dipecah‐pecah menjadi blok data yang telah ditentukan ukurannya. Penyandian alir bekerja pada
suatu data bit tunggal atau terkadang dalam satu byte. Jadi format data yang mengalami proses
enkripsi dan dekripsi adalah berupa aliran bit‐bit data.
Algoritma yang ada pada saat ini kebanyakan bekerja untuk penyandian blok karena kebanyakan
proses pengiriman data pada saat ini menggunakan blok‐blok data yang telah ditentukan ukurannya
untuk kemudian dikirim melalui saluran komunikasi.
2. ALGORITMA KUNCI ASIMETRIS.
Algoritma Asimetris atau sering disebut algoritma public key, penggunaan kunci dalam algoritma ini
adalah, kunci yang dipakai dalam proses enkripsiberbeda dengan kunci yang dipakai pada
proses dekripsi, jadi jumlah kunci enkripsi ≠ kunci dekripsi.
Ada 2 jenis kunci di algoritma ini, yaitu
1. KUNCI PUBLIK adalah kunci yang digunakan untuk melakukan proses enkripsi data. Kunci ini
disebut publik karena siapapun dapat mengetahuinya.
2. KUNCI PRIVAT adalah kunci yang digunakan untuk melakukan proses dekripsi data. Kunci ini
disebut privat karena 1 kunci privat hanya dimiliki oleh 1 orang saja. Kunci privat sering juga disebut
kunci rahasia.
Istilah kunci rahasia dalam algoritma simetris digunakan untk menyatakan kunci enkripsi dan
dekripsi, sementara pada algoritma asimetris digunakan untuk menyatakan kunci privat, karena
kunci publik tidak dirahasiakan.
Berdasarkan arah implementasi dan pembabakan zamannya dibedakan menjadi :
1. ALGORITMA SANDI KLASIK.
Sebelum komputer ada, kriptografi dilakukan dengan menggunakan pensil dan kertas. Algoritma
kriptografi (cipher) yang digunakan saat itu, dinamakan juga algoritma klasik, adalah berbasis
karakter, yaitu enkripsi dan dekripsi dilakukan pada setiap karakter pesan. Semua algoritma klasik
termasuk ke dalam sistrm kriptografi simetris dan digunakan jauh sebelum kriptografi kunci publik
ditemukan.
Kriptogarfi klasik memiliki beberapa ciri :
1. Berbasis karakter
2. Menggunakan pena dan kertas saja, belum ada computer
3. Termasuk ke dalam kriptografi kunci simetris.
Tiga alasan mempelajari algoritma klasik :
1. Memahami konsep dasar kriptografi
2. Dasar algoritma kriptografi modern
3. Memahami kelemahan sistem kode.
(Ariyus Dony. 2008)
Pada dasarnya, algoritma kriptografi klasik dapat dikelompokkan ke dalam dua macam cipher, yaitu :
1. Cipher substitusi (substitution cipher)
Di dalam cipher substitusi setiap unit plainteks diganti dengan satu unit cipherteks. Satu “unit” di
isini berarti satu huruf, pasanga huruf, atau dikelompokkan lebih dari dua huruf. Algoritma substitusi
tertua yang diketahui adalah Caesar cipher yang digunakan oleh kaisar Romawi , Julius Caesar
(sehingga dinamakan juga casear cipher), untuk mengirimakan pesan yang dikirimkan kepada
gubernurnya.
2. Cipher transposisi (transposition cipher)
Pada cipher transposisi, huruf‐huruf di dalam plainteks tetap saja, hanya saja urutannya diubah.
Dengan kata lain algoritma ini melakukan transpose terhadap rangkaian karakter di dalam teks.
Nama lain untuk metode ini adalah permutasi atau pengacakan (scrambling) karena transpose setiap
karakter di dalam teks sama dengan mempermutasikan karakter‐karkater tersebut.
(Munir.2006)
Pada metode kriptografi simetris atau konvensional digunakan satu buah kunci. Bila kunci
dinotasikan denan ‘K’ maka proses enkripsi‐dekripsi metode kriptografi simeteris dapat dinotasikan
dengan :
Ek(P) = C dan
Dk (C) = P
Dan keseluruhan sistem dinyatakan sebagai :
Dk(Ek(P))=P
2. ALGORITMA SANDI MODERN
Algoritma kriptografi modern tidak lagi mengandalkan keamanannya pada kerahasiaan algoritma
tetapi kerahasiaan kunci. Plaintext yang sama bila disandikan dengan kunci yang berbeda akan
menghasilkan ciphertext yang berbeda pula. Dengan demikian algoritma kriptografi dapat bersifat
umum dan boleh diketahui oleh siapa saja, akan tetapi tanpa pengetahuan tentang kunci, data
tersandi tetap saja tidak dapat terpecahkan. Sistem kriptografi atauCryptosystem adalah sebuah
algoritma kriptografi ditambah semua kemungkinan plaintext, ciphertext dan kunci
Sedangkan berdasarkan besar data yang diolah dalam satu kali proses, maka algoritma kriptografi
dapat dibedakan menjadi dua jenis yaitu :
1. 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.
2. Algoritma stream cipher
Informasi/data yang hendak dikirim dioperasikan dalam bentuk blok‐blok yang lebih kecil (byte atau
bit), biasanya satu karakter persatuan persatuan waktu proses, menggunakan tranformasi enkripsi
yang berubah setiap waktu.
Dalam Konteks Keamanan Komputer dan Jaringan
DEFENISI
Cryptography adalah suatu ilmu ataupun seni mengamankan pesan, dan dilakukan oleh
cryptographer.
Cryptanalysis adalah suatu ilmu dan seni membuka (breaking) ciphertext dan orang yang
melakukannya disebut cryptanalyst.
ELEMEN
CRYPTOSYSTEM
Cryptographic system atau cryptosystem adalah suatu fasilitas untuk mengkonversikan plaintext ke
ciphertext dan sebaliknya. Dalam sistem ini, seperangkat parameter yang menentukan transformasi
pencipheran tertentu disebut suatu set kunci. Proses enkripsi dan dekripsi diatur oleh satu atau
beberapa kunci kriptografi.
1. Kriptografi dapat memenuhi kebutuhan umum suatu transaksi:
Kerahasiaan (confidentiality) dijamin dengan melakukan enkripsi (penyandian).
Keutuhan (integrity) atas data‐data pembayaran dilakukan dengan fungsi hash satu arah.
Jaminan atas identitas dan keabsahan (authenticity) pihak‐pihak yang melakukan transaksi dilakukan
dengan menggunakan password atau sertifikat digital. Sedangkan keotentikan data transaksi dapat
dilakukan dengan tanda tangan digital.
Transaksi dapat dijadikan barang bukti yang tidak bisa disangkal (non‐repudiation) dengan
memanfaatkan tanda tangan digital dan sertifikat digital.
2. Karakteristik cryptosytem yang baik sebagai berikut :
Keamanan sistem terletak pada kerahasiaan kunci dan bukan pada kerahasiaan algoritma yang
digunakan.
Cryptosystem yang baik memiliki ruang kunci (keyspace) yang besar.
Cryptosystem yang baik akan menghasilkan ciphertext yang terlihat acak dalam seluruh tes statistik
yang dilakukan terhadapnya.
Cryptosystem yang baik mampu menahan seluruh serangan yang telah dikenal sebelumnya
3. MACAM CRYPTOSYSTEM
A. Symmetric Cryptosystem
Dalam symmetric cryptosystem ini, kunci yang digunakan untuk proses enkripsi dan dekripsi pada
prinsipnya identik, tetapi satu buah kunci dapat pula diturunkan dari kunci yang lainnya. Kunci‐kunci
ini harus dirahasiakan. Oleh karena itulah sistem ini sering disebut sebagai secret‐key ciphersystem.
Jumlah kunci yang dibutuhkan umumnya adalah :
nC2 = n . (n‐1)
——–
dengan n menyatakan banyaknya pengguna
Contoh dari sistem ini adalah Data Encryption Standard (DES), Blowfish, IDEA.
B. Assymmetric Cryptosystem
Dalam assymmetric cryptosystem ini digunakan dua buah kunci. Satu kunci yang disebut kunci publik
(public key) dapat dipublikasikan, sedang kunci yang lain yang disebut kunci privat (private key)
harus dirahasiakan. Proses menggunakan sistem ini dapat diterangkan secara sederhana sebagai
berikut : bila A ingin mengirimkan pesan kepada B, A dapat menyandikan pesannya dengan
menggunakan kunci publik B, dan bila B ingin membaca surat tersebut, ia perlu mendekripsikan
surat itu dengan kunci privatnya. Dengan demikian kedua belah pihak dapat menjamin asal surat
serta keaslian surat tersebut, karena adanya mekanisme ini. Contoh sistem ini antara lain RSA
Scheme dan Merkle‐Hellman Scheme.
4. PROTOKOL CRYPTOSYSTEM
Cryptographic protocol adalah suatu protokol yang menggunakan kriptografi. Protokol ini
melibatkan sejumlah algoritma kriptografi, namun secara umum tujuan protokol lebih dari sekedar
kerahasiaan. Pihak‐pihak yang berpartisipasi mungkin saja ingin membagi sebagian rahasianya untuk
menghitung sebuah nilai, menghasilkan urutan random, atau pun menandatangani kontrak secara
bersamaan.
Penggunaan kriptografi dalam sebuah protokol terutama ditujukan untuk mencegah atau pun
mendeteksi adanya eavesdropping dan cheating.
5. JENIS PENYERANGAN PADA PROTOKOL
Ciphertext‐only attack. Dalam penyerangan ini, seorang cryptanalyst memiliki ciphertext dari
sejumlah pesan yang seluruhnya telah dienkripsi menggunakan algoritma yang sama.
Known‐plaintext attack. Dalam tipe penyerangan ini, cryptanalyst memiliki akses tidak hanya ke
ciphertext sejumlah pesan, namun ia juga memiliki plaintext pesan‐pesan tersebut.
Chosen‐plaintext attack. Pada penyerangan ini, cryptanalyst tidak hanya memiliki akses atas
ciphertext dan plaintext untuk beberapa pesan, tetapi ia juga dapat memilih plaintext yang
dienkripsi.
Adaptive‐chosen‐plaintext attack. Penyerangan tipe ini merupakan suatu kasus khusus chosen‐
plaintext attack. Cryptanalyst tidak hanya dapat memilih plaintext yang dienkripsi, ia pun memiliki
kemampuan untuk memodifikasi pilihan berdasarkan hasil enkripsi sebelumnya. Dalam chosen‐
plaintext attack, cryptanalyst mungkin hanya dapat memiliki plaintext dalam suatu blok besar untuk
dienkripsi; dalam adaptive‐chosen‐plaintext attack ini ia dapat memilih blok plaintext yang lebih kecil
dan kemudian memilih yang lain berdasarkan hasil yang pertama, proses ini dapat dilakukannya
terus menerus hingga ia dapat memperoleh seluruh informasi.
Chosen‐ciphertext attack. Pada tipe ini, cryptanalyst dapat memilih ciphertext yang berbeda untuk
didekripsi dan memiliki akses atas plaintext yang didekripsi.
Chosen‐key attack. Cryptanalyst pada tipe penyerangan ini memiliki pengetahuan tentang hubungan
antara kunci‐kunci yang berbeda.
Rubber‐hose cryptanalysis. Pada tipe penyerangan ini, cryptanalyst mengancam, memeras, atau
bahkan memaksa seseorang hingga mereka memberikan kuncinya.
6. JENIS PENYERANGAN PADA JALUR KOMUNIKASI
Sniffing: secara harafiah berarti mengendus, tentunya dalam hal ini yang diendus adalah pesan (baik
yang belum ataupun sudah dienkripsi) dalam suatu saluran komunikasi. Hal ini umum terjadi pada
saluran publik yang tidak aman. Sang pengendus dapat merekam pembicaraan yang terjadi.
Replay attack [DHMM 96]: Jika seseorang bisa merekam pesan‐pesan handshake (persiapan
komunikasi), ia mungkin dapat mengulang pesan‐pesan yang telah direkamnya untuk menipu salah
satu pihak.
Spoofing [DHMM 96]: Penyerang – misalnya Maman – bisa menyamar menjadi Anto. Semua orang
dibuat percaya bahwa Maman adalah Anto. Penyerang berusaha meyakinkan pihak‐pihak lain bahwa
tak ada salah dengan komunikasi yang dilakukan, padahal komunikasi itu dilakukan dengan sang
penipu/penyerang. Contohnya jika orang memasukkan PIN ke dalam mesin ATM palsu – yang benar‐
benar dibuat seperti ATM asli – tentu sang penipu bisa mendapatkan PIN‐nya dan copy pita
magentik kartu ATM milik sang nasabah. Pihak bank tidak tahu bahwa telah terjadi kejahatan.
Man‐in‐the‐middle [Schn 96]: Jika spoofing terkadang hanya menipu satu pihak, maka dalam
skenario ini, saat Anto hendak berkomunikasi dengan Badu, Maman di mata Anto seolah‐olah adalah
Badu, dan Maman dapat pula menipu Badu sehingga Maman seolah‐olah adalah Anto. Maman
dapat berkuasa penuh atas jalur komunikas ini, dan bisa membuat berita fitnah.
METODE CRYPTOGRAFI
1. METODE KUNO
a. 475 S.M. bangsa Sparta, suatu bangsa militer pada jaman Yunani kuno, menggunakan teknik
kriptografi yang disebut scytale, untuk kepentingan perang. Scytale terbuat dari tongkat dengan
papyrus yang mengelilinginya secara spiral.
Kunci dari scytale adalah diameter tongkat yang digunakan oleh pengirim harus sama dengan
diameter tongkat yang dimiliki oleh penerima pesan, sehingga pesan yang disembunyikan dalam
papyrus dapat dibaca dan dimengerti oleh penerima.
b. Julius Caesar, seorang kaisar terkenal Romawi yang menaklukkan banyak bangsa di Eropa dan
Timur Tengah juga menggunakan suatu teknik kriptografi yang sekarang disebut Caesar cipher untuk
berkorespondensi sekitar tahun 60 S.M. Teknik yang digunakan oleh Sang Caesar adalah
mensubstitusikan alfabet secara beraturan, yaitu oleh alfabet ketiga yang mengikutinya, misalnya,
alfabet ‘’A” digantikan oleh “D”, “B” oleh “E”, dan seterusnya. Sebagai contoh, suatu pesan berikut :
Dengan aturan yang dibuat oleh Julius Caesar tersebut, pesan sebenarnya adalah “Penjarakan
panglima divisi ke tujuh segera”.
2. TEKNIK DASAR KRIPTOGRAFI
a. Substitusi
Salah satu contoh teknik ini adalah Caesar cipher yang telah dicontohkan diatas. Langkah pertama
adalah membuat suatu tabel substitusi. Tabel substitusi dapat dibuat sesuka hati, dengan catatan
bahwa penerima pesan memiliki tabel yang sama untuk keperluan dekripsi. Bila tabel substitusi
dibuat secara acak, akan semakin sulit pemecahan ciphertext oleh orang yang tidak berhak.
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‐1‐2‐3‐4‐5‐6‐7‐8‐9‐0‐.‐,
B‐F‐1‐K‐Q‐G‐A‐T‐P‐J‐6‐H‐Y‐D‐2‐X‐5‐M‐V‐7‐C‐8‐4‐I‐9‐N‐R‐E‐U‐3‐L‐S‐W‐,‐.‐O‐Z‐0
Gambar 3. Tabel Substitusi
Tabel substitusi diatas dibuat secara acak. Dengan menggunakan tabel tersebut, dari plaintext “5
teknik dasar kriptografi” dihasilkan ciphertext “L 7Q6DP6 KBVBM 6MPX72AMBGP”. Dengan
menggunakan tabel substitusi yang sama secara dengan arah yang terbalik (reverse), plaintext dapat
diperoleh kembali dari ciphertext‐nya.
b. Blocking
Sistem enkripsi terkadang membagi plaintext menjadi blok‐blok yang terdiri dari beberapa karakter
yang kemudian dienkripsikan secara independen. Plaintext yang dienkripsikan dengan menggunakan
teknik blocking adalah :
Dengan menggunakan enkripsi blocking dipilih jumlah lajur dan kolom untuk penulisan pesan.
Jumlah lajur atau kolom menjadi kunci bagi kriptografi dengan teknik ini. 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. Jadi ciphertext yang dihasilkan dengan teknik ini adalah “5K G KRTDRAEAIFKSPINAT IRO”.
Plaintext dapat pula ditulis secara horizontal dan ciphertextnya adalah hasil pembacaan secara
vertikal.
c. 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. Sebelum dilakukan permutasi, umumnya plaintext terlebih dahulu dibagi
menjadi blok‐blok dengan panjang yang sama.
Untuk contoh diatas, plaintext akan dibagi menjadi blok‐blok yang terdiri dari 6 karakter, dengan
aturan permutasi sebagai berikut :
Dengan menggunakan aturan diatas, maka proses enkripsi dengan permutasi dari plaintext adalah
sebagai berikut :
Ciphertext yang dihasilkan dengan teknik permutasi ini adalah “N ETK5 SKD AIIRK RAATGORP FI”.
BERBAGAI SOLUSI ENKRIPSI MODERN
1. Data Encryption Standard (DES)
standar bagi USA Government
didukung ANSI dan IETF
popular untuk metode secret key
terdiri dari : 40‐bit, 56‐bit dan 3×56‐bit (Triple DES)
2. Advanced Encryption Standard (AES)
untuk menggantikan DES (launching akhir 2001)
menggunakan variable length block chipper
key length : 128‐bit, 192‐bit, 256‐bit
dapat diterapkan untuk smart card.
3. Digital Certificate Server (DCS)
verifikasi untuk digital signature
autentikasi user
menggunakan public dan private key
contoh : Netscape Certificate Server
4. IP Security (IPSec)
enkripsi public/private key
dirancang oleh CISCO System
menggunakan DES 40‐bit dan authentication
built‐in pada produk CISCO
solusi tepat untuk Virtual Private Network (VPN) dan Remote Network Access
5. Kerberos
solusi untuk user authentication
dapat menangani multiple platform/system
free charge (open source)
APLIKASI ENKRIPSI
Beberapa aplikasi yang memerlukan enkripsi untuk pengamanan data atau komunikasi diantaranya
adalah :
a. Jasa telekomunikasi
Enkripsi untuk mengamankan informasi konfidensial baik berupa suara, data, maupun gambar yang
akan dikirimkan ke lawan bicaranya.
Enkripsi pada transfer data untuk keperluan manajemen jaringan dan transfer on‐line data billing.
Enkripsi untuk menjaga copyright dari informasi yang diberikan.
b. Militer dan pemerintahan
Enkripsi diantaranya digunakan dalam pengiriman pesan.
Menyimpan data‐data rahasia militer dan kenegaraan dalam media penyimpanannya selalu dalam
keaadan terenkripsi.
c. Data Perbankan
Informasi transfer uang antar bank harus selalu dalam keadaan terenkripsi
d. Data konfidensial perusahaan
Rencana strategis, formula‐formula produk, database pelanggan/karyawan dan database
operasional
pusat penyimpanan data perusahaan dapat diakses secara on‐line.
Teknik enkripsi juga harus diterapkan untuk data konfidensial untuk melindungi data dari
pembacaan maupun perubahan secara tidak sah.
e. Pengamanan electronic mail
Mengamankan pada saat ditransmisikan maupun dalam media penyimpanan.
Aplikasi enkripsi telah dibuat khusus untuk mengamankan e‐mail, diantaranya PEM (Privacy
Enhanced Mail) dan PGP (Pretty Good Privacy), keduanya berbasis DES dan RSA.
f. Kartu Plastik
Enkripsi pada SIM Card, kartu telepon umum, kartu langganan TV kabel, kartu kontrol akses ruangan
dan komputer, kartu kredit, kartu ATM, kartu pemeriksaan medis, dll
Enkripsi teknologi penyimpanan data secara magnetic, optik, maupun chip.
CONTOH KASUS KRIPTOGRAFI
SUBTITUSI:
Aris ingin menyampaikan pesan kepada yagi melaui reza dengan menggunakan media kertas dengan
kalimat:
KATA SANDI NYA MENYELAM
Proses Enkripsi : NDWD VDQGL QBD PHQBHODP
Chiperteks yang di baca Reza adalah NDWD VDQGL QBD PHQBHODP
Proses Deskripsi menjadi plainteks/pesan asli yang di baca yagi adalah:
KATA SANDI NYA MENYELAM
“Crypto” berarti “secret” (rahasia) dan “graphy” berarti “writing” (tulisan). Cryptography adalah
sebuah kumpulan teknik yang digunakan untuk mengubah informasi/pesan (plaintext) kedalam
sebuah teks rahasia (ciphertext) yang kemudian bisa diubah kembali ke format semula.
Pelaku atau praktisi kriptografi disebut cryptographers. Sebuah algoritma kriptografik (cryptographic
algorithm), disebut cipher, merupakan persamaan matematik yang digunakan untuk proses enkripsi
dan dekripsi.
Cryptanalysis adalah seni dan ilmu untuk memecahkan ciphertext tanpa bantuan kunci.
Pelaku/praktisinya disebut Cryptanalyst, sedangkan Cryptology merupakan gabungan dari
cryptography dan cryptanalysis.
Pengamanan dengan menggunakan cryptography membuat pesan nampak. Hanya bentuknya yang
sulit dikenali karena seperti diacak‐acak. Pada cryptography pengamanan dilakukan dengan dua
cara, yaitu transposisi dan substitusi.
a. Pada penggunaan transposisi, posisi dari huruf yang diubah‐ubah,
b. Pada penggunaan substitusi, huruf (atau kata) digantikan dengan huruf atau simbol lain.
Dasar‐dasar Enkripsi
• Proses yang dilakukan untuk mengamankan sebuah pesan (plaintext) menjadi pesan yang
tersembunyi (ciphertext) sehingga tidak dapat dibaca oleh orang yang tidak berhak adalah enkripsi
(encryption) atau disebut “encipher”. Proses sebaliknya, untuk mengubah ciphertext menjadi
plaintext, disebut dekripsi (decryption) atau disebut “decipher”.
Dasar‐dasar Enkripsi
• Data disandikan (encrypted) dengan menggunakan sebuah kunci (key). Untuk membuka (decrypt)
data tersebut kunci untuk mengenkripsi (private key cryptography) atau dengan kunci yang berbeda
(public key cryptography).
• Secara matematis, proses atau fungsi enkripsi (E) dapat dituliskan sebagai: E(M) = C
• Proses atau fungsi dekripsi (D) dapat dituliskan sebagai: D(C) = M dimana: M adalah plaintext
(message) dan C adalah ciphertext.
Kriptografi Simetris
• Kunci yang sama untuk enkripsi & dekripsi
• Problem
– Bagaimana mendistribusikan kunci secara rahasia ?
– Untuk n orang pemakai, diperlukan n(n‐1)/2 kunci tidak praktis untuk pemakai dalam jumlah
banyak
Kriptografi Asimetris
• Kunci enkripsi tidak sama dengan kunci dekripsi.
Kedua kunci dibuat oleh penerima data
– enkripsi kunci publik
– dekripsi kunci privat Kriptografi Hibrid
• Menggabungkan antara kriptografi simetris dan asimetris mendapatkan kelebihan kedua metode
Infrastruktur Kunci Publik
• Pengamanan komunikasi data untuk keperluan publik (antar institusi, individu‐institusi, individu‐
individu, dsb)
– Kebutuhan komunikasi yang aman
– Heterogenitas pemakai
– Jaringan komunikasi yang kompleks
• Komponen infrastruktur kunci publik:
– Tandatangan digital (digital signature): untuk menjamin keaslian dokumen digital yang dikirim
– Otoritas Sertifikat (certificate authority): lembaga yang mengeluarkan sertifikat digital sebagai
bukti kewenangan untuk melakukan transaksi elektronis tertentu Infrastruktur Kunci Publik
(lanjutan)
• Mengapa diperlukan ?
– Kasus KlikBCA beberapa tahun yang lalu
• Ada orang yang meniru persis situs netbanking Bank BCA, dengan URL yang mirip
• Situs tersebut menerima informasi login dari nasabah BCA (userID dan password)
• Apa yang terjadi jika informasi login nasabah disalahgunakan ?
– Semakin banyaknya transaksi elektronik yang memerlukan legalitas secara elektronik juga
• Dokumen kontrak
• Perjanjian jual beli
Algoritma kriptografi klasik:
• Chiper Substitusi (Substitution Chipers)
• Chiper Transposisi (Transposition Chipers)
• Ini adalah algoritma kriptografi yang mula‐mula digunakanm oleh kaisar Romawi, Julius Caesar
(sehingga dinamakan juga caesar chiper), untuk menyandikan pesan yang ia kirim kepada para
gubernurnya.
• Caranya adalah dengan mengganti (menyulih atau mensubstitusi) setiap karakter dengan karakter
lain dalam
susunan abjad (alfabet).
• Misalnya, tiap huruf disubstitusi dengan huruf ketiga berikutnya dari susunan abjad. Dalam hal ini
kuncinya
adalah jumlah pergeseran huruf (yaitu k = 3)
Tabel substitusi:
• 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 1. Pesan
AWASI ASTERIX DAN TEMANNYA OBELIX disamarkan (enskripsi) menjadi
DZDVL DVWHULA GDQ WHPDQQBA REHOLA
• Penerima pesan men‐dekripsi chiperteks dengan menggunakan tabel substitusi, sehingga
chiperteks
DZDVL DVWHULA GDQ WHPDQQBA REHOLA dapat dikembalikan menjadi plainteks semula:
• AWASI ASTERIX DAN TEMANNYA OBELIX
Chiper Transposisi
• Pada chiper transposisi, plainteks tetap sama, tetapi urutannya diubah. Dengan kata lain, algoritma
ini melakukan transpose terhadap rangkaian karakter di dalam teks.
• Nama lain untuk metode ini adalah permutasi, karena transpose setiap karakter di dalam teks
sama dengan mempermutasikan karakter‐karakter tersebut
Contoh 4. Misalkan plainteks adalah
DEPARTEMEN TEKNIK KOMPUTER BSI
• Untuk meng‐enkripsi pesan, plainteks ditulis secara horizontal dengan lebar kolom tetap, misal
selebar 6 karakter
(kunci k = 6):
DEPART
EMENTE
KNIKKO
MPUTER
BSI
• maka chiperteksnya dibaca secara vertikal menjadi DEKMBEMNPSPEIUIANKTRTOETEOR
• Untuk mendekripsi pesan, kita membagi panjang chiperteks dengan kunci. Pada contoh ini, kita
membagi 30 dengan 6 untuk mendapatkan 5.
• Algoritma dekripsi identik dengan algoritma enkripsi. Jadi, untuk contoh ini, kita menulis chiperteks
dalam baris‐baris selebar 5 karakter menjadi:
DEKMB
EMNPS
PEIUI
ANKT
RTKE
TEOR
• Dengan membaca setiap kolom kita memperoleh pesan semula:
• DEPARTEMEN TEKNIK KOMPUTER BSI
• Data Encryption Standard (DES) dikenal sebagai Data Encryption Algorithm (DEA) oleh ANSI dan
DEA‐1 oleh ISO, merupakan algoritma kriptografisimetris yang paling umum digunakan saat ini.
Aplikasi yang menggunakan DES antara lain:
‐ enkripsi dari password di sistem UNIX,
‐ berbagai aplikasi di bidang perbankan
• Enigma Rotor Machine
Enigma rotor machine merupakan sebuah alat enkripsi dan dekripsi mekanik yang digunakan dalam
perang dunia ke dua oleh Jerman.
Aplikasi dari Enkripsi
• Contoh penggunaan enkripsi adalah program Pretty Good Privacy (PGP), dan secure shell (SSH).
‐ Program PGP digunakan untuk mengenkripsi dan menambahkan digital signature dalam e‐mail
yang dikirim.
‐ Program SSH digunakan untuk mengenkripsi sesion telnet
ke sebuah host.
Kelemahan Enkripsi
1. Penanganan yang salah atau kesalahan manusia, Kurangnya manajemen data enkripsi
2. Kekurangan dalam cipher itu sendiri
3. Serangan brute force.
KRIPTOGRAFI
DEFENISI
Cryptography adalah suatu ilmu ataupun seni mengamankan pesan, dan dilakukan
oleh cryptographer.
Cryptanalysis adalah suatu ilmu dan seni membuka (breaking) ciphertext dan orang yang
melakukannya disebut cryptanalyst.
ELEMEN
CRYPTOSYSTEM
Cryptographic system atau cryptosystem adalah suatu fasilitas untuk mengkonversikan plaintext ke
ciphertext dan sebaliknya. Dalam sistem ini, seperangkat parameter yang menentukan transformasi
pencipheran tertentu disebut suatu set kunci. Proses enkripsi dan dekripsi diatur oleh satu atau
beberapa kunci kriptografi.
1. Kriptografi dapat memenuhi kebutuhan umum suatu transaksi:
1. Kerahasiaan (confidentiality) dijamin dengan melakukan enkripsi (penyandian).
2. Keutuhan (integrity) atas data‐data pembayaran dilakukan dengan fungsi hash satu arah.
3. Jaminan atas identitas dan keabsahan (authenticity) pihak‐pihak yang melakukan transaksi dilakukan
dengan menggunakan password atau sertifikat digital. Sedangkan keotentikan data transaksi dapat
dilakukan dengan tanda tangan digital.
4. Transaksi dapat dijadikan barang bukti yang tidak bisa disangkal (non‐repudiation) dengan
memanfaatkan tanda tangan digital dan sertifikat digital.
1. Keamanan sistem terletak pada kerahasiaan kunci dan bukan pada kerahasiaan algoritma yang
digunakan.
2. Cryptosystem yang baik memiliki ruang kunci (keyspace) yang besar.
3. Cryptosystem yang baik akan menghasilkan ciphertext yang terlihat acak dalam seluruh tes
statistik yang dilakukan terhadapnya.
4. Cryptosystem yang baik mampu menahan seluruh serangan yang telah dikenal sebelumnya
3. MACAM CRYPTOSYSTEM
A. Symmetric Cryptosystem
Dalam symmetric cryptosystem ini, kunci yang digunakan untuk proses enkripsi dan dekripsi pada
prinsipnya identik, tetapi satu buah kunci dapat pula diturunkan dari kunci yang lainnya. Kunci‐kunci
ini harus dirahasiakan. Oleh karena itulah sistem ini sering disebut sebagai secret‐key ciphersystem.
Jumlah kunci yang dibutuhkan umumnya adalah :
nC2 = n . (n‐1)
‐‐‐‐‐‐‐‐
2
dengan n menyatakan banyaknya pengguna.
Contoh dari sistem ini adalah Data Encryption Standard (DES), Blowfish, IDEA.
B. Assymmetric Cryptosystem
Dalam assymmetric cryptosystem ini digunakan dua buah kunci. Satu kunci yang disebut kunci publik
(public key) dapat dipublikasikan, sedang kunci yang lain yang disebut kunci privat (private key) harus
dirahasiakan. Proses menggunakan sistem ini dapat diterangkan secara sederhana sebagai berikut :
bila A ingin mengirimkan pesan kepada B, A dapat menyandikan pesannya dengan menggunakan
kunci publik B, dan bila B ingin membaca surat tersebut, ia perlu mendekripsikan surat itu dengan
kunci privatnya. Dengan demikian kedua belah pihak dapat menjamin asal surat serta keaslian surat
tersebut, karena adanya mekanisme ini. Contoh sistem ini antara lain RSA Scheme dan Merkle‐
Hellman Scheme.
4. PROTOKOL CRYPTOSYSTEM
Cryptographic protocol adalah suatu protokol yang menggunakan kriptografi. Protokol ini
melibatkan sejumlah algoritma kriptografi, namun secara umum tujuan protokol lebih dari sekedar
kerahasiaan. Pihak‐pihak yang berpartisipasi mungkin saja ingin membagi sebagian rahasianya untuk
menghitung sebuah nilai, menghasilkan urutan random, atau pun menandatangani kontrak secara
bersamaan.
Penggunaan kriptografi dalam sebuah protokol terutama ditujukan untuk mencegah atau pun
mendeteksi adanya eavesdropping dan cheating.
5. JENIS PENYERANGAN PADA PROTOKOL
Ciphertext‐only attack. Dalam penyerangan ini, seorang cryptanalyst memiliki ciphertext dari
sejumlah pesan yang seluruhnya telah dienkripsi menggunakan algoritma yang sama.
Known‐plaintext attack. Dalam tipe penyerangan ini, cryptanalyst memiliki akses tidak hanya ke
ciphertext sejumlah pesan, namun ia juga memiliki plaintext pesan‐pesan tersebut.
Chosen‐plaintext attack. Pada penyerangan ini, cryptanalyst tidak hanya memiliki akses atas
ciphertext dan plaintext untuk beberapa pesan, tetapi ia juga dapat memilih plaintext yang
dienkripsi.
Adaptive‐chosen‐plaintext attack. Penyerangan tipe ini merupakan suatu kasus khusus chosen‐
plaintext attack. Cryptanalyst tidak hanya dapat memilih plaintext yang dienkripsi, ia pun memiliki
kemampuan untuk memodifikasi pilihan berdasarkan hasil enkripsi sebelumnya. Dalam chosen‐
plaintext attack, cryptanalyst mungkin hanya dapat memiliki plaintext dalam suatu blok besar untuk
dienkripsi; dalam adaptive‐chosen‐plaintext attack ini ia dapat memilih blok plaintext yang lebih kecil
dan kemudian memilih yang lain berdasarkan hasil yang pertama, proses ini dapat dilakukannya
terus menerus hingga ia dapat memperoleh seluruh informasi.
Chosen‐ciphertext attack. Pada tipe ini, cryptanalyst dapat memilih ciphertext yang berbeda untuk
didekripsi dan memiliki akses atas plaintext yang didekripsi.
Chosen‐key attack. Cryptanalyst pada tipe penyerangan ini memiliki pengetahuan tentang hubungan
antara kunci‐kunci yang berbeda.
Rubber‐hose cryptanalysis. Pada tipe penyerangan ini, cryptanalyst mengancam, memeras, atau
bahkan memaksa seseorang hingga mereka memberikan kuncinya.
6. JENIS PENYERANGAN PADA JALUR KOMUNIKASI
Sniffing: secara harafiah berarti mengendus, tentunya dalam hal ini yang diendus adalah pesan (baik
yang belum ataupun sudah dienkripsi) dalam suatu saluran komunikasi. Hal ini umum terjadi pada
saluran publik yang tidak aman. Sang pengendus dapat merekam pembicaraan yang terjadi.
Replay attack [DHMM 96]: Jika seseorang bisa merekam pesan‐pesanhandshake (persiapan
komunikasi), ia mungkin dapat mengulang pesan‐pesan yang telah direkamnya untuk menipu salah
satu pihak.
Spoofing [DHMM 96]: Penyerang – misalnya Maman – bisa menyamar menjadi Anto. Semua orang
dibuat percaya bahwa Maman adalah Anto. Penyerang berusaha meyakinkan pihak‐pihak lain bahwa
tak ada salah dengan komunikasi yang dilakukan, padahal komunikasi itu dilakukan dengan sang
penipu/penyerang. Contohnya jika orang memasukkan PIN ke dalam mesin ATM palsu – yang benar‐
benar dibuat seperti ATM asli – tentu sang penipu bisa mendapatkan PIN‐nya dan copy pita
magentik kartu ATM milik sang nasabah. Pihak bank tidak tahu bahwa telah terjadi kejahatan.
Man‐in‐the‐middle [Schn 96]: Jika spoofing terkadang hanya menipu satu pihak, maka dalam
skenario ini, saat Anto hendak berkomunikasi dengan Badu, Maman di mata Anto seolah‐olah adalah
Badu, dan Maman dapat pula menipu Badu sehingga Maman seolah‐olah adalah Anto. Maman
dapat berkuasa penuh atas jalur komunikas ini, dan bisa membuat berita fitnah.
METODE CRYPTOGRAFI
1. METODE KUNO
a. 475 S.M. bangsa Sparta, suatu bangsa militer pada jaman Yunani kuno, menggunakan teknik
kriptografi yang disebut scytale, untuk kepentingan perang. Scytale terbuat dari tongkat dengan
papyrus yang mengelilinginya secara spiral.
Kunci dari scytale adalah diameter tongkat yang digunakan oleh pengirim harus sama
dengan diameter tongkat yang dimiliki oleh penerima pesan, sehingga pesan yang
disembunyikan dalam papyrus dapat dibaca dan dimengerti oleh penerima.
b. Julius Caesar, seorang kaisar terkenal Romawi yang menaklukkan banyak bangsa di Eropa dan
Timur Tengah juga menggunakan suatu teknik kriptografi yang sekarang disebut Caesar cipher untuk
berkorespondensi sekitar tahun 60 S.M. Teknik yang digunakan oleh Sang Caesar adalah
mensubstitusikan alfabet secara beraturan, yaitu oleh alfabet ketiga yang mengikutinya, misalnya,
alfabet ‘’A" digantikan oleh "D", "B" oleh "E", dan seterusnya. Sebagai contoh, suatu pesan berikut :
Gambar 2. Caesar Cipher
Dengan aturan yang dibuat oleh Julius Caesar tersebut, pesan sebenarnya adalah "Penjarakan
panglima divisi ke tujuh segera".
2. TEKNIK DASAR KRIPTOGRAFI
a. Substitusi
Salah satu contoh teknik ini adalah Caesar cipher yang telah dicontohkan diatas. Langkah pertama
adalah membuat suatu tabel substitusi. Tabel substitusi dapat dibuat sesuka hati, dengan catatan
bahwa penerima pesan memiliki tabel yang sama untuk keperluan dekripsi. Bila tabel substitusi
dibuat secara acak, akan semakin sulit pemecahan ciphertext oleh orang yang tidak berhak.
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‐1‐2‐3‐4‐5‐6‐7‐8‐9‐0‐.‐,
B‐F‐1‐K‐Q‐G‐A‐T‐P‐J‐6‐H‐Y‐D‐2‐X‐5‐M‐V‐7‐C‐8‐4‐I‐9‐N‐R‐E‐U‐3‐L‐S‐W‐,‐.‐O‐Z‐0
Gambar 3. Tabel Substitusi
Tabel substitusi diatas dibuat secara acak. Dengan menggunakan tabel tersebut, dari plaintext "5
teknik dasar kriptografi" dihasilkan ciphertext "L 7Q6DP6 KBVBM 6MPX72AMBGP". Dengan
menggunakan tabel substitusi yang sama secara dengan arah yang terbalik (reverse), plaintext dapat
diperoleh kembali dari ciphertext‐nya.
b. Blocking
Sistem enkripsi terkadang membagi plaintext menjadi blok‐blok yang terdiri dari beberapa karakter
yang kemudian dienkripsikan secara independen. Plaintext yang dienkripsikan dengan menggunakan
teknik blocking adalah :
BLOK 1
BLOK 2
BLOK 3 BLOK 4 BLOK 5 BLOK 6
BLOK 7
Gambar 4. Enkripsi dengan Blocking
Dengan menggunakan enkripsi blocking dipilih jumlah lajur dan kolom untuk penulisan pesan.
Jumlah lajur atau kolom menjadi kunci bagi kriptografi dengan teknik ini. 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. Jadi ciphertext yang dihasilkan dengan teknik ini adalah "5K G KRTDRAEAIFKSPINAT IRO".
Plaintext dapat pula ditulis secara horizontal dan ciphertextnya adalah hasil pembacaan secara
vertikal.
c. 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. Sebelum dilakukan permutasi, umumnya plaintext terlebih dahulu dibagi
menjadi blok‐blok dengan panjang yang sama.
Untuk contoh diatas, plaintext akan dibagi menjadi blok-blok yang terdiri dari 6 karakter,
dengan aturan permutasi sebagai berikut :
Gambar 5. Permutasi
Dengan menggunakan aturan diatas, maka proses enkripsi dengan permutasi dari plaintext adalah
sebagai berikut :
Gambar 6. Proses Enkripsi dengan Permutasi
Ciphertext yang dihasilkan dengan teknik permutasi ini adalah "N ETK5 SKD AIIRK RAATGORP FI".
d. 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". Bila suatu kata dimulai dengan huruf vokal atau bilangan genap, ditambahkan akhiran "i".
Proses enkripsi dengan cara ekspansi terhadap plaintext terjadi sebagai berikut :
Gambar 7. Enkripsi dengan Ekspansi
e. Pemampatan (Compaction)
Mengurangi panjang pesan atau jumlah bloknya adalah 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 digunakan "&". Proses yang
terjadi untuk plaintext kita adalah :
Gambar 8. Enkripsi dengan Pemampatan
Aturan penghilangan karakter dan karakter khusus yang berfungsi sebagai pemisah menjadi
dasar untuk proses dekripsi ciphertext menjadi plaintext kembali.
Dengan menggunakan kelima teknik dasar kriptografi diatas, dapat diciptakan kombinasi teknik
kriptografi yang amat banyak, dengan faktor yang membatasi semata‐mata hanyalah kreativitas dan
imajinasi kita. Walaupun sekilas terlihat sederhana, kombinasi teknik dasar kriptografi dapat
menghasilkan teknik kriptografi turunan yang cukup kompleks, dan beberapa teknik dasar kriptografi
masih digunakan dalam teknik kriptografi modern.
1. Data Encryption Standard (DES)
standar bagi USA Government
didukung ANSI dan IETF
popular untuk metode secret key
terdiri dari : 40‐bit, 56‐bit dan 3x56‐bit (Triple DES)
2. Advanced Encryption Standard (AES)
untuk menggantikan DES (launching akhir 2001)
menggunakan variable length block chipper
key length : 128‐bit, 192‐bit, 256‐bit
dapat diterapkan untuk smart card.
3. Digital Certificate Server (DCS)
verifikasi untuk digital signature
autentikasi user
menggunakan public dan private key
contoh : Netscape Certificate Server
4. IP Security (IPSec)
enkripsi public/private key
dirancang oleh CISCO System
menggunakan DES 40‐bit dan authentication
built‐in pada produk CISCO
solusi tepat untuk Virtual Private Network (VPN) dan Remote Network Access
5. Kerberos
solusi untuk user authentication
dapat menangani multiple platform/system
free charge (open source)
IBM menyediakan versi komersial : Global Sign On (GSO)
6. Point to point Tunneling Protocol(PPTP), Layer Two Tunneling Protocol (L2TP)
dirancang oleh Microsoft
autentication berdasarkan PPP(Point to point protocol)
enkripsi berdasarkan algoritm Microsoft (tidak terbuka)
terintegrasi dengan NOS Microsoft (NT, 2000, XP)
7. Remote Access Dial‐in User Service (RADIUS)
multiple remote access device menggunakan 1 database untuk authentication
didukung oleh 3com, CISCO, Ascend
tidak menggunakan encryption
8. RSA Encryption
dirancang oleh Rivest, Shamir, Adleman tahun 1977
standar de facto dalam enkripsi public/private key
didukung oleh Microsoft, apple, novell, sun, lotus
mendukung proses authentication
multi platform
9. Secure Hash Algoritm (SHA)
dirancang oleh National Institute of Standard and Technology (NIST) USA.
bagian dari standar DSS(Decision Support System) USA dan bekerja sama dengan DES untuk digital
signature.
SHA‐1 menyediakan 160‐bit message digest
Versi : SHA‐256, SHA‐384, SHA‐512 (terintegrasi dengan AES)
10. MD5
dirancang oleh Prof. Robert Rivest (RSA, MIT) tahun 1991
menghasilkan 128‐bit digest.
cepat tapi kurang aman
11. Secure Shell (SSH)
digunakan untuk client side authentication antara 2 sistem
mendukung UNIX, windows, OS/2
melindungi telnet dan ftp (file transfer protocol)
12. Secure Socket Layer (SSL)
dirancang oleh Netscape
menyediakan enkripsi RSA pada layes session dari model OSI.
independen terhadap servise yang digunakan.
melindungi system secure web e‐commerce
metode public/private key dan dapat melakukan authentication
terintegrasi dalam produk browser dan web server Netscape.
13. Security Token
aplikasi penyimpanan password dan data user di smart card
14. Simple Key Management for Internet Protocol
seperti SSL bekerja pada level session model OSI.
menghasilkan key yang static, mudah bobol.
APLIKASI ENKRIPSI
Beberapa aplikasi yang memerlukan enkripsi untuk pengamanan data atau komunikasi diantaranya
adalah :
a. Jasa telekomunikasi
Enkripsi untuk mengamankan informasi konfidensial baik berupa suara, data, maupun gambar yang
akan dikirimkan ke lawan bicaranya.
Enkripsi pada transfer data untuk keperluan manajemen jaringan dan transfer on‐line data billing.
Enkripsi untuk menjaga copyright dari informasi yang diberikan.
b. Militer dan pemerintahan
Enkripsi diantaranya digunakan dalam pengiriman pesan.
Menyimpan data‐data rahasia militer dan kenegaraan dalam media penyimpanannya selalu dalam
keaadan terenkripsi.
c. Data Perbankan
Informasi transfer uang antar bank harus selalu dalam keadaan terenkripsi
d. Data konfidensial perusahaan
Rencana strategis, formula‐formula produk, database pelanggan/karyawan dan database
operasional
pusat penyimpanan data perusahaan dapat diakses secara on‐line.
Teknik enkripsi juga harus diterapkan untuk data konfidensial untuk melindungi data dari
pembacaan maupun perubahan secara tidak sah.
e. Pengamanan electronic mail
Mengamankan pada saat ditransmisikan maupun dalam media penyimpanan.
Aplikasi enkripsi telah dibuat khusus untuk mengamankan e‐mail, diantaranya PEM (Privacy
Enhanced Mail) dan PGP (Pretty Good Privacy), keduanya berbasis DES dan RSA.
f. Kartu Plastik
Enkripsi pada SIM Card, kartu telepon umum, kartu langganan TV kabel, kartu kontrol akses ruangan
dan komputer, kartu kredit, kartu ATM, kartu pemeriksaan medis, dll
Enkripsi teknologi penyimpanan data secara magnetic, optik, maupun chip.
Algoritma kriptografi dibagi menjadi tiga bagian berdasarkan kunci yang dipakainya :
1. Algoritma Simetri
Algoritma ini sering disebut dengan algoritma klasik karena memakai kunci yang sama untuk kegiatan
enkripsi maupun dekripsi. Algoritma ini sudah ada sejak lebih dari 4000 tahun yang lalu. Bila mengirim pesan
dengan menggunakan algoritma ini, si penerima pesan harus diberitahu kunci dari pesan tersebut agar bisa
mendekripsikan pesan yang terkirim. 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 dekripsi terhadap pesan. Algoritma yang memakai kunci simetri di antaranya adalah :
1. Data Encryption Standard (DES),
2. RC2, RC4, RC5, RC 6,
3. International Data Encryption Algorithm (IDEA),
4. Advanced Encryption Standard (AES),
5. On Time Pad (OTP),
6. A5, dan lain sebagainya.
2. Algoritma Asimetri
Algoritma asimetri sering juga disebut dengan algoritma kunci public, dengan arti kata kunci yang digunakan
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 satu sama lain. Dengan kunci public orang dapat mengenkripsi pesan
tetapi tidak bisa mendekripsikannya. Hanya orang yang memiliki kunci rahasia yang dapat mendekripsikan
pesan tersebut. Algoritma asimetri bisa mengirimkan pesan dengan lebih aman daripada algoritma simetri.
Algoritma yang memakai kunci public di antaranya adalah :
1. Digital Signature Algorithm (DSA),
2. RSA,
3. Diffle‐Hellman (DH),
4. Elliptic Curve Cryptography (ECC),
5. Kriptografi Quantum, dan lain sebagainya.
3. Fungsi Hash
Fungsi Hash sering disebut dengan funsi satu arah (one‐way function), message digest,fingerprint, fungsi
kompresi dan message authentication code (MAC), 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 suatu
tanda bahwa pesan tersebut benar‐benar berasal dari orang‐orang yang diinginkan.
Kriptografi Klasik
Kriptografi klasik merupakan suatu 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 :
1. Teknik subtitusi, penggantian setiap karakter teks‐asli dengan karakter lain.
2. Teknik transposisi (permutasi), dilakukan dengan menggunakan permutasi karakter. (Dony Arius, 2008)
Salah satu teknik enkripsi menggunakan kunci simetri adalah teknik subtitusi, yaitu mengganti setiap
karakter Plaintext dengan karakter lain. Terdapat empat cara dalam menggunakan teknik subtitusi, yaitu :
1. Monoalphabet, dimana setiap karakter Ciphertext mengganti satu macam karakterPlaintext tertentu.
2. Polialphabet, dimana setiap karakter Ciphertext mengganti lebih dari satu macam karakter Plaintext.
3. Monograf/unilateral, dimana satu enkripsi dilakukan terhadap satu karakter Plaintext.
4. Poligraf/multilateral, dimana satu enkripsi dilakukan terhadap lebih dari satu karakterPlaintext. (Alferd J.
Menezes, 1996)
Kriptografi Modern
Kriptografi modern merupakan suatu algoritma yang digunakan pada saat sekarang ini, yang mana
kriptografi modern mempunyai kerumitan yang sangat komplek, karena dalam pengoperasiannya
menggunakan komputer. (Doni Ariyus, 2006)
Berkenalan dengan Algoritma Kriptografi Klasik: Vigènere Cipher
[1x01‐072012]‐Berkenalan dengan Algoritma Kriptografi Klasik: Vigènere Cipher
Kode vigènere termasuk kode abjad‐majemuk (polyalphabetic substitution cipher). Dipublikasikan
oleh diplomat (sekaligus seorang kriptologis) Perancis, Blaise de Vigènere pada abad 16, tahun 1586.
Sebenarnya Giovan Batista Belaso telah menggambarkannya untuk pertama kali pada tahun 1533
seperti ditulis di dalam buku La Cifra del Sig. Algoritma ini baru dikenal luas 200 tahun kemudian dan
dinamakan kode vigènere. Vigènere merupakan pemicu perang sipil di Amerika dan
kode vigènere digunakan oleh Tentara Konfederasi (Confederate Army) pada perang sipil Amerika
(American Civil War). Kode vigènere berhasil dipecahkan oleh Babbage dan Kasiski pada pertengahan
abad 19. (Ariyus, 2008).
Algoritma enkripsi jenis ini sangat dikenal karena mudah dipahami dan diimplementasikan. Teknik
untuk menghasilkanciphertext bisa dilakukan menggunakan substitusi angka maupun
bujursangkar vigènere. Teknik susbtitusi vigènere dengan menggunakan angka dilakukan dengan
menukarkan huruf dengan angka, hampir sama dengan kode geser. Contoh:
Gambar 1 Contoh Tabel Substitusi Algoritma Kriptografi Vigenere Cipher
Plaintext: PLAINTEXT
Kunci: CIPHER
Gambar 2 Contoh Tabel Kriptografi dengan Algoritma Vigenere Cipher
Dengan metode pertukaran angka dengan huruf di atas, diperoleh bahwa teks asli (PLAINTEXT)
memiliki kode angka (15,11, 0, 8, 13, 19, 4, 23, 19), sedangkan kode angka untuk teks kunci (CIPHER)
yaitu (2, 8, 15, 7, 4, 17). Setelah dilakukan perhitungan, maka dihasilkan kode angka ciphertext (17,
19, 15, 15, 17, 10, 6, 5, 8). Jika diterjemahkan kembali menjadi huruf sesuai urutan awal, maka
menjadi huruf RTPPRKGFI.
Sedangkan metode lain untuk melakukan proses enkripsi dengan metode vigènere cipher yaitu
menggunakan tabula recta (disebut juga bujursangkar vigènere).
Gambar 3 Contoh Tabula Recta Algoritma Kriptografi Vigenere Cipher
Kolom paling kiri dari bujursangkar menyatakan huruf‐huruf kunci, sedangkan baris paling atas
menyatakan huruf‐huruf plaintext. Setiap baris di dalam bujursangkar menyatakan huruf‐
huruf ciphertert yang diperoleh dengan Caesar cipher, yang mana jumlah pergeseran
huruf plaintext ditentukan nilai numerik huruf kunci tersebut (yaitu, a=0, b=1, c=2, …, z=25). Sebagai
contoh, huruf kunci c (=2) menyatakan huruf‐huruf plaintext digeser sejauh 2 huruf ke kanan (dari
susunan alfabetnya), sehingga huruf‐huruf ciphertext pada baris c adalah:
Gambar 4 Potongan Tabula Recta Baris ke‐C
Bujursangkar vigènere digunakan untuk memperoleh ciphertert dengan menggunakan kunci yang
sudah ditentukan. Jika panjang kunci lebih pendek daripada panjang plaintext, maka kunci diulang
penggunaannya (sistem periodik). Bila panjang kunci adalah m, maka periodenya
dikatakan m. Sebagai contoh, jika plaintext adalah THIS PLAINTEXT dan kunci adalah sony, maka
penggunaan kunci secara periodik sebagai berikut:
Plaintext : THIS PLAINTEXT
Kunci : sony sonysonys
Untuk mendapatkan ciphertext dari teks dan kunci di atas, untuk huruf plaintext pertama T, ditarik
garis vertikal dari huruf T dan ditarik garis mendatar dari huruf s, perpotongannya adalah pada kotak
yang berisi huruf L. Dengan cara yang sama, ditarik garis vertikal dari huruf H dan ditarik garis
mendatar pada huruf o, perpotongannya adalah pada kotak yang juga berisi berisi huruf V. hasil
enkripsi seluruhnya adalah sebagai berikut:
Plaintext : THIS PLAINTEXT
Kunci : sony sonysonys
Ciphertext : LVVQ HZNGFHRVL
Variasi‐variasi vigènere cipher pada dasarnya perbedaannya terletak pada cara membentuk tabel
atau cara menghasilkan kuncinya, sedangkan enkripsi dan dekripsi tidak berbeda dengan vigènere
cipher standar. Beberapa variasi tersebut sebagai berikut:
1. Full Vigènere Cipher
Pada varian ini, setiap baris di dalam tabel tidak menyatakan pergeseran huruf, tetapi merupakan
permutasi huruf‐huruf alfabet. Misalnya, pada baris a susunan huruf‐huruf alfabet adalah acak
seperti di bawah ini:
Gambar 5 Contoh Potongan Tabula Recta Full Vigenere Cipher
2. Auto‐Key Vigènere cipher
Idealnya kunci tidak digunakan secara berulang. Pada auto‐key vigènere cipher, jika panjang kunci
lebih kecil dari panjang plaintext, maka kunci disambung dengan plaintext tersebut. Misalnya, untuk
mengenkripsi pesanNEGARA PENGHASIL MINYAK dengan kunci INDO, maka kunci tersebut
disambung dengan plaintextsemula sehingga panjang kunci menjadi sama dengan panjang plaintext:
Plaintext: NEGARA PENGHASIL MINYAK
Kunci: INDONE GARAPENGH ASILMI
3. Running‐Key Vigènere cipher
Pada varian ini, kunci bukan string pendek yang diulang secara periodik seperti pada vigènere
cipher standar, tetapi kunci adalah string yang sangat panjang yang diambil dari teks bermakna
(misalnya naskah proklamasi, naskah Pembukaan UUD 1945, terjemahan ayat di dalam kitab suci,
dan lain‐lain). Misalnya untuk mengenkripsiplaintext NEGARA PENGHASIL MINYAK dapat
menggunakan kunci berupa sila ke‐2 Pancasila:KEMANUSIAAN YANG ADIL DAN BERADAB.
Selanjutnya enkripsi dan dekripsi dilakukan seperti biasa. (Munir, 2006)
KESIMPULAN MATERI
1. Keamanan System
Definisi :
Keamanan sistem adalah adalah pencegahan dari kemungkinan adanya virus, hacker, cracker dan
lain‐lain.
Masalah keamanan sistem ada 2 masalah utama yaitu :
1. Threats (Ancaman) atas sistem dan
2. Vulnerability (Kelemahan) atas sistem
Masalah tersebut pada gilirannya berdampak kepada 6 hal yang utama dalam sistem informasi yaitu
:
• Efektifitas
• Efisiensi
• Kerahaasiaan
• Integritas
• Keberadaan (availability)
• Kepatuhan (compliance)
• Keandalan (reliability)
. Ancaman dari kegiatan pengolahan informasi, berasal dari 3 hal, yaitu :
1. Ancaman Alam
2. Ancaman Manusia
3. Ancaman Lingkungan
Kesimpulan Keamanan System
Keamana System pada dasarnya meliputi keamanan jaringan, perngkat lunak, kamanan fisik,
kebijaksanaan keamanan, etika dan maysarakat. Dan keamanan dalam komputer, leptop kita terjaga
dengan baik.
2. kriptografi
Kriptografi, secara umum adalah ilmu dan seni untuk menjaga kerahasiaan berita [bruce Schneier ‐
Applied Cryptography]. Selain pengertian tersebut terdapat pula pengertian ilmu yang mempelajari
teknik‐teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan
data,keabsahan data, integritas data, serta autentikasi data [A. Menezes, P. van Oorschot and S.
Vanstone ‐ Handbook of Applied Cryptography]. Tidak semua aspek keamanan informasi ditangani
oleh kriptografi.
Kesimpulan Kriptografi,
Kriptografi digunakan untuk mencegah oknum‐oknum jahat yang ingin memasuki komunikasi
dengan maksud merusk. Selain itu Kriptografi dapat digunakan untuk mengirim dan menerima
pesan.
Mudah‐mudahan Mahasiswa dapat memahami konsep dasar kriptografi, mampu menjelaskan
karakteristik dan mekanisme kerja dari cryptosystem serta dapat memilih cryptosystem yang baik
dan tepat untuk pengamanan data dan informasi di bidang bisnis, pemerintahan, atau bidang
lainnya yang membutuhkan kerahasiaan pada data dan informasi.
KESIMPULAN MATERI ENKRIPSI DAN DESKRIPSI
Enkripsi
Di bidang kriptografi, enkripsi ialah proses mengamankan suatu informasi dengan membuat
informasi tersebut tidak dapat dibaca tanpa bantuan pengetahuan khusus. Dikarenakan enkripsi
telah digunakan untuk mengamankan komunikasi di berbagai negara, hanya organisasi‐organisasi
tertentu dan individu yang memiliki kepentingan yang sangat mendesak akan kerahasiaan yang
menggunakan enkripsi. Di pertengahan tahun 1970‐an, enkripsi kuat dimanfaatkan untuk
pengamanan oleh sekretariat agen pemerintah amerika serikat pada domain publik, dan saat ini
enkripsi telah digunakan pada sistem secara luas, seperti Internet e‐commerce, jaringan telepon
bergerak dan ATM pada bank.
Kelebihan dari Enkripsi
• Kerahasiaan suatu informasi terjamin
• Menyediakan autentikasi dan perlindungan integritas pada algoritma checksum/hash
• Menanggulangi penyadapan telepon dan email
• Untuk digital signature
Kekurangan dari Enkripsi
• Penyandian rencana teroris
• Penyembunyian record kriminal oleh seorang penjahat
• Pesan tidak bisa dibaca bila penerima pesan lupa atau kehilangan kunci
Jadi kesimpulan dari Enkripsi adalah upaya untuk mengamankan data/informasi, meskipun bukan
merupakan satu‐satunya cara untuk mengamankan data/informasi. Adapun tujuan dari enkripsi
adalah sebagai berikut:
1. Kerahasiaan :Yaitu untuk menjaga isi dari informasi dari siapapun kecuali yang memiliki otoritas
atau kunci rahasia untuk membuka informasi yang telah dienkripsi.
2. Integritas data : Untuk menjaga keaslian/keutuhan data, sistem harus memiliki kemampuan untuk
mendeteksi manipulasi data oleh pihak‐pihak yang tidak berhak, antara lain penyisipan,
penghapusan, dan pensubsitusian data lain kedalam data yang sebenarnya.
3. Autentikasi : Ini berhubungan dengan identifikasi/pengenalan, baik secara kesatuan sistem
maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan
diri. Informasi yang dikirimkan melalui kanal harus diautentikasi keaslian, isi datanya, waktu
pengiriman, dan lain‐lain.
4. Non‐repudiasi/Nirpenyangkalan : Adalah usaha untuk mencegah terjadinya penyangkalan
terhadap pengiriman/terciptanya suatu informasi oleh yang mengirimkan/membuat. Cara kerja dari
algoritma ini adalah dengan menggantikan setiap karakter dari plaintext dengan karakter lain.
Deskripsi
Deskripsi adalah upaya pengolahan data menjadi sesuatu yang dapat diutarakan secara jelas dan
tepat dengan tujuan agar dapat dimengerti oleh orang yang tidak langsung mengalaminya sendiri [1]
Dalam keilmuan, deskripsi diperlukan agar peneliti tidak melupakan pengalamannya dan agar
pengalaman tersebut dapat dibandingkan dengan pengalaman peneliti lain, sehingga mudah untuk
dilakukan pemeriksaan dan kontrol terhadap deskripsi tersebut. Pada umumnya deskripsi
menegaskan sesuatu, seperti apa sesuatu itu kelihatannya, bagaimana bunyinya, bagaimana
rasanya, dan sebagainya. Deskripsi yang detail diciptakan dan dipakai dalam disiplin ilmu sebagai
istilah teknik.
3. Operatyng System/Keamanan sistem operasi
a. linux
Komponen Arsitektur Keamanan Linux :
1. Account Pemakai (user account)
Keuntungan :
• Kekuasaan dalam satu account yaitu root, sehingga mudah dalam administrasi system.
• Kecerobohan salah satu user tidak berpengaruh kepada system secara keseluruhan.
• Masing‐masing user memiliki privacy yang ketat
2. Kontrol Akses secara Diskresi (Discretionary Access control)
Discretionary Access control (DAC) adalah metode pembatasan yang ketat, yang meliputi :
• Setiap account memiliki username dan password sendiri.
• Setiap file/device memiliki atribut(read/write/execution) kepemilikan, group, dan user umum.
3. Kontrol akses jaringan (Network Access Control)
1. Firewall linux :
alat pengontrolan akses antar jaringan yang membuat linux dapat memilih host yang berhak / tidak
berhak mengaksesnya.
Fungsi Firewall linux :
• Analisa dan filtering paket
Memeriksa paket TCP, lalu diperlakukan dengan kondisi yang sudah ditentukan, contoh paket A
lakukan tindakan B.
• Blocking content dan protocol
Bloking isi paket seperti applet java, activeX, Vbscript, Cookies
• Autentikasi koneksi dan enkripsi
Menjalankan enkripsi dalam identitas user, integritas satu session dan melapisi data dengan
algoritma enkripsi seperti : DES, triple DES, Blowfish, IPSec, SHA, MD5, IDEA, dsb.
windows NT
Komponen Arsitektur Keamanan NT :
1. Adminisrasi User dan Group
Jenis Account User :
• Administrator
• Guest
• User
Jenis Account Gorup :
• Administrator
• Guest
• User
• Operator back‐up
• Power user
• Operator server
• Operator account
• Operator printer
2. Model Keamanan Windows NT
Dibuat dari beberapa komponen yang bekerja secara bersama‐sama untuk memberikan keamanan
logon dan access control list (ACL) dalam NT :
• LSA (Local security Authority) : menjamin user memiliki hak untuk mengakses system. Inti
keamanan yang menciptakan akses token, mengadministrasi kebijakan keamanan local dan
memberikan layanan otentikasi user.
• Proses logon : menerima permintaan logon dari user (logon interaktif dan logon remote), menanti
masukan username dan password yang benar. Dibantu oleh Netlogon service.
• Security Account Manager (SAM) : dikenal juga sebagai directory service database, yang
memelihara database untuk account user dan memberikan layan validasi untuk proses LSA.
• Security Reference Monitor (SRM) : memeriksa status izin user dalam mengakses, dan hak user
untuk memanipulasi obyek serta membuat pesan‐pesan audit.
4. Keamanan Sumber daya lokal
Obyek dalam NT [file, folder (directory), proses, thread, share dan device], masing‐masing akan
dilengkapi dengan Obyek Security Descriptor yang terdiri dari :
• Security ID Owner : menunjukkan user/grup yang memiliki obyek tersebut, yang memiliki
kekuasaan untuk mengubah akses permission terhadap obyek tersebut.
• Security ID group : digunakan oleh subsistem POSIX saja.
• Discretionary ACL (Access Control List) : identifikasi user dan grup yang diperbolehkan / ditolak
dalam mengakses, dikendalikan oleh pemilik obyek.
• System ACL : mengendalikan pesan auditing yang dibangkitkan oleh system, dikendalikan oleh
administrator keamanan jaringan.
Agar dapat merancang sendiri serta dapat memodifikasi sistem yang telah ada sesuai dengan
kebutuhan kita, agar dapat memilih alternatif sistem operasi, memaksimalkan penggunaan sistem
operasi dan agar konsep dan teknik sistem operasi dapat diterapkan pada aplikasi‐aplikasi lain.
Mudahan Mahasiswa dapat memahami kinerja komputer dengan semaksimal mungkin, sesuai
kebutuhan masing‐masing pengguna. Dapat melindungi dari pihak‐pihak yang dapat merugikan
4. Keamanan Jaringan Komputer
Keamanan jaringan komputer sendiri sering dipandang sebagai hasil dari beberapa faktor. Faktor ini
bervariasi tergantung pada bahan dasar, tetapi secara normal setidaknya beberapa hal dibawah ini
diikutsertakan :
Sebelum memahami berbagai macam ancaman keamanan jaringan, anda perlu memahami prinsip
keamanan itu sendiri.
1. Kerahasiaan (confidentiality), dimana object tidak di umbar atau dibocorkan kepada subject yang
tidak seharusnya berhak terhadap object tersebut, atau lazim disebut tidak authorize.
2. Integritas (Integrity), bahwa object tetap orisinil, tidak diragukan keasliannya, tidak dimodifikasi
dalam perjalanan nya dari sumber menuju penerimanya.
3. Ketersediaan (Availability), dimana user yang mempunyai hak akses atau authorized users diberi
akses tepat waktu dan tidak terkendala apapun
Keamanan klasik penting ini tidak cukup untuk mencakup semua aspek dari keamanan jaringan
komputer pada masa sekarang . Hal‐hal tersebut dapat dikombinasikan lagi oleh beberapa hal
penting lainnya yang dapat membuat keamanan jaringan komputer dapat ditingkatkan lagi dengan
mengikut sertakan hal dibawah ini:
• Nonrepudiation.
• Authenticity.
• Possession.
• Utility.
Pembatasan Jaringan ada 3 Hal :
• Pembatasan login
• Waktu=waktu tertentu
• Tingktat aksses yang didinginkan
Defenisi Pemakai
• Sesuatu yang diketahui pemkai
• Sesuatu yang dimiliki pemakai
• Mengenai suatu ciri pemakai
4 Proteksi
• Salting
• One Time
• Daftar pertanyaan dan jawaban
• Tantangan dan tanggapan
Dengan belajar keamanan jaringan setidaknya kita dapat mencegah data‐data kita dari pihak yang
dapat merugikan ( hacker ), dan belajar bagaimana menjaganya, serta memaksimalkan penggunaan
kemanan jaringan yang sudah dipelajari..
Referensi :
http://www.slideshare.net/kyucute/kriptografi‐42572702
http://yanuarkemal.blogspot.com/2013/10/kriptografi.html
Diffie, Whitfield, Martin E Hellman. 1976. New Directions in Cryptography. IEEE Trans.
Info. Theory IT‐22.
Prayudi, Yudi, Idham Halik. 2005. Studi Analisis Algoritma Rivest Code 6 (RC6) Dalam
Enkripsi/Dekripsi Data. Seminar Nasional Aplikasi Teknologi Informasi 2005 (SNATI 2005),
Yogyakarta.
Rizal, Ansar, Suharto. 2011. Implementasi Algoritma RC4 untuk Keamanan Login Pada
Sistem Pembayaran Uang Sekolah. Dielektrika, ISSN 2086‐9487 Vol. 2 No.2.
Sadikin, Rifki. 2012. Kriptografi untuk Keamanan Jaringan dan Implementasinya dalam
Bahasa Java. Penerbit Andi, Yogyakarta.
Wirdasari, Dian. 2008. Prinsip Kerja Kriptografi dalam Mengamankan Informasi, Jurnal
SAINTIKOM Vol.5 No.2.http://winpoin.com/winexplain‐apa‐itu‐enkripsi‐dan‐bagaimana‐
cara‐kerjanya/
MODUL PERKULIAHAN
Kriptografi
14
Ilmu Komputer Teknik Informatika Tim Dosen
Enkripsi simetris
Enkripsi simetris adalah teknik tua dan terkenal. Kunci rahasia, yang dapat berupa angka,
word atau rangkaian huruf acak, diterapkan untuk teks dari pesan untuk mengubah
konten dengan cara tertentu. Hal ini mungkin sederhana seperti pergeseran setiap huruf
jumlah tempat abjad. Selama pengirim dan Penerima tahu kunci rahasia, mereka dapat
mengenkripsi dan mendekripsi semua pesan yang menggunakan kunci ini.
Enkripsi asimetris
Masalah dengan kunci rahasia bertukar mereka melalui Internet atau jaringan besar
sementara mencegah mereka jatuh ke tangan yang salah. Siapa saja yang mengetahui
kunci rahasia dapat mendekripsi pesan. Satu jawaban adalah asimetris enkripsi, di mana
ada dua kunci terkait--pasangan utama. Kunci publik yang tersedia secara gratis bagi
siapa saja yang dapat mengirim pesan. Kunci kedua, pribadi disimpan rahasia, sehingga
hanya Anda tahu.
Pesan (teks, berkas biner, atau dokumen) yang dienkripsi dengan menggunakan kunci
publik hanya dapat didekripsi dengan menerapkan algoritma yang sama tetapi
menggunakan kunci privat cocok. Pesan yang dienkripsi dengan menggunakan kunci
privat hanya dapat didekripsi dengan menggunakan kunci publik yang cocok.
Ini berarti bahwa Anda tidak perlu khawatir melewati kunci publik Internet (kunci yang
seharusnya publik). Masalah dengan enkripsi asimetris, namun, adalah bahwa lebih
lambat daripada simetris enkripsi. Hal ini membutuhkan jauh lebih banyak daya
pemrosesan untuk mengenkripsi dan mendekripsi konten pesan.
Untuk menggunakan enkripsi asimetris, harus ada cara untuk menemukan kunci publik
lainnya. Teknik yang umum adalah dengan menggunakan sertifikat digital (juga dikenal
sebagai sertifikat). Sertifikat adalah paket informasi yang menunjukkan pengguna atau
server, dan berisi informasi seperti nama organisasi, organisasi yang dikeluarkan
sertifikat, alamat e-mail pengguna dan negara, dan pengguna kunci publik.
Ketika server dan klien memerlukan komunikasi terenkripsi yang aman, mereka
mengirimkan permintaan melalui jaringan pihak lain, yang akan mengirimkan kembali
salinan sertifikat. Kunci publik pihak lain dapat diambil dari sertifikat. Sertifikat yang
dapat digunakan untuk mengidentifikasi pemegang.
Aliran Enkripsi dan Deskripsi pada Kriptografi
Adapun tujuan dari kriptografi adalah antara lain :
Kerahasiaan : layanan yang digunakan untuk menjaga isi dari informasi dari siapapun
kecuali yang memiliki otoritas atau kunci rahasia untuk membuka maupun menghapus
informasi yang telah disandi.
Integritas data : berhubungan dengan penjagaan dari perubahan data secara tidak sah.
Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi
manipulasi data oleh pihak‐pihak yang tidak berhak, antara lain penyisipan, penghapusan
dan pensubstitusian data lain kedalam data yang sebenarnya.
Authentifikasi : berhubungan dengan identifikasi atau pengenalan, baik secara kesatuan
sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling
memperkenalkan diri. Dimana inforamsi yang dikirimkan melalui kanal harus
diauthentifikasi keaslian, isi datanya, waktu pengiriman dan lain‐lain.
Chiper merupakan teknologi untuk enkripsi dan deskripsi data. Dimana teknik kriptografi
untuk enkripsi data ada dua macam, antara lain :
1. Kriptografi Simetris
2. Kriptografi Asimetris
Kriptografi Simetris
Proses Enkripsi/deskripsi Algoritma Simetris
Kriptografi Asimetris
Kriptografi asimetris adalah algoritma yang menggunakan kunci yang berbeda untuk proses
enkripsi dan deskripsi. Dimana kunci enkripsi dapat disebarkan kepada umum dan
dinamakan sebagai kunci publik (public key), sedangkan kunci deskripsi disimpan untuk
digunakan sendiri dan dinamakan sebagai kunci pribadi (private key). Oleh karena itu,
kriptografi ini dikenal pula dengan nama kriptografi kunci publik (public key cryptography).
Adapun contoh algoritma yang menggunakan kunci asimetris adalah RSA (Riverst Shamir
Adleman) dan ECC (Elliptic Curve Cryptography). Adapun pada kriptografi asimetris, dimana
setiap pelaku sistem informasi akan memiliki sepasang kunci, yaitu kunci publik dan kunci
pribadi, dimana kunci publik di distribusikan kepada umum, sedangkan kunci pribadi
disimpan untuk diri sendiri. Artinya bila A ingin mengirimkan pesan kepada B, A dapat
menyandikan pesannya dengan menggunakan kunci publik B, dan bila B ingin membaca
surat tersebut, ia perlu mendeskripsikan surat itu dengan kunci privatnya. Dengan demikian
kedua belah pihak dapat menjamin asal surat serta keaslian surat tersebut.
Proses Enkripsi/Deskripsi Algoritma Asimetris
Sekian postingan saya kali ini, semoga artikel ini bisa berguna dan bermanfaat bagi kita
semua. Tunggu update‐update artikel terbaru diwaktu selanjutnya.
Kriptografi Hibrid(Hybrid Cryptography)
Selama pengguna hanya menyimpan data secara local di hard disk dan tidak
mengirimkannya, enkripsi simetris sudah cukup aman. Keunggulan metode ini adalah cara
kerjanya yang sangat cepat karena menggunakan algoritma matematis yang tidak rumit dan
panjang kunci yang lebih pendek. TrueCrypt, misalnya dapat mengenkripsi sekitar 175
MB/detik.
Metode simetris kurang tepat untuk mentransfer data. Karena untuk dapat menggunakan
datanya mitra komunikasi harus bertukar kunci yang dibuat secara acak untuk setiap sesi
(Session Key), sehingga apabila jika seorang hacker menemukan kunci ini maka dengan
mudah ia dapat men‐decrypt komunikasi tersebut.
Metode asimetris mengatasi masalah tersebut dengan membuat sepasang kunci. Pengirim
mengenkripsi data dengan sebuah Public Key yang didapat dari mitra komunikasinya. Hanya
Private Key yang memiliki penerima dapat men‐decrypt data. Dengan demikian, kunci untuk
decryption tidak jatuh ke orang lain. Sebaliknya publikasi Public Key tidak menjadi masalah
karena tidak dapat men‐decrypt data. Private Key juga tidak dapat diturunkan dari Public
Key, seperti halnya sebuah gembok yang digunakan untuk mengunci gerbang, tetapi tidak
dapat membukanya kembali.
Metode asimetris juga memiliki kelemahan. Karena lebih rumit, metode ini bekerja 1000 kali
lebih lambat dibandingkan metode simetris, sehingga tidak tepat untuk data dalam jumlah
besar. Dalam praktiknya, misalnya pada transfer data di Internet, lalu lintas e‐mail atau
online banking, digunakan metode hibrida. Metode Hibrida mengenkripsi data sebenarnya
secara simetris, tetapi kuncinya secara asimetris. Metode semacam ini mengkombinasikan
pertukaran kunci yang aman dan data encryption yang cepat.
Metode hibrida terdiri atas enkripsi simetris dengan satu kunci (Session Key) dan enkripsi
asimetris dengan sepasang kunci (Public/Private Key).
Langkah 1 : Pengirim mengenkripsi teks dengan Session Key.
Langkah 2 : Mengenkripsi Session Key dengan Public Key.
Langkah 3 : Penerima men‐decrypt Session Key dengan Private Key.
Langkah 4 : Men‐decrypt teks dengan Session Key.
Referensi :
http://www.slideshare.net/kyucute/kriptografi‐42572702
Diffie, Whitfield, Martin E Hellman. 1976. New Directions in Cryptography. IEEE Trans.
Info. Theory IT‐22.
Prayudi, Yudi, Idham Halik. 2005. Studi Analisis Algoritma Rivest Code 6 (RC6) Dalam
Enkripsi/Dekripsi Data. Seminar Nasional Aplikasi Teknologi Informasi 2005 (SNATI 2005),
Yogyakarta.
Rizal, Ansar, Suharto. 2011. Implementasi Algoritma RC4 untuk Keamanan Login Pada
Sistem Pembayaran Uang Sekolah. Dielektrika, ISSN 2086‐9487 Vol. 2 No.2.
Sadikin, Rifki. 2012. Kriptografi untuk Keamanan Jaringan dan Implementasinya dalam
Bahasa Java. Penerbit Andi, Yogyakarta.
Wirdasari, Dian. 2008. Prinsip Kerja Kriptografi dalam Mengamankan Informasi, Jurnal
SAINTIKOM Vol.5 No.2.
http://winpoin.com/winexplain‐apa‐itu‐enkripsi‐dan‐bagaimana‐cara‐kerjanya/
MODUL PERKULIAHAN
Kriptografi
15
Ilmu Komputer Teknik Informatika Tim Dosen
Apa Itu Digital Signature ?
Pada masa kini, internet sudah menjadi kebutuhan utama. Hampir semua orang
menggunakan internet dalam kehidupan mereka sehari‐hari, baik untuk keperluan
pendidikan, bisnis, hiburan, dan lain‐lain. Namun, seiring dengan pesatnya perkembangan
internet, masalah keamanan juga semakin kompleks.
Salah satu masalah keamanan tersebut adalah pencurian dan pemalsuan data. Data‐
data yang hilir mudik dalam internet dapat diambil dan diubah oleh orang yang tidak
bertanggung jawab. Salah satu cara untuk mencegahnya adalah dengan membuat suatu
tanda khusus yang memastikan bahwa data tersebut adalah data yang benar. Untuk itu
dapat digunakan salah satu teknologi keamanan jaringan yang disebut Digital Signature.
Digital Signature adalah salah satu teknologi yang digunakan untuk meningkatkan
keamanan jaringan. Digital Signature memiliki fungsi sebagai penanda pada data yang
memastikan bahwa data tersebut adalah data yang sebenarnya (tidak ada yang berubah).
Dengan begitu, Digital Signature dapat memenuhi setidaknya dua syarat keamanan jaringan,
yaitu Authenticity dan Nonrepudiation.
Cara kerja Digital Signature adalah dengan memanfaatkan dua buah kunci, yaitu kunci
publik dan kunci privat. Kunci publik digunakan untuk mengenkripsi data, sedangkan kunci
privat digunakan untuk mendekripsi data. Pertama, dokumen di‐hash dan menghasilkan
Message Digest. Kemudian, Message Digest dienkripsi oleh kunci publik menjadi Digital
Signature.
Untuk membuka Digital Signature tersebut diperlukan kunci privat. Bila data telah
diubah oleh pihak luar, maka Digital Signature juga ikut berubah sehingga kunci privat yang
ada tidak akan bisa membukanya. Ini merupakan salah satu syarat keaman jaringan, yaitu
Authenticity. Artinya adalah, keaslian data dapat terjamin dari perubahan‐perubahan yang
dilakukan pihak luar.
Dengan cara yang sama, pengirim data tidak dapat menyangkal data yang telah
dikirimkannya. Bila Digital Signature cocok dengan kunci privat yang dipegang oleh
penerima data, maka dapat dipastikan bahwa pengirim adalah pemegang kunci privat yang
sama. Ini berarti Digital Signature memenuhi salah satu syarat keamanan jaringan, yaitu
Nonrepudiation atau non‐penyangkalan.
Meskipun pesan seringkali dapat mencakup informasi tentang entitas mengirim pesan,
bahwa informasi mungkin tidak akurat. Tanda tangan digital dapat digunakan untuk
otentikasi sumber pesan. Ketika kepemilikan kunci rahasia tanda tangan digital terikat
kepada pengguna tertentu, tanda tangan yang sah menunjukkan bahwa pesan yang dikirim
oleh pengguna tersebut. Pentingnya kepercayaan yang tinggi dalam otentisitas pengirim ini
terutama jelas dalam konteks keuangan. Misalnya, kantor cabang bank mengirimkan
instruksi ke kantor pusat meminta perubahan saldo account. Apabila kantor pusat tidak
yakin bahwa pesan tersebut benar‐benar dikirim dari sumber resmi, bertindak atas
permintaan semacam itu bisa menjadi kesalahan besar.
Salah satu cara yang digunakan untuk memastikan surat tersebut adalah dengan
mengecek tanda tangan yang ada di dalam surat tersebut dan stempel yang menunjukkan
keaslian pengirim surat. Tanda tangan digital atau yang lebih dikenal dengan digital
signature mempunyai fungsi yang sama dengan tanda tangan analog yang ditulis di atas
kertas. Tanda tangan digital harus unik sehingga dapat membedakanpengirim yang satu
degan yang lainnya. Tanda tangan digital juga harus sulit untuk ditiru dan dipalsukan
sehingga integritas dan keabsahan pesan dapat terjaga. Dengan demikian diharapkan
pencatutan identitas ketika pesan atau email tersebut dikirim dapat dihindari. Tidak hanya
pencatutan Untuk keperluan yang penting ini, tersedia alat bantu yang dapat diperoleh
secara cumacuma, yakni Pretty Good Privacy (PGP) dan Gnu Privacy Guard atau GPG. Tentu
saja masih terdapat penyedia layanan tanda tangan digital lainnya, namun PGP dan GPG
lebih dikenal luas. GPG adalah produk Open Source yang dapat diperoleh secara gratis tanpa
harus membayar lisensi. Penggunaaan PGP di luar
Authenticity (Ensured)
Dengan memberikan digital signature pada data elektronik yang dikirimkan maka akan
dapat ditunjukkan darimana data elektronis tersebut sesungguhnya berasal. Integritas
pesan tersebut akan terjamin karena keberadaan dari Digital Certificate yang diperoleh atas
dasar aplikasi kepada Cerfication Authority oleh user/subscriber. digital certificate berisi
informasi mengenai pengguna yaitu identitas, kewenangan, kedudukan hokum serta status
dari user.
Digital certificate ini memiliki berbagai tingkatan/level yang menentukan berapa besar
kewenangan yang dimiliki oleh pengguna.
Integrity
Integritas/integrity yaitu jika seorang penerima pesan/data merasa yakin bahwa pesan/data
tersebut pernah dimodifikasi atau diubah selama proses pengiriman atau penyimpanan.
Penggunaan digital signature yang diaplikasikan pada pesan/data elektronik yang dikirimkan
dapat menjamin bahwa pesan/data elektronik tersebut tidak mengalami suatu perubahan
atau modifikasi oleh pihak yang tidak berwenang. Jaminan authenticity ini dapat dilihat dari
adanya hash function dalam sistem digital signature dimana penerima data (recipient) dapat
melakukan pembandingan hash value. Apabila hash value‐nya sama dan sesuai, maka data
tersebut benar‐benar otentik, tidak pernah terjadi suatu tindakan yang sifatnya merubah
(modify) dari data tersebut pada saat proses pengiriman, sehingga terjamin authenticity‐
nya. Sebaliknya apabila hash value‐nya berbeda, maka patut dicurigai dan langsung dapat
disimpulkan bahwa recipient menerima data yang telah dimodifikasi.
Non‐Repudiation (Tidak dapat disangkal keberadaannya)
Non repudiation timbul dari keberadaan digital signature yang menggunakan enkripsi
asimetris (asymmetric encryption) yang melibatkan keberadaan dari kunci prifat dan kunci
public. Pengirim pesan tidak dapat menyangkal bahwa ia telah mengirimkan suatu pesan
apabila ia sudah mengirimkan suatu pesan. Non repudiation adalah hal yang sangat penting
bagi e‐commerce apabila suatu transaksi dilakukan melalui suatu jaringan internet, kontrak
elektronik (electronic contracts), ataupun transaksi pembayaran.
Pesan yang telah dienkripsi dengan menggunakan kunci prifat maka ia hanya dapat
dibuka/dekripsi dengan menggunakan kunci publik dari pengirim.
Confidentiality
Pesan dalam bentuk data elektronik yang dikirimkan bersifat rahasia/confidential, sehingga
tidak semua orang dapat mengetahui isi data elektronik yang telah di‐sign dan dimasukkan
dalam digital envelope. Keberadaan digital envelope yang termasuk bagian yang integral
dari digital signature menyebabkan suatu pesan yang telah dienkripsi hanya dapat dibuka
oleh orang yang berhak. Tingkat kerahasiaan dari suatu pesan yang telah dienkripsi ini,
tergantung dari panjang kunci/key yang dipakai untuk melakukan enkripsi. Pada saat ini
stkitar panjang kunci yang digunakan adalah sebesar 128 bit.
Pengamanan data dalam e‐commerce dengan metode kriptografi melalui skema digital
signature tersebut secara teknis sudah dapat diterima dan diterapkan, namun apabila kita
bahas dari sudut pkitang ilmu hukum ternyata masih kurang mendapatkan perhatian.
Kurangnya perhatian dari ilmu hukum dapat dimengerti karena, khususnya diIndonesia,
penggunaan komputer sebagai alat komunikasi melalui jaringan internet baru dikenal
semenjak tahun 1994. Dengan demikian pengamanan jaringan internet dengan metode
digital signature di Indonesia tentu masih merupakan hal yang baru bagi kalangan pengguna
komputer.
Lembaga CA
Cara kerja sertifikat digital (PKI ‐Public Key Infrastructure dan CA –Certification Authority)
Penggunaan electronic messaging dan transaksi e‐commerce semakin meluas seiring dengan
kemajuan telekomunikasi dan teknologi informasi. Hal ini mendorong peningkatan
interkoneksi user dan penggunaan komunikasi secara digital, yang berarti semakin banyak
informasi yang dikirim secara elektronik, sehingga menjadi rentan terhadap
derangan eavesdropping dan modifikasi. Sistem kriptografi kunci public dan digital
signature memegang peranan penting dalam mengatasi serangan dengan
menyediakan end‐to‐end security yang dapat menjaga confidentiality, integrity,
nonrepudiation, authentication, access control, dan availability. Pada sistem kriptografi
kunci public konvensional, kunci publik disimpan dan dapat diakses oleh pihak
umum. Enemy/bad guy dapat berpura‐pura menyediakan kunci publik yang asli untuk
digunakan pihak lain yang memerlukan. Dengan berpura‐pura sebagai penyedia kunci publik
maka bad guy dapat mengakses informasi penting yang akan digunakan selama transaksi
yang menggunakan pengamanan sistem kunci publik.
PUBLIC KEY INFRASTRUCTURE
Masalah tersebut memerlukan solusi untuk melindungi confidentiality kunci privat dan
menjaga integritas kunci publik selama penyimpanan dan pendistribusian. Mekanisme ini
dilakukan dengan cara memberikan sertifikasi pada kunci public sehingga pengguna kunci
publik akan dapat meyakini kunci publik yang digunakan adalah kunci yang benar. Sertifikasi
diperoleh dari pihak yang bernama Certification Authorities(CAs). CA, pengguna aplikasi, dan
manajemen kunci publik membentuk suatu infrastruktur yang disebut Public Key
Infrastructure (PKI).
CARA KERJA PUBLIC KEY INFRASTRUCTURE
Salah satu bagian infrastruktur penting dari e‐business adalah Publik Key Infrastructure
dimana harus ada satu lembaga independen dan dipercaya (trust agent) sebagai
penyelenggara Public Key. Lembaga ini dikenal dengan lembaga Certification Authority (CA).
Dengan adanya lembaga ini maka order, kontrak elektronik dijamin keamanannya dan
secara teknis hampir tidak mungkin untuk diubah atau dipalsukan. Setiap order atau kontrak
yang dikirimkan dengan menggunakan kombinasi private key dan public key maka order
atau kontrak yang sudah sampai ke penerima baru bisa dibuka atau diketahui isinya setelah
public key diverifikasi oleh lembaga CA. Di bawah ini adalah diagram cara kerja lembaga CA.
Mengingat pentingnya lembaga CA untuk menjamin keamanan transaksi elektronik maka
pemerintah Indonesia dalam hal ini diwakili oleh Kementerian Kominfo perlu untuk segera
mendorong pengambil keputusan di pemerintah untuk membentuk lembaga ini. Dengan
mengingat perannya sebagai fasilitator maka Kominfo berperan untuk menyiapkan program
realisasi lembaga CA. Sedangkan dengan perannya sebagai regulator Kominfo perlu
menyiapkan peraturan atau tata cara penggunaan lembaga ini agar bisa digunakan secara
efektif, aman, dan akurat.
DIGITAL SIGNATURE
Digital Signature adalah suatu tanda (sekumpulan data) yang diattach ke pesan/dokumen
elektronik untuk mengindentifikasi apakah pesan/ dokumen tersebut mengalami perubahan
selama pengiriman. Cara membuat digital signature adalah sbb :
1. Membuat „message digest“ (lihat gambar di bawah) yang merupakan sekumpulan data
dalam jumlah yang kecil. Message digest dibuat dengan menggunakan algoritma hash
2. Message digest dienkripsi dengan menggunakan private key pengirim dan menjadi digiital
signature
3. Digital signature diattach ke pesan/ dokumen yang akan dikirim
4. Dengan menggunakan public key dari pengirim digital signature diubah menjadi message
digest
5. Dengan algoritma hash yang digunakan pengirim message digest dikembalikan menjadi
sekumpulan data
6. Membandingkan message digest yang dikirimkan dengan message digest yang dibuka
oleh pengirim. Jika sama maka message/dokumen tersebut adalah asli
Tujuan penggunaan dari digital signature yang paling utama adalah menjaga keaslian pesan/
dokumen elektronik yang dikirimkan melalui internet. Jika di Indonesia sudah ada lembaga
yang mengelola public key maka transaksi elektronik terutama B2B yang melibatkan
dokumen kontrak yang berlembar‐lembar bisa dilakukan pertukaran dalam bentuk
elektronik yang menggunakan digital signature agar keasliannya bisa dijamin.
LEMBAGA PEMBAYAR
Lembaga Layanan Pembayaran (e‐commerce payment service) menjadi sangat penting agar
transaksi jual beli termasuk pembayaran bisa dilakukan secara real‐time. Saat ini sudah
banyak lembaga pembayar transaksi elektronis yang sudah ada dan sebagian besar memiliki
jaringan global. Saat ini sudah ada beberapa lembaga pembayar di Indonesia yang sudah
siap untuk memberikan layanan pembayaran elektronis secara real time misalnya PT Arta
Jasa. Kendala saat ini adalah masih belum adanya aturan yang jelas bagaimana transaksi
elektronis bisa dilakukan secara aman bagi pembeli dan penjual.
Belum adanya lembaya pembayar transaksi elektronis saat ini di Indonesia paling tidak
menimbulkan dampak berikut antara lain :
1. Setiap pelaku e‐business di Indonesia yang akan menyelenggarakan transaksi online harus
menggunakan jasa dari luar negeri yang tentu saja akan menyebabkan penarikan modal ke
luar negeri
2. Biaya menjadi mahal dan akan dibebankan kepada pembeli sehingga menyebabkan harga
melalui penjualan online akan menjadi lebih tinggi dan opsi pembelian melalui internet
menjadi tidak menarik
3. Ketiadaan lembaga pembayar yang ekonomis dan tidak adanya pilihan membuat kondisi
perkembangan e‐commerce atau e‐business di indonesia menjadi sangat lambat
Di bawah ini adalah diagram proses pembayaran elektronis dengan menggunakan kartu
kredit
Sedangkan di bawah ini adalah diagram proses dibelakang layar (background processing)
yang dilakukan oleh lembaga pembayar dengan pihak‐pihak terkait misalnya acquiring bank,
isuer kartu kredit dan merchant bank. Proses ini merupakan proses yang kompleks yang
sarat teknologi dan aturan internasional sehingga perlu dipikirkan strategi bagaimana bisa
mengakusisi proses ini agar sedapat mungkin dilakukan di Indonesia.
Referensi :
http://www.slideshare.net/kyucute/kriptografi‐42572702
Diffie, Whitfield, Martin E Hellman. 1976. New Directions in Cryptography. IEEE Trans.
Info. Theory IT‐22.
Prayudi, Yudi, Idham Halik. 2005. Studi Analisis Algoritma Rivest Code 6 (RC6) Dalam
Enkripsi/Dekripsi Data. Seminar Nasional Aplikasi Teknologi Informasi 2005 (SNATI 2005),
Yogyakarta.
Rizal, Ansar, Suharto. 2011. Implementasi Algoritma RC4 untuk Keamanan Login Pada
Sistem Pembayaran Uang Sekolah. Dielektrika, ISSN 2086‐9487 Vol. 2 No.2.
Sadikin, Rifki. 2012. Kriptografi untuk Keamanan Jaringan dan Implementasinya dalam
Bahasa Java. Penerbit Andi, Yogyakarta.
Wirdasari, Dian. 2008. Prinsip Kerja Kriptografi dalam Mengamankan Informasi, Jurnal
SAINTIKOM Vol.5 No.2.http://winpoin.com/winexplain‐apa‐itu‐enkripsi‐dan‐bagaimana‐
cara‐kerjanya/