Disusun oleh: Ir. Rinaldi Munir, M.T.

dokumen-dokumen yang mirip
Algoritma Kriptografi Modern (Bagian 2)

Add your company slogan STREAM CIPHER. Kriptografi - Week 7 LOGO. Aisyatul Karima, 2012

Algoritma Kriptografi Modern

RC4 Stream Cipher. Endang, Vantonny, dan Reza. Departemen Teknik Informatika Institut Teknologi Bandung Jalan Ganesha 10 Bandung 40132

Kriptografi Modern Part -1

Cipher yang Tidak Dapat Dipecahkan (Unbreakable Cipher)

Tipe dan Mode Algoritma Simetri (Bagian 2)

APLIKASI JAVA KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE. Abstract

Studi Perbandingan ORYX Cipher dengan Stream Cipher Standard

Kriptografi Modern Part -1

STUDI DAN MODIFIKASI ALGORITMA BLOCK CHIPER MODE ECB DALAM PENGAMANAN SISTEM BASIS DATA. Arief Latu Suseno NIM:

BAB III PENYANDIAN ONE TIME PAD MENGGUNAKAN SANDI VIGENERE

STUDI ALGORITMA SOLITAIRE CIPHER

A-2 Sistem Kriptografi Stream Cipher Berbasis Fungsi Chaos Circle Map dengan Pertukaran Kunci Stickel

KRIPTOGRAFI VERNAM CIPHER UNTUK MENCEGAH PENCURIAN DATA PADA SEMUA EKSTENSI FILE

STUDI & IMPLEMENTASI ALGORITMA TRIPLE DES

Modifikasi Ceasar Cipher menjadi Cipher Abjad-Majemuk dan Menambahkan Kunci berupa Barisan Bilangan

Pengenalan Kriptografi

Bab 2 Tinjauan Pustaka

MODIFIKASI VIGÈNERE CIPHER DENGAN MENGGUNAKAN MEKANISME CBC PADA PEMBANGKITAN KUNCI

PERANCANGAN ALGORITMA KRIPTOGRAFI KUNCI SIMETRI DENGAN MENGGUNAKAN JARINGAN SARAF TIRUAN

Blok Cipher JUMT I. PENDAHULUAN

Vigènere Chiper dengan Modifikasi Fibonacci

STUDI DAN PERBANDINGAN PERFORMANSI ALGORITMA SIMETRI VIGENERE CHIPPER BINNER DAN HILL CHIPPER BINNER Ivan Nugraha NIM :

Modifikasi Nihilist Chiper

PENYANDIAN DALAM KRIPTOGRAFI

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

KOMBINASI ALGORITMA ONE TIME PAD CIPHER DAN ALGORITMA BLUM BLUM SHUB DALAM PENGAMANAN FILE

Modifikasi Cipher Block Chaining (CBC) MAC dengan Penggunaan Vigenere Cipher, Pengubahan Mode Blok, dan Pembangkitan Kunci Berbeda untuk tiap Blok

Pembangkit Kunci Acak pada One-Time Pad Menggunakan Fungsi Hash Satu-Arah

RANCANGAN,IMPLEMENTASI DAN PENGUJIAN ZENARC SUPER CIPHER SEBAGAI IMPLEMENTASI ALGORITMA KUNCI SIMETRI

Modern Cryptography. stream & block cipher

Metode Enkripsi baru : Triple Transposition Vigènere Cipher

TRIPLE VIGENÈRE CIPHER

Add your company slogan TEKNIK BLOCK CIPHER. Kriptografi - Week 9 LOGO. Aisyatul Karima, 2012

Universitas Sumatera Utara BAB 2 LANDASAN TEORI

Kriptografi Simetris Dengan Kombinasi Hill cipher Dan Affine Cipher Di Dalam Matriks Cipher Transposisi Dengan Menerapkan Pola Alur Bajak Sawah

Serangan (Attack) Terhadap Kriptografi

2. Tipe dan Mode Algoritma Simetri

Modifikasi Pergeseran Bujur Sangkar Vigenere Berdasarkan Susunan Huruf dan Angka pada Keypad Telepon Genggam

