bab 1 kripto

Upload: ali-nasti

Post on 12-Oct-2015

46 views

Category:

Documents


0 download

TRANSCRIPT

BAB 1SERANGAN TERHADAP KRIPTOGRAFI

1.KriptanalisisKriptografi menyebabkan timbulnya kriptanalisis, yaitu ilmu pengetahuan dan seni untuk membongkar data acak. Praktisi dari kriptanalisis disebut kriptanalis. Kriptanalis berkembang sejalan dengan kriptografi. Setiap ada algoritma kriptografi baru yang dibuat oleh kriptografer, langsung diikuti oleh adanya upaya percobaan kriptanalisis. Percobaan kriptanalisis ini disebut attack (serangan).Kriptanalisis mencoba megembalikan data jelas tanpa akses ke ke kunci kriptografi. Ukuran keberhasilan suatu upaya kriptanalisis adalah sampai sejauh mana keberhasilan diketahuinya data jelas atau kunci kriptografi.Asumsi dasar dari suatu kriptosistem adalah bahwa seorang kriptanalis mengetahui keseluruhan mekanisme enkripsi kecuali kuncinya.Kriptanalisis adalah ilmu (sains) untuk membuka (recovering) suatu pesan tanpa akses ke kunci. Kriptanalisis yang sukses dapat memperoleh teks terang atau kunci. Juga dapat menemukan kelemahan suatu sistem kripto berdasarkan analisis sebelumnya (Schneier, Applied Cr., 1996).Kriptanalisis adalah studi tentang prinsip2/metode2 pembukaan teks sandi tanpa mengetahui kuncinya. Stalling (Cr and Netsec, 2003).Kriptanalisis adalah teknik matematik dalam upaya menggagalkan (defeat) suatu teknik kriptografik, dan lebih luas lagi suatu servis pengamanan informasi.(Menezes Cs, Handbook of Applied Cr., 1996)Kriptanalis bertujuan untuk memcahkan cipherteks menjadi plainteks semula tanpa memiliki akses ke kunci ynag digunakan. Kriptanalis berusaha menemukan kelemahan dari system kriptografi yang pada akhirnya mengarah untuk menemukan kunci dan mengungkap plainteks.Dalam membahas serangan terhadap kriptografi, kita selalu menganggap bahwa kriptanalis mengetahui algoritma yang digunakan dalam penyandian plainteks., sehingga satu-satunya keamanan siste terdapat pada panjang kunci. Asumsi ini juga diungkapkan dalam prnsip Kerckhoff ynag berbumyi Semua algoritma kriptografi harus publik hanya kunci yang rahasia.Dengan kata lain kriptanalis mengetahui enkripsi dan dekripsi secara detil.Merahasiakan Algoritma Kriptografi bukan cara yang praktis tetapi malah cara yang pmborosan sebab bila algoritma sandi diketahui oleh pihak lawan, maka kita harus membuat algoritma baru. Oleh karena itu lebih baik uncinya yang rahasia. Jika kunci berhasil dicuri maka kriptografer cukup membangkitkan kunci baru dan seterusnya.Ada saat ini tidak mengherankan bila semua algoritma kriptografi sudah dipublikasikan ke khalayak umum. Algoritma tersebut sudah dapat dipelajari secara umum oleh semua pihak termasuk di luar lingkubngan persandian. Menurut Scheiner [SCH96], algoritma yang terbaik adalah algoritma yang sudah dipublikasikan dan sudah dipecahkan.Dengan mempublikasikan algoritma baru, kriptografer memperoleh konsultasi gratis dari sejumlah kriptologis akademisi yang ingin sekali memecahkan algoritma sehingga mereka dapat mempublikasikan paper yang memperlihatkan kecerdasan mereka. Jadi banyak pakar yang mencoba mmecahkan suatu algoritma selama beberapa tahun setelah dipublikasikan dan tidak seorangpun berhasil, maka bisa disebut algoritma tersebut tangguh.Karena keamanan sistem tergantung kunci, maka agar lebih aman maka kunci harus diperpanjang.2.Keamanan Algoritma KriptografiLrs Knudsen mengelompokan hasil kriptanalis ke dalam beberqapa kategori berdasrkan jumlah dana kualitas informasiyang ditemukan:1.Pemecah totalKriptanalis menemukan kunci K edemikian sehingga deskripsi DK = P2.Deduksi ( Penarikan Kesimpulan ) globalKriptanalis menemukan algoritma alternatif , A, yang ekuivalen dengan DK(C) tetapi tyidak mengetahuui kunci K3.Deduksi LokalKriptanalis menemukan plainteks dari ciphereks ynag disadap4.Deduksi informasiKriptanalis menemukan beberapa informasi perihalk kunci atau plainteks. Misalnya kriptanalis mengetahui beberapa bit kunci, kriptanalis mengetahui bahasa yang digunakan untuk menulis plainteks, kriptanalis mengetahui format plainteks, dan sebagainya.Sebuah algoritma dikatakan aman mutlak tanpa syarat bila cipherteksnya tidak mengandung cukup data yang dapat digunakan oleh kriptanalis untuk membukanya menjadi plainteks. Artinya sebanyak apapun cipherteks yang dimiliki moeh kriptanalis, tidak ada suatu hubungan yang dapat menyebabkan kriptanalis membukanya.Di dalamkriptografi hanya one time pad yang aman mutlak. Karena kunci yang digunakan benar-benar acak dan tiak mungkin dipecahkan.

Sebaliknya sebuah algoritma dikatakan aman secara komputasi bila memenuhi criteria berikut :1.Biaya untuk memecahkan cipherteks melampaui nilai yang terkandung di dalam cipherteksnya.2.Waktu yang dibutuhkan untuk memecahkan cipherteksya melampaui lamanya waktu informasi tersebut harus dijaga. Untuk menemukan kunci setidaknyua setengah darfi semua kmungkinan kunci harus dicoba, dan akan menghabiskan waktu yang lama. Adas yang mencapai 5,4 x 1024 tahun untuk satu juta percobaan per detik. Hal itu tidak mungkin karena umur bumi tidak saqmpai sekian.3.Kompleksitas SeranganKompleksitas serangan dapat diukur dengan berbagai cara yaitu :1.Kompleksitas DataJumlah data yang dibutuhkan sebagai input sebagai serangan yang dilakukan. Semakin banyak data ynag dibutuhkan untuk melakukan serangan maka semakin kompleks serangan itu, yang mengandung arti semakin algoritma kriptografi itu semakin berkualitas.2.Kompleksitas WaktuAdalah waktu yang dibutuhkan dalam melakukan serangan. Semakin lama waktu untuk melakukan serangan maka semakin bagus system kriptografi itu.3.Kompleksitas Ruang MemoriAdalah junlah memori yang dibutuhkan untuk melakukan serangan. Semakin banyak memori yang dibutuhkan untuk melakukan serangan maka semakin bagus algoritma kriptografi yang dipakai.

