kriptografi-01

60
Desep_priandes_1206541 Pengenalan Kriptografi oleh : Tedi Heriyanto $ Edisi : 0.0.5 - 27 Juni 1999 $ Catatan Tulisan ini dimaksudkan sebagai pengantar bagi Anda yang berminat mendalami bidang kriptografi, dan tulisan ini bukanlah sebuah referensi lengkap tentang kriptografi. Untuk mempelajari kriptografi lebih lanjut silakan Anda lihat pada bagian Sumber Informasi Lebih Lanjut tentang Kriptografi. Bila ada saran ataupun kritik tentang tulisan ini, silakan layangkan ke email penulis. Pendahuluan Kemajuan di bidang telekomunikasi dan komputer telah memungkinkan seseorang untuk melakukan transaksi bisnis secara cashless, selain itu ia juga dapat mengirimkan informasi kepada temannya secara on-line. Kegiatan-kegiatan tersebut tentu saja akan menimbulkan resiko bilamana informasi yang sensitif dan berharga tersebut diakses oleh orang-orang yang tidak berhak (unauthorized persons). Misalnya, informasi mengenai nomor kartu kredit anda, bila informasi ini jatuh kepada orang- orang yang jahat maka anda harus bersiap-siap terhadap melonjaknya tagihan kartu kredit anda. Sebelum tahun 1970-an, teknologi kriptografi digunakan terbatas hanya untuk tujuan militer dan diplomatik. Akan tetapi kemudian bidang bisnis dan perorangan mulai menyadari pentingnya melindungi informasi berharga. Pengertian Dasar Suatu pesan yang tidak disandikan disebut sebagai plaintext ataupun dapat disebut juga sebagai cleartext. Proses yang dilakukan untuk mengubah plaintext ke dalam ciphertext disebut encryption atau encipherment. Sedangkan proses untuk mengubah ciphertext kembali ke plaintext disebut decryption atau decipherment. Secara sederhana istilah-istilah di atas dapat digambarkan sebagai berikut : Gb. 1. Proses Enkripsi/Dekripsi Sederhana Cryptography adalah suatu ilmu ataupun seni mengamankan pesan, dan dilakukan oleh cryptographer. Sedang, cryptanalysis adalah suatu ilmu dan seni membuka (breaking) ciphertext dan orang yang melakukannya disebut cryptanalyst. Cryptographic system atau cryptosystem adalah suatu fasilitas untuk mengkonversikan plaintext ke ciphertext dan sebaliknya. Dalam sistem ini, seperangkat parameter yang menentukan

Upload: desep-priandes

Post on 10-Nov-2015

75 views

Category:

Documents


6 download

DESCRIPTION

Desain Kriptografi