Modifikasi Affine Cipher Dan Vigènere Cipher Dengan Menggunakan N Bit

Modifikasi Vigenere Cipher dengan Enkripsi-Pembangkit Kunci Bergeser

Departemen Teknik Informatika Institut Teknologi Bandung 2004

(S.2) KRIPTOGRAFI METODA MODULAR MULTIPLICATON-BASED BLOCK CIPHER PADA FILE TEXT

Modifikasi Vigenère Cipher dengan Metode Penyisipan Kunci pada Plaintext

Streamed Key Vigenere Cipher : Vigenere Cipher Menggunakan Penerapan Metode Pembangkitan Aliran Kunci

Algoritma Enkripsi Citra dengan Pseudo One-Time Pad yang Menggunakan Sistem Chaos

Algoritma Kriptografi Modern (Bagian 2)

PENGGUNAAN POLINOMIAL UNTUK STREAM KEY GENERATOR PADA ALGORITMA STREAM CIPHERS BERBASIS FEEDBACK SHIFT REGISTER

TEKNIK ENKRIPSI DAN DESKRIPSI MENGGUNAKAN ALGORITHMA ELECTRONIC CODE BOOK (ECB)

Vigènere Transposisi. Kata Kunci: enkripsi, dekripsi, vigènere, metode kasiski, known plainteks attack, cipherteks, plainteks 1.

DASAR-DASAR KEAMANAN SISTEM INFORMASI Kriptografi, Steganografi. Gentisya Tri Mardiani, S.Kom.,M.Kom

BAB 3 METODOLOGI PENELITIAN

Ada 4 mode operasi cipher blok: 1. Electronic Code Book (ECB) 2. Cipher Block Chaining (CBC) 3. Cipher Feedback (CFB) 4. Output Feedback (OFB)

MODIFIKASI VIGENERE CIPHER DENGAN MENGGUNAKAN TEKNIK SUBSTITUSI BERULANG PADA KUNCINYA

Implementasi Sistem Keamanan File Menggunakan Algoritma Blowfish pada Jaringan LAN

Reference. William Stallings Cryptography and Network Security : Principles and Practie 6 th Edition (2014)

Aplikasi Perkalian dan Invers Matriks dalam Kriptografi Hill Cipher

STUDI PERBANDINGAN ALGORITMA SIMETRI BLOWFISH DAN ADVANCED ENCRYPTION STANDARD

BAB 2 LANDASAN TEORI

Chiper Blok dengan Algoritma Operasi XOR antar Pecahan Blok

Teknik Konversi Berbagai Jenis Arsip ke Dalam bentuk Teks Terenkripsi

MAKALAH KRIPTOGRAFI KLASIK

SUATU ALGORITMA KRIPTOGRAFI STREAM CIPHER BERDASARKAN FUNGSI CHAOS

BAB II TINJAUAN TEORITIS. Kriptografi (cryptographi) berasal dari Bahasa Yunani: cryptos artinya secret

Analisa Perbandingan Algoritma Monoalphabetic Cipher Dengan Algoritma One Time Pad Sebagai Pengamanan Pesan Teks

Data Encryption Standard (DES)

STUDI DAN ANALISIS ALGORITMA STREAM CIPHER SOSEMANUK

Enkripsi Pesan pada dengan Menggunakan Chaos Theory

BAB I PENDAHULUAN. Universitas Sumatera Utara

VISUALISASI ALGORITMA CHIPER BLOCK CHAINING SEBAGAI MEDIA PEMBELAJARAN BERBASIS MOBILE ANDROID

BAB 2 TINJAUAN PUSTAKA

ANALISA PROSES ENKRIPSI DAN DESKRIPSI DENGAN METODE DES

BAB I PENDAHULUAN. Pada era teknologi informasi yang semakin berkembang, pengiriman data

ANALISIS PEMBANGKIT KUNCI DENGAN TENT MAP, SESSION KEY DAN LINEAR CONGRUENTIAL GENERATOR PADA CIPHER ALIRAN

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