4.Jenis-jenis SeranganKeseluruhan point dari kriptografi adalah menjaga kerahasiaan plainteks (atau kunci, atau keduanya) dari penyadap (eavesdropper) atau kriptanalis (cryptanalyst). Penyadap bisa juga merupakan seorang kriptanalis atau sebaliknya.Nama lain penyadap: - penyusup (intruder)a.penyerang (attacker)b.musuh (enemy,adversaries)c.pencegat (interceptor)d.lawan (opponent)Penyadap berusaha mendapatkan data yang digunakan untuk kegiatan kriptanalisis (cryptanalysis). Kriptanalis berusaha mengungkap plainteks atau kunci dari data yang disadap. Kriptanalis juga dapat menemukan kelemahan dari sistem kriptografi yang pada akhirnya mengarah untuk menemukan kunci dan mengungkap plainteks.Beberapa metode penyadapan data:1.WiretappingPenyadap mencegat data yang ditransmisikan pada saluran kabel komunikasi dengan menggunakan sambungan perangkat keras.2.Electromagnetic eavesdroppingPenyadap mencegat data yang ditransmisikan melalui saluran wireless, misalnya radio danmicrowive.3.Acoustic Eavesdropping.Menangkap gelombang suara yang dihasilkan oleh suara manusia.Yang dimaksud dengan serangan (attack) adalah usaha (attempt) atau percobaan yang dilakukan oleh kriptanalis.

BAB IILANDASANMATEMATIKA

1.FungsiFungsi, dalam istilahmatematikaadalah pemetaan setiap anggota sebuahhimpunan(domain) kepada anggotahimpunanyang lain (kodomain). Istilah ini berbeda pengertiannya dengan kata yang sama yang dipakai sehari-hari, seperti alatnya berfungsidengan baik.Konsepfungsi adalah salah satu konsep dasar darimatematikadan setiapilmukuantitatif. Istilah "fungsi", "pemetaan", "peta", "transformasi", dan "operator" biasanya dipakai secarasinonim.2.Permutasi dan KombinasiKombinasiadalah menggabungkan beberapa objek dari suatu grup tanpa memperhatikan urutan. Di dalam kombinasi, urutan tidak diperhatikan.{1,2,3} adalah sama dengan {2,3,1} dan {3,1,2}.Contoh: Seorang anak hanya diperbolehkan mengambil dua buah amplop dari tiga buah amplop yang disediakan yaitu amplop A, amplop B dan amplop C. Tentukan ada berapa banyak kombinasi untuk mengambil dua buah amplop dari tiga buah amplop yang disediakan?Solusi: Ada 3 kombinasi yaitu; A-B, A-C dan B-C.Sedangkanpermutasiadalah menggabungkan beberapa objek dari suatu grup dengan memperhatikan urutan. Di dalam permutasi, urutan diperhatikan.{1,2,3} tidak sama dengan {2,3,1} dan {3,1,2}Contoh: Ada sebuah kotak berisi 3 bola masing-masing berwarna merah, hijau dan biru. Jika seorang anak ditugaskan untuk mengambil 2 bola secara acak dan urutan pengambilan diperhatikan, ada berapa permutasi yang terjadi?Solusi: Ada 6 permutasi yaitu; M-H, M-B, H-M, H-B, B-M, B-H.3.Teori PeluangPeluang diperlukan untuk mengetahui ukuran atau derajad ketidakpastian suatu peristiwa. Di dalam statistik, peluang dipakai antara lain terkait dengan cara pengambilan sampel dari suatu populasi.Mengundi dengan sebuah mata uang logam atau sebuah dadu, membaca temperatur dengan termometer tiap hari, menghitung barang rusak yang dihasilkan tiap hari, mencatat banyak kendaraan yang melalui pertigaan jalan tertentu setiap jam, dan masih banyak contoh yang lain, merupakan eksperimen yang dapat diulangi. Semua hasil yang mungkin terjadi bisa dicatat. Segala bagian yang mungkin didapat dari hasil ini dinamakan peristiwa.Contoh:Eksperimen mencatat banyak kendaraan yang melalui sebuah tikungan X setiap jam. Hasilnya bisa didapat 0, 1, 2, 3, buah kendaraan setiap jam yang melalui tikungan X.Beberapa peristiwa yang didapat misalnya: tidak ada kendaraan selama satu jam, lebih dari tiga kendaraan selama satu jam, ada 6 kendaraan dalam satu jam, dsb.Simbol untuk menyetakan peristiwa misalnya dengan huruf besar A, B, C, .baik disertai indeks atu tidak. Misal: A berarti tidak ada kendaraan yang melalui tikungan dalam satu jam. B berarti ada 10 kendaraan yang melalui tikungan dalam satu jam, dsb.Definisi: Dua peristiwa atau lebih dinamakan saling ekslusif jika terjadinya peristiwa yang satu mencegah terjadinya yang lain.Contoh:Sebuah kotak berisi 10 kelereng merah, 18 kelereng hijau, dan 22 kelereng kuning. Kecuali warna, lain-lainnya identik. Bila semua kelereng dimasukkan ke dalam kotak dan diaduk-aduk, maka berapakah peluang warna merah atau hijau yang terambil dari kotak jika kelereng diambil secara acak dengan mata tertutup?Jawab:Misal A = mengambil warna merah B = mengambil warna kuning C = mengambil warna hijau P(A) = 10/(10+18+22) = 0,2 P(B) = 18/(10+18+22) = 0,36 P(C) = 22/(10+18+22) = 0,44Ketiga peristiwa di atas adalah saling eksklusif, sehingga berlaku:P(A atau C) = P(A) + P(C) = 0,2 + 0,44 = 0,64Hal itu berarti jika pengambilan kelereng dilakukan dalam jangka waktu lama, maka 64 dari setiap 100 kali mengambil akan terambil kelereng warna merah atau kuning.4.Teori InformasiTeori informasi(Inggris:information theory) adalah disiplin ilmu dalam bidangmatematika terapanyang berkaitan dengan kuantisasi data sehingga data atauinformasiitu dapat disimpan dan dikirimkan tanpa kesalahan (error) melalui suatu kanal komunikasi.Entropi informasi(information entropy)sering dipakai sebagai alat untuk maksud ini, dan biasanya dinyatakan sebagai banyaknya bit rerata yang diperlukan untuk penyimpanan dan pengiriman informasi tersebut. Sebagai contoh, jika keadaan cuaca harian dinyatakan denganentropi3bit, maka kita katakan bahwa cuaca itu mempunyai rata-rata 3 bit tiap harinya.Aplikasi dari topik dasar dalamteori informasimeliputi kompresi data tanpa cacat (lossless data compression, pada file ZIP misalnya), kompresi data (lossy data compression, pada file MP3, misalnya), dan pengkodean kanal (channel coding, pada saluran DSL, ADSL dll). Biasanya teori informasi merupakan titik temu dari bidang bidang matematika, statistika, ilmu komputer, fisika, neurobiologi, dan teknik listrik serta komputer. Implementasi dari teori ini berdampak langsung dengan misi ruang angkasa, pemahaman mengenai lubang hitam dalam galaksi, dengan penelitianlinguistikadanpersepsi manusia, denganjaringan komputer, jaringanInternetserta jaringantelepon genggam.Fungsi entropi biner BernoulliSecara khusus,teori informasiadalah cabang darimatematikapeluangdanstatistik, yang berkaitan dengan konsepinformasidanentropi informasiseperti telah dijelaskan di atas.Claude E. Shannon(1916-2001) dikenal sebagai "bapak dari teori informasi". Shannon mendefinisikan pengukuran darientropi informasi(dalam bit) sebagai:

Rumus ini jika diterapkan pada suatu sumber informasi, dapat menentukan kapasitas dari saluran yang diperlukan untuk mengirim data yang diterjemahkan ke dalam digit biner.5.Teori BilanganTeori bilangan (number theory) adalah teori yang mendasar dalam memahami algoritma kriptografi Bilangan yang dimaksudkan adalah bilangan bulat (integer)1.Bilangan BulatBilangan bulat adalah bilangan yang tidak mempunyai pecahan desimal, misalnya 8, 21, 8765, -34, 0 Berlawanan dengan bilangan bulat adalah bilangan riil yang mempunyai titik desimal, seperti 8.0, 34.25, 0.02.Sifat Pembagian pada Bilangan BulatMisalkanadanbadalah dua buah bilangan bulat dengan syarata 0. Kita menyatakan bahwaahabis membagib(adivides b) jika terdapat bilangan bulatcsedemikian sehinggab=ac. Notasi:a|bjikab=ac,cZdana 0. (Z= himpunan bilangan bulat) Kadang-kadang pernyataan ahabis membagib ditulis juga bkelipatana. Contoh 1:4 | 12 karena 12 4 = 3 (bilangan bulat) atau 12 = 4 3. Tetapi 4 | 13 karena 13 4 = 3.25 (bukan bilanganbulat).6.Aljabar AbstrakAljabar abstrakadalah bidang subjekmatematikayang mempelajaristruktur aljabar, sepertigrup,ring,medan,modul,ruang vektor, danaljabar medan. Frasaaljabar abstrakdiciptakan pada awal abad ke-20 untuk membedakannya dengan bidang yang biasa disebut sebagaialjabar, yaitu studi aturan manipulasi rumus dan ekspresi aljabar yang melibatkan variabel danbilangan riilataukompleks, yang saat ini lebih sering disebut sebagaialjabar elementer. Perbedaan ini jarang dikemukakan pada tulisan-tulisan matematika yang lebih mutakhir.Matematika kontemporer danfisika matematikamenggunakan aljabar abstrak secara intensif. Sebagai contoh, fisika teoretis mengandalkanaljabar Lie. Bidang subjek sepertiteori bilangan aljabar,topologi aljabardangeometri aljabarmenerapkan metode aljabar terhadap bidang matematika lain. Secara kasar, dapat disebutkan bahwateori representasimengeluarkan istilah 'abstrak' dari 'aljabar abstrak', dan mempelajari sisi konkret dari suatu struktur (lihat pulateori model).Dua bidang subjek matematika yang mempelajari sifat-sifat struktur aljabar yang dipandang secara keseluruhan adalahaljabar universaldanteori kategori. Struktur aljabar, bersama-sama denganhomomorfismeyang berkaitan, membentukkategori. Teori kategori adalah formalisme ampuh untuk mempelajari dan membandingkan berbagai struktur aljabar yang berbeda-beda.

BAB IIIALGORITMA KRIPTOGRAFI KLASIK

