31
1 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi Kriptografi Data Encryption Standard (DES) Advanced Encryption Standard (AES) Digital Certificate Server (DCS) IP Security (IPSec) Kerberos Point to Point Tunneling Protocol (PPTP) dan Layer Two Tunneling Protocol (L2TP) Remote Access Dial-in User Service (RADIUS) RSA Encryption Secure Hash Algoritm (SHA) MD5 Secure Shell (SSH) Secure Socket Layer (SSL) Security Token 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 message-message 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. Data integrity (keutuhan data) yaitu layanan yang mampu mengenali/mendeteksi adanya manipulasi (penghapusan, pengubahan atau penambahan) data yang tidak sah (oleh pihak lain).

Jenis - Jenis Enkripsi · PDF filePlain Text Cipher Text Initial Round AddRoundKey Standard Round 1-ByteSub 2-ShiftRow 3-MixColumn 4-AddRoundKey Final Round ... Jenis - Jenis Enkripsi

Embed Size (px)

Citation preview

Page 1: Jenis - Jenis Enkripsi · PDF filePlain Text Cipher Text Initial Round AddRoundKey Standard Round 1-ByteSub 2-ShiftRow 3-MixColumn 4-AddRoundKey Final Round ... Jenis - Jenis Enkripsi

Jenis-Jenis Enkripsi 1 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi

� Kriptografi

� Data Encryption Standard (DES)

� Advanced Encryption Standard (AES)

� Digital Certificate Server (DCS)

� IP Security (IPSec)

� Kerberos

� Point to Point Tunneling Protocol (PPTP) dan Layer Two Tunneling Protocol

(L2TP)

� Remote Access Dial-in User Service (RADIUS)

� RSA Encryption

� Secure Hash Algoritm (SHA)

� MD5

� Secure Shell (SSH)

� Secure Socket Layer (SSL)

� Security Token

� 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 message-message

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.

• Data integrity (keutuhan data) yaitu layanan yang mampu

mengenali/mendeteksi adanya manipulasi (penghapusan, pengubahan atau

penambahan) data yang tidak sah (oleh pihak lain).

Page 2: Jenis - Jenis Enkripsi · PDF filePlain Text Cipher Text Initial Round AddRoundKey Standard Round 1-ByteSub 2-ShiftRow 3-MixColumn 4-AddRoundKey Final Round ... Jenis - Jenis Enkripsi

Jenis-Jenis Enkripsi 2 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi

• Authentication (keotentikan) yaitu layanan yang berhubungan dengan identifikasi. Baik

otentikasi pihak-pihak yang terlibat dalam pengiriman data maupun otentikasi keaslian

data/informasi.

• Non-repudiation (anti-penyangkalan) yaitu layanan yang dapat mencegah suatu pihak

untuk menyangkal aksi yang dilakukan sebelumnya (menyangkal bahwa pesan

tersebut berasal dirinya).

Berbeda dengan kriptografi klasik yang menitikberatkan kekuatan pada

kerahasiaan algoritma yang digunakan (yang artinya apabila algoritma yang digunakan

telah diketahui maka pesan sudah jelas "bocor" dan dapat diketahui isinya oleh siapa saja

yang mengetahui algoritma tersebut), kriptografi modern lebih menitikberatkan pada

kerahasiaan kunci yang digunakan pada algoritma tersebut (oleh pemakainya) sehingga

algoritma tersebut dapat saja disebarkan ke kalangan masyarakat tanpa takut kehilangan

kerahasiaan bagi para pemakainya. 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.

• Dekripsi (fungsi D) adalah kebalikan dari enkripsi yakni mengubah ciphertext menjadi

plaintext, sehingga berupa data awal/asli.

• 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 mengubah plaintext

menjadi ciphertext (dengan menggunakan kunci tertentu) sehingga isi informasi pada

pesan tersebut sukar dimengerti.

Diagram Proses Enkripsi dan Dekripsi

ciphertext plaintext plaintext

kunci dekripsi kunci enkripsi

enkripsi

dekripsi

Page 3: Jenis - Jenis Enkripsi · PDF filePlain Text Cipher Text Initial Round AddRoundKey Standard Round 1-ByteSub 2-ShiftRow 3-MixColumn 4-AddRoundKey Final Round ... Jenis - Jenis Enkripsi

Jenis-Jenis Enkripsi 3 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi

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.

Secara matematis, proses enkripsi merupakan pengoperasian fungsi E

(enkripsi) menggunakan e (kunci enkripsi) pada M (plaintext) sehingga dihasilkan C

(ciphertext), notasinya :

Ee(M) – C

Sedangkan untuk proses dekripsi, merupakan pengoperasian fungsi D

(dekripsi) menggunakan d (kunci dekripsi) pada C (ciphertext) sehingga dihasilkan M

(plaintext), notasinya :

Dd(C) = M

Sehingga dari dua hubungan diatas berlaku :

Dd(Ee(M)) = M

� Data Encryption Standard (DES)

Sejarah

� Algoritma DES dikembangkan di IBM dibawah kepemimpinan W.L. Tuchman

pada tahun 1972. Algoritma ini didasarkan pada algoritma LUCIFER yang

dibuat oleh Horst Feistel.

� Algoritma ini telah disetujui oleh National Bureau of Standard (NBS) setelah

penilaian kekuatannya oleh National Security Agency (NSA) Amerika Serikat.

Tinjauan Umum

� 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).

Page 4: Jenis - Jenis Enkripsi · PDF filePlain Text Cipher Text Initial Round AddRoundKey Standard Round 1-ByteSub 2-ShiftRow 3-MixColumn 4-AddRoundKey Final Round ... Jenis - Jenis Enkripsi

Jenis-Jenis Enkripsi 4 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi

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.

Skema Global Algoritma 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 matematis, satu putaran DES dinyatakan sebagai berikut.

Li = Ri – 1

Ri = Li – 1 ⊕ f(Ri – 1, Ki)

Gambar berikut memperlihatkan skema algoritma DES yang lebih rinci.

Page 5: Jenis - Jenis Enkripsi · PDF filePlain Text Cipher Text Initial Round AddRoundKey Standard Round 1-ByteSub 2-ShiftRow 3-MixColumn 4-AddRoundKey Final Round ... Jenis - Jenis Enkripsi

Jenis-Jenis Enkripsi 5 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi

Plainteks

IP

L0

R0