Algoritma Kriptografi Modern (Bagian 1)

PEMBANGKIT KUNCI LINEAR FEEDBACK SHIFT REGISTER PADA ALGORITMA HILL CIPHER YANG DIMODIFIKASI MENGGUNAKAN CONVERT BETWEEN BASE

ENKRIPSI CITRA BITMAP MELALUI SUBSTITUSI WARNA MENGGUNAKAN VIGENERE CIPHER

BAB II LANDASAN TEORI

BAB III ANALISA DAN PERANCANGAN

BAB Kriptografi

TEKNIK PENYEMBUNYIAN PESAN PDF TERENKRIPSI MENGGUNAKAN ALGORITMA KRIPTOGRAFI VERNAM CIPHER DAN STEGANOGRAFI END OF FILE (EOF) DALAM MEDIA GAMBAR

Sistem Kriptografi Kunci-Publik

Teknik Kriptanalisis Linier

Algoritma Split-Merge One Time Pad Dalam Peningkatan Enkripsi Data

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN. 1.1 Latar Belakang. Seiring dengan perkembangan peradaban manusia dan kemajuan pesat di

H-Playfair Cipher. Kata Kunci: H-Playfair cipher, playfair cipher, polygram cipher, kriptanalisis, kriptografi.

Kriptografi Klasik. Presented by Dr. R. Rizal Isnanto, S.T., M.M., M.T.

Penerapan Mode Blok Cipher CFB pada Yahoo Messenger

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

ANALISA IMPLEMENTASI ALGORITMA STREAM CIPHER SOSEMANUK DAN DICING DALAM PROSES ENKRIPSI DATA

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA

BAB III ANALISIS DAN DESAIN SISTEM

Pembangunan MAC Berbasis Cipher Aliran (RC4)

Vigènere Cipher dengan Pembangkitan Kunci Menggunakan Bilangan Euler

Perhitungan dan Implementasi Algoritma RSA pada PHP

Transkripsi:

Disusun oleh: Ir. Rinaldi Munir, M.T. Departemen Teknik Informatika Institut Teknologi Bandung 2004

9. Tipe dan Mode Algoritma Simetri 9.1 Pendahuluan Algoritma kriptografi (cipher) yang beroperasi dalam mode bit dapat dikelompokkan menjadi dua kategori: 1. Cipher aliran (stream cipher) Algoritma kriptografi beroperasi pada plainteks/cipherteks dalam bentuk bit tunggal, yang dalam hal ini rangkaian bit dienkripsikan/didekripsikan bit per bit. 2. Cipher blok (block cipher) Algoritma kriptografi beroperasi pada plainteks/cipherteks dalam bentuk blok bit, yang dalam hal ini rangkaian bit dibagi menjadi blok-blok bit yang panjangnya sudah ditentukan sebelumnya. Misalnya panjang blok adalah 64 bit, maka itu berarti algoritma enkripsi memperlakukan 8 karakter setiap kali penyandian (1 karakter = 8 bit dalam pengkodean ASCII). Baik cipher aliran maupun cipher blok, keduanya termasuk ke dalam algoritma kriptografi simetri. 9.2 Aliran Chiper aliran mengenkripsikan plainteks menjadi chiperteks bit per bit (1 bit setiap kali transformasi). Catatan: Variasi chiper aliran lainnya adalah mengenkripsikan plainteks menjadi chiperteks karakter per karakter atau kata per kata, misalnya pada Vigenere Cipher dan one-time pad chiper. 1

Cipher aliran pertama kali diperkenalkan oleh Vernam melalui algoritmanya yang dikenal dengan nama Vernam. Vernam cipher diadopsi dari one-time pad cipher, yang dalam hal ini karakter diganti dengan bit (0 atau 1). Cipherteks diperoleh dengan melakukan penjumlahan modulo 2 satu bit plainteks dengan satu bit kunci: c i = (p i + k i ) mod 2 (9.1) yang dalam hal ini, p i : bit plainteks k i : bit kunci c i : bit cipherteks Plainteks diperoleh dengan melakukan penjumlahan modulo 2 satu bit cipherteks dengan satu bit kunci: p i = (c i k i ) mod 2 (9.2) (perhatikan bahwa untuk sistem biner, persamaan 9.2 identik dengan p i = (c i + k i ) mod 2) Dengan kata lain, Vernam cipher adalah versi lain dari onetime pad cipher Oleh karena operasi penjumlahan modulo 2 identik dengan operasi bit dengan operator XOR, maka persaman (6.3) dapat ditulis sebagai c i = p i k i (9.3) 2