1.Cipher SubstitusiSubsitusi adalah penggantian setiap karakter plaintext dengan karakter lain. Beberapa istilah yang mungkin perlu diingat adalah KUR04:a.Monoalfabet: Setiap karakter ciphertext mengganti satu macam karakter plainteks tertentu.b.Polyalfabet: Setiap karakter ciphertext dapat mengganti lebih dari satu karakter plaintext.c.Monograf / unilateral: Satu enkripsi dilakukan terhadap satu karakter plaintext.d.Polygraf / multilateral: Satu enkripsi dilakukan terhadap lebih dari satu karakter plaintext sekaligus.Adalah algoritma kriptografi yang mula-mula digunakan oleh kaisar Romawi, Julius Caesar (sehingga dinamakan jugacaesar chiper), untuk menyandikan pesan yang ia kirim kepada para gubernurnya.Caranya adalah dengan mengganti (menyulih atau mensubstitusi) setiap karakter dengan karakter lain dalam susunan abjad (alfabet). Misalnya, tiap huruf disubstitusi dengan huruf ketiga berikutnya dari susunan akjad. Dalam hal ini kuncinya adalah jumlah pergeseran huruf (yaituk= 3).Tabel substitusi :pi:A B C D E F G H I J K L M N O P Q R S T U V W X Y Zci: D E F G H I J K L M N O P Q R S T U V W X Y Z A B CContoh 1.PesanAWASI ASTERIX DAN TEMANNYA OBELIXdisamarkan (enskripsi) menjadiDZDVL DVWHULA GDQ WHPDQQBA REHOLAPenerima pesan men-dekripsi chiperteks dengan menggunakan tabel substitusi, sehingga chiperteksDZDVL DVWHULA GDQ WHPDQQBA REHOLAdapat dikembalikan menjadi plainteks semula:AWASI ASTERIX DAN TEMANNYA OBELIXDengan mengkodekan setiap huruf abjad denganintegersebagai berikut:A= 0,B= 1, ,Z= 25, maka secara matematiscaesar chipermenyandikan plaintekspimenjadicidengan aturan:ci=E(pi) = (pi+ 3) mod 26 (1)dan dekripsi chipertekscimenjadipidengan aturan:pi=D(ci) = (ci 3) mod 26 (2)Karena hanya ada 26 huruf abjad, maka pergeseran huruf yang mungkin dilakukan adalah dari 0 sampai 25. Secara umum, untuk pergeseran huruf sejauhk(dalam hal inikadalah kunci enkripsi dan deksripsi), fungsi enkripsi adalahci=E(pi) = (pi+k) mod 26 (3)dan fungsi dekripsi adalahpi=D(ci) = (cik) mod 26 (4)Catatan:1. Pergeseran 0 sama dengan pergeseran 26 (susunan huruf tidak berubah)2. Pergeseran lain untuk k > 25 dapat juga dilakukan namun hasilnya akan kongruen dengan bilangan bulat dalam modulo 26. Misalnyak= 37 kongruen dengan 11 dalam modulo 26, atau 3711 (mod 26).3. Karena ada operasi penjumlahan dalam persamaan (3) dan (4), makacaesar chiperkadang-kadang dinamakan jugaadditive chiper.2.Jenis-jenis Cipher SubstitusiCipher subsitusi paling tua yang dikenal adalah subsitusi yang dilakukan Julius Caesar. Beberapa teknik subsitusi yang pernah dilakukan, antara lain [KUR04]:a.Subsitusi deret campurankata kunci yaitu subsitusi yang kata kuncinya didapat dari mengumpulkan karakter yang sama dari sebuah plaintext dan pada ciphertextnya ditambahkan semua sisa karakter dalam abjad.b.Subsitusi monomer-dinome-trinome.Monome berarti setiap satu karakter plaintext akan disubsitusi oleh satu karakter ciphertext, dinome disubsitusi dua karakter ciphertext, tridome disubsitusi tiga karakter ciphertext. Jadi sistem ini adalah campuran.c.Subsitusi multilateral variant.Subsitusi ini masih termasuk jenis monoalfabet yang dalam mensubsitusi memanfaatkan huruf abjad a,b,c,,z yang disusun dalam matrik 5 X 5.d.Subsitusi digrafik.Pada sistem ini, setiap huruf plaintext akan disubsitusi oleh dua huruf ciphertext. Pola huruf cipher text diambil dari sebuah matrik 26 X 26 yang berasal dari 26 abjad yang memiliki pola khusus.e.Subsitusi persegi panjang.Sistem digrafik terlalu memerlukan matrik yang besar. Untuk memperkecil matrik dengan keamanan yang setara dapat digunakan sistem empat persegi.f.Subsitusi kodeplayfairKode rahasia multi huruf yang paling terkenal adalah playfair. Playfair menggunakan 676 digraf. Selama waktu yang lama, kode inidianggap tak dapat dipecahkan. Playfair dijadikan system standar oleh tentara Inggris dalam PD I dan masih digunakan secara luas oleh tentara Amerika dan sekutu selama PD II. Sistem ini menggunakan matrik 5 x 5g.Subsitusi Polialfabet periodik.Dalam sistem polialfabet, setiap ciphertext dapat memiliki banyak kemungkinan plaintext.Dan sistem periodik itu sendiri dikarenakan adanya kunci yang berulang. Jenis polialfabet klasik yang terkenal adalah Vigenere.Termasuk ke dalamcipherabjad-majemuk (polyalpabetic substitution cipher).Ditemukan oleh diplomat (sekaligus seorang kriptologis) Perancis, Blaise de Vignere pada abad 16. Sudah berhasil dipecahkan pada Abad 19.Vignere Ciphermenggunakan BujursangkarVignereuntuk melakukan enkripsi. Setiap baris di dalam bujursangkar menyatakan huruf-huruf cipherteks yang diperoleh denganCaesar Cipher.Jika panjang kunci lebih pendek daripada panjang plainteks, maka kunci diulang secara periodik. Bila panjang kunci adalahm, maka periodenya dikatakanm.Contoh: kunci = sonyPlainteks: THIS PLAINTEXTKunci: sony sonysonysHuruf yang sama tidaks elalu dienkripsi menjadi huruf cipheteks yang sama pula. Contoh:huruf plainteks T dapat dienkripsi menjadiLatauH, dan huruf cipherteksVdapat merepresentasikan huruf plainteks H, I, dan X. Hal di atas merupakan karakteristik daricipherabjad-majemuk:setiap huruf cipherteks dapat memiliki kemungkinan banyak huruf plainteks. Padaciphersubstitusi sederhana, setiap huruf cipherteks selalu menggantikan huruf plainteks tertentu.Vignere Cipherdapat mencegah frekuensi huruf-huruf di dalam cipherteks yang mempunyai pola tertentu yang sama seperti padacipherabjad-tunggal. Jika periode kunci diketahui dan tidak terlalu panjang, maka kunci dapat ditentukan dengan menulis program komputer untuk melakukanexhaustive key search.h.Enigma.Merupakan mesin kriptografi yang digunakan oleh tentara NAZI Hitler pada masa PD II. Mesin ini menggunakan rotor. Enigma menggunakan tiga rotor untuk melakukan subsitusi. Tiga rotor berarti tiga kali subsitusi.Enigma adalah mesin yang digunakan Jerman selama Perang Dunia II untuk mengenkripsi/dekripsi pesan-pesan militer.Enigma menggunakan sistemrotor(mesin berbentuk roda yang berputar) untuk membentuk huruf cipherteks yang berubah-ubah. Setelah setiap huruf dienkripsi,rotorkembali berputar untuk membentuk huruf cipherteks baru untuk huruf plainteks berikutnya. Enigma menggunakan 4 buahrotoruntuk melakukan substitusi. Ini berarti terdapat 26262626 = 456.976 kemungkinan huruf cipherteks sebagai pengganti huruf plainteks sebelum terjadi perulangan urutan cipherteks.Setiap kali sebuah huruf selesai disubstitusi,rotorpertama bergeser satu huruf ke atas. Setiap kalirotorpertama selesai bergeser 26 kali, rotor kedua juga melakukan hal yang sama, demikian untukrotorke-3 dan ke-4.Posisi awal keempatrotordapat di-set; dan posisi awal ini menyatakan kunci dari Enigma.Jerman meyakini bahwa cipherteks yang dihasilkan Enigma tidak mungkin dipecahkan. Namun, sejarah membuktikan bahwa pihak Sekutu berhasil juga memecahkan kode Enigma. Keberhasilan memecahkan Enigma dianggap sebagai faktor yang memperpendek Perang Dunia II menjadi hanya 2 tahun.3.Cipher TransposisiBeberapa model kriptografi yang menggunakan teknik transposisi, antara lain[KUR04]:1.Algoritma transposisi kolom dengan kunci numerik. Teknik ini menggunakan permutasi karakter. Kunci dapat diperoleh dari kata yang mudah dibaca dan kemudian dikodekan menjadi bentuk bilangan.2.Masukan plaintext pola zig-zag, keluaran ciphertext berupa baris.3.Masukan pola segitiga, keluaran berupa kolom, dibaca dari atas kebawah.4.Masukan berpola spiral, dari luar kedalam, keluaran berupa kolom dibaca pembacaannya mengikuti pola yang berasal dari atas ke bawah.5.Dimasukan secara diagonal dari kiri bawah ke kanan atas, keluaran baris.6.Masukan spiral dari dalam ke luar, keluaran diagonal bergantian.Kombinasi subsitusi dan transposisi yang komplek menjadi dasar pembentukanalgoritma-algoritma kriptografi modern. Salah satu algoritma klasik yangmenggunakan kedua teknik ini adalah VIC yang tidak memerlukan komputer dalam penggunaannya4.Super EnkripsiSuper enkripsi adalah mengkombinasikan metodeciphersubstitusi denganciphertransposisi. Tujuanya memperolehcipheryang lebih kuat daripada hanya satuciphersaja. Mula-mula enkripsi denganciphersubstitusi sederhana (cipherabjad-tunggal), lalu hasilnya dienkripsi lagi denganciphertransposisiContoh:Plainteks: HELLO WORLDEnkripsi dengancaesar ciphermenjadi:KHOOR ZRUOGKemudian enkripsi lagi denganciphertransposisi (k= 4):KHOORZRUOGZZCipherteks akhir adalah: KROHZGORZOUZ5.Teknik Analisis FrekuensiKelemahan sandi substitusi adalah hubungan frekuensi kemunculan huruf pada plainteks dan cipherteks yang tidak berubah. Jika huruf a dienkripsi menjadi huruf X, dan a muncul sebanyaknkali, maka X juga muncul sebanyaknkali. Hal ini dimanfaatkan penyerang untuk menemukan kuncinya. Penyerang memanfaatkan data statistik peluang kemunculan huruf berikut ini. Teknik seperti ini disebut denganteknik analisis frekuensi.