f

),( 1001 KRfLR ⊕=L1

= R0

K1

f

),( 2112 KRfLR ⊕=L2

= R1

K2

),( 15141415 KRfLR ⊕=L15

= R14

K16

),( 16151516 KRfLR ⊕= L16

= R15

IP-1

Cipherteks

f

Gambar Algoritma Enkripsi dengan DES

Page 6: Jenis - Jenis Enkripsi · PDF filePlain Text Cipher Text Initial Round AddRoundKey Standard Round 1-ByteSub 2-ShiftRow 3-MixColumn 4-AddRoundKey Final Round ... Jenis - Jenis Enkripsi

Jenis-Jenis Enkripsi 6 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi

• Catatlah bahwa satu putaran DES merupakan model jaringan Feistel (lihat

Gambar berikut).

1−iRLi - 1

f

iRLi

Ki

Gambar Jaringan Feistel untuk satu putaran DES

• Perlu dicatat dari Gambar Algoritma Enkripsi Dengan DES bahwa jika (L16,

R16) merupakan keluaran dari putaran ke-16, maka (R16, L16) merupakan pra-

cipherteks (pre-ciphertext) dari enciphering ini. Cipherteks yang sebenarnya

diperoleh dengan melakukan permutasi awal balikan, IP-1

, terhadap blok

pra-cipherteks.

� Advanced Encryption Standard (AES)

Pada Advanced Encryption Standard (AES), algoritma kriptogenik yang

digunakan adalah Algoritma Rijndael, yang menggunakan blok cipher simetris untuk

proses enkripsi dan dekripsi yang dapat memproses data input 128 bit dengan

menggunakan chiper key 128, 192 atau 256 bit.

Pada algoritma AES, data input atau Plaintext diproses melalui serangkaian

transformasi, disebut Chiper, yang terdiri dari transformasi SubBytes, ShiftRows,

MixColumns dan AddRoundKey, dengan menggunakan kunci kriptogenik rahasia

yaitu Cipher Key. Data yang dihasilkan cipher disebut Ciphertext dan akan diproses

untuk dikonversikan kembali menjadi plaintext melalui serangkaian transformasi,

disebut Inverse Cipher, yang terdiri dari tansformasi InvShiftRows, InvSubBytes,

AddRoundKey dan InvMixColumns, dengan menggunakan cipher key.

Page 7: Jenis - Jenis Enkripsi · PDF filePlain Text Cipher Text Initial Round AddRoundKey Standard Round 1-ByteSub 2-ShiftRow 3-MixColumn 4-AddRoundKey Final Round ... Jenis - Jenis Enkripsi

Jenis-Jenis Enkripsi 7 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi

A. Panjang Kunci dan Ukuran Blok Rijndael

Rijndael mendukung panjang kunci 128 bit sampai 256 bit dengan step 32

bit. Panjang kunci dan ukuran blok dapat dipilih secara independen. Karena AES

menetapkan bahwa ukuran blok harus 128 bit, dan panjang kunci harus 128,

192, dan 256 bit, maka dikenal AES-128, AES-192, AES-256. Setiap blok dienkripsi

dalam sejumlah putaran tertentu bergantung pada panjang kuncinya.

Tabel Jumlah Putaran Setiap Blok pada AES

Varian AES Panjang Kunci

(Nk words)

Ukuran Blok

(Nb words)

Jumlah Putaran

(Nr) AES-128 4 4 10

AES-192 6 4 12

AES-256 8 4 14

Catatan : 1 word = 32 bit

Secara de-fakto, hanya ada dua varian AES, yaitu AES-128 dan AES-256,

karena akan sangat jarang pengguna menggunakan kunci yang panjangnya 192

bit.

Karena AES mempunyai panjang kunci paling sedikit 128 bit, maka AES

tahan terhadap serangan exhaustive key search dengan teknologi saat ini.

Dengan panjang kunci 128-bit, maka terdapat 2128

≈ 3,4 x 1038

kemungkinan

kunci. Jika digunakan sebuah mesin dengan semilyar prosesor paralel, masing-

masing dapat menghitung sebuah kunci setiap satu pico detik, maka akan

dibutuhkan waktu 1010

tahun untuk mencoba seluruh kemungkinan kunci.

B. Algoritma Rijndael

Seperti pada DES, Rijndael menggunakan substitusi dan permutasi, dan

sejumlah putaran. Untuk setiap putarannya, Rijndael menggunakan kunci yang

berbeda. Kunci setiap putaran disebut round key. Tetapi tidak seperti DES yang

berorientasi bit, Rijndael beroperasi dalam orientasi byte sehingga

memungkinkan untuk implementasi algoritma yang efisien ke dalam software

dan hardware.

Garis besar algoritma Rijndael yang beroperasi blok 128-bit dengan kunci

128-bit adalah sebagai berikut.

Page 8: Jenis - Jenis Enkripsi · PDF filePlain Text Cipher Text Initial Round AddRoundKey Standard Round 1-ByteSub 2-ShiftRow 3-MixColumn 4-AddRoundKey Final Round ... Jenis - Jenis Enkripsi

Jenis-Jenis Enkripsi 8 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi

1. AddRoundKey : Melakukan XOR antara state awal (plainteks) dengan

cipher key. Tahap ini disebut juga initial round.

2. Putaran sebanyak Nr – 1 kali. Proses yang dilakukan pada setiap putaran

adalah :

a. ByteSub : Substitusi byte dengan menggunakan tabel substitusi

(S-box).

b. ShiftRow : Pergeseran baris-baris array state secara wrapping.

c. MixColumn : Mengacak data di masing-masing kolom array state.

d. AddRoundKey : Melakukan XOR antara state sekarang dengan round

key.

3. Final round : Proses untuk putaran terakhir :

a. ByteSub

b. ShiftRow

c. AddRoundKey

Diagram proses enkripsi AES dapat dilihat pada gambar berikut.

Plain Text

Cipher Text

Initial Round

AddRoundKey

Standard Round

1-ByteSub

2-ShiftRow

3-MixColumn

4-AddRoundKey

Final Round

1-ByteSub

2-ShiftRow

3-AddRoundKey

Nr – 1

Rounds

Cipher Key

Round Key Nn

Round Key Nr

n : putaran ke

Algoritma Rijndael mempunyai 3 parameter sebagai berikut.

1. Plainteks : Array yang berukuran 16 byte, yang berisi data masukan.

2. Cipherteks : Array yang berukuran 16 byte, yang berisi hasil enkripsi.

Page 9: Jenis - Jenis Enkripsi · PDF filePlain Text Cipher Text Initial Round AddRoundKey Standard Round 1-ByteSub 2-ShiftRow 3-MixColumn 4-AddRoundKey Final Round ... Jenis - Jenis Enkripsi

Jenis-Jenis Enkripsi 9 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi

3. Key : Array yang berukuran 16 byte, yang berisi kunci ciphering

(disebut juga cipher key).

Dengan 16 byte, maka baik blok data dan kunci yang berukuran 128-bit

dapat disimpan di dalam ketiga array tersebut (128 = 16 x 8).

Selama kalkulasi plainteks menjadi cipherteks, status sekarang dari data

disimpan di dalam array of byte dua dimensi, state, yang berukuran NROWS x

NCOLS. Elemen array state diacu sebagai S[r,c], dengan 0 ≤ r < 4 dan 0 ≤ c < Nc

(Nc adalah panjang blok dibagi 32). Pada AES, Nc = 128/32 = 4.

Tabel S-box yang digunakan dalam transformasi ByteSub() AES

Gambar Ilustrasi Transformasi ByteSub() AES

Gambar Ilustrasi Transformasi ShiftRow() AES

Page 10: Jenis - Jenis Enkripsi · PDF filePlain Text Cipher Text Initial Round AddRoundKey Standard Round 1-ByteSub 2-ShiftRow 3-MixColumn 4-AddRoundKey Final Round ... Jenis - Jenis Enkripsi

Jenis-Jenis Enkripsi 10 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi

Gambar Ilustrasi Transformasi MixColumn() AES

Gambar Ilustrasi Transformasi AddRoundKey() AES

C. Cipher Kebalikan (Inverse Cipher)

Cipher kebalikan merupakan algoritma kriptografi AES yang digunakan

untuk melakukan proses dekripsi cipherteks menjadi plainteksnya. Secara garis

besar, cipher kebalikan yang beroperasi blok 128-bit dengan kunci 128-bit

adalah sebagai berikut.

1. AddRoundKey : Melakukan XOR antara state awal (cipherteks) dengan cipher

key. Tahap ini disebut juga initial round.

2. Putaran sebanyak Nr – 1 kali. Proses yang dilakukan pada setiap putaran

adalah :

a. InvShiftRow : Pergeseran baris-baris array state secara wrapping.

b. InvByteSub : Substitusi byte dengan menggunakan tabel substitusi

kebalikan (inverse S-box). Tabel substitusi dapat dilihat

pada tabel 3.

c. AddRoundKey : Melakukan XOR antara state sekarang dengan round

key.

d. InvMixColumn : Mengacak data di masing-masing kolom array state.

3. Final round : proses untuk putaran terakhir :

a. InvShiftRow

b. InvByteSub

c. AddRoundKey

Page 11: Jenis - Jenis Enkripsi · PDF filePlain Text Cipher Text Initial Round AddRoundKey Standard Round 1-ByteSub 2-ShiftRow 3-MixColumn 4-AddRoundKey Final Round ... Jenis - Jenis Enkripsi

Jenis-Jenis Enkripsi 11 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi

Tabel S-box yang digunakan dalam transformasi InvByteSub() AES

Diagram Proses Dekripsi AES

� Digital Certificate Server (DCS)

Digital Certificate Server melakukan verifikasi untuk digital signature,

autentikasi user, menggunakan public dan private key, contoh : Netscape Certificate

Server.

Page 12: Jenis - Jenis Enkripsi · PDF filePlain Text Cipher Text Initial Round AddRoundKey Standard Round 1-ByteSub 2-ShiftRow 3-MixColumn 4-AddRoundKey Final Round ... Jenis - Jenis Enkripsi

Jenis-Jenis Enkripsi 12 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi

Digital Certificate memungkinkan anda untuk menyampaikan informasi

mengenai perusahaan anda ketika melakukan transaksi dengan pengguna situs

anda. Dengan demikian akan membuktikan identitas perusahaan anda. Digital

Certificate “mengikat” Identitas anda dengan sepasang key yang dapat digunakan

untuk melakukan enkripsi dan menandatangani informasi.

Sebuah Trusted Digital Certificate diterbitkan oleh Certificate Authority (CA) -

dalam hal ini adalah Thawte, dan di sign secara digital oleh CA dengan menggunakan

sebuah private key. Digital Certificate biasanya terdiri dari :

� Public Key Pemilik

� Nama Pemilik

� Tanggal Berlaku Public Key

� Serial Number Digital Certificate

� Digital Signature dari CA (Issuer)

Digital Certificate dapat digunakan untuk berbagai macam keperluan yang

menuntut perlindungan dan privacy data antara pengguna situs dengan server situs.

Yang paling umum adalah digunakan untuk formulir yang berisi data sensitif yang

banyak ditemukan implementasinya pada situs e-commerce, atau juga e-mail

(seperti GMail dan YahooMail)

Anda membutuhkan Digital Certificate ketika anda ingin membangun

kepercayaan pengguna situs anda, memberikan kepastian mengenai identitas

institusi anda, dan menjamin kerahasiaan data yang dimasukkan oleh pengguna

situs anda.

Sebuah Digital Certificate dapat digunakan untuk mengamankan sebuah

Domain di sebuah Server. Lisensi tambahan memungkinkan kita untuk

mengamankan domain yang sama di server yang berbeda, misalnya pada konfigurasi

load balancing yang menggunakan banyak server untuk satu domain.

� IP Security (IPSec)

IPSec (singkatan dari IP Security) adalah sebuah protokol yang

digunakan untuk mengamankan transmisi datagram dalam sebuah

internetwork berbasis TCP/IP. IPSec mendefiniskan beberapa standar untuk

melakukan enkripsi data dan juga integritas data pada lapisan kedua dalam

DARPA Reference Model (internetwork layer). IPSec melakukan enkripsi

Page 13: Jenis - Jenis Enkripsi · PDF filePlain Text Cipher Text Initial Round AddRoundKey Standard Round 1-ByteSub 2-ShiftRow 3-MixColumn 4-AddRoundKey Final Round ... Jenis - Jenis Enkripsi

Jenis-Jenis Enkripsi 13 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi

terhadap data pada lapisan yang sama dengan protokol IP dan menggunakan

teknik Tunnelinguntuk mengirimkan informasi melalui jaringan Internet atau

dalam jaringan Intranet secara aman. IPSec didefinisikan oleh badan Internet

Engineering Task Force (IETF) dan diimplementasikan di dalam banyak

sistem operasi. Windows 2000 adalah sistem operasi pertama dari Microsoft

yang mendukung IPSec.

IPSec diimplementasikan pada lapisan transport dalam OSI Reference

Model untuk melindungi protokol IP dan protokol-protokol yang lebih tinggi

dengan menggunakan beberapa kebijakan keamanan yang dapat

dikonfigurasikan untuk memenuhi kebutuhan keamanan pengguna, atau

jaringan. IPSec umumnya diletakkan sebagai sebuah lapisan tambahan di

dalam stack protokol TCP/IP dan diatur oleh setiap kebijakan keamanan yang

diinstalasikan dalam setiap mesin komputer dan dengan sebuah skema

enkripsi yang dapat dinegosiasikan antara pengirim dan penerima. Kebijakan-

kebijakan keamanan tersebut berisi kumpulan filter yang diasosiasikan dengan

kelakuan tertentu. Ketika sebuah alamat IP, nomor port TCP dan UDP atau

protokol dari sebuah paket datagram IP cocok dengan filter tertentu, maka

kelakukan yang dikaitkan dengannya akan diaplikasikan terhadap paket IP

tersebut.

IPSec merupakan 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.

Dalam sistem operasi Windows 2000, Windows XP, dan Windows

Server 2003, kebijakan keamanan tersebut dibuat dan ditetapkan pada level

domain Active Directory atau pada host individual dengan menggunakan

snap-in. IPSec Management dalam Microsoft Management Console (MMC).

Kebijakan IPSec tersebut, berisi beberapa peraturan yang menentukan

kebutuhan keamanan untuk beberapa bentuk komunikasi. Peraturan-peraturan

tersebut digunakan ntuk memulai dan mengontrol komunikasi yang aman

berdasarkan sifat lalu lintas IP, sumber lalu lintas tersebut dan tujuannya.

Page 14: Jenis - Jenis Enkripsi · PDF filePlain Text Cipher Text Initial Round AddRoundKey Standard Round 1-ByteSub 2-ShiftRow 3-MixColumn 4-AddRoundKey Final Round ... Jenis - Jenis Enkripsi

Jenis-Jenis Enkripsi 14 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi

Peraturan-peraturan tersebut dapat menentukan metode-metode autentikasi

dan negosiasi, atribut proses tunnel ing, dan jenis koneksi.

Untuk membuat sebuah sesi komunikasi yang aman antara dua komputer

dengan menggunakan IPSec, maka dibutuhkan sebuah framework protokol

yang disebut dengan ISAKMP/Oakley. Framework tersebut mencakup

beberapa algoritma kriptografi yang telah ditentukan sebelumnya, dan juga

dapat diperluas dengan menambahkan beberapa sistem kriptografi tambahan

yang dibuat oleh pihak ketiga.

Selama proses negosiasi dilakukan, persetujuan akan tercapai dengan

metode autentikasi dan kemanan yang akan digunakan, dan protokol pun akan

membuat sebuah kunci yang dapat digunakan bersama (shared key) yang

nantinya digunakan sebagi kunci enkripsi data. IPSec mendukung dua buah

sesi komunikasi keamanan, yakni sebagai berikut.

• Protokol Authentication Header (AH): menawarkan autentikasi pengguna dan

perlindungan dari beberapa serangan (umumnya serangan man in the middle),

dan juga menyediakan fungsi autentikasi terhadap data serta integritas

terhadap data. Protokol ini mengizinkan penerima untuk merasa yakin bahwa

identitas si pengirim adalah benar adanya, dan data pun tidak dimodifikasi

selama transmisi. Namun demikian, protokol AH tidak menawarkan fungsi

enkripsi terhadap data yang ditransmisikannya. Informasi AH dimasukkan ke

dalam header paket IP yang dikirimkan dan dapat digunakan secara sendirian

atau bersamaan dengan protokol Encapsulating Security Payload.

• Protokol Encapsulating Security Payload (ESP): Protokol ini melakukan

enkapsulasi serta enkripsi terhadap data pengguna untuk meningkatkan

kerahasiaan data. ESP juga dapat memiliki skema autentikasi dan perlindungan

dari beberapa serangan dan dapat digunakan secara sendirian atau bersamaan

dengan Authentication Header. Sama seperti halnya AH, informasi mengenai ESP

juga dimasukkan ke dalam header paket IP yang dikirimkan.

Beberapa perangkat keras serta perangkat lunak dapat dikonfigurasikan

untuk mendukung IPSec, yang dapat dilakukan dengan menggunakan enkripsi

kunci publik yang disediakan oleh Certificate Authority (dalam sebuah public

key infrastructure) atau kunci yang digunakan bersama yang telah ditentukan

Page 15: Jenis - Jenis Enkripsi · PDF filePlain Text Cipher Text Initial Round AddRoundKey Standard Round 1-ByteSub 2-ShiftRow 3-MixColumn 4-AddRoundKey Final Round ... Jenis - Jenis Enkripsi

Jenis-Jenis Enkripsi 15 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi

sebelumnya (skema Pre-Shared Key/PSK) untuk melakukan enkripsi secara

privat

� Kerberos

Kerberos adalah sebuah sistem autentikasi yang dikembangkan oleh Proyek

Athena di MIT. Ketika pemakai login, Kerberos mengautentikasi pemakai tersebut

(menggunakan password), dan memberikan pemakai suatu cara untuk membuktikan

identitasnya ke server dan host lain yang tersebar di jaringan.

Autentikasi ini kemudian digunakan oleh program seperti rlogin untuk

membolehkan pemakai login ke host lain tanpa password (seperti file .rhosts).

Autentikasi juga digunakan oleh sistem surat dalam rangka menjamin bahwa surat

dikirimkan kepada orang yang tepat, dan juga menjamin bahwa pengirim adalah

benar orang yang diklaimnya.

Efek keseluruhan menginstalasi Kerberos dan berbagai program bersamanya

adalah secara virtual menghilangkan kemampuan pemakai untuk menipu (spoof)

sistem agar mempercayai bahwa mereka adalah orang lain. Sayangnya, instalasi

Kerberos sangat sulit, membutuhkan modifikasi atau mengganti berbagai program

standar.

� Point to point Tunneling Protocol (PPTP) dan Layer Two Tunneling Protocol (L2TP)

Point-to-Point Tunneling Protocol. Point-to-Point Tunneling Protocol (PPTP)

menyajikan fungsionalitas VPN yang mirip dengan apa yang disediakan IPSec. PPTP

juga mendukung banyak protocol jaringan seperti IP, Internetwork Packet Exchange

(IPX), dan NetBIOS Enhanced User Interface (NetBEUI).

Layer Two Tunneling Protocol. Layer Two Tunneling Protocol (L2TP)

merupakan suatu kombinasi PPTP dan Layer Two Forwarding (L2F). L2F adalah suatu

protocol transmisi yang memungkinkan server akses dial-up membingkai lalu lintas

dial-up di dalam Point to Point Protocol (PPP) dan mentransmisikannya pada

hubungan WAN ke server L2F (router).

Page 16: Jenis - Jenis Enkripsi · PDF filePlain Text Cipher Text Initial Round AddRoundKey Standard Round 1-ByteSub 2-ShiftRow 3-MixColumn 4-AddRoundKey Final Round ... Jenis - Jenis Enkripsi

Jenis-Jenis Enkripsi 16 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi

� Remote Access Dial-in User Service (RADIUS)

RADIUS atau Remote Authentication Dial-In User Service merupakan sebuah

protocol yang memungkinkan perusahaan untuk melakukan Authentication

(pembuktian keaslian), Authorize (otoritas/pemberian hak) dan Accounting

(akutansi) (AAA) untuk me-remote para pengguna atau user yang ingin mengakses

suatu sistem atau layanan dari pusat server jaringan komputer.

Anda mungkin telah mendapatkan pengalaman dalam hal Authentication,

misalnya saja Anda menggunakan account internet dial up untuk masuk dan

melakukan browsing untuk mendapatkan informasi mengenai berita-berita terkini.

Selain itu, anda mengecek email perusahaan untuk melihat email-email yang telah

dikirim oleh client-client anda. Dan akhir pekan ini, mungkin saja anda menggunakan

VPN (Virtual Private Network) untuk menghubungkan ke jaringan kantor perusahaan

sehingga bisa memonitoring kondisi jaringan client perusahaan anda. Agar anda bisa

menggunakan VPN dan account internet dial up maka anda harus melakukan

authentication terlebih dahulu.

Tetapi apa yang terjadi dibelakang layar ketika anda melakukan authentication

pada komputer?. Komputer harus mempunyai satu set protocol dan proses untuk

memverifikasi authentication yang telah anda lakukan. Salah satu protocol yang

mampu mengerjakan proses authentication tersebut adalah RADIUS (Remote

Authentication Dial-In User Service).

RADIUS, mula-mula dikembangkan oleh perusahan Livingston, merupakan

sebuah protocol access-control yang memverifikasi dan yang melakukan

authentication para pengguna berdasarkan metoda yang umum digunakan. RADIUS

umumnya digunakan oleh ISP (Internet Service Provider) atau penyedia layanan

internet untuk melakukan Authentication (pembuktian keaslian pengguna),

Authorize (mengatur pemberian hak/otoritas) dan Accounting (mencatat

penggunaan layanan yang digunakan).

RADIUS menjalankan sistem administrasi pengguna yang terpusat, sistem

ini akan mempermudah tugas administrator. Dapat kita bayangkan berapa

banyak jumlah pelanggan yang dimiliki oleh sebuah ISP, dan ditambah lagi

dengan penambahan pelanggan baru dan penghapusan pelanggan yang sudah

tidak berlangganan lagi. Apabila tidak ada suatu sistem administrasi yang

terpusat, maka akan merepotkan administrator dan tidak menutup kemungkinan

Page 17: Jenis - Jenis Enkripsi · PDF filePlain Text Cipher Text Initial Round AddRoundKey Standard Round 1-ByteSub 2-ShiftRow 3-MixColumn 4-AddRoundKey Final Round ... Jenis - Jenis Enkripsi

Jenis-Jenis Enkripsi 17 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi

ISP akan merugi atau pendapatannya berkurang. Dengan sistem ini pengguna

dapat menggunakan hotspot di tempat yang berbeda-beda dengan melakukan

autentikasi ke sebuah RADIUS server. RADIUS merupakan suatu protokol yang

dikembangkan untuk proses AAA (authentication, authorization, and Accounting.)

Berikut ini adalah RFC (Request For Comment) yang berhubungan dengan

RADIUS :

� RFC2865 : Remote Authentication Dial-In User Service (RADIUS)

� RFC 2866 : RADIUS Accounting

� RFC 2867 : RADIUS Accounting for Tunneling

� RFC 2868 : RADIUS Authentication for Tunneling

� RFC2869 : RADIUS Extensions

� RFC 3162 : RADIUS over IP6

� RFC 2548 : Microsoft Vendor-Specific RADIUS Attributes

Pada awal pengembangannya, RADIUS menggunakan port 1645, yang

ternyata bentrok dengan layanan “datametrics”. Sekarang, port yang dipakai

RADIUS adalah port 1812 .

Gambar Struktur Paket Data RADIUS

Struktur paket data RADIUS pada Gambar diatas terdiri dari lima bagian, yaitu:

1. Code

Code memiliki panjang adalah satu oktet, digunakan untuk membedakan tipe

pesan RADIUS yang dikirimkan pada paket. Kode-kode tersebut (dalam

desimal) ialah :

Page 18: Jenis - Jenis Enkripsi · PDF filePlain Text Cipher Text Initial Round AddRoundKey Standard Round 1-ByteSub 2-ShiftRow 3-MixColumn 4-AddRoundKey Final Round ... Jenis - Jenis Enkripsi

Jenis-Jenis Enkripsi 18 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi

2. Identifier

Memiliki panjang satu oktet, bertujuan untuk mencocokkan permintaan.

3. Length

Memiliki panjang dua oktet, memberikan informasi mengenai panjang paket.

4. Authenticator

Memiliki panjang 16 oktet, digunakan untuk membuktikan balasan dari

RADIUS server, selain itu digunakan juga untuk algoritma password.

5. Attributes

Berisikan informasi yang dibawa pesan RADIUS, setiap pesan dapat

membawa satu atau lebih atribut. Contoh atribut RADIUS: nama

pengguna, password, CHAP-password, alamat IP access point(AP), pesan

balasan.

� RSA Encryption

RSA di bidang kriptografi adalah sebuah algoritma pada enkripsi public key.

RSA merupakan algoritma pertama yang cocok untuk digital signature seperti halnya

ekripsi, dan salah satu yang paling maju dalam bidang kriptografi public key. RSA

masih digunakan secara luas dalam protokol electronic commerce, dan dipercaya

dalam mengamnkan dengan menggunakan kunci yang cukup panjang.

Page 19: Jenis - Jenis Enkripsi · PDF filePlain Text Cipher Text Initial Round AddRoundKey Standard Round 1-ByteSub 2-ShiftRow 3-MixColumn 4-AddRoundKey Final Round ... Jenis - Jenis Enkripsi

Jenis-Jenis Enkripsi 19 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi

Algortima RSA dijabarkan pada tahun 1977 oleh tiga orang : Ron Rivest, Adi

Shamir dan Len Adleman dari Massachusetts Institute of Technology. Huruf RSA itu

sendiri berasal dari inisial nama mereka (Rivest—Shamir—Adleman).

Clifford Cocks, seorang matematikawan Inggris yang bekerja untuk GCHQ,

menjabarkan tentang sistem equivalen pada dokumen internal di tahun 1973.

Penemuan Clifford Cocks tidak terungkap hingga tahun 1997 karena alasan top-

secret classification.

Algoritma tersebut dipatenkan oleh Massachusetts Institute of Technology

pada tahun 1983 di Amerika Serikat sebagai U.S. Patent 4405829. Paten tersebut

berlaku hingga 21 September 2000. Semenjak Algoritma RSA dipublikasikan sebagai

aplikasi paten, regulasi di sebagian besar negara-negara lain tidak memungkinkan

penggunaan paten. Hal ini menyebabkan hasil temuan Clifford Cocks di kenal secara

umum, paten di Amerika Serikat tidak dapat mematenkannya.

Penyerangan yang paling umum pada RSA ialah pada penanganan masalah

faktorisasi pada bilangan yang sangat besar. Apabila terdapat faktorisasi metode

yang baru dan cepat telah dikembangkan, maka ada kemungkinan untuk

membongkar RSA.

Pada tahun 2005, bilangan faktorisasi terbesar yang digunakan secara umum

ialah sepanjang 663 bit, menggunakan metode distribusi mutakhir. Kunci RSA pada

umumnya sepanjang 1024—2048 bit. Beberapa pakar meyakini bahwa kunci 1024-

bit ada kemungkinan dipecahkan pada waktu dekat (hal ini masih dalam

perdebatan), tetapi tidak ada seorangpun yang berpendapat kunci 2048-bit akan

pecah pada masa depan yang terprediksi.

Semisal Eve, seorang eavesdropper (pencuri dengar—penguping),

mendapatkan public key N dan e, dan ciphertext c. Bagimanapun juga, Eve tidak

mampu untuk secara langsung memperoleh d yang dijaga kerahasiannya oleh Alice.

Masalah untuk menemukan n seperti pada ne=c mod N di kenal sebagai

permasalahan RSA.

Cara paling efektif yang ditempuh oleh Eve untuk memperoleh n dari c ialah

dengan melakukan faktorisasi N kedalam p dan q, dengan tujuan untuk menghitung

(p-1)(q-1) yang dapat menghasilkan d dari e. Tidak ada metode waktu polinomial

untuk melakukan faktorisasi pada bilangan bulat berukuran besar di komputer saat

ini, tapi hal tersebut pun masih belum terbukti.

Page 20: Jenis - Jenis Enkripsi · PDF filePlain Text Cipher Text Initial Round AddRoundKey Standard Round 1-ByteSub 2-ShiftRow 3-MixColumn 4-AddRoundKey Final Round ... Jenis - Jenis Enkripsi

Jenis-Jenis Enkripsi 20 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi

Masih belum ada bukti pula bahwa melakukan faktorisasi N adalah satu-

satunya cara untuk memperoleh n dari c, tetapi tidak ditemukan adanya metode

yang lebih mudah (setidaknya dari sepengatahuan publik).

Bagaimanapun juga, secara umum dianggap bahwa Eve telah kalah jika N

berukuran sangat besar.

Jika N sepanjang 256-bit atau lebih pendek, N akan dapat difaktorisasi dalam

beberapa jam pada Personal Komputer, dengan menggunakan perangkat lunak yang

tersedia secara bebas. Jika N sepanjang 512-bit atau lebih pendek, N akan dapat

difaktorisasi dalam hitungan ratusan jam seperti pada tahun 1999. Secara teori,

perangkat keras bernama TWIRL dan penjelasan dari Shamir dan Tromer pada tahun

2003 mengundang berbagai pertanyaan akan keamanan dari kunci 1024-bit. Santa

disarankan bahwa N setidaknya sepanjang 2048-bit.

Pada thaun 1993, Peter Shor menerbitkan Algoritma Shor, menunjukkan

bahwa sebuah komputer quantum secara prinsip dapat melakukan faktorisasi dalam

waktu polinomial, mengurai RSA dan algoritma lainnya. Bagaimanapun juga, masih

terdapat pedebatan dalam pembangunan komputer quantum secara prinsip.

RSA memiliki kecepatan yang lebih lambat dibandingkan dengan DES dan

algoritma simetrik lainnya. Pada prakteknya, Bob menyandikan pesan rahasia

menggunakan algoritma simetrik, menyandikan kunci simetrik menggunakan RSA,

dan mengirimkan kunci simetrik yang dienkripsi menggunakan RSA dan juga

mengirimkan pesan yang dienkripasi secara simetrik kepada Alice.

Prosedur ini menambah permasalahan akan keamanan. Singkatnya, Sangatlah

penting untuk menggunakan pembangkit bilangan acak yang kuat untuk kunci

simetrik yang digunakan, karena Eve dapat melakukan bypass terhadap RSA dengan

menebak kunci simterik yang digunakan.

� Secure Hash Algoritm (SHA)

SHA adalah fungsi hash satu-arah yang dibuat oleh NIST dan digunakan

bersama DSS (Digital Signature Standard). Oleh NSA, SHA dinyatakan sebagai

standard fungsi hash satu-arah. SHA didasarkan pada MD4 yang dibuat oleh Ronald

L. Rivest dari MIT.

Page 21: Jenis - Jenis Enkripsi · PDF filePlain Text Cipher Text Initial Round AddRoundKey Standard Round 1-ByteSub 2-ShiftRow 3-MixColumn 4-AddRoundKey Final Round ... Jenis - Jenis Enkripsi

Jenis-Jenis Enkripsi 21 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi

SHA disebut aman (secure) karena ia dirancang sedemikian sehingga secara

komputasi tidak mungkin menemukan pesan yang berkoresponden dengan message

digest yang diberikan.

Algoritma SHA menerima masukan berupa pesan dengan ukuran maksimum

264

bit (2.147.483.648 gigabyte) dan menghasilkan message digest yang panjangnya

160 bit, lebih panjang dari message digest yang dihasilkan oleh MD5.

� MD5

� MD5 adalah fungsi hash satu-arah yang dibuat oleh Ron Rivest. MD5 merupakan

perbaikan dari MD4 setelah MD4 berhasil diserang oleh kriptanalis.

� Algoritma MD5 menerima masukan berupa pesan dengan ukuran sembarang

dan menghasilkan message digest yang panjangnya 128 bit.

� Gambaran pembuatan message digest dengan algoritma MD5 diperlihatkan

pada gambar berikut.

Pesan 1000...000 Panjang Pesan

K bit Padding bits K mod 264

L x 512 bit

Y0 ... ...

Y1

Yq

YL - 1

512 512512 512

HMD5

HMD5ABCD

512 512

128128 128H

MD5

512

128 128H

MD5

512

128

128

Message Digest

(1 - 512 bit)

Pembuatan Message Digest dengan Algoritma MD5

� Langkah-langkah pembuatan message digest secara garis besar adalah sebagai

berikut.

1. Penambahan bit-bit pengganjal (padding bits)

2. Penambahan nilai panjang pesan semula

3. Inisialisasi penyangga (buffer) MD

4. Pengolahan pesan dalam blok berukuran 512 bit

Page 22: Jenis - Jenis Enkripsi · PDF filePlain Text Cipher Text Initial Round AddRoundKey Standard Round 1-ByteSub 2-ShiftRow 3-MixColumn 4-AddRoundKey Final Round ... Jenis - Jenis Enkripsi

Jenis-Jenis Enkripsi 22 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi

1. Penambahan Bit-bit Pengganjal

• Pesan ditambah dengan sejumlah bit pengganjal sedemikian sehingga panjang

pesan (dalam satuan bit) kongruen dengan 448 modulo 512. Ini berarti panjang

pesan setelah ditambahi bit-bit pengganjal adalah 64 bit kurang dari kelipatan

512. Angka 512 ini muncul karena MD5 memperoses pesan dalam blok-blok

yang berukuran 512.

• Pesan dengan panjang 448 bit pun tetap ditambah dengan bit-bit pengganjal.

Jika panjang pesan 448 bit, maka pesan tersebut ditambah dengan 512 bit

menjadi 960 bit. Jadi, panjang bit-bit pengganjal adalah antara 1 sampai 512.

• Bit-bit pengganjal terdiri dari sebuah bit 1 diikuti dengan sisanya bit 0.

2. Penambahan Nilai Panjang Pesan Semula

• Pesan yang telah diberi bit-bit pengganjal selanjutnya ditambah lagi dengan 64

bit yang menyatakan panjang pesan semula.

• Jika panjang pesan > 264

maka yang diambil adalah panjangnya dalam modulo

264

. Dengan kata lain, jika panjang pesan semula adalah K bit, maka 64 bit yang

ditambahkan menyatakan K modulo 264

.

• Setelah ditambah dengan 64 bit, panjang pesan sekarang menjadi 512 bit.

3. Inisialisai Penyangga MD

• MD5 membutuhkan 4 buah penyangga (buffer) yang masing-masing panjangnya

32 bit. Total panjang penyangga adalah 4 × 32 = 128 bit. Keempat penyangga ini

menampung hasil antara dan hasil akhir.

• Keempat penyangga ini diberi nama A, B, C, dan D. Setiap penyangga

diinisialisasi dengan nilai-nilai (dalam notasi HEX) sebagai berikut.

A = 01234567

B = 89ABCDEF

C = FEDCBA98

D = 76543210

Page 23: Jenis - Jenis Enkripsi · PDF filePlain Text Cipher Text Initial Round AddRoundKey Standard Round 1-ByteSub 2-ShiftRow 3-MixColumn 4-AddRoundKey Final Round ... Jenis - Jenis Enkripsi

Jenis-Jenis Enkripsi 23 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi

4. Pengolahan Pesan dalam Blok Berukuran 512 bit.

• Pesan dibagi menjadi L buah blok yang masing-masing panjangnya 512 bit (Y0 sampai

YL – 1).

• Setiap blok 512-bit diproses bersama dengan penyangga MD menjadi keluaran 128-

bit, dan ini disebut proses HMD5. Gambaran proses HMD5 diperlihatkan pada gambar

berikut.

])16..1[,,( TYABCDfABCD qF←

])32..17[,,( TYABCDfABCD qG←

])48..33[,,( TYABCDfABCD qH←

])64..49[,,( TYABCDfABCD qI←

A B C D

A B C D

A B C D

+ + + +

MDq

MDq + 1

128

Yq

512

Gambar Pengolahan blok 512 bit (Proses HMD5)

• Proses HMD5 terdiri dari 4 buah putaran, dan masing-masing putaran melakukan

operasi dasar MD5 sebanyak 16 kali dan setiap operasi dasar memakai sebuah

elemen T. Jadi setiap putaran memakai 16 elemen Tabel T.

• Pada Gambar 4, Yq menyatakan blok 512-bit ke-q dari pesan yang telah ditambah

bit-bit pengganjal dan tambahan 64 bit nilai panjang pesan semula. MDq adalah nilai

Page 24: Jenis - Jenis Enkripsi · PDF filePlain Text Cipher Text Initial Round AddRoundKey Standard Round 1-ByteSub 2-ShiftRow 3-MixColumn 4-AddRoundKey Final Round ... Jenis - Jenis Enkripsi

Jenis-Jenis Enkripsi 24 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi

message digest 128-bit dari proses HMD5 ke-q. Pada awal proses, MDq berisi nilai

inisialisasi penyangga MD.

• Fungsi-fungsi fF, fG, fH, dan fI masing-masing berisi 16 kali operasi dasar terhadap

masukan, setiap operasi dasar menggunakan elemen Tabel T. Operasi dasar MD5

diperlihatkan pada gambar berikut.

a b c d

g

+

+

+

CLSs

+

X[k]

T[i]

Gambar Operasi dasar MD5

• Operasi dasar MD5 yang diperlihatkan pada gambar di atas dapat ditulis dengan

sebuah persamaan sebagai berikut.

a ← b + CLSs(a + g(b, c, d) + X[k] + T[i]) (7)

yang dalam hal ini,

a, b, c, d = Empat buah peubah penyangga 32-bit

(berisi nilai penyangga A, B, C, D)

Page 25: Jenis - Jenis Enkripsi · PDF filePlain Text Cipher Text Initial Round AddRoundKey Standard Round 1-ByteSub 2-ShiftRow 3-MixColumn 4-AddRoundKey Final Round ... Jenis - Jenis Enkripsi

Jenis-Jenis Enkripsi 25 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi

g = Salah satu fungsi F, G, H, I

CLSs = Circular left shift sebanyak s bit

X[k] = Kelompok 32-bit ke-k dari blok 512 bit

message ke-q. Nilai k = 0 sampai 15.

T[i] = Elemen Tabel T ke-i (32 bit)

+ = Operasi penjumlahan modulo 232

• Fungsi fF, fG, fH, dan fI adalah fungsi untuk memanipulasi masukan a, b, c, dan d

dengan ukuran 32-bit. Masing-masing fungsi dapat dilihat pada tabel berikut.

Tabel Fungsi-fungsi dasar MD5

Nama Notasi g(a, b, c, d)

fF F(b, c, d) (b ∧ c) ∨ (~b ∧ d) fG G(b, c, d) (b ∧ d) ∨ (c ∧ ~d) fH H(b, c, d) b ⊕ c ⊕ d fI I(b, c, d) c ⊕ (b ∧ ~ d)

Catatan : Operator logika AND, OR, NOT, XOR masing-masing dilambangkan dengan ∧, ∨, ~, ⊕

• Nilai T[i] dapat dilihat pada Tabel 2. Tabel ini disusun oleh fungsi 232

× abs(sin(i)), i

dalam radian.

Tabel Nilai T[i]

T[1] = D76AA478

T[2] = E8C7B756

T[3] = 242070DB

T[4] = C1BDCEEE

T[5] = F57C0FAF

T[6] = 4787C62A

T[7] = A8304613

T[8] = FD469501

T[9] = 698098D8

T[10] = 8B44F7AF

T[11] = FFFF5BB1

T[12] = 895CD7BE

T[13] = 6B901122

T[14] = FD987193

T[15] = A679438E

T[16] = 49B40821

T[17] = F61E2562

T[18] = C040B340

T[19] = 265E5A51

T[20] = E9B6C7AA

T[21] = D62F105D

T[22] = 02441453

T[23] = D8A1E681

T[24] = E7D3FBCB

T[25] = 21E1CDE6

T[26] = C33707D6

T[27] = F4D50D87

T[28] = 455A14ED

T[29] = A9E3E905

T[30] = FCEFA3F8

T[31] = 676F02D9

T[32] = 8D2A4C8A

T[33] = FFFA3942

T[34] = 8771F681

T[35] = 69D96122

T[36] = FDE5380C

T[37] = A4BEEA44

T[38] = 4BDECFA9

T[39] = F6BB4B60

T[40] = BEBFBC70

T[41] = 289B7EC6

T[42] = EAA127FA

T[43] = D4EF3085

T[44] = 04881D05

T[45] = D9D4D039

T[46] = E6DB99E5

T[47] = 1FA27CF8

T[48] = C4AC5665

T[49] = F4292244

T[50] = 432AFF97

T[51] = AB9423A7

T[52] = FC93A039

T[53] = 655B59C3

T[54] = 8F0CCC92

T[55] = FFEFF47D

T[56] = 85845DD1

T[57] = 6FA87E4F

T[58] = FE2CE6E0

T[59] = A3014314

T[60] = 4E0811A1

T[61] = F7537E82

T[62] = BD3AF235

T[63] = 2AD7D2BB

T[64] = EB86D391

• Dari persamaan (7) dapat dilihat bahwa masing-masing fungsi fF, fG, fH, dan fI

melakukan 16 kali operasi dasar.

Page 26: Jenis - Jenis Enkripsi · PDF filePlain Text Cipher Text Initial Round AddRoundKey Standard Round 1-ByteSub 2-ShiftRow 3-MixColumn 4-AddRoundKey Final Round ... Jenis - Jenis Enkripsi

Jenis-Jenis Enkripsi 26 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi

Misalkan notasi :

[abcd k s i]

menyatakan operasi

a ← b + ((a + g(b, c, d) + X[k] + T[i])<<<s)

yang dalam hal ini <<<s melambangkan operasi circular left shift 32-bit, maka

operasi dasar pada masing-masing putaran dapat ditabulasikan sebagai berikut.

Putaran 1: 16 kali operasi dasar dengan g(b, c, d) = F(b, c, d) dapat dilihat pada

tabel berikut.

Tabel Rincian Operasi Pada Fungsi F(b, c, d)

No. [abcd k s i]

1 2

3

4 5

6 7

8 9

10 11

12 13

14 15

16

[ABCD 0 7 1] [DABC 1 12 2]

[CDAB 2 17 3]

[BCDA 3 22 4] [ABCD 4 7 5]

[DABC 5 12 6] [CDAB 6 17 7]

[BCDA 7 22 8] [ABCD 8 7 9]

[DABC 9 12 10] [CDAB 10 17 11]

[BCDA 11 22 12] [ABCD 12 7 13]

[DABC 13 12 14] [CDAB 14 17 15]

[BCDA 15 22 16]

Putaran 2: 16 kali operasi dasar dengan g(b, c, d) = G(b, c, d) dapat dilihat pada

tabel berikut.

Page 27: Jenis - Jenis Enkripsi · PDF filePlain Text Cipher Text Initial Round AddRoundKey Standard Round 1-ByteSub 2-ShiftRow 3-MixColumn 4-AddRoundKey Final Round ... Jenis - Jenis Enkripsi

Jenis-Jenis Enkripsi 27 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi

Tabel Rincian Operasi Pada Fungsi G(b, c, d)

No. [abcd k s i ]

1 2

3

4 5

6 7

8 9

10 11

12 13

14 15

16

[ABCD 1 5 17] [DABC 6 9 18]

[CDAB 11 14 19]

[BCDA 0 20 20] [ABCD 5 5 21]

[DABC 10 9 22] [CDAB 15 14 23]

[BCDA 4 20 24] [ABCD 9 5 25]

[DABC 14 9 26] [CDAB 3 14 27]

[BCDA 8 20 28] [ABCD 13 5 29]

[DABC 2 9 30] [CDAB 7 14 31]

[BCDA 12 20 32]

Putaran 3: 16 kali operasi dasar dengan g(b, c, d) = H(b, c, d) dapat dilihat pada

tabel berikut.

Tabel Rincian Operasi Pada Fungsi H(b, c, d)

No. [abcd k s i ]

1

2 3

4 5

6 7

8 9

10 11

12 13

14 15

16

[ABCD 5 4 33]

[DABC 8 11 34] [CDAB 11 16 35]

[BCDA 14 23 36] [ABCD 1 4 37]

[DABC 4 11 38] [CDAB 7 16 39]

[BCDA 10 23 40] [ABCD 13 4 41]

[DABC 0 11 42] [CDAB 3 16 43]

[BCDA 6 23 44] [ABCD 9 4 45]

[DABC 12 11 46] [CDAB 15 16 47]

[BCDA 2 23 48]

Putaran 4: 16 kali operasi dasar dengan g(b, c, d) = I(b, c, d) dapat dilihat pada

tabel berikut.

Page 28: Jenis - Jenis Enkripsi · PDF filePlain Text Cipher Text Initial Round AddRoundKey Standard Round 1-ByteSub 2-ShiftRow 3-MixColumn 4-AddRoundKey Final Round ... Jenis - Jenis Enkripsi

Jenis-Jenis Enkripsi 28 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi

Tabel Rincian Operasi Pada Fungsi I(b, c, d)

No. [abcd k s i ]

1

2

3 4

5 6

7 8

9 10

11 12

13 14

15 16

[ABCD 0 6 49]

[DABC 7 10 50]

[CDAB 14 15 51] [BCDA 5 21 52]

[ABCD 12 6 53] [DABC 3 10 54]

[CDAB 10 15 55] [BCDA 1 21 56]

[ABCD 8 6 57] [DABC 15 10 58]

[CDAB 6 15 59] [BCDA 13 21 60]

[ABCD 4 6 61] [DABC 11 10 62]

[CDAB 2 15 63] [BCDA 9 21 64]

• Setelah putaran keempat, a, b, c, dan d ditambahkan ke A, B, C, dan D, dan

selanjutnya algoritma memproses untuk blok data berikutnya (Yq+1). Keluaran

akhir dari algoritma MD5 adalah hasil penyambungan bit-bit di A, B, C, dan D.

• Dari uraian di atas, secara umum fungsi hash MD5 dapat ditulis dalam

persamaan matematis berikut.

MD0 = IV (8)

MDq + 1 = MDq + fI(Yq + fH(Yq + fG(YQ + fF(Yq + MDq))))

MD = MDL – 1 (10)

yang dalam hal ini,

IV = initial vector dari penyangga ABCD, yang dilakukan pada proses

inisialisasi penyangga

Yq = blok pesan berukuran 512-bit ke-q

L = jumlah blok pesan

MD = nilai akhir message digest

Page 29: Jenis - Jenis Enkripsi · PDF filePlain Text Cipher Text Initial Round AddRoundKey Standard Round 1-ByteSub 2-ShiftRow 3-MixColumn 4-AddRoundKey Final Round ... Jenis - Jenis Enkripsi

Jenis-Jenis Enkripsi 29 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi

� Secure Shell (SSH), Stelnet

SSH dan stelnet adalah program yang memungkinkan Anda untuk login ke

sistem remote dan memiliki koneksi yang terenkripsi.

SSH adalah paket program yang digunakan sebagai pengganti yang aman

untuk rlogin, rsh dan rcp. Ia menggunakan public-key cryptography untuk

mengenkripsi komunikasi antara dua host, demikian pula untuk autentikasi pemakai.

Ia dapat digunakan untuk login secara aman ke remote host atau menyalin data

antar host, sementara mencegah man-in-the-middle attacks (pembajakan sesi) dan

DNS spoofing. Ia akan melakukan kompresi data pada koneksi anda, dan komunikasi

X11 yang aman antar host.

� Secure Socket Layer (SSL)

SSL atau Secure Socket Layer adalah suatu teknik pengamanan data dengan

cara melakukan enkripsi data yang dikirimkan. Dengan SSL ini, meskipun secara fisik

saluran disadap maka data-data yang ditangkap oleh pihak ketiga adalah data yang

teracak sehingga dibutuhkan effort khusus lagi untuk menterjemahkannya ke data

aslinya.

Untuk proses enkripsi ini dapat digunakan bermacam-macam teknik enkripsi

yang telah dikenal seperti DES, RSA, MD5 atau menggunakan teknik Public dan

Private Key. Untuk meningkatkan keamanan ke level yang lebih tinggi, bahkan dapat

digunakan teknik yang berbeda-beda sekaligus, atau menggunakan kunci yang

berganti-ganti pada setiap sesinya.

Proses enkripsi data dengan SSL ini bila dilihat pada layer TCP/IP berada

antara layer Application dengan layer Transport. SSL diciptakan untuk

mengamankan data pada layer Application, sebelum data tersebut disalurkan ke

jaringan (layer Transport, Internet, dan Data Link). Bila seorang penyadap (sniffer)

melakukan penyadapan, maka ketiga layer terbawah inilah yang dapat menjadi

sasaran. Sehingga data yang telah diamankan dengan SSL tadi, relatif cukup aman

dari sadapan para sniffer tersebut.

Dikatakan relatif, karena sebetulnya ada teknik kejahatan baru yang telah

dikembangkan untuk mem-bypass SSL ini. Dan karena kejahatan ini dilakukan di

layer Application, maka SSL menjadi tidak berguna. Teknik ini adalah yang disebut

Page 30: Jenis - Jenis Enkripsi · PDF filePlain Text Cipher Text Initial Round AddRoundKey Standard Round 1-ByteSub 2-ShiftRow 3-MixColumn 4-AddRoundKey Final Round ... Jenis - Jenis Enkripsi

Jenis-Jenis Enkripsi 30 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi

dengan Man In the Middle Attack, di mana ada pihak ketiga yang bertindak sebagai

perantara antara client dengan server (tanpa diketahui oleh kedua pihak) dan

menerima dan meneruskan semua data yang diterimanya dari dan ke kedua belah

pihak. Proses masuknya pihak ketiga di tengah ini bisa terjadi karena adanya

corruption pada DNS system ataupun akibat adanya virus / trojan yang memang

secara sengaja dimasukkan oleh pihak ketiga tersebut ke komputer client.

� Security Token

Token merupakan istilah bahasa asing untuk tanda. Security Token adalah

tanda keamanan yang diberikan oleh sebuah perusahaan untuk menjaga keamanan

datanya. Biasanya perusahaan yang menggunakan Security Token adalah bank.

Untuk memberikan keyamanan bagi nasabah, banyak pihak perbankan

mengembangkan layanan-layanan yang memanfaatkan teknologi informasi dan

komunikasi. Layanan-layanan tersebut adalah SMS Banking, Phone Banking dan

Internet banking. Salah satu faktor penting pihak perbankan dalam memberikann

layanan-layanan ini ada jaminan terhadap seluruh transaksi yang dilakukan agar

tidak terjadi seperti yang dialami oleh salah satu bank swasta di tahun 2001 lalu

dimana situs plesetannya muncul dan menangkap PIN penggunanya walaupun tidak

disalahgunakan oleh pelakunya, namun hal ini telah menunjukan bahwa security

harus merupakan faktor penting yang perlu diperhatikan selain tambahan fitur bagi

kenyaman pengguna.

Mungkin belajar dari pengalaman yang pernah dialami bank tersebut

sehingga saat ini semua instansi perbankan meningkatkan keamanan layanan

internet banking. Keamananan yang ditingkatkan adalah dengan menggunakan two-

factor authentication atau yang biasanya dikenal juga sebagai strong authentication

sehingga apabila kita ingin menggunakan layanan internet banking pasti akan

diberikan security token. Setiap bank memiliki security token yang berbeda sehingga

apabila kita memiliki rekening di empat bank yang berbeda dan menggunakan

layanan internet banking maka sudah bisa dipastikan kita akan mengantongi empat

Security Token.

Page 31: Jenis - Jenis Enkripsi · PDF filePlain Text Cipher Text Initial Round AddRoundKey Standard Round 1-ByteSub 2-ShiftRow 3-MixColumn 4-AddRoundKey Final Round ... Jenis - Jenis Enkripsi

Jenis-Jenis Enkripsi 31 http://fajj27blog.wordpress.com/2009/01/05/jenis_enkripsi

� Daftar Pustaka

http://blog.re.or.id/metode-metode-enkripsi-modern.htm

http://ganingku.com/index.php

http://indrasufian.web.id

http://id.wikipedia.org/wiki/IP_Security.htm

http://id.wikipedia.org/wiki/Kerberos.htm

http://kriptografi.multiply.com

http://www.skma.org

http://id.wikipedia.org/wiki/Kriptografi

http://id.wikipedia.org/wiki/MD5.htm

http://kur2003.if.itb.ac.id/file/SHA.doc