dan proses deksripsi menggunakan persamaan p i = c i k i (9.4) Pada cipher aliran, bit hanya mempunyai dua buah nilai, sehingga proses enkripsi hanya menyebabkan dua keadaan pada bit tersebut: berubah atau tidak berubah. Dua keadaan tersebut ditentukan oleh kunci enkripsi yang disebut aliranbit-kunci (keystream). Aliran-bit-kunci dibangkitkan dari sebuah pembangkit yang dinamakan pembangkit aliran-bit-kunci (keystream generator). Aliran-bit-kunci (sering dinamakan running key) di-xor-kan dengan aliran bit-bit plainteks, p 1, p 2,, p i, untuk menghasilkan aliran bit-bit cipherteks: c i = p i k i Di sisi penerima, bit-bit cipherteks di-xor-kan dengan aliran-bit-kunci yang sama untuk menghasilkan bit-bit plainteks: p i = c i k i karena c i k i = (p i k i ) k i = p i (k i k i ) = p i 0 = p i Catatlah bahwa proses enkripsi dua kali berturut-turut menghasilkan kembali plainteks semula. 3

Gambar 9.1 memperlihatkan konsep cipher aliran. Keystream Generator Keystream Generator Keystream k i Keystream k i c i p i p i Plainteks Enkripsi Cipherteks Dekripsi Plainteks Gambar 9.1 Konsep cipher aliran Contoh 9.1: Misalkan plainteks adalah 1100101 dan aliran-bit-kunci adalah 1000110 maka cipherteks yang dihasilkan adalah 0100011 yang mana diperoleh dengan meng-xor-kan bit-bit plainteks dengan bit-bit aliran-kunci pada posisi yang berkoresponden. 4

Keamanan sistem cipher aliran bergantung seluruhnya pada pembangkit aliran-bit-kunci. Jika pembangkit mengeluarkan aliran-bit-kunci yang seluruhnya nol, maka cipherteks sama dengan plainteks, dan proses enkripsi menjadi tidak artinya. Jika pembangkit mengeluarkan aliran-bit-kunci dengan pola 16-bit yang berulang, maka algoritma enkripsinya menjadi sama seperti enkripsi dengan XOR sederhana yang memiliki tingkat keamanan yang tidak berarti. Jika pembangkit mengeluarkan aliran-bit-kunci yang benarbenar acak (truly random), maka algoritma enkripsinya sama dengan one-time pad dengan tingkat keamanan yang sempurna. Pada kasus ini, aliran-bit-kunci sama panjangnya dengan panjang plainteks, dan kita mendapatkan cipher aliran sebagai unbreakable cipher. Tingkat keamanan cipher aliran terletak antara algoritma XOR sederhana dengan one-time pad. Semakin acak keluaran yang dihasilkan oleh pembangkit aliran-bit-kunci, semakin sulit kriptanalis memecahkan cipherteks. (Keystream Generator) Pembangkit aliran-bit-kunci dapat membangkitkan bit-bit kunci (keystream) berbasis bit per bit atau dalam bentuk blok-blok bit. Untuk yang terakhir ini, cipher blok dapat digunakan untuk untuk memperoleh cipher aliran. 5