Data di atas dapat dibagi menjadi lima kelompok, yaitu:1.E, mempunyai peluang 0.120.2.T,A,O,I,N,S,H,R, mempunyai peluang antara 0.06 dan 0.09.3.D,L, mempunyai peluang sekitar 0.04.4.C,U,M,W,F,G,Y,P,B, mempunyai peluang antara 0.015 dan 0.023.5.V,K,J,X,Q,Z, peluangnya kurang dari 0.01.Selain itu juga ditemukan data mengenai frekuensi kemunculandigramsdantrigrams. 30 digram paling sering muncul dalam Bahasa Inggris berturut-turut dari yang peluang terbesar adalah:TH,HE,IN,ER,AN,RE,ED,ON,ES,ST,EN,AT,TO,NT,HA,ND,OU,EA,NG,AS,OR,TI,IS,ET,IT,AR,TE,SE,HI,OF.Sedangkan 12 trigram yang sering muncul dalam Bahasa Inggris berturut-turut dari peluang terbesar adalah:THE,ING,AND,HER,ERE,ENT,THA,NTH,WAS,ETH,FOR,DTH.Untuk lebih jelasnya mengenai cara kerja teknik analisis frekuensi dalam memecahkan cipher substitusi.6.Affine CipherSalah satu kriptosistem klasik selain shift cipher adalah Affine Cipher. Ide awalnya hampir sama dengan shift cipher di mana tiap huruf direpresentasikan oleh nilai dari 0 ( yaitu a ) sampai 25 ( z ). Bedanya adalah jika pada shift cipher, tiap-tiap huruf digeser sejauh k, dan nilai k pada tiap huruf sama, pada Affine cipher, tiap huruf pada ciphertext merupakan hasil fungsi berikut :X = x + (mod 26)7.Vigenere CipherSandi Vigenreadalah metodemenyandikanteksalfabetdengan menggunakan deretansandi Caesarberdasarkan huruf-huruf pada kata kunci. Sandi Vigenre merupakan bentuk sederhana dari sandisubstitusi polialfabetik. Kelebihan sandi ini dibanding sandi Caesar dansandi monoalfabetiklainnya adalah sandi ini tidak begitu rentan terhadap metodepemecahan sandiyang disebutanalisis frekuensi. Giovan Batista Belaso menjelaskan metode ini dalam bukuLa cifra del. Sig. Giovan Batista Belaso(1553); dan disempurnakan olehdiplomatPerancisBlaise de Vigenre, pada1586. Pada abat ke-19, banyak orang yang mengira Vigenre adalah penemu sandi ini, sehingga, sandi ini dikenal luas sebagai "sandi Vigenre".Sandi ini dikenal luas karena cara kerjanya mudah dimengerti dan dijalankan, dan bagi para pemula sulit dipecahkan. Pada saat kejayaannya, sandi ini dijulukile chiffre indchiffrable(bahasa Prancis: 'sandi yang tak terpecahkan'). Metode pemecahan sandi ini baru ditemukan pada abad ke-19. Pada tahun1854,Charles Babbagemenemukan cara untuk memecahkan sandi Vigenre. Metode ini dinamakantes KasiskikarenaFriedrich Kasiski-lah yang pertama mempublikasikannya.Sandi Vigenre sebenarnya merupakan pengembangan darisandi Caesar. Pada sandi Caesar, setiap huruf teks terang digantikan dengan huruf lain yang memiliki perbedaan tertentu pada urutan alfabet. Misalnya pada sandi Caesar dengan geseran 3,AmenjadiD,BmenjadiEand dan seterusnya. Sandi Vigenre terdiri dari beberapa sandi Caesar dengan nilai geseran yang berbeda.Untuk menyandikan suatu pesan, digunakan sebuah tabel alfabet yang disebuttabel Vigenre(gambar). Tabel Vigenre berisi alfabet yang dituliskan dalam 26 baris, masing-masing baris digeser satu urutan ke kiri dari baris sebelumnya, membentuk ke-26 kemungkinan sandi Caesar. Setiap huruf disandikan dengan menggunakan baris yang berbeda-beda, sesuai kata kunci yang diulangMisalnya,teks terangyang hendak disandikan adalah perintah "Serbu Berlin":serbuberlinSedangkan kata kunci antara pengirim dan tujuan adalah "Pizza""PIZZA" diulang sehingga jumlah hurufnya sama banyak dengan teks terang:PIZZAPIZZAPHuruf pertama pada teks terang,S, disandikan dengan menggunakan baris berjudulP, huruf pertama pada kata kunci. Pada barisPdan kolomSdi tabel Vigenre, terdapat hurufH. Demikian pula untuk huruf kedua, digunakan huruf yang terletak pada barisI(huruf kedua kata kunci) dan kolomE(huruf kedua teks terang), yaitu hurufM. Proses ini dijalankan terus sehinggaTeks terang:serbuberlin

Kata kunci:PIZZAPIZZAP

Teks bersandi:HMQAUQMQKIC

Proses sebalinya (disebutdekripsi), dilakukan dengan mencari huruf teks bersandi pada baris berjudul huruf dari kata kunci. Misalnya, pada contoh di atas, untuk huruf pertama, kita mencari hurufH(huruf pertama teks tersandi) pada barisP(huruf pertama pada kata kunci), yang terdapat pada kolomS, sehingga huruf pertama adalahS. LaluMterdapat pada barisIdi kolomE, sehingga diketahui huruf kedua teks terang adalahE, dan seterusnya hingga didapat perintah "serbuberlin".Enkripsi(penyandian) dengan sandi Vigenre juga dapat dituliskan secara matematis, dengan menggunakan penjumlahan danoperasi modulus, yaitu:

atau C = P + K kalau jumlah dibawah 26 & - 26 kalau hasil jumlah di atas 26 dan dekripsi,

atau P = C - K kalau hasilnya positif & + 26 kalau hasil pengurangan minusKeterangan:adalah huruf ke-i pada teks tersandi,adalah huruf ke-i pada teks terang,adalah huruf ke-i pada kata kunci, danadalahoperasi modulus(sisa pembagian).Rumus enkripsi vigenere cipher:

atauCi = ( Pi + Ki ) 26kalau hasil penjumlahanPidanKilebih dari 26Rumus dekripsi vigenere cipher:

atauPi = ( Ci Ki ) + 26kalau hasil penguranganCidenganKiminusDimana:Ci = nilai desimal karakter ciphertext ke-iPi = nilai desimal karakter plaintext ke-iKi = nilai desimal karakter kunci ke-iPada contoh kata kunciKAMPUSdiulang sedemikian rupa hingga panjang kunci sama dengan panjang plainteksnya. Jika dihitung dengan rumus enkripsi vigenere plainteks huruf pertamaS(yang memiliki nilaiPi=18) akan dilakukan pergeseran dengan hurufK(yang memilikiKi=10) maka prosesnya sebagai berikut:Ci = ( Pi + Ki ) mod 26 = (18 + 10) mod 26 = 28 mod 26 = 2Ci=2maka huruf ciphertext dengan nilai2adalahC. Begitu seterusnya dilakukan pergeseran sesuai dengan kunci pada setiap huruf hingga semua plainteks telah terenkripsi menjadi ciphertext. Setelah semua huruf terenkripsi maka proses dekripsinya dapat dihitung sebagai berikut:Pi = ( Ci Ki ) + 26 = ( 2 10 ) + 26 = 8 + 26 = 18

8.Playfair CipherTermasuk ke dalampolygram cipherDitemukan oleh Sir Charles Wheatstone dan Baron Lyon Playfair pada tahun 1854Kunci kriptografinya adalah 25 buah huruf yang disusun di dalam bujursangkat 5x5 dengan menghilangkan huruf J dari abjad.Contoh kunci:STAND

ERCHB

KFGIL

MOPQU

VWXYZ

Jumlah kemungkinan kunci:25!=15.511.210.043.330.985.984.000.000Susunan kunci di dalam bujursangkar diperluas dengan menambahkan kolom keenam dan baris keenamSTANDS

ERCHBE

KFGILK

MOPQUM

VWXYZV

STAND

Baris ke-6 = baris ke-1Kolom ke-6 = kolom ke-1

Pesan yang akan disamarkan diatur terlebih dahulu sebagai berikut:1.Ganti huruf dengan J (bila ada) dengan huruf I2.Tulis pesan dalam pasangan huruf3.Jangan sampai ada pasangan huruf yang sama. Jika ada, sisipkan Z di tengahnya4.Jika jumlah huruf ganjil,tambahkan huruf Z di akhir

Contoh:plainteks GOOD BROOMS SWEEP CLEAN Tidak ada huruf J, maka langsung tulis pesan dalam pasangan huruf:GOODBROZOMSZSWEZEPCLEANZ

Algoritma enkripsi sebagai berikut:1.Jika ada dua huruf terdapat pada baris kunci yang sama maka tiap huruf diganti dengan huruf di kanannya (pada kunci yang sudah diperluas)2.Jika dua huruf terdapat pada kolom kunci yang sama maka tiap huruf diganti dengan huruf di bawahnya (pada kunci yang sudah diperluas)3.Jika dua huruf tidak pada baris yang sama atau kolom yang sama, maka huruf pertama diganti dengan huruf pada perpotongan baris huruf pertama dengan kolom huruf kedua. Huruf kedua diganti dengan huruf pada titik sudut keempat dari persegi panjang yang dibentuk dari 3 huruf yang digunakan sampai sejauh iniContoh: Kunci (yang sudah diperluas) ditulis kembali sebagai berikut:

STANDS

ERCHBE

KFGILK

MOPQUM

VWXYZV

STAND

Plainteks (dalam pasangan huruf):GO OD BR OZ OM SZ SW EZ EP CL EA NZCipherteks:FP UT EC UW PO DV TV BV CM BG CS DY

Algoritma dekripsi kebalikan dari algoritma enkripsiKunci dapat dipilih dari sebuah kalimat yang mudah diingat, misalJALAN GANESHA SEPULUHBuang huruf yang berulang dan huruf J jika ada:ALNGESHPULalu tambahkan huruf-huruf yang belum ada (kecuali J):ALNGESHPUBCDFIKMOQRTVWXYZMasukkan ke dalam bujursangkar:ALNGE

SHPUB

CDFIK

MOQRT

VWXYZ

SUPER ENKRIPSIMenggunakan metodeciphersubstitusi dengan cipher transposisiTujuan: memperolehcipheryang lebih kuat daripada hanya satuciphersaja.Mula-mula enkripsi denganciphersubstitusi sederhana (cipherabjad-tunggal), lalu hasilnya dienkripsi lagi dengan cipher transposisiContoh: Plainteks: HELLO WORLDEnkripsi dengan caesar cipher menjadi:Chiperteks1: KHOOR ZRUOGKemudian enkripsi lagi dengan cipher transposisi (k=4):KHOORZRUOGZZCipherteks akhir adalah:Cipherteks2: KROHZGORZOUZBanyak dari algoritma kriptografi modern yang diacu sebagai hasil dari super enkripsi yang menggunakan sejumlah algoritma kriptografi yang secara komparatif lemah.

BAB IVALGORITMA KRIPTOGRAFI MODERN

1.Rangkaian Bit dan OperasinyaUmumnya data diproses dalam bentuk blok-blok bit yang dituliskan dalam sejumlah cara tergantung pada panjang blok.Misal P : 1 0 0 1 1 1 0 1 0 1 1 0 dibagi menjadi bit yang panjangnya 4 bit menjadi :1001 1101 0110 alias 9 13 6Bila panjang rangkaian bit tidak habis dibagi dengan ukuran blok yang ditetapkan, maka blok terakhir ditambahkan dengan bit-bit semu yang disebut PADDING BIT.Misal : 1 0 0 1 1 1 0 1 0 1 1 0 dibagi dengan blok 5 bit menjadi : 10011 1010100010Cara lain untuk menyatakan rangkaian bit adalah dengan notasi heksadesimal (HEX). Rangkaian dibagi menjadi blok yang berukuran 4 bit :0000 = 0 0001 = 1 0010 = 2 0011 = 30100 = 4 0101 = 5 0110 = 6 0111 = 71000 = 8 1001 = 9 1010 = A 1011 = B1100 = C 1101 = D 1110 = E 1111 = FMisal P : 100111010110 dibagi menjadi 1001 1101 0110, dalam notasi HEX menjadi 9 D 6Operator biner yang sering digunakan dalam cipher yang beroperasi dalam mode bit adalah XOR atau exclusive-OR. Notasi matematis XOR adalah0 0 = 00 1 = 11 0 = 11 1 = 0Jika dua rangkaian bit dioperasikan dengan XOR, maka operasinya dilakukan dengan meng-XOR-kan setiap bit yang berkoresponden dari kedua rangkaian bit.Contoh :