TRANSCRIPT

  • Desep_priandes_1206541

    Pengenalan Kriptografi

    oleh : Tedi Heriyanto

    $ Edisi : 0.0.5 - 27 Juni 1999 $

    Catatan Tulisan ini dimaksudkan sebagai pengantar bagi Anda yang berminat mendalami bidang kriptografi, dan tulisan ini bukanlah sebuah referensi lengkap tentang kriptografi. Untuk mempelajari kriptografi lebih lanjut silakan Anda lihat pada bagian Sumber Informasi Lebih Lanjut tentang Kriptografi. Bila ada saran ataupun kritik tentang tulisan ini, silakan layangkan ke email penulis.

    Pendahuluan

    Kemajuan di bidang telekomunikasi dan komputer telah memungkinkan seseorang untuk melakukan transaksi bisnis secara cashless, selain itu ia juga dapat mengirimkan informasi kepada temannya secara on-line.

    Kegiatan-kegiatan tersebut tentu saja akan menimbulkan resiko bilamana informasi yang sensitif dan berharga tersebut diakses oleh orang-orang yang tidak berhak (unauthorized persons). Misalnya, informasi mengenai nomor kartu kredit anda, bila informasi ini jatuh kepada orang-orang yang jahat maka anda harus bersiap-siap terhadap melonjaknya tagihan kartu kredit anda.

    Sebelum tahun 1970-an, teknologi kriptografi digunakan terbatas hanya untuk tujuan militer dan diplomatik. Akan tetapi kemudian bidang bisnis dan perorangan mulai menyadari pentingnya melindungi informasi berharga.

    Pengertian Dasar

    Suatu pesan yang tidak disandikan disebut sebagai plaintext ataupun dapat disebut juga sebagai cleartext. Proses yang dilakukan untuk mengubah plaintext ke dalam ciphertext disebut encryption atau encipherment. Sedangkan proses untuk mengubah ciphertext kembali ke plaintext disebut decryption atau decipherment. Secara sederhana istilah-istilah di atas dapat digambarkan sebagai berikut :

    Gb. 1. Proses Enkripsi/Dekripsi Sederhana

    Cryptography adalah suatu ilmu ataupun seni mengamankan pesan, dan dilakukan oleh cryptographer. Sedang, cryptanalysis adalah suatu ilmu dan seni membuka (breaking) ciphertext dan orang yang melakukannya disebut cryptanalyst.

    Cryptographic system atau cryptosystem adalah suatu fasilitas untuk mengkonversikan plaintext ke ciphertext dan sebaliknya. Dalam sistem ini, seperangkat parameter yang menentukan

  • Desep_priandes_1206541

    transformasi pencipheran tertentu disebut suatu set kunci. Proses enkripsi dan dekripsi diatur oleh satu atau beberapa kunci kriptografi. Secara umum, kunci-kunci yang digunakan untuk proses pengenkripsian dan pendekripsian tidak perlu identik, tergantung pada sistem yang digunakan.

    Secara umum operasi enkripsi dan dekripsi dapat diterangkan secara matematis sebagai berikut :

    EK (M) = C (Proses Enkripsi) DK (C) = M (Proses Dekripsi)

    Pada saat proses enkripsi kita menyandikan pesan M dengan suatu kunci K lalu dihasilkan pesan C. Sedangkan pada proses dekripsi, pesan C tersebut diuraikan dengan menggunakan kunci K sehingga dihasilkan pesan M yang sama seperti pesan sebelumnya.

    Dengan demikian keamanan suatu pesan tergantung pada kunci ataupun kunci-kunci yang digunakan, dan tidak tergantung pada algoritma yang digunakan. Sehingga algoritma-algoritma yang digunakan tersebut dapat dipublikasikan dan dianalisis, serta produk-produk yang menggunakan algoritma tersebut dapat diproduksi massal. Tidaklah menjadi masalah apabila seseorang mengetahui algoritma yang kita gunakan. Selama ia tidak mengetahui kunci yang dipakai, ia tetap tidak dapat membaca pesan.

    Cryptographic system (cryptosystem)

    Suatu cryptosystem terdiri dari sebuah algoritma, seluruh kemungkinan plaintext, ciphertext dan kunci-kunci. Secara umum cryptosystem dapat digolongkan menjadi dua buah, yaitu :

    1. 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.

    2. 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.

    Setiap cryptosytem yang baik harus memiliki karakteristik sebagai berikut :

  • Desep_priandes_1206541

    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

    Namun demikian perlu diperhatikan bahwa bila suatu cryptosystem berhasil memenuhi seluruh karateristik di atas belum tentu ia merupakan sistem yang baik. Banyak cryptosystem lemah yang terlihat baik pada awalnya. Kadang kala untuk menunjukkan bahwa suatu cryptosystem kuat atau baik dapat dilakukan dengan menggunakan pembuktian matematika.

    Hingga saat ini masih banyak orang yang menggunakan cryptosystem yang relatif mudah dibuka, alasannya adalah mereka tidak mengetahui sistem lain yang lebih baik serta kadang kala terdapat motivasi yang kurang untuk menginvestasikan seluruh usaha yang diperlukan untuk membuka suatu sistem.

    Cryptographic Protokol

    Pengertian

    Suatu protokol adalah serangkaian langkah yang melibatkan dua pihak atau lebih dan dirancang untuk menyelesaikan suatu tugas. Dari definisi ini dapat diambil beberapa arti sebagai berikut :

    protokol memiliki urutan dari awal hingga akhir; setiap langkah harus dilaksanakan secara bergiliran; suatu langkah tidak dapat dikerjakan bila langkah sebelumnya belum selesai; diperlukan dua pihak atau lebih untuk melaksanakan protokol; protokol harus mencapai suatu hasil;

    Selain itu, suatu protokol pun memiliki karakteristik yang lain, yaitu :

    setiap orang yang terlibat dalam protokol harus mengetahui terlebih dahulu mengenai protokol dan seluruh langkah yang akan dilaksanakan;

    setiap orang yang terlibat dalam protokol harus menyetujui untuk mengikutinya; protokol tidak boleh menimbulkan kerancuan; protokol harus lengkap;

    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.

    Fungsi Protokol

    Dalam kehidupan kita sehari-hari terdapat banyak sekali protokol tidak resmi, misalnya saja dalam permainan kartu, pemungutan suara dalam pemilihan umum. Akan tetapi tidak ada seorang pun yang memikirkan mengenai protokol-protokol ini, protokol-protokol ini terus berkembang, semua orang mengetahui bagaimana menggunakannya.

  • Desep_priandes_1206541

    Saat ini, semakin banyak interaksi antar manusia dilakukan melalui jaringan komputer. Komputer ini tentu saja memerlukan suatu protokol formal agar dapat melakukan hal yang biasa dilakukan manusia tanpa berpikir. Bila kita berpindah dari satu daerah ke daerah lain dan mengetahui bahwa kartu pemilihan suaranya berbeda dengan yang biasa kita gunakan, kita dapat beradaptasi dengan mudah. Akan tetapi kemampuan ini belum dimiliki oleh komputer, sehingga diperlukan suatu protokol.

    Protokol digunakan untuk mengabtraksikan proses penyelesaian suatu tugas dari mekanisme yang digunakan. Protokol komunikasi adalah sama meskipun diimplementasikan pada PC atau VAX. Bila kita yakin bahwa kita memiliki protokol yang baik, kita dapat mengimplementasikannya dalam segala benda mulai dari telepon hingga pemanggang roti cerdas.

    Penyerangan terhadap protokol

    Penyerangan cryptographic dapat ditujukan pada beberapa hal berikut :

    algoritma cryptographic yang digunakan dalam protokol; teknik cryptographic yang digunakan untuk mengimplementasikan algoritma dan

    protokol; protokol itu sendiri;

    Seseorang dapat mencoba berbagai cara untuk menyerang suatu protokol. Mereka yang tidak terlibat dalam protokol dapat menyadap sebagian atau seluruh protokol. Tindakan ini disebut penyerangan pasif, karena si penyerang tidak mempengaruhi atau mengubah protokol, ia hanya mengamati protokol dan berusaha untuk memperoleh informasi.

    Selain itu, seorang penyerang dapat berusaha untuk mengubah protokol demi keuntungannya sendiri. Ia dapat mengirimkan pesan dalam protokol, menghapus pesan, atau bahkan mengubah informasi yang ada di dalam suatu komputer. Tindakan-tindakan ini disebut sebagai penyerangan aktif, karena ia membutuhkan suatu campur tangan aktif.

    Seorang penyerang tidaklah hanya berasal dari lingkungan luar protokol, namun ia mungkin juga berasal dari dalam protokol itu sendiri, ia dapat merupakan salah satu pihak yang terlibat dalam protokol. Tipe penyerang semacam ini disebut sebagai cheater. Passive cheater mengikuti protokol, tetapi berusaha memperoleh informasi lebih banyak daripada yang diperbolehkan protokol bagi dirinya. Active cheater mengubah protokol dalam usahanya untuk berbuat curang.

    Usaha untuk menjaga keamanan protokol akan semakin sulit apabila pihak-pihak yang terlibat umumnya merupakan active cheater, oleh karena itu suatu protokol yang baik harus mampu atau pun harus aman terhadap kemungkinan passive cheating.

    Berbagai macam basic cryptanalytic attacks

    Tujuan cryptanalytic attack adalah untuk mengetahui beberapa plaintext yang sesuai dengan ciphertext yang ada dan berusaha menentukan kunci yang memetakan satu dengan yang lainnya. Plaintext ini dapat diketahui karena ia merupakan standar atau karena pendugaan. Jika suatu teks diduga berada di dalam suatu pesan, posisinya mungkin tidak diketahui, tetapi suatu pesan lazimnya cukup pendek sehingga memungkinkan cryptanalyst menduga plaintext yang diketahui dalam setiap posisi yang mungkin dan melakukan penyerangan pada setiap kasus secara paralel.

    Suatu algoritma enkripsi yang kuat tidak hanya mampu bertahan terhadap serangan plaintext yang dikenal tetapi juga mampu bertahan terhadap adaptive chosen plaintext. Dalam

  • Desep_priandes_1206541

    penyerangan ini, cryptanalyst berkesempatan memilih plaintext yang digunakan dan dapat melakukannya secara berulang kali, memilih plaintext untuk tahap N+1 setelah menganalisis hasil tahap N.

    Yang dimaksud cryptanalytic attacks adalah usaha-usaha yang dilakukan seseorang untuk memperoleh informasi ataupun data yang telah dienkripsi. Secara ringkas terdapat tujuh macam basic cryptanalytic attacks berdasarkan tingkat kesulitannya bagi penyerang, dimulai dari yang paling sulit adalah :

    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.

    Analisis berbagai tipe penyerangan secara matematis

    Suatu penyerangan pasif atas cryptosystem adalah semua metode untuk mengungkapkan informasi tentang plaintext dan ciphertextnya dengan tanpa mengetahui kunci. Secara matematis :

    Diberikan fungsi F, G, dan H yang terdiri dari n variabel. Diberikan sistem enkripsi E. Diberikan suatu distribusi plaintext dan kunci.

    Suatu penyerangan atas E dengan menggunakan G dengan mengasumsikan F membagi H dengan probabilitas p adalah suatu algoritma A dengan sepasang input f,g dan satu buah output

    h sedemikian hingga terdapat probabilitas p atas h = H(P1, , Pn), jika kita memiliki f =

    F(P1, , Pn) dan g = G(EK(P1), , EK(Pn)). Perlu diperhatikan bahwa probabilitas ini

    tergantung pada distribusi vektor-vektor (K,P1,,Pn).

    Penyerangan akan merupakan suatu trivial bila terdapat probabilitas paling sedikir p untuk h =

    H(P1, , Pn) jika f = F (P1,,Pn) dan g = G (C1,,Cn). Di sini C1,,Cn terletak pada

    ciphertext yang mungkin, dan tidak memiliki hubungan tertentu dengan P1,,Pn. Dengan kata

  • Desep_priandes_1206541

    lain, suatu serangan akan merupakan trivial bila ia tidak benar-benar menggunakan enkripsi

    EK(P1),,EK(Pn).

    Dengan merumuskan penyerangan secara matematis, kita dapat secara tepat memformulasikan dan bahkan membuktikan pernyataan bahwa suatu cryptosystem itu kuat. Kita katakan, sebagai contoh, bahwa suatu cryptosystem adalah aman terhadap seluruh penyerangan pasif jika sembarang penyerangan nontrivial terhadapnya tidak praktis. Jika kita dapat membuktikan pernyataan ini maka kita akan memiliki keyakinan bahwa cryptosystem kita akan bertahan terhadap seluruh teknik cryptanalytic pasif. Jika kita dapat mereduksi pernyataan ini hingga pada beberapa masalah yang tidak terpecahkan maka kita masih tetap memiliki keyakinan bahwa cryptosystem kita tidak mudah dibuka.

    Ciphertext-only attack

    Dengan menggunakan notasi di atas, suatu ciphertext-only attack adalah suatu penyerangan dengan F adalah konstanta. Diberikan hanya beberapa informasi G(EK(P1),..EK(Pn)) tentang n ciphertext, penyerangan harus memiliki kesempatan menghasilkan beberapa informasi H(P1,,Pn) tentang plaintext. Penyerangan akan merupakan suatu trivial bila ia hanya menghasilkan H(P1,,Pn) ketika diberikan G(C1,,Cn) untuk C1,,Cn acak.

    Sebagai contoh, misalkan G ( C ) = C dan misalkan H(P) adalah bit pertama P. Kita dapat secara mudah menulis suatu penyerangan, pendugaan, yang menduga bahwa H(P) adalah 1. Penyerangan ini adalah trivial karena tidak menggunakan ciphertext, probabilitas keberhasilannya adalah 50 %. Di lain pihak, terdapat penyerangan atas RSA yang memproduksi satu bit informasi tentang P, dengan probabilitas keberhasilan 100 %, menggunakan C. Jika diberikan suatu C acak maka tingkat kesuksesan turun menjadi 50%. Inilah yang disebut penyerangan nontrivial.

    Known-plaintext attack

    Penyerangan known-plaintext klasik memiliki F(P1,P2) = P1, G(C1,C2) = (C1,C2), dan H(P1,P2) tergantung hanya pada P2. Dengan kata lain, bila diberikan dua ciphertext C1 dan C2 dan satu dekripsi P1, penyerangan known-plaintext seharusnya menghasilkan informasi tentang dekripsi P2.

    Brute-force attack

    Umpamakan penyerangan known-plaintext berikut. Kita diberikan sejumlah plaintext P1,,Pn-1 dan ciphertext C1,,Cn-1. Kita juga diberikan sebuah ciphertext Cn. Kita jalankan seluruh kunci K. Bila kita temukan K sedemikian sehingga EK(P1) = Ci untuk setiap I

  • Desep_priandes_1206541

    Website dan FTP

    http://www.rsa.com (RSA Inc.) http://www.counterpane.com (Counterpane Inc.) http://theory.lcs.mit.edu/~rivest/ (Ronald L. Rivest-the R in RSA) http://www.cryptography.com

    Buku-buku

    Scheneier, Bruce, Applied Cryptography, edisi 2, New Jersey:John Wiley & Sons, Inc., 1996.

  • Desep_priandes_1206541

    Key-encripting Key Kunci kriptografi yang digunakan untuk mengenkripsi kunci lain, tetapi biasanya tidak digunakan untu...

    Cipher Algoritma kriptografi (cryptographic algorithm) berupa persamaan matematik yang digunakan dalam pros...

    RSA Merupakan algoritma kriptografi untuk kunci public (public key cryptography) yang umum digunakan saa...

    Cryptographers Para pelaku atau praktisi kriptografi.

    Digital Signature Algorithm DSA adalah merupakan teknik kriptografi yang berbasis kepada masalah matematika yang disebut discret...

    KRIPTOGRAFI

    Sebelum melangkah lebih jauh untuk melakukan analisis terhadap beberapa SPI yang

    ada, diperlukan perangkat-perangkat untuk membantu proses analisis tersebut. Salah satu

    dasar yang penting adalah penggunaan kriptografi sebagai landasan-landasan teoritis

    bagaimana sistem-sistem perdagangan di Internet tersebut melakukan pengamanan.

    Kriptografi adalah ilmu yang mempelajari bagaimana membuat suatu pesan yang dikirim

    pengirim dapat disampaikan kepada penerima dengan aman [Schn 96]. 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.

    Pembakuan penulisan pada kriptografi dapat ditulis dalam bahasa matematika. Fungsi-

    fungsi yang mendasar dalam kriptografi adalah enkripsi dan dekripsi. Enkripsi adalah

    proses mengubah suatu pesan asli (plaintext) menjadi suatu pesan dalam bahasa sandi

    (ciphertext).

    C = E (M)

    dimana

    M = pesan asli

    E = proses enkripsi

    C = pesan dalam bahasa sandi (untuk ringkasnya disebut sandi)

  • Desep_priandes_1206541

    Sedangkan dekripsi adalah proses mengubah pesan dalam suatu bahasa sandi menjadi

    pesan asli kembali.

    M = D (C)

    D = proses dekripsi

    Umumnya, selain menggunakan fungsi tertentu dalam melakukan enkripsi dan dekripsi,

    seringkali fungsi itu diberi parameter tambahan yang disebut dengan istilah kunci.

    Untuk memudahkan penggambaran suatu skenario komunikasi dalam pembahasan

    selanjutnya, maka dipergunakan nama-nama orang yang relevan dengan peran yang

    dilakukannya dalam komunikasi itu.

    Kode & nama Penjelasan

    A: Anto Pihak pertama

    B: Badu Pihak kedua

    C: Chandra Pihak ketiga

    E: Edi Pihak penyadap informasi yang tidak

    diperuntukkan kepadanya

    (eavesdropper)

    M: Maman Pihak yang tidak hanya menyadap

    informasi, namun juga mengubah

    informasi yang disadap (malacious

    person)

    T: Tari, Tata,

    Tania

    Pihak yang dipercaya oleh pihak

    pertama, kedua dan ketiga (trusted

    person)

    Tabel 3.1. Nama-nama ganti untuk mempermudah penjelasan

    Bab ini akan menguraikan mengenai beberapa jenis serangan, jenis-jenis kunci

    kriptografi, berbagai jenis perangkat dan protokol kriptografi, serta masalah panjang

    kunci kriptografi.

    Jenis Serangan

    Selain ada pihak yang ingin menjaga agar pesan tetap aman, ada juga ternyata pihak-

    pihak yang ingin mengetahui pesan rahasia tersebut secara tidak sah. Bahkan ada pihak-

    pihak yang ingin agar dapat mengubah isi pesan tersebut. Ilmu untuk mendapatkan pesan

    yang asli dari pesan yang telah disandikan tanpa memiliki kunci untuk membuka pesan

  • Desep_priandes_1206541

    rahasia tersebut disebut kriptoanalisis. Sedangkan usaha untuk membongkar suatu pesan

    sandi tanpa mendapatkan kunci dengan cara yang sah dikenal dengan istilah serangan

    (attack).

    Di bawah ini dijelaskan beberapa macam penyerangan terhadap pesan yang sudah

    dienkripsi:

    1. Ciphertext only attack, penyerang hanya mendapatkan pesan yang sudah tersandikan saja.

    2. Known plaintext attack, dimana penyerang selain mendapatkan sandi, juga mendapatkan pesan asli. Terkadang disebut pula clear-text attack.

    3. Choosen plaintext attack, sama dengan known plaintext attack, namun penyerang bahkan dapat memilih penggalan mana dari pesan asli yang akan disandikan.

    Berdasarkan bagaimana cara dan posisi seseorang mendapatkan pesan-pesan dalam

    saluran komunikasi, penyerangan dapat dikategorikan menjadi:

    1. 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.

    2. 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.

    3. 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.

    4. 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.

    Kabel koaksial yang sering dipergunakan pada jaringan sangat rentan terhadap serangan

    vampire tap [Tane 89], yakni perangkat keras sederhana yang bisa menembus bagian

    dalam kabel koaksial sehingga dapat mengambil data yang mengalir tanpa perlu

    memutuskan komunikasi data yang sedang berjalan. Seseorang dengan vampire tap dan

    komputer jinjing dapat melakukan serangan pada bagian apa saja dari kabel koaksial.

  • Desep_priandes_1206541

    Penyerang juga bisa mendapatkan kunci dengan cara yang lebih tradisional, yakni dengan

    melakukan penyiksaan, pemerasan, ancaman, atau bisa juga dengan menyogok seseorang

    yang memiliki kunci itu. Ini adalah cara yang paling ampuh untuk mendapat kunci.

    Kunci Simetris

    Ini adalah jenis kriptografi yang paling umum dipergunakan. Kunci untuk membuat

    pesan yang disandikan sama dengan kunci untuk membuka pesan yang disandikan itu.

    Jadi pembuat pesan dan penerimanya harus memiliki kunci yang sama persis. Siapapun

    yang memiliki kunci tersebut termasuk pihak-pihak yang tidak diinginkan dapat membuat dan membongkar rahasia ciphertext. Problem yang paling jelas disini terkadang

    bukanlah masalah pengiriman ciphertext-nya, melainkan masalah bagaimana

    menyampaikan kunci simetris tersebut kepada pihak yang diinginkan. Contoh algoritma

    kunci simetris yang terkenal adalah DES (Data Encryption Standard) dan RC-4.

    Gambar 3.1. Kunci simetris

    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

  • Desep_priandes_1206541

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

    Fungsi Hash Satu Arah

    Kini akan dibahas mengenai keutuhan pesan saat dikirimkan. Bagaimana jika Anto

    mengirimkan surat pembayaran kepada Badu sebesar 1 juta rupiah, namun di tengah jalan

    Maman (yang ternyata berhasil membobol sandi entah dengan cara apa) membubuhkan

    angka 0 lagi dibelakangnya sehingga menjadi 10 juta rupiah? Di mata Tari, pesan

    tersebut harus utuh, tidak diubah-ubah oleh siapapun, bahkan bukan hanya oleh Maman,

    namun juga termasuk oleh Anto, Badu dan gangguan pada transmisi pesan (noise). Hal

    ini dapat dilakukan dengan fungsi hash satu arah (one-way hash function), yang

    terkadang disebut sidik jari (fingerprint), hash, message integrity check, atau

    manipulation detection code.

    Saat Anto hendak mengirimkan pesannya, dia harus membuat sidik jari dari pesan yang

    akan dikirim untuk Badu. Pesan (yang besarnya dapat bervariasi) yang akan di-hash

    disebut pre-image, sedangkan outputnya yang memiliki ukurannya tetap, disebut hash-

    value (nilai hash). Kemudian, melalui saluran komunikasi yang aman, dia mengirimkan

    sidik jarinya kepada Badu. Setelah Badu menerima pesan si Anto tidak peduli lewat saluran komunikasi yang mana Badu kemudian juga membuat sidik jari dari pesan yang telah diterimanya dari Anto. Kemudian Badu membandingkan sidik jari yang dibuatnya

    dengan sidik jari yang diterimanya dari Anto. Jika kedua sidik jari itu identik, maka Badu

    dapat yakin bahwa pesan itu utuh tidak diubah-ubah sejak dibuatkan sidik jari yang

    diterima Badu. Jika pesan pembayaran 1 juta rupiah itu diubah menjadi 10 juta rupiah,

    tentunya akan menghasilkan nilai hash yang berbeda.

    Gambar 3.3. Membuat sidik jari pesan

    Fungsi hash untuk membuat sidik jari tersebut dapat diketahui oleh siapapun, tak

    terkecuali, sehingga siapapun dapat memeriksa keutuhan dokumen atau pesan tertentu.

    Tak ada algoritma rahasia dan umumnya tak ada pula kunci rahasia.

    Jaminan dari keamanan sidik jari berangkat dari kenyataan bahwa hampir tidak ada dua

    pre-image yang memiliki hash-value yang sama. Inilah yang disebut dengan sifat

  • Desep_priandes_1206541

    collision free dari suatu fungsi hash yang baik. Selain itu, sangat sulit untuk membuat

    suatu pre-image jika hanya diketahui hash-valuenya saja.

    Contoh algoritma fungsi hash satu arah adalah MD-5 dan SHA. Message authentication

    code (MAC) adalah salah satu variasi dari fungsi hash satu arah, hanya saja selain pre-

    image, sebuah kunci rahasia juga menjadi input bagi fungsi MAC.

    Tanda Tangan Digital

    Badu memang dapat merasa yakin bahwa sidik jari yang datang bersama pesan yang

    diterimanya memang berkorelasi. Namun bagaimana Badu dapat merasa yakin bahwa

    pesan itu berasal dari Anto? Bisa saja saat dikirimkan oleh Anto melalui saluran

    komunikasi yang tidak aman, pesan tersebut diambil oleh Maman. Maman kemudian

    mengganti isi pesan tadi, dan membuat lagi sidik jari dari pesan yang baru diubahnya itu.

    Lalu, Maman mengirimkan lagi pesan beserta sidik jarinya itu kepada Badu, seolah-oleh

    dari Anto.

    Untuk mencegah pemalsuan, Anto membubuhkan tanda tangannya pada pesan tersebut.

    Dalam dunia elektronik, Anto membubuhkan tanda tangan digitalnya pada pesan yang

    akan dikirimkan untuk Badu sehingga Badu dapat merasa yakin bahwa pesan itu memang

    dikirim oleh Anto.

    Sifat yang diinginkan dari tanda tangan digital diantaranya adalah:

    1. Tanda tangan itu asli (otentik), tidak mudah ditulis/ditiru oleh orang lain. Pesan dan tanda tangan pesan tersebut juga dapat menjadi barang bukti, sehingga

    penandatangan tak bisa menyangkal bahwa dulu ia tidak pernah

    menandatanganinya.

    2. Tanda tangan itu hanya sah untuk dokumen (pesan) itu saja. Tanda tangan itu tidak bisa dipindahkan dari suatu dokumen ke dokumen lainnya. Ini juga berarti

    bahwa jika dokumen itu diubah, maka tanda tangan digital dari pesan tersebut

    tidak lagi sah.

    3. Tanda tangan itu dapat diperiksa dengan mudah. 4. Tanda tangan itu dapat diperiksa oleh pihak-pihak yang belum pernah bertemu

    dengan penandatangan.

    5. Tanda tangan itu juga sah untuk kopi dari dokumen yang sama persis.

    Meskipun ada banyak skenario, ada baiknya kita perhatikan salah satu skenario yang

    cukup umum dalam penggunaan tanda tangan digital. Tanda tangan digital

    memanfaatkan fungsi hash satu arah untuk menjamin bahwa tanda tangan itu hanya

    berlaku untuk dokumen yang bersangkutan saja. Bukan dokumen tersebut secara

    keseluruhan yang ditandatangani, namun biasanya yang ditandatangani adalah sidik jari

    dari dokumen itu beserta timestamp-nya dengan menggunakan kunci privat. Timestamp

    berguna untuk menentukan waktu pengesahan dokumen.

  • Desep_priandes_1206541

    Gambar 3.4. Pembuatan tanda tangan digital

    Keabsahan tanda tangan digital itu dapat diperiksa oleh Badu. Pertama-tama Badu

    membuat lagi sidik jari dari pesan yang diterimanya. Lalu Badu mendekripsi tanda

    tangan digital Anto untuk mendapatkan sidik jari yang asli. Badu lantas membandingkan

    kedua sidik jari tersebut. Jka kedua sidik jari tersebut sama, maka dapat diyakini bahwa

    pesan tersebut ditandatangani oleh Anto.

    Gambar 3.5. Pemeriksaan keabsahan tanda tangan digital

    Masalah Pertukaran Kunci Publik

    Anto hendak mengirimkan Badu suatu dokumen rahasia. Jika mereka belum pernah

    bertemu sebelumnya, tentu Badu harus mengirimkan kunci publiknya kepada Anto agar

    Anto dapat melakukan enkripsi yang pesannya hanya dapat dibuka oleh Badu. Demikian

    juga pula sebaliknya, Anto harus mengirimkan kepada Badu kunci publiknya agar Badu

    dapat memeriksa keaslian tanda tangan Anto pada pesan yang dikirim. Dengan cara ini

    Anto dapat memastikan pesan itu sampai ke tujuannya, sedangkan Badu dapat merasa

    yakin bahwa pengirim pesan itu adalah Anto.

    Masalah yang muncul adalah bagaimana mereka dapat saling bertukar kunci dengan

    aman? Bisa saja di tengah pertukaran kunci-kunci publik milik Anto dan Budi itu diganti

    dengan kunci publik milik Maman. Dengan begitu Maman dengan bebas dapat menyadap

    dan mengubah seluruh informasi. Inilah suatu contoh dari man-in-the-middle attack.

  • Desep_priandes_1206541

    Anto dan Badu harus sama-sama yakin bahwa kunci-kunci publik yang mereka dapatkan

    benar-benar otentik. Mereka bisa mendapatkannya dari sesorang yang dipercaya, Tari

    misalnya. Setiap anggota jaringan diasumsikan telah memiliki saluran komunikasi pribadi

    yang aman dengan Tari. Saluran inilah yang dimanfaatkan untuk mengirim kunci publik

    Badu ke Anto (dan sebaliknya). Tari menjadi penjamin keabsahan kunci jika Anto dan

    Badu sebelumnya tidak pernah bertukar kunci publik. Skenario ini tetap membutuhkan

    kunci-kunci kriptografi lagi (baik itu kunci simetris ataupun kunci asimetris) untuk

    pengamanan saluran komunikasi antara Tari dengan Anto atau Badu.

    Sertifikat Digital

    Masalah di atas dapat dipecahkan dengan penggunaan sertifikat digital. Tari tidak lagi

    setiap saat menjadi penukar kunci, namun Tari cukup menandatangani kunci publik milik

    setiap orang di jaringan tersebut. Sebenarnya dalam sertifikat tersebut tak hanya berisi

    kunci publik, namun dapat berisi pula informasi penting lainnya mengenai jati diri

    pemilik kunci publik, seperti misalnya nama, alamat, pekerjaan, jabatan, perusahaan dan

    bahkan hash dari suatu informasi rahasia. Semua orang mempercayai otoritas Tari dalam

    memberikan tanda tangan, sehingga orang-orang dalam jaringan itu merasa aman

    menggunakan kunci publik yang telah ditandatangani Tari.

    Gambar 3.6. Contoh sertifikat digital

    Jika Maman berhasil mencuri sertifikat digital yang dipertukarkan antara Anto dan Badu,

    serta menggantinya dengan sertifikat digital milik dirinya sendiri, maka Anto dan Badu

    dapat segera melihat bahwa sertifikat digital yang diterimanya bukan lawan bicara yang semestinya.

    Bagaimana jika Chandra yang berada di luar jaringan Tari hendak berkomunikasi dengan Anto? Chandra memiliki juga sertifikat, tetapi tidak ditandatangani oleh Tari,

    melainkan oleh Tata, seseorang yang dipercaya dalam jaringan tempat Chandra berada.

    Tari dan Tata adalah otoritas sertifikat (certificate authority), yaitu pihak-pihak yang

    berwenang memberikan sertifikat. Namun Anto tidak mengenal dan tidak mempercayai

    Tata. Masalah ini dapat diselesaikan jika ada otoritas sertifikat (OS) yang kedudukannya

    lebih tinggi dari Tata dan Tari katakanlah Tania. Tania memberikan pengesahan kepada Tata dan Tari. Jadi ada hirarki dari sertifikat digital. Jika Tania berada pada kedudukan

  • Desep_priandes_1206541

    hirarki yang paling tinggi, maka Tania disebut otoritas sertifikat utama (root certificate

    authority).

    Anto mempercayai tanda tangan Tari. Namun karena Tari sendiri keberadaannya

    disahkan oleh Tania, tentunya Anto harus mengakui otoritas Tania. Jika Tania

    memberikan pengesahan kepada OS lain dibawahnya, seperti Tata, maka dengan merunut

    struktur hirarki percabangan OS, Anto dapat memeriksa kebenaran sertifikat digital milik

    Chandra yang disahkan oleh Tata.

    Gambar 3.7. Contoh hirarki otoritas sertifikat digital

    Serangan terhadap sistem yang memiliki pengamanan dengan sertifikat digital sulit

    dilakukan. Jelas Edi tidak mendapatkan apa-apa kalaupun ia memainkan ulang

    percakapan antara Anto dan Chandra. Edi membutuhkan kunci privat untuk bisa

    membuka pesan-pesan yang dipertukarkan, padahal kunci privat itu tidak ada di dalam

    sertifikat digital.

    Penukaran sertifikat digital Chandra dengan sertifikat digital Maman akan segera

    diketahui, karena sertifikat digital itu pasti berbeda. Sedangkan jika sertifikat yang

    dipertukarkan antara Chandra dan Anto tidak diganti, tetapi yang diganti oleh Maman

    adalah pesan yang dipertukarkan, maka tentu ada ketidakcocokan dalam pemeriksaan

    tanda tangan digital.

    Secara teoritis keunggulan dari tanda tangan digital adalah kemampuan untuk melakukan

    proses otentikasi secara off-line. Pemeriksa cukup memiliki kunci publik dari OS utama

    untuk mengetahui sah-tidaknya kunci publik dari lawan bicaranya. Selain itu untuk

  • Desep_priandes_1206541

    meningkatkan keamanan, kunci publik OS utama bisa saja diintegrasikan dalam program

    aplikasi. Namun kenyataannya, karena ada kemungkinan sertifikat digital tersebut hilang,

    tercuri atau identitas pemilik sertifikat berubah (perubahan alamat surat elektronik atau

    nomor KTP misalnya), maka sertifikat digital perlu diperiksa keabsahannya dengan

    melihat daftar sertifikat terbatalkan (certificate revocation list) yang disimpan oleh OS.

    Tanda Tangan Pesan Ganda

    Andaikan Anto membuat perjanjian jual-beli dengan Badu. Untuk masalah pembayaran,

    Anto menginstruksikan bank untuk memberikan kepada Badu sejumlah uang sesuai

    dengan perjanjian jual-beli, namun Anto tidak ingin agar bank mengetahui isi perjanjian

    jual-beli itu.

    1. Anto membuat sidik jari dari SPP (yaitu Hash(SPP)) dan sidik jari SPJB (yakni Hash(SPJB)).

    2. Kemudian, Anto membuat sebuah sidik jari baru dari gabungan kedua sidik jari sebelumnya ( Hash ( (Hash(SPP) + Hash(SPJB) ) ). Hasil hash tersebut

    dinamakan sidik jari pesan ganda SPP & SPJB.

    3. Anto menyerahkan surat perjanjian jual belinya kepada Badu. Selain itu Anto juga menyerahkan surat perintah pembayaran beserta sidik jari pesan ganda SPP &

    SPJB kepada bank.

    4. Saat Badu ingin mengambil uang di bank, Badu membuat sidik jari dari surat perjanjian jual beli (SPJB). Badu menyerahkan sidik jari SPJB kepada bank.

    5. Bank membuat sidik jari dari surat perintah pembayaran (SPP). 6. Bank menggabungkan sidik jari SPP dengan sidik jari SPJB yang diterimanya

    dari Badu, kemudian meng-hash-nya sehingga dihasilkan sidik jari pesan ganda

    SPP & SPJB.

    7. Jika sidik jari pesan ganda SPP & SPJB yang baru dibuat itu sama dengan yang telah diberikan oleh Anto, maka bank menjalankan kewajibannya kepada Badu.

  • Desep_priandes_1206541

    Gambar 3.8. Pembuatan sidik jari pesan ganda

    Jika sidik jari pesan ganda SPP & SPJB dienkripsi dengan kunci privat Anto, maka akan

    menjadi tanda tangan pesan ganda (dual-signature) Anto untuk kedua perjanjian tersebut

    [ViMa 97].

    Protokol Pembagian Rahasia

    Jika Anto memiliki rahasia, ia dapat memberikan separuh rahasia itu kepada Badu dan separuh rahasia itu kepada Chandra. Badu, yang menerima paruh pertama rahasia Anto, tidak bisa mengetahui apa isi rahasia itu. Demikian pula dengan Chandra. Namun, jika

    Badu dan Chandra menggabungkan potongan-potongan rahasia itu, maka akan tergambar

    rahasia Anto. Pembagian rahasia (secret splitting) dapat dilakukan dengan cara:

    1. Anto membuat seuntai string acak R yang panjangnya sama dengan pesan rahasia M.

    2. Anto melakukan operasi XOR antara M dengan R, sehingga menghasilkan S. 3. Anto memberikan R kepada Badu dan S kepada Chandra 4. Jika Badu dengan Chandra bertemu, maka mereka sanggup mendapatkan pesan

    rahasia M dengan cara melakukan operasi XOR antara S dengan R.

    Protokol Komitmen-Bit

    Protokol ini bermanfaat kalau misalnya Anto hendak membuat suatu pernyataan atau

    komitmen (katakanlah suatu string binari 1000), namun Anto tak ingin agar Badu

  • Desep_priandes_1206541

    mengetahui isi pernyatan tersebut sebelum saatnya. Badu harus merasa yakin bahwa Anto

    pada saatnya nanti, benar-benar mengeluarkan isi pernyataan yang sebenarnya saat

    melakukan komitmen, dan tidak mengeluarkan pernyataan yang sudah diubah (misalnya

    mengubah string tadi menjadi 1001). Ada beberapa jenis protokol komitmen-bit, namun

    di bawah ini hanya dijelaskan salah satu diantaranya, yakni dengan fungsi hash satu arah:

    1. Anto membuat dua buah string secara acak, yakni R1 dan R2 2. Anto menggabungkan kedua string acak itu ke dalam pernyataannya (b) yang

    akan dikomitmenkan menjadi (R1, R2, b)

    3. Anto menghitung hash dari gabungan string itu, Hash(R1, R2, b). 4. Anto kemudian mengirimkan hash tersebut beserta R1 kepada Badu. Badu akan

    menyimpannya untuk pemeriksaan nanti.

    5. Jika sudah tiba saatnya untuk menunjukkan pernyataannya, Anto memberikan seluruh string (R1, R2, b) kepada Badu.

    6. Badu memeriksa fungsi hash dari (R1, R2, b). Jika cocok dengan hash yang diperiksanya dulu, maka pernyataan Anto tidak diubah.

    Tanda Tangan Buta

    Badu disodori 100 amplop tertutup oleh Anto. Amplop itu berisi secarik pesan dan kertas

    karbon. Badu membuka 99 amplop secara acak. Jika seluruh amplop yang dibuka

    ternyata berisi pesan yang mirip, maka Badu dapat merasa bahwa amplop ke-100 juga

    berisi pesan yang mirip pula. Namun, jika satu saja dari 99 amplop tadi ada yang isi

    berbeda dari yang lain, maka Badu dapat mencurigai bahwa isi amplop ke-100 bisa saja

    juga tidak mirip dengan isi ke-98 amplop lainnya.

    Dalam kasus dimana ternyata ke-99 amplop yang dibuka secara acak tadi berisi pesan

    yang mirip, maka dengan keyakinan yang cukup tinggi Badu berani menandatangani

    amplop terakhir yang belum dibuka. Tanda tangan Badu akan menembus amplop dan

    kertas karbon, sehingga pesan dalam amplop akan tertandatangani oleh Badu. Badu

    kurang lebih tahu apa isi pesan di amplop ke-100 itu. Protokol tanda tangan buta (blind

    signature) bekerja sebagai berikut:

    1. Anto mengalikan dokumen (yang akan ditandatangani) dengan sebuah faktor pembuta.

    2. Anto mengirimkan dokumen itu kepada Badu 3. Badu menandatangani dokumen itu 4. Badu mengembalikan dokumen yang sudah ditandatangani tadi kepada Anto 5. Anto membaginya dengan faktor pembuta, sehingga mendapatkan dokumen yang

    asli sudah tertandatangani oleh Badu.

    Protokol Uang Digital

    1. Deskripsi Protokol

  • Desep_priandes_1206541

    Berdasarkan beberapa teori penunjang di atas, maka dapatlah dibangun suatu protokol

    untuk uang digital. David Chaum, memiliki beberapa paten atas protokol uang digital

    yang diciptakannya. Berikut ini dijelaskan salah satu protokol uang digital:

    1. Anto menyiapkan n lembar uang dengan nilai tertentu. Setiap uang diberi nomor seri acak X yang cukup panjang, sehingga kemungkinan 2 bilangan acak sama

    kecil sekali. Dalam setiap uang juga ada n (I1, I2, , In) string identifikasi yang berguna untuk memberikan informasi mengenai pemilik uang, yakni Anto. Anto

    kemudian memecah tiap-tiap string identitas diri itu tadi menjadi dua bagian

    dengan menggunakan protokol pemecahan rahasia. Lantas Anto melakukan bit-

    komitmen pada setiap pecahan. Contoh uang yang disiapkan adalah:

    Nilai: Rp.1.000,-

    Nomor seri acak: X

    String identitas: I1 = (I1L, I1R)

    I2 = (I2L, I2R)

    . . . .

    In = (InL, InR)

    2. Anto memasukkan uang itu kedalam yang juga disisipi kertas karbon amplop (mengalikan uang dengan faktor pembuta), lalu memberikannya kepada bank.

    3. Bank akan meminta Anto untuk membuka n - 1 amplop itu secara acak. Bank memeriksa apakah semua uang tersebut memiliki nilai yang sama. Bank juga

    meminta kepada Anto untuk membuktikan kejujuran dirinya saat menuliskan

    string identifikasi pada uang itu, dengan cara menggabungkan pasangan-pasangan

    string identifikasi.

    4. Jika bank merasa bahwa Anto tidak melakukan kecurangan, maka bank akan menandatangani uang terakhir yang masih di dalam amplop itu dan

    menyerahkannya kepada Anto. Tanda tangan bank akan menembus amplop dan

    kertas karbon sehingga uang di dalamnya tertandatangani.

    5. Anto membuka amplop. Uang siap dipakai. 6. Anto menyerahkan uang kepada Badu. Badu sebagai penerima uang, akan

    memeriksa apakah tanda tangan bank pada uang itu absah.

    7. Badu akan menyuruh Anto untuk membuka salah satu sisi dari setiap string identifikasi di setiap uang dengan cara memberikan string pemilih sepanjang n-

    bit. Artinya, jika string pemilih itu b1, b2, , bn maka Anto harus membuka sisi kiri atau kanan dari Ii, tergantung apakah bi itu 0 atau 1.

    8. Setelah itu Badu membawa uang tersebut ke bank. Bank akan memeriksa apakah nomor seri uang tersebut sudah pernah diterima oleh bank. Kalau belum ada,

    maka uang tersebut dinyatakan sah.

    9. Jika nomor seri uang itu sudah pernah diterima oleh bank, maka bank akan memeriksa string identitas yang sudah terbuka pada uang itu dan

    membandingkannya dengan string identitas pada uang dengan nomor seri sama

    yang pernah diterima bank sebelumnya. Jika ternyata string identitas itu sama,

    maka berarti Badu yang menggandakan uang tersebut. Namun jika berbeda, maka

    berarti Anto yang menggandakan uang digital tersebut.

  • Desep_priandes_1206541

    2. Pembelanjaan Ganda

    Jika Anto menggandakan uang digitalnya lalu menggunakan uang digital yang sama itu

    dua kali, bank dapat mendeteksinya meskipun Badu tidak bisa. Badu memang

    membuka identitas uang, namun hanya separuh-separuh. Kalau uang digital itu pernah diberikan Anto kepada Chandra, maka tentu Chandra juga pernah membuka separuh identitas uang digital tadi secara acak. Nah, kemungkinan bahwa proses pembukaan

    identitas oleh Badu dan Chandra itu sama (maksudnya sama urutan pembukaannya,

    misalnya kiri-kiri-kanan-kiri-kanan, dan seterusnya) adalah 1 per 2n. Andaikan n cukup

    besar, katakanlah 16 saja, maka kemungkinan Badu dan Chandra secara acak membuka

    paruhan identitas dengan urutan sama adalah 1 : 65536. Artinya, jika Anto memberikan

    uangnya kepada dua orang yang berbeda, kemungkinan besar paruhan identitas yang

    dibuka juga berbeda. Jika saat otentikasi uang digital oleh bank ditemukan bahwa ada

    uang digital dengan nomor seri sama yang telah diuangkan, dan paruhan identitasnya

    berbeda, maka kemungkinan besar Anto menyerahkan uang digital yang sama kepada

    dua orang yang berbeda.

    Sedangkan apabila Badu menguangkan uang digital yang sama dua kali, karena paruhan

    identitas dari uang digital yang diotentikasi itu sama persis dengan yang sudah tercatat,

    maka kemungkinan besar uang itu diberikan Anto kepada orang yang sama. Badulah

    yang ketahuan menguangkan uang digital yang sama dua kali. Penggunaan uang digital

    yang sama dua kali dikenal dengan istilah pembelanjaan ganda (double spending).

    Panjang Kunci

    Panjang Kunci Simetris

    Meskipun ada beberapa cara bagi seorang kriptoanalis untuk memecahkan pesan rahasia,

    namun cara yang cukup umum dilakukan adalah dengan melakukan brute-force attack.

    Dengan cara ini, seorang penyerang mencoba seluruh kemungkinan kunci yang ada,

    sampai menemukan sebuah kunci yang jika dipergunakan untuk mendekripsi pesan yang

    disandikan akan memunculkan suatu pesan yang bermakna. Tentunya cara ini bermanfaat

    hanya jika sudah diketahui algoritmanya, namun tidak diketahui kuncinya apa.

    PIN 5 digit berarti biasanya ada 100.000 kombinasi. Kelihatannya cukup, namun

    sebenarnya kurang. Dengan sebuah komputer pribadi saja bisa dengan mudah

    diselesaikan. Salah satu pencegahannya adalah dengan pembatasan seberapa banyak

    pemakai dapat mencoba memasukkan PIN. Biasanya dibatasi tiga kali.

    Berikut ini diberikan contoh dari brute-force attack pada suatu algoritma geser pada papan ketik QWERTY:

    Sandi zsdyrtvstf dicoba dengan kunci 3 menjadi bjkwpqmjql

    Sandi zsdyrtvstf dicoba dengan kunci 2 menjadi nkleqwzkwa

    Sandi zsdyrtvstf dicoba dengan kunci 1 menjadi mastercard

  • Desep_priandes_1206541

    Ternyata kunci 1 cocok, karena dalam pesan yang disandikan itu mungkin ada transaksi

    yang menggunakan kartu kredit mastercard. Dengan menggunakan kunci yang sama, kemudian penyerang berusaha mendekripsikan bagian-bagian lain dari pesan, mungkin

    berusaha mengambil nomor kartu kreditnya. Kunci itu juga dapat dipakai untuk

    keperluan lain, misalnya untuk melakukan penipuan (spoofing).

    DES, sebuah algoritma simetris, memiliki panjang kunci 56-bit, artinya ada 256

    kemungkinan kunci. Sedangkan peraturan di Amerika Serikat yang akan diberlakukan

    pada tahun 1998 nanti akan melarang ekspor teknologi enkripsi lebih dari 40-bit.

    Sedangkan untuk keperluan dalam negeri Amerika Serikat, kunci 128-bit masih diizinkan

    penggunaannya [Star 97].

    Tahun 1995, Michael Wierner merancang sebuah chip yang mengkhususkan diri untuk

    melakukan brute-force attack pada metoda enkripsi DES [Schn 96]. Chip tersebut dapat

    menemukan kunci rahasia dalam waktu rata-rata 3,5 jam dan kunci itu dijamin dapat

    ditemukan dalam waktu 7 jam. Harga pembuatannya adalah 1 juta dollar AS. Sesuai

    hukum Moore, setiap 18 bulan kemampuan komputer meningkat 2 kali lipat untuk harga

    yang sama. Maka, pada tahun 2000, harga chip itu hanya berkisar 100.000 dolar AS.

    Harga ini masih dalam jangkauan daya beli beberapa mafia kejahatan terorganisir.

    Karena itu, kini disarankan untuk menggunakan DES dengan kunci 112-bit.

    Panjang kunci DES Jaminan waktu untuk menemukan kunci

    40-bit 0,4 detik

    56-bit 7 jam

    64-bit 74 jam 40 menit

    128-bit 157.129.203.952.300.000 tahun

    Tabel 3.2. Serangan brute-force pada DES

    Protokol keamanan SSL (Secure Socket Layer) pada Netscape Navigator menggunakan

    algoritma RC4 40-bit untuk enkripsi simetrisnya. Tahun 1995, Damien Doligez

    menjebolnya menggunakan 120 komputer Unix yang terhubung pada jaringan dalam

    waktu 8 hari [Star 97]. Dengan cara seperti ini, dijamin bahwa dalam 15 hari kunci itu

    pasti ditemukan.

    Panjang kunci RC4 Jaminan waktu untuk menemukan kunci

    40-bit 15 hari

    56-bit 2.691,49 tahun

    64-bit 689.021,57 tahun

  • Desep_priandes_1206541

    128-bit 12.710.204.652.610.000.000.000.000 tahun

    Tabel 3.3. Serangan brute-force pada RC4

    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

  • Desep_priandes_1206541

    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?

    Kembali ke daftar isi

    Bab 22. Keamanan Sistem

    Kriptografi

    Dasar enkripsi cukup sederhana. Pengirim menjalankan fungsi enkripsi pada pesan

    plaintext, ciphertext yang dihasilkan kemudian dikirimkan lewat jaringan, dan penerima

    menjalankan fungsi dekripsi (decryption) untuk mendapatkan plaintext semula. Proses

    enkripsi/dekripsi tergantung pada kunci (key) rahasia yang hanya diketahui oleh pengirim

    dan penerima. Ketika kunci dan enkripsi ini digunakan, sulit bagi penyadap untuk

    mematahkan ciphertext, sehingga komunikasi data antara pengirim dan penerima aman.

    Kriptografi macam ini dirancang untuk menjamin privasi: mencegah informasi menyebar

    luas tanpa izin. Akan tetapi, privaci bukan satu-satunya layanan yang disediakan

    kriptografi. Kriptografi dapat juga digunakan untuk mendukung authentication

    (memverifikasi identitas pengguna) dan integritas (memastikan bahwa pesan belum

    diubah).

    Kriptografi digunakan untuk mencegah orang yang tidak berhak untuk memasuki

    komunikasi, sehingga kerahasiaan data dapat dilindungi. Secara garis besar, kriptografi

    digunakan untuk mengirim dan menerima pesan. Kriptografi pada dasarnya berpatokan

    pada kunci yang secara selektif telah disebar pada komputer-komputer yang berada

    dalam satu jaringan dan digunakan untuk memroses suatu pesan.

    Operasional

    Keamanan operasional (operations security) adalah tindakan apa pun yang menjadikan

    sistem beroperasi secara aman, terkendali, dan terlindung. Yang dimaksud dengan sistem

    adalah jaringan, komputer, lingkungan. Suatu sistem dinyatakan operasional apabila

    sistem telah dinyatakan berfungsi dan dapat dijalankan dengan durasi yang

    berkesinambungan, yaitu dari hari ke hari, 24 jam sehari, 7 hari seminggu.

    Manajemen Administratif (Administrative Management) adalah penugasan individu

    untuk mengelola fungsi-fungsi keamanan sistem. Beberapa hal yang terkait:

  • Desep_priandes_1206541

    1. Pemisahan Tugas (Separation of Duties). Menugaskan hal-hal yang menyangkut keamanan kepada beberapa orang saja. Misalnya, yang berhak menginstall

    program ke dalam system komputer hanya admin, user tidak diberi hak tersebut.

    2. Hak Akses Minimum (Least Privilege). Setiap orang hanya diberikan hak akses minimum yang dibutuhkan dalam pelaksanaan tugas mereka

    3. Keingin-tahuan (Need to Know). Yang dimaksud dengan need to know adalah pengetahuan akan informasi yang dibutuhkan dalam melakukan suatu pekerjaan.

    Kategori utama dari kontrol keamanan operasional antara lain:

    1. Kendali Pencegahan (Preventative Control). Untuk mencegah error dan intruder temasuki sistem. Misal, kontrol pencegahan untuk mencegah virus memasuki

    sistem adalah dengan menginstall antivirus.

    2. Kontrol Pendeteksian (Detective Control). Untuk mendeteksi error yang memasuki sistem. Misal, mencari virus yang berhasil memasuki sistem.

    3. Kontrol Perbaikan (Corrective/Recovery Control). Membantu mengembalikan data yang hilang melalui prosedur recovery data. Misal, memperbaiki data yang

    terkena virus.

    Kategori lainnya mencakup:

    1. Kendali Pencegahan (Deterrent Control). . Untuk menganjurkan pemenuhan (compliance) dengan kontrol eksternal.

    2. Kendali Aplikasi (Application Control) . Untuk memperkecil dan mendeteksi operasi-operasi perangkat lunak yang tidak biasa.

    3. Kendali Transaksi (Transaction Control) . Untuk menyediakan kendali di berbagai tahap transaksi (dari inisiasi sampai keluaran, melalui kontrol testing dan

    kontrol perubahan).

    Terminologi Kriptografi

    a. 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 yang tersandi disebut cipherteks

    b. 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.

    c. Enkripsi dan dekripsi

  • Desep_priandes_1206541

    Proses menyandikan plainteks menjadi cipherteks disebut enkripsi. Sedangkan proses mengembalikan

    cipherteks menjadi plainteks semula dinamakan dekripsi

    d. Cipher dan kunci

    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.

    e. Sistem kriptografi

    Sistem kriptografi merupakan kumpulan yang terdiri dari algoritma kriptografi, semua plainteks dan

    cipherteks yang mungkin dan kunci.

    f. 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.

    g. 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.

    Sejarah Kriptografi

    Sejarah kriptografi sebagian besar merupakan sejarah kriptografi klasik yaitu metode enkripsi yang

    menggunakan kertas dan pensil atau mungkin dengan bantuan alat mekanik sederhana. Secara umum

    algoritma kriptografi klasik dikelompokkan menjadi dua kategori, yaitu algoritma transposisi (transposition

    cipher) dan algoritma substitusi (substitution cipher). Cipher transposisi mengubah susunan huruf-huruf di

    dalam pesan, sedangkan cipher substitusi mengganti setiap huruf atau kelompok huruf dengan sebuah huruf

    atau kelompok huruf lain.

    Kriptografi modern dipicu oleh perkembangan peralatan komputer digital. Tidak seperti kriptografi

    klasik yang mengenkripsi karakter per karakter (dengan menggunakan alfabet tradisionil), kriptografi

    modern beroperasi pada string biner. Kriptografi modern tidak hanya memberikan aspek keamanan

    confidentially, tetapi juga aspek keamanan lain seperti otentikasi, integritas data dan nirpenyangkalan.

  • Desep_priandes_1206541

    Kriptografi Kunci Simetri dan Asimetri

    Berdasarkan kunci yang digunakan untuk enkripsi dan dekripsi, kriptografi dapat dibedakan lagi menjadi

    kriptografi kunci simetri dan kriptografi kunci asimetri. Pada sistem kriptografi kunci simetri, kunci untuk

    enkripsi sama dengan kunci untuk dekripsi. Jika kunci untuk enkripsi tidak sama dengan kunci untuk

    dekripsi, maka dinamakan sistem kriptografi asimetri.

    KRIPTOGRAFI

    1. 1 Latar belakang

    Berkat perkembangan teknologi yang begitu pesat memungkinkan manusia dapat

    berkomunikasi dan saling bertukar informasi/data secara jarak jauh. Antar kota antar wilayah

    antar negara bahkan antar benua bukan merupakan suatu kendala lagi dalam melakukan

    komunikasi dan pertukaran data. Seiring dengan itu tuntutan akan sekuritas (keamanan) terhadap

    kerahasiaan informasi yang saling dipertukarkan tersebut semakin meningkat. Begitu banyak

    pengguna seperti departemen pertahanan, suatu perusahaan atau bahkan individu-individu tidak

    ingin informasi yang disampaikannya diketahui oleh orang lain atau kompetitornya atau negara

    lain. Oleh karena itu dikembangkanlah cabang ilmu yang mempelajari tentang cara-cara

    pengamanan data atau dikenal dengan istilah Kriptografi.

    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 simetris

    Dimana kunci yang digunakan untuk proses enkripsi dan dekripsi adalah kunci yang sama

    Algoritma asimetris

    Dimana kunci yang digunakan untuk proses enkripsi dan dekripsi menggunakan kunci yang

    berbeda.

  • Desep_priandes_1206541

    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.

    Camellia merupakan algoritma kriptografi simetris blok cipher. Dalam Camellia proses

    enkripsi dan dekripsi dilakukan pada blok data berukuran 128-bit dengan kunci yang dapat

    berukuran 128-bit, 192-bit, 256-bit. Algoritma Camellia dikembangkan oleh :

    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.

    II Kriptografi

    2. 1 Dasar Kriptografi

    2. 1. 1 Teori 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).

  • Desep_priandes_1206541

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

    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.

    plaintext ciphertext plaintext

    enkripsi dekripsi

  • Desep_priandes_1206541

    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.

    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

    2. 1. 2 Algoritma Simetris dan Asimetris

    2. 1. 2. 1 Algoritma Simetris

    Algoritma simetris (symmetric algorithm) adalah suatu algoritma dimana kunci enkripsi

    yang digunakan sama dengan kunci dekripsi sehingga algoritma ini disebut juga sebagai single-key

    algorithm.

    Plaintext ciphertext plaintext

    kunci enkripsi (K) kunci dekripsi (K)

    Gambar 2.2 Diagram proses enkripsi dan dekripsi algoritma simetris

    enkripsi dekripsi

  • Desep_priandes_1206541

    Sebelum melakukan pengiriman pesan, pengirim dan penerima harus memilih suatu suatu

    kunci tertentu yang sama untuk dipakai bersama, dan kunci ini haruslah rahasia bagi pihak yang

    tidak berkepentingan sehingga algoritma ini disebut juga algoritma kunci rahasia (secret-key

    algorithm).

    Kelebihan :

    Kecepatan operasi lebih tinggi bila dibandingkan dengan algoritma asimetrik.

    Karena kecepatannya yang cukup tinggi, maka dapat digunakan pada sistem real-time

    Kelemahan :

    Untuk tiap pengiriman pesan dengan pengguna yang berbeda dibutuhkan kunci yang berbeda

    juga, sehingga akan terjadi kesulitan dalam manajemen kunci tersebut.

    Permasalahan dalam pengiriman kunci itu sendiri yang disebut key distribution problem

    Contoh algoritma : TwoFish, Rijndael, Camellia

    2. 1. 2. 2 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

    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 :

    enkripsi dekripsi

  • Desep_priandes_1206541

    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

    2. 1. 3 Block Cipher dan Stream Cipher

    Jika kita melihat berdasarkan ukuran serta format data yang akan diproses, maka

    algoritma kriptografi dapat dibagi menjadi dua bagian yang utama yaitu:

    Block Cipher, algoritma kriptografi ini bekerja pada suatu data yang berbentuk

    blok/kelompok data dengan panjang data tertentu (dalam beberapa byte), jadi dalam sekali

    proses enkripsi atau dekripsi data yang masuk mempunyai ukuran yang sama.

    Stream cipher, algoritma yang dalam operasinya bekerja dalam suatu pesan berupa bit

    tunggal atau terkadang dalam suatu byte, jadi format data berupa aliran dari bit untuk kemudian

    mengalami proses enkripsi dan dekripsi.

    Pada algoritma penyandian blok (block cipher), plainteks yang masuk akan diproses

    dengan panjang blok yang tetap yaitu n, namun terkadang j ika ukuran data ini terlalu panjang

    maka dilakukan pemecahan dalam bentuk blok yang lebih kecil. Jika dalam pemecahan dihasilkan

    blok data yang kurang dari jumlah data dalam blok maka akan dilakukan proses pading (penambahan

    beberapa bit).

    2. 2 Mode Operasi dalam Block Cipher

    \2. 2. 1 Electronic Codebook (ECB)

    Pada mode operasi ECB sebuah blok input plaintext dipetakan secara statis ke sebuah blok output

    ciphertext. Sehingga tiap plaintext yang sama akan menghasilkan ciphertext yang selalu sama pula. Sifat- sifat

    dari mode operasi ECB :

    Sederhana dan efisien

    Memungkinkan implementasi parallel

    Tidak menyembunyikan pola plaintext

  • Desep_priandes_1206541

    Dimungkinkan terjadi adanya active attack.

    Skema dari mode operasi ECB dapat digambarkan sebagai berikut :

    Sender Receiver

    Gambar 2.4 Skema Mode Operasi ECB

    Cipher Block Chaining (CBC)

    Pada mode oparasi ini hasil enkripsi dari blok sebelumnya mempengaruhi hasil enkripsi

    selanjutnya, atau enkripsi sebeluimnya menjadi feedback pada enkripsi blok saat itu., jadi tiap blok

    ciphertext bergantung bukan hanya pada blok plaintext-nya tapi bergantung pula pada blok-blok

    plaintext sebelumnya. Sehingga untuk plaintext yang sama, belum tentu menghasilkan ciphertext

    yang sama pula.

    Skema dari mode operasi CBC dapat digambarkan sebagai berikut :

    Sender Receiver

    P1

    P1

    P1

    C1

    C1

    C1

    E

    E

    E C1

    C1

    C1

    P1

    P1

    P1

    E

    E

    E

    P1 C1 E C1 P1

    E

    IV IV

  • Desep_priandes_1206541

    Gambar 2.5 Skema Mode Operasi CBC.

    Mula-mula sebelum si pengirim hendak mengirimkan pesannya kepada si penerima, dia terlebih

    dahulu harus meng-XOR plaintext dengan IV (initialization vector) baru kemudian dienkripsi,

    setelah itu baru dikirimkan ciphertext pertamanya kepada si penerima. Plaintext ke-2 pun demikian,

    harus di-XOR terlebih dahulu dengan ciphertext sebelumnya sebelum mengalami proses enkripsi baru

    kemudian dikirimkan ke si penerima sebagai ciphertext 2 dan seterusnya.

    Sifat-sifat dari mode operasi CBC :

    Lebih aman dari active attacks dibandingkan mode operasi ECB

    Error pada satu ciphertext dapat berakibat parah

    Menutupi pola plaintext

    Implementasi parallel belum diketahui

  • Desep_priandes_1206541

    Dalam kriptografi, Public Key Infrastructure (PKI) adalah sebuah cara untuk

    otentikasi, pengamanan data dan perangkat anti sangkal. Secara teknis, PKI adalah

    implementasi dari berbagai teknik kriptografi yang bertujuan untuk mengamankan data,

    memastikan keaslian data maupun pengirimnya dan mencegah penyangkalan.

    Teknik-teknik kriptografi yang digunakan antara lain: - fungsi hash, - algoritma enkripsi

    simetrik, dan - algoritma enkripsi asimetrik. Fungsi hash akan digunakan bersama dengan

    algoritma enkripsi asimetrik dalam bentuk tanda tangan digital untuk memastikan

    integritas dan keaslian berita/data berikut pengirimnya. Algoritma enkripsi simetrik

    digunakan untuk mengamankan data dengan cara enkripsi. Dalam PKI penggunaan

    algoritma enkripsi simetrik tidak langsung didefinisikan tetapi telah diimplementasikan

    oleh berbagai perangat lunak. Secara garis besar PKI diwujudkan dalam bentuk

    kolaborasi antar komponen-komponennya.

    Komponen-komponen PKI antara lain: - Subscriber, - Certification Authority (CA), -

    Registration Authority (RA), - Sertifikat Digital. Secara praktis wujud PKI adalah

    penggunaan sertifikat digital. Sertifikat digital adalah sebuah file komputer yang berisi

    data-data tentang sebuah public key, pemiliknya (subscriber atau CA), CA yang

    menerbitkannya dan masa berlakunya.

    PKI telah diimplementasikan dengan berbagai aplikasi seperti S/MIME, HTTPS, VPN,

    dll. Anda dapat melihat fitur S/MIME pada software email yang terkenal seperti Outlook

    Express, Mozilla Mail/Thunderbird, dan Evolution.

    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 terhadap data pada lapisan yang sama dengan protokol IP dan

    menggunakan teknik tunneling untuk 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 lapsian

    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.

  • Desep_priandes_1206541

    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.

    Peraturan-peraturan tersebut dapat menentukan metode-metode autentikasi dan negosiasi,

    atribut proses tunneling, 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 sebelumnya (skema Pre-Shared

    Key/PSK) untuk melakukan enkripsi secara privat.

    1. Sejarah dan perkembangan

    Kerberos pertama kali dikembangkan pada dekade 1980-an sebagai sebuah metode untuk

    melakukan autentikasi terhadap pengguna dalam sebuah jaringan yang besar dan

  • Desep_priandes_1206541

    terdistribusi. Kerberos menggunakan enkripsi kunci rahasia/kunci simetris dengan

    algoritma kunci yang kuat sehingga klien dapat membuktikan identitas mereka kepada

    server dan juga menjamin privasi dan integritas komunikasi mereka dengan server.

    Protokol ini dinamai Kerberos, karena memang Kerberos (atau Cerberus) merupakan

    seekor anjing berkepala tiga (protokol Kerberos memiliki tiga subprotokol) dalam

    mitologi Yunani yang menjadi penjaga Tartarus, gerbang menuju Hades (atau Pluto

    dalam mitologi Romawi).

    2. Operasi

    Protokol Kerberos memiliki tiga subprotokol agar dapat melakukan aksinya:

    Authentication Service (AS) Exchange: yang digunakan oleh Key Distribution Center

    (KDC) untuk menyediakan Ticket-Granting Ticket (TGT) kepada klien dan membuat

    kunci sesi logon.

    Ticket-Granting Service (TGS) Exchange: yang digunakan oleh KDC untuk

    mendistribusikan kunci sesi layanan dan tiket yang diasosiasikan dengannya.

    Client/Server (CS) Exchange: yang digunakan oleh klien untuk mengirimkan sebuah

    tiket sebagai pendaftaran kepada sebuah layanan.

    Sesi autentikasi Kerberos yang dilakukan antara klien dan server adalah sebagai berikut:

    Cara kerja protokol Kerberos

    1. Informasi pribadi pengguna dimasukkan ke dalam komputer klien Kerberos, yang kemudian akan mengirimkan sebuah request terhadap KDC untuk mengakses TGS

    dengan menggunakan protokol AS Exchange. Dalam request tersebut terdapat bukti

    identitas pengguna dalam bentuk terenkripsi. 2. KDC kemudian menerima request dari klien Kerberos, lalu mencari kunci utama (disebut

    sebagai Master Key) yang dimiliki oleh pengguna dalam layanan direktori Active

    Directory (dalam Windows 2000/Windows Server 2003) untuk selanjutnya melakukan

    dekripsi terhadap informasi identitas yang terdapat dalam request yang dikirimkan. Jika

    identitas pengguna berhasil diverifikasi, KDC akan meresponsnya dengan memberikan

    TGT dan sebuah kunci sesi dengan menggunakan protokol AS Exchange.

    3. Klien selanjutnya mengirimkan request TGS kepada KDC yang mengandung TGT yang sebelumnya diterima dari KDC dan meminta akses tehradap beberapa layanan dalam

    server dengan menggunakan protokol TGS Exchange.

    4. KDC selanjutnya menerima request, malakukan autentikasi terhadap pengguna, dan meresponsnya dengan memberikan sebuah tiket dan kunci sesi kepada pengguna untuk

    mengakses server target dengan menggunakan protokol TGS Exchange.

  • Desep_priandes_1206541

    5. Klien selanjutnya mengirimkan request terhadap server target yang mengandung tiket yang didapatkan sebelumnya dengan menggunakan protokol CS Exchange. Server target

    kemudian melakukan autentikasi terhadap tiket yang bersangkutan, membalasnya dengan

    sebuah kunci sesi, dan klien pun akhirnya dapat mengakses layanan yang tersedia dalam

    server.

    Meski terlihat rumit, pekerjaan ini dilakukan di balik layar, sehingga tidak terlihat oleh

    pengguna.

    Kriptoanalisis (dari bahasa Yunani krypts, "tersembunyi", dan analein, "melepaskan")

    adalah disiplin ilmu mengenai metode membaca pesan terenkripsi (tersandi), tanpa

    mengetahui informasi rahasia atau kunci yang seharusnya digunakan untuk membaca

    pesan tersebut. Dalam bahasa sehari-hari, kriptoanalisis bisa dikatakan ilmu memecahkan

    sandi. Disiplin ilmu yang digunakan pada kriptografi antara lain matematika, linguistik,

    logika, dan ilmu komputer.

    Kriptoanalisis pertama kali dicetuskan oleh ilmuwan Arab zaman kekhalifahan

    Abbasiyah al-Kindi. Dalam bukunya Sebuah Naskah dalam Memecahkan Pesan-Pesan

    Kriptografis, ia menjelaskan secara detail metode analisis frekuensi, yang merupakan

    dasar bagi metode-metode kriptoanalisis. Kriptoanalisis terus berkembang sesuai

    perkembangan teknologi. Salah satu contoh terkenal adalah kriptoanalisis mesin Enigma

    pada Perang Dunia II. Pada pertengahan 1970-an muncul kelompok baru kriptografi yang

    disebut kriptografi asimetrik. Penemuan ini menyebabkan terjadinya perubahan radikal

    pada metode-metode kriptoanalisis, yang melibatkan matematika murni.

    Serangan brute-force adalah sebuah teknik serangan terhadap sebuah sistem keamanan

    komputer yang menggunakan percobaan terhadap semua kunci yang mungkin.

    Pendekatan ini pada awalnya merujuk pada sebuah program komputer yang

    mengandalkan kekuatan pemrosesan komputer dibandingkan kecerdasan manusia.

    Sebagai contoh, untuk menyelesaikan sebuah persamaan kuadrat seperti x+7x-44=0, di

    mana x adalah sebuah integer, dengan menggunakan teknik serangan brute-force,

    penggunanya hanya dituntut untuk membuat program yang mencoba semua nilai integer

    yang mungkin untuk persamaan tersebut hingga nilai x sebagai jawabannya muncul.

    Istilah brute force sendiri dipopulerkan oleh Kenneth Thompson, dengan mottonya:

    "When in doubt, use brute-force" (jika ragu, gunakan brute-force).

    Teknik yang paling banyak digunakan untuk memecahkan password, kunci, kode atau

    kombinasi. Cara kerja metode ini sangat sederhana yaitu mencoba semua kombinasi yang

    mungkin.

    Sebuah password dapat dibongkar dengan menggunakan program yang disebut sebagai

    password cracker. Program password cracker adalah program yang mencoba membuka

    sebuah password yang telah terenkripsi dengan menggunakan sebuah algoritma tertentu

    dengan cara mencoba semua kemungkinan. Teknik ini sangatlah sederhana, tapi

    efektivitasnya luar biasa, dan tidak ada satu pun sistem yang aman dari serangan ini,

    meski teknik ini memakan waktu yang sangat lama, khususnya untuk password yang

    rumit.

  • Desep_priandes_1206541

    Namun ini tidak berarti bahwa password cracker membutuhkan decrypt. Pada

    prakteknya, mereka kebayakan tidak melakukan itu. Umumnya, kita tidak dapat

    melakukan decrypt password-password yang sudah terenkripsi dengan algoritma yang

    kuat. Proses-proses enkripsi modern kebanyakan hanya memberikan satu jalan, di mana

    tidak ada proses pengembalian enkripsi. Namun, anda menggunakan tool-tool simulasi

    yang mempekerjakan algoritma yang sama yang digunakan untuk mengenkripsi

    password orisinal. Tool-tool tersebut membentuk analisa komparatif. Program password

    cracker tidak lain adalah mesin-mesin ulet. Ia akan mencoba kata demi kata dalam

    kecepatan tinggi. Mereka menganut "Azaz Keberuntungan", dengan harapan bahwa pada

    kesempatan tertentu mereka akan menemukan kata atau kalimat yang cocok. Teori ini

    mungkin tepat mengena pada anda yang terbiasa membuat password asal-asalan. Dan

    memang pada kenyataannya, password-password yang baik sulit untuk ditembus oleh

    program password cracker.

    Key generation merupakan kegiatam manajemen kunci dalam menghasilkan kunci yang

    acak dimana keac