Untuk alasan praktis, pembangkit aliran-bit kunci diimplementasikan sebagai prosedur algoritmik, sehingga bitbit kunci (keystream) dapat dibangkitkan secara simultan oleh pengirim dan penerima pesan. Prosedur algoritmik tersebut menerima masukan sebuah kunci U. Keluaran dari prosedur merupakan fungsi dari U (lihat Gambar 9.2). Pembangkit harus menghasilkan bit-bit kunci yang kuat secara kriptografi. U Keystream U Keystream Generator Generator Keystream k i Keystream k i c i p i p i Plainteks Enkripsi Cipherteks Dekripsi Plainteks Gambar 9.2 Cipher aliran dengan pembangkit aliran-bit-kunci yang bergantung pada kunci U. Karena pengirim dan penerima harus menghasilkan bit-bit kunci yang sama, maka keduanya harus memiliki kunci U yang sama. Kunci U ini harus dijaga kerahasiaanya. Cipher aliran menggunakan kunci U yang relatif pendek untuk membangkitkan bit-bit kunci yang panjang. 6

Contoh 9.2: Misalkan U adalah kunci empat-bit yang dipilih sembarang, kecuali 0000. Bit-aliran-kunci yang dibangkitkan akan berulang setiap 15 bit. Misalkan U = 1111 Barisan bit-bit kunci diperoleh dengan meng-xor-kan bit pertama dengan bit terakhir dari empat bit sebelumnya, sehingga menghasilkan: 111101011001000 dan akan berulang setiap 15 bit. Secara umum, jika panjang kunci U adalah n bit, maka bit-bit kunci tidak akan berulang sampai 2 n 1 bit. Karena U adalah besaran yang konstan, maka aliran bit-bit kunci yang dihasilkan pada setiap lelaran tidak berubah jika bergantung hanya pada U. Ini berarti pembangkit aliran-bit-kunci tidak boleh mulai dengan kondisi awal yang sama supaya tidak menghasilkan kembali bit-bit kunci yang sama pada setiap lelaran. Oleh karena itu, beberapa pembangkit aliran-bit-kunci menggunakan umpan (seed), disimbolkan dengan Z, atau kadang-kadang disebut juga vektor inisialisasi (IV), agar diperoleh kondisi awal yang berbeda pada setiap lelaran (lihat Gambar 9.3). 7

Z Z U Keystream U Keystream Generator Generator Keystream k i Keystream k i c i p i p i Plainteks Enkripsi Cipherteks Dekripsi Plainteks Gambar 9.3 Cipher aliran dengan pembangkit bit-alirankunci yang bergantung pada kunci U dan umpan Z. Dengan demikian, bit-bit kunci K dapat dinyatakan sebagai hasil dari fungsi g dengan parameter kunci U dan masukan umpan Z: K = g K (Z) sehingga proses enkripsi dan dekripsi didefinisikan sebagai C = P K = P g K (Z) P = C K = C g K (Z) Nilai Z yang berbeda-beda pada setiap lelaran menghasilkan bit-bit kunci yang berbeda pula. Menggunakan pasangan Z dan U yang sama dua kali dapat menyebabkan bit-bit kunci (keystream) yang sama pada setiap kali. Penggunaan keystream yang sama dua kali 8

memudahkan jenis penyerangan ciphertext attack (aka diijelaskan kemudian). Karena bit-bit kunci hanya bergantung pada Z dan U, maka bit-bit kunci ini tidak terpengaruh oleh kesalahan transmisi di dalam cipherteks. Jadi, kesalahan 1-bit pada transmisi cipherteks hanya menghasilkan kesalahan 1-bit pada plainteks hasil dekripsi. Serangan yang dapat dilakukan oleh kriptanalis terhadap cipher aliran adalah: 1. Known-plaintext attack Misalkan 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: P C = P (P K) = (P P) K = 0 K = K Contoh 9.3: P 01100101 (karakter e ) K 00110101 (karakter 5 ) C 01010000 (karakter P ) P 01100101 (karakter e ) K 00110101 (karakter 5 ) 9