2.Algoritma Enkripsi dengan XOR SederhanaDengan cara meng-XOR-kan Plainteks (P) dengan Kunci (K) sehingga menghasilkan Cipherteks (C)Karena meng-XOR-kan nilai yang sama dua kali berturut-turut menghasilkan nilai semula, maka dekripsi menggunakan persamaan :3.Kategori Cipher Kunci SimetriAlgoritma Kunci SimetriPengirim dan penerima memiliki kunci yang sama. Beroperasi dalam mode bit.a.Cipher Aliran (Stream Cipher)Beroperasi pada plainteks/cipherteks dalam bentuk BIT TUNGGAL. Rangkaian bit dienkripsi / didekripsi bit per bit.b.Cipher Blok (Block Cipher)Beroperasi pada plainteks/cipherteks dalam bentuk BLOK BIT. Rangkaian bit dibagi menjadi blok-blok dng ukuran tertentu. dienkripsi / didekripsi blok per blok.4.Cipher AliranPada cipher aliran, bit hanya mempunyai dua buah nilai, sehingga proses enkripsi hanya menyebabkan dua keadaan pada bit : berubah atau tidak berubah.Dua keadaan tersebut ditentukan oleh ALIRAN-KUNCI (keystream) yang dibangkitkan oleh PEMBANGKIT ALIRAN KUNCI (keystream generator).Keamanan sistem ini sepenuhnya bergantung pada keystream generator. Jika yang dibangkitkan hanya bit 0,maka cipherteks = plainteksTidak bergunaJika keystream generator mengeluarkan aliran kunci dengan pola 16-bit yang berulang, maka algoritma enkripsinya menjadi sama persis dengan XOR sederhana dengan tingkat keamanan yang rendah.Jika keystream generator mengeluarkan aliran kunci yang benar-benar acak (truly random), maka algoritma enkripsinya sama dengan one-time pad dengan tingkat keamanan yang sempurna. Dalam hal ini aliran kunci sama panjangnya dengan panjang plainteks sehingga akan didapatkan unbreakable cipher.Kesimpulan : hanya dengan perhitungan XOR sederhana, KUNCI ACAK yang di-generate SEPANJANG plainteks dan metode enkripsi ONE-TIME PAD, akan didapatkan cipherteks yang sulit dipecahkan.5.Pembangkit Aliran-KunciPembangkit bit-aliran-kunci dapat membangkitkan bit-aliran-kunci berbasis bit per bit atau dalam bentuk blok-blok bit. Untuk yang terakhir ini,cipherblok dapat digunakan untuk untuk memperolehcipheraliran.Untuk alasan praktis, pembangkit bit-aliran-kunci diimplementasikan sebagai prosedur algoritmik, sehingga bit-aliran-kunci dapat dibangkitkan secara simultan oleh pengirim dan penerima pesan.Prosedur algoritmik tersebut menerima masukan sebuah kunciU. Keluaran dari prosedur merupakan fungsi dariU(lihat Gambar 6.2). Pembangkit harus menghasilkan bit-aliran-kunci yang kuat secara kriptografi.Gambar 6.2Cipheraliran dengan pembangkit bit-aliran-kunci yang bergantung pada kunciU.Karena pengirim dan penerima harus menghasilkan bit-aliran-kunci yang sama , maka keduanya harus memiliki kunciUyang sama. KunciUini harus dijaga kerahasiaanya.Cipheraliran menggunakan kunciU yang relatif pendek untuk membangkitkan bit-aliran-kunci yang panjang.Contoh: MisalkanUadalah kunci empat-bit yang dipilih sembarang, kecuali 0000. Bit-aliran-kunci yang dibangkitkan akan berulang setiap 15 bit. MisalkanU= 1111 Barisan bit-bit aliran-kunci diperoleh dengan meng-XOR-kan bit pertama dengan bit terakhir dari empat bit sebelumnya, sehingga menghasilkan: 111101011001000dan akan berulang setiap 15 bit.Secara umum, jika panjang kunciUadalahnbit, maka bit-aliran-kunci tidak akan berulang sampai 2n 1 bit.KarenaUadalah besaran yang konstan, maka bit-aliran-kunci yang dihasilkan pada setiap lelaran tidak berubah jika bergantung hanya padaU.Ini berarti pembangkit bit-aliran-kunci tidak boleh mulai dengan kondisi awal yang sama supaya tidak menghasilkan kembali bit-aliran-kunci yang sama pada setiap lelaran.Oleh karena itu, beberapa pembangkit bit-aliran-kunci menggunakan besaranvektor inisialisasiatauumpan(seed), disimbolkan denganZ, agar diperoleh kondisi awal yang berbeda pada setiap lelaran (lihat Gambar 6.3).Gambar 6.3Cipheraliran dengan pembangkit bit-aliran-kunci yang bergantung pada kunciUdan umpanZ.Dengan demikian, bit-aliran-kunciKdapat dinyatakan sebagai hasil dari fungsigdengan parameter kunciUdan masukan umpanZ:K=gK(Z)sehingga proses enkripsi dan dekripsi didefinisikan sebagaiC =PK=PgK(Z)