2. Ciphertext-only attack Serangan ini terjadi jika keystream yang sama digunakan dua kali terhadap potongan plainteks yang berbeda. Serangan semacam ini disebut juga keystream reuse attack. Misalkan kriptanalis memiliki dua potongan cipherteks berbeda (C 1 dan C 2 ) yang dienkripsi dengan bit-bit kunci yang sama. Ia meng-xor-kan kedua cipherteks tersebut dan memperoleh dua buah plainteks yang ter-xor satu sama lain: C 1 C 2 = (P 1 K ) (P 2 K) = (P 1 P 2 ) (K K) = (P 1 P 2 ) 0 = (P 1 P 2 ) Jika salah satu dari P 1 atau P 2 diketahui atau dapat diterka, maka XOR-kan salah satu plainteks tersebut dengan cipherteksnya untuk memperoleh bit-bit kunci K yang berkoresponden: P 1 C 1 = P 1 (P 1 K) = K Selanjutnya P 2 dapat diungkap dengan kunci K ini. Jika P 1 atau P 2 tidak diketahui, dua buah plainteks yang ter-xor satu sama lain ini dapat diketahui dengan menggunakan nilai statistik dari pesan. Misalnya dalam teks Bahasa Inggris, dua buah spasi ter-xor, atau satu spasi dengan huruf e yang paling sering muncul, dsb. Kriptanalis cukup cerdas untuk mendeduksi kedua plainteks tersebut. 10

Contoh 9.4: P 1 01100101 (karakter e ) K 00110101 (karakter 5 ) C 1 01010000 (karakter P ) P 2 01000010 (karakter B ) K 00110101 (karakter 5 ) C 2 01110111 (karakter w ) P 1 P 2 = 01100101 01000010 = 00100111 C 1 C 2 = 01010000 01110111 = 00100111 Perhatikan bahwa P 1 P 2 = C 1 C 2 Jika P 1 atau P 2 telah diketahui, maka XOR-kan plainteks tersebut dengan cipherteks yang berkoresponden untuk memperoleh K (seperti pada Contoh 9.3). Pesan moral dari dua serangan di atas adalah: pengguna cipher aliran harus mempunyai bit-bit kunci yang tidak dapat diprediksi sehingga mengetahui sebagian dari bit-bit kunci kunci tidak memungkinkan kriptanalis dapat mendeduksi bagian sisanya. 3. Flip-bit attack Serangan ini tidak bertujuan menemukan kunci atau mengungkap plainteks dari cipherteks, tetapi mengubah bit cipherteks tertentu sehingga hasil dekripsinya berubah. Pengubahan dilakukan dengan membalikkan (flip) bit tertentu (0 menjadi 1, atau 1 menjadi 0). 11

Contoh 9.5: P : QT-TRNSFR US $00010,00 FRM ACCNT 123-67 TO C: uhtr07hjlmkyr3j7 kdhj38lkkldkytr#)okntkrgh 00101101 Flip low-bit 00101100 C: uhtr07hjlmkyr3j7 kdhj38lkkldkytr#)okntkrgh P : QT-TRNSFR US $10010,00 FRM ACCNT 123-67 TO Pengubahan 1 bit U dari cipherteks sehingga menjadi T. Hasil dekripsi: $10,00 menjadi $ 10010,00 Pengubah pesan tidak perlu mengetahui kunci, ia hanya perlu mengetahui posisi pesan yang diminati saja. Serangan semacam ini memanfaatkan karakteristik cipher aliran yang sudah disebutkan di atas, bahwa kesalahan 1-bit pada cipherteks hanya menghasilkan kesalahan 1-bit pada plainteks hasil dekripsi. Cipher aliran cocok untuk mengenkripsikan aliran data yang terus menerus melalui saluran komunikasi, misalnya: 1. Mengenkripsikan data pada saluran yang menghubungkan antara dua buah komputer. 2. Mengenkripsikan suara pada jaringan telepon mobile GSM. 12

Alasannya, jika bit cipherteks yang diterima mengandung kesalahan, maka hal ini hanya menghasilkan satu bit kesalahan pada waktu dekripsi, karena tiap bit plainteks ditentukan hanya oleh satu bit cipherteks. Kondisi ini tidak benar untuk cipher blok karena jika satu bit cipherteks yang diterima mengandung kesalahan, maka kesalahan ini akan merambat pada seluruh blok bit plainteks hasil dekripsi (error propagation). 13