P =CK=CgK(Z)Nilai Z yang berbeda-beda pada setiap lelaran menghasilkan bit-aliran-kunci yang berbeda pula.Merancang pembangkit bit-aliran-kunci yang bagus cukup sulit karena membutuhkan pengujian statistik untuk menjamin bahwa keluaran dari pembangkit tersebut sangat mendekati barisan acak yang sebenarnya.6.Serangan Terhadap Cipher AliranSerangan yang dapat dilakukan oleh kriptanalis terhadapcipheraliran adalah:1.Known-plaintext attackMisalkan kriptanalis memiliki potongan plainteks (P) dan cipherteks (C) yang berkoresponden, maka ia dapat menemukan bagian bit-aliran-kunci (K) yang berkoresponden dengan meng-XOR-kan bit-bit plainteks dan cipherteks:PC=P(PK)= (PP)K= 0K=K2.Ciphertext-only attackMisalkan kriptanalis memiliki dua potongan cipherteks berbeda (C1danC2) yang dienkripsi dengan bit-aliran-kunci yang sama. Ia meng-XOR-kan kedua cipherteks tersebut dan memperoleh dua buah plainteks yang ter-XOR satu sama lain:C1C2= (P1K)(P2K) = (P1P2)(KK) = (P1P2)0 = (P1P2)P1danP2dapat diperoleh dengan mudah. Selanjutnya, XOR-kan salah satu plainteks dengan cipherteksnya untuk memperoleh bit-aliran-kunciKyang berkoresponden:P1C1=P1(P1K) =KPesan dari dua serangan di atas adalah: penggunacipheraliran harus mempunyai bit-aliran-kunci yang tidak dapat diprediksi sehingga mengetahui sebagian dari bit-aliran-kunci tidak memungkinkan kriptanalis dapat mendeduksi bagian sisanya.7.Cipher BlokRangkaian bit-bit plainteks dibagi menjadi blok-blok bit dengan panjang sama, biasanya 64-bit atau lebih.Kemudian setiap blok di-enkripsi dengan bit-bit kunci yang panjangnya sama dengan panjang bit dalam blok plainteks.Algoritma cipher blok menggabungkan beberapa teknik kriptografi klasik dalam proses enkripsi sehingga dapat menjadi super-enkripsi.a.SubstitusiMenggantikan satu atau sekumpulan bit pada blok plainteks tanpa merubah urutannya.b.Transposisi atau permutasiMemindahkan atau menggeser posisi bit pada blok plainteks berdasarkan aturan tertentu.c.EkspansiMemperbanyak jumlah bit pada blok plainteks berdasarkan aturan tertentu. Misal 32-bit menjadi 48-bit.d.KompresiKebalikan dari ekspansi, jumlah bit pada blok plainteks dimampatkan berdasarkan aturan tertentu.Tahun 1949, Shannon mengemukakan dua prinsip (properties) penyandian (encoding) data dalam makalahnya yang berjudul Communication Theory of Secrecy Systems.Kedua prinsip tersebut digunakan dalam perancangan cipher blok yang kuat.1.ConfusionMenyembunyikan hubungan apapun antara plainteks, cipherteks dan kunci. Hal ini akan membuat kriptanalis frustasi untuk mencari pola-pola yang muncul pada cipherteks. Confusion akan membuat hubungan statistik plainteks, cipherteks dan kunci menjadi rumit.2.DiffusionMenyebarkan pengaruh satu bit plainteks atau kunci ke sebanyak mungkin cipherteks sehingga perubahan pada cipherteks tidak dapat diprediksi.Untuk mendapatkan keamanan yang tinggi, prinsip confusion dan diffusion diulang berkali-kali pada tiap-tiap blok enkripsi dengan kombinasi yang berbeda.8.Electronic Code Book (ECB)Setiapblok plainteksPi dienkripsi secara individual dan independen menjadi blok cipherteks Ci. Secara matematis, enkripsi dengan mode ECB dinyatakan sebagai Ci = Ek(Pi) dan dekripsi sebagai Pi = Dk(Ci), yang dalam hal ini, Pi dan Ci masing masingblock plainteksdanciphertekske- I Skema enkripsi.Gambar. 2 .2Electronic Code Book (ECB)

9.Cipher Block Chaining (CBC)Mode ini menerapkan mekanisme umpan balik (feedback) pada sebuah blok, yang dalam hal ini hasil enkripsi blok sebelumnya diumpan balikkan ke dalam enkripsi blok yang current. Secara matematis, enkripsi dengan mode CBC dinyatakan sebagai Ci = Ek(P1 = Ci1) dan dekripsi sebagai Pi = Dk(Ci) = Ci-1 Yang dalam hal ini, C0 = IV( initialization vector). IV dapat diberikan oleh pengguna atau dibangkitkan secara acak oleh program. gambarenkripsidengan mode CBC dapat dilihat pada Gambar 2.3 .Gambar 2.3 Enkripsi dengan Mode CBC

10.Cipher Feedback (CFB)Jika modeCBCyang diterapkan pada aplikasi komunikasi data, maka enkripsi tidak dapat dilakukan bila blok plainteks yang diterima belum lengkap. Misalnya bila pengiriman data dilakukan setiap kali karakter di-enterdari terminal komputer kehost.Pada modeCFB, data dienkripsikan dalam unit yang lebih kecil daripada ukuran blok, misalnya dienkripsikan satu karakter setiap kalinya (ini disebutCFB8-bit). Unit yang dienkripsikan dapat berupa bit per bit (jadi seperticipheraliran), 2 bit, dan seterusnya. Secara umum,CFB n-bit mengenkripsi plainteks sebanyaknbit setiap kalinya, yang manan ukuran blok. Dengan kata lain,CFBmengenkripsikancipherblok seperti padacipheraliran.ModeCFBmembutuhkan sebuah antrian (queue) yang berukuran sama dengan ukuran blok masukan.Tinjau modeCFB8-bit yang bekerja pada blokcipherberukuran 64-bit (setara dengan 8byte). Algoritma enkripsi dengan modeCFBadalah sbb (lihat Gambar 1):1. Antrian diisi denganIV(initialiazation vector) seperti pada modeCBC.2. Enkripsikan antrian dengan kunciK. Delapan bit paling kiri dari hasil enkripsi berlaku sebagaikeystreamyang kemudian di-XOR-kan dengan karakter 8-bit dari plainteks menjadi karakter 8-bit pertama dari cipherteks. Karakter cipherteks ini dikirim (pada aplikasi komunikasi data) atau disimpan (pada aplikasi penyimpanan data). Salinan (copy) dari karakter cipherteks ini juga dimasukkan ke dalam antrian (menempati 8 posisi bit paling kanan antrian), dan semua bit bit-bitlainnya di antrian digeser ke kiri menggantikan 8 bit pertama yang sudah digunakan.3. Karakter plainteks berikutnya dienkripsikan dengan cara yang sama seperti pada langkah ke 2.4. Dekripsi dilakukan sebagai kebalikan dari proses enkripsi.Gambar 1Mode CFB 8-bit-Secara formal, modeCFBdapat dinyatakan sebagai:Proses Enkripsi:Ci=PiMSBm(Ek(Xi))Xi+1 = LSBmn(Xi) ||CiProses Dekripsi:Pi=CiMSBm(Ek(Xi))Xi+1 = LSBmn(Xi) ||Ci

yang dalam hal ini,Xi =isi antrian denganX1adalahIVE= fungsi enkripsi dengan algoritmacipherblok.K= kuncim= panjang blok enkripsin= panjang unit enkripsi|| = operator penyambungan (concatenation)MSB= Most Significant ByteLSB =Least Significant Byte

-Seperti pada modeCBC, modeCFBjuga menggunakan skema umpan-balik dengan mengaitkan blok plainteks bersama-sama dengan blok cipherteks sebelumnya (Gambar 2).

Gambar 2. Skema umpan-balik yang diterapkan pada mode CFBDari Gambar 2 dapat dilihat bahwa:Ci=PiEk(Ci 1 )Pi=CiEk(Ci 1 )