Fast Correlation Attack pada LILI-128

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

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

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

ANALISIS UJI STATISTIK BERBASIS KORELASI PADA ALGORITMA SNOW 2.0

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

Algoritma Kriptografi Modern (Bagian 2)

Studi Perbandingan SEAL (Software-Optimized Encryption Algorithm) dengan Stream Cipher Biasa

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

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

Studi Perbandingan ORYX Cipher dengan Stream Cipher Standard

Encoding dan Decoding Kode BCH (Bose Chaudhuri Hocquenghem) Untuk Transmisi Data

Seminar Nasional Informatika 2015 (semnasif 2015) ISSN: UPN Veteran Yogyakarta, 14 November 2015

Analisis Statistik Menggunakan Strict Avalanche Criterion (SAC) Test Pada Algoritma Kriptografi PRESENT

Universitas Sumatera Utara BAB 2 LANDASAN TEORI

PENYANDIAN SUMBER DAN PENYANDIAN KANAL. Risanuri Hidayat

PERANCANGAN APLIKASI PENGACAKAN CITRA MENGGUNAKAN M-SEQUENCE BERDASARKAN PARAMETER

BAB I PENDAHULUAN. Penyampaian pesan dapat dilakukan dengan media telephone, handphone,

Cryptographic Randomness Testing Algoritma Piccolo Menggunakan Sac Test

Keamanan Sistem Komputer DES, AES, RSA

Kriptografi Modern Part -1

Analisis Keamanan Protokol GSM R.Farid Nugraha & Tri Sumarno

General Discussion. Bab 4

Introduction to spread spectrum (SS) Alfin Hikmaturokhman,MT

Kombinasi Algoritma Rubik, CSPRNG Chaos, dan S-Box Fungsi Linier dalam Perancangan Kriptografi Block Cipher

BAB III ANALISA DAN DESAIN SISTEM

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

Sandi Blok. Risanuri Hidayat Jurusan Teknik Elektro dan Teknologi Informasi FT UGM

Algoritma Kriptografi Modern

IMPLEMENTASI UJI KORELASI UNTUK PENGUJIAN SUB KUNCI PADA ALGORITMA KRIPTOGRAFI BLOCK CIPHER PRESENT MENGGUNAKAN BAHASA PEMROGRAMAN C++

BAB II LANDASAN TEORI

SEMINAR TUGAS AKHIR PERIODE JANUARI 2012

TTG3B3 - Sistem Komunikasi 2 Convolutional Coding

BAB 2 LANDASAN TEORI

Bab 2 Tinjauan Pustaka

Analisis Serangan berbasis BDD pada Enkripsi E0 Bluetooth

Studi dan Implementasi Algoritma kunci publik McEliece

Uji SAC Terhadap Algoritma Speck

Kriptografi Modern Part -1

TTG3B3 - Sistem Komunikasi 2 Linear Block Code

Rancangan Aplikasi Pemilihan Soal Ujian Acak Menggunakan Algoritma Mersenne Twister Pada Bahasa Pemrograman Java

STUDI MENGENAI SERANGAN DIFFERENT CRYPTANALYSIS PADA ALGORITMA SUBSTITUTION PERMUATION NETWORK

Algoritma Spiral shifting

Block Coding KOMUNIKASI DATA OLEH : PUTU RUSDI ARIAWAN ( )

PENGEMBANGAN ALGORITMA ENKRIPSI DEKRIPSI BERBASIS LFSR MENGGUNAKAN POLINOMIAL PRIMITIF

DATA ENCRYPTION STANDARD (DES) STANDAR ENKRIPSI DATA. Algoritma Kriptografi Modern

Advanced Encryption Standard (AES) Rifqi Azhar Nugraha IF 6 A.

Distribusi Difference dari S-Box Berbasis Fungsi Balikan Pada GF(2 8 )

BAB II DASAR TEORI. 7. Menuliskan kode karakter dimulai dari level paling atas sampai level paling bawah.

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

STUDI MENGENAI CUBE ATTACK

ANALISIS ALGORITMA KODE KONVOLUSI DAN KODE BCH

BAB 3 METODOLOGI PENELITIAN

Data Encryption Standard (DES)

BAB IV HASIL DAN PEMBAHASAN

Proses Decoding Kode Reed Muller Orde Pertama Menggunakan Transformasi Hadamard

ANALISIS ALGORITMA ORYX

BAB III ANALISIS SISTEM

Kompleksitas Waktu Algoritma Kriptografi RC4 Stream Cipher

KODE LEXICOGRAPHIC UNTUK MEMBANGUN KODE HAMMING (7, 4, 3) DAN PERLUASAN KODE GOLAY BINER (24, 12, 8)

dan c C sehingga c=e K dan d K D sedemikian sehingga d K

BAB II LANDASAN TEORI

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

Perancangan Kriptografi Block Cipher 256 Bit Berbasis Pola Tarian Liong (Naga) Artikel Ilmiah

Studi Perbandingan International Data Encryption Algorithm (IDEA) dan The Fast Data Encipherment Algorithm (FEAL)

STUDI DAN ANALISIS ALGORITMA STREAM CIPHER SOSEMANUK

KONSTRUKSI LEXICOGRAPHIC UNTUK MEMBANGUN KODE HAMMING (7, 4, 3)

BAB II LANDASAN TEORI

Kode Sumber dan Kode Kanal

Algoritma Enkripsi Baku Tingkat Lanjut

ANALISA PROSES ENKRIPSI DAN DESKRIPSI DENGAN METODE DES

Halim Agung 1*, Budiman 1. Jl.Lodan Raya No.2, Jakarta 14430

CARA KERJA SERANGAN XSL

PENGUJIAN KEACAKKAN OUTPUT ALGORITMA CLEFIA-128 MODE COUNTER BERDASARKAN NIST SP

Modul Praktikum Keamanan Sistem

APLIKASI KRIPTOGRAFI ENKRIPSI DEKRIPSI FILE TEKS MENGGUNAKAN METODE MCRYPT BLOWFISH

KRIPTOGRAFI VERNAM CIPHER UNTUK MENCEGAH PENCURIAN DATA PADA SEMUA EKSTENSI FILE

IMPLEMENTASI ENKRIPSI DATA BERBASIS ALGORITMA DES

BAB II LANDASAN TEORI

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

BAB II KAJIAN TEORI. definisi mengenai grup, ring, dan lapangan serta teori-teori pengkodean yang

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

BAB III PERANCANGAN SISTEM DAN SIMULASI

STUDI DAN IMPLEMENTASI ALGORITMA RIJNDAEL UNTUK ENKRIPSI SMS PADA TELEPON GENGGAM YANG BERBASIS WINDOWS MOBILE 5.0

STUDI MENGENAI KRIPTANALISIS UNTUK BLOCK CIPHER DES DENGAN TEKNIK DIFFERENTIAL DAN LINEAR CRYPTANALYSIS

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

BAB III. ANALISIS MASALAH

Algoritma SAFER K-64 dan Keamanannya

Aplikasi Aljabar Lanjar untuk Penyelesaian Persoalan Kriptografi dengan Hill Cipher

SISTEM PENGKODEAN. IR. SIHAR PARLINGGOMAN PANJAITAN, MT Fakultas Teknik Jurusan Teknik Elektro Universitas Sumatera Utara

Teknik Telekomunikasi - PJJ PENS Akatel Politeknik Negeri Elektro Surabaya Surabaya

Makalah Teori Persandian

VISUALISASI KINERJA PENGKODEAN MENGGUNAKAN ALGORITMA VITERBI

BAB 2 LANDASAN TEORI. 2.1 Pengertian Kriptografi

APLIKASI PENGAMANAN DOKUMEN DENGAN MENGGUNAKAN TEKNIK KRIPTOGRAFI ALGORITMA AES-RINJDAEL

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah. Pada dasarnya sistem administrasi kependudukan merupakan sub sistem dari

1. Pendahuluan. 2. Tujuan Desain

Studi Mengenai Algoritma Skipjack dan Penerapannya

ANALISIS UNJUK KERJA CODED OFDM MENGGUNAKAN KODE CONVOLUTIONAL PADA KANAL AWGN DAN RAYLEIGH FADING

Modern Cryptography. stream & block cipher

Transkripsi:

Fast Correlation Attack pada LILI-128 Agung Nursilo, Daniel Melando Jupri Rahman, R. Ahmad Imanullah Z. Tingkat III Teknik Kripto 2009/2010 Abstrak Pada tulisan ini, akan ditunjukkan fast correlation attack pada algoritma LILI-128. Serangan ini memiliki kompleksitas sekitar 2 71 operasi bit yang diterima dengan panjang sekitar 2 30 bit dan kompleksitas fase prekomputasi sebesar 2 79 tabel lookup. Kompleksitas ini secara signifikan lebih rendah daripada 2 112, Dimana diperkirakan oleh penemu LILI-128 menjadi lebih rendah terikat pada kompleksitas dari setiap serangan. 1. Pendahuluan LILI-128 keystream generator adalah generator yang sederhana dan cepat yang menggunakan dua binary LFSR dan dua fungsi untuk menghasilkan rangkaian biner keystream pseudorandom. LILI-128 adalah cipher yang diambil dari keluarga LILI keystream generator. LILI-128 telah diajukan sebagai kandidat synchronous stream cipher pada projek NESSIE. Proyek NESSIE merupakan proyek dalam Information SecoritiesTecnology (IST) Program Komisi Eropa, yang berjalan pada tahun 2000-2002. Tujuan utama dari proyek ini adalah untuk mengajukan portofolio kriptografi primitif yang kuat yang diperoleh setelah open call dan telah dievaluasi menggunakan proses yang transparan dan terbuka. Dalam pengajuan LILI-128 desainernya memperkirakan bahwa kompleksitas dari setiap divide and conquer attack pada LILI-128 setidaknya 2 112 operasi. Kita petik dari paper yang diajukan desainer LILI-128 Ini adalah perkiraan konservatif, dan tingkat keamanan yang sebenarnya mungkin jauh lebih tinggi. Dalam tulisan ini, ditunjukkan bahwa dimungkinkan untuk melakukan fast correlation attack dengan kompleksitas sekitar 2 71 operasi dengan mengasumsikan telah dimiliki rangkaian dengan panjang sekitar 128MByte menggunakan fase prekomputasi dengan kompleksitas 2 79.

2. Deskripsi LILI-128 Pada bagian ini diberikan penjelasan singkat mengenai LILI-128 keystream generator. LILI-128 keystream generator merupakan clock-controlled nonlinear filter generator. Generator terdiri dari dua feedback shift register, dinotasikan dengan LFSR c dan LFSR d. Panjang total LFSR adalah 128 dan pada saat initial state, dan saat inisialisasi 128 bit kunci menyediakan initial state dari LFSR. Generator dibagi menjadi dua subsistem. Subsistem pertama menghasilkan rangkaian integer yang digunakan untuk mengontrol clocking subsistem kedua, yang pada selanjutnya menghasilkan keystream. Struktur LILI-128diilustrasikandalamGambar 1. Gambar 1. LILI-128 keystream generator LFSR c adalah LFSR dengan panjang 39 dengan feedback polynomial Karena primitif, rangkaian yang dihasilkan oleh LFSR c adalah rangkaian dengan panjang maksimum. Isi stage 12 dan 20 LFSR c adalah input kefungsi f c. Fungsi f c mengambil dua bit sebagai masukan dan menghasilkan sebuah integer c k, sehingga c k {1, 2, 3, 4}. Nilai c k dihitung sebagai : Rangkaian integer c = c 1, c 2,... mengendalikan clocking LFSR d, dalam arti LFSR d di-clock c k kali sebelum menghasilkan nilai keluaran z k. Dengan demikian, dari definisi c, LFSR d di-clock setidaknya sekali dan paling banyak empat kali antara output bit keystream berturut-turut. Panjang LFSR d adalah 89 dan feedback polynomial LFSR d adalah polinomial primitif

Isi 10 stage yang berbeda dari LFSR d adalah input ke fungsi Boolean f d, f d :. Output dari f d adalah rangkaian keystream z 1, z 2,... Terakhir, dilakukan penambahan bitwise output generator z 1, z 2,... ke plaintext (operasi XOR), dan didapatkan ciphertext. 3. Fast Correlation Attack Ketika menyerang synchronous stream cipher, diasumsikan penyerang mempunyai barisan keystream z 1, z 2,...., z N dan tugas si penyerang (attacker) adalah bisa menemukan kunci K. Serangan ini merupakan known-plaintext attack karena keystream dengan mudah diperoleh jika pasangan pesan dan ciphertext diberikan. Gambar 2. Subsistem pembangkitan data Ada beberapa kelas serangan terhadap binary stream cipher. Salah satu kelas penting serangan terhadap stream cipher berbasis LFSR adalah fast correlation attack. Fast correlation attack pada LILI-128 ini aplikasi dari teknik umum yang diajukan oleh V.Chepyzhov, T.Johansson, dan B.Smeets (A simple algorithm for fast correlation attacks on stream ciphers) Diasumsikan kita telah mengobservasi barisan keystream dengan panjang N, z = (z 1, z 2,..., z N ). Misal barisan output dari f d dinyatakan dengan d = (d1, d2,..., d M ) di mana M > N ketika LFSR d secara reguler di-clock. Selanjutnya tentukan barisan s = (s 1, s 2,..., s N ), s k Z, di mana Dengan menggunakan barisan d dan s kita dapat mengobservasi barisan z sebagai Prinsip serangannya adalah sebagai berikut. Tebak sebuah initial state LFSR c, dan hitung barisan c dan barisan s yang berhubungan di mana

Jika initial state LFSR c yang ditebak benar, barisan s bersama dengan z akan memberikan kita N simbol d s1, d s2,..., d sn. Kemudian, kita menggunakan N simbol d yang diperoleh tadi untuk menemukan initial state LFSR d. Nyatakan barisan yang dihasilkan LFSR d (dalam clocking reguler) dengan u = (u 1, u 2,..., u N ). Simbol output ke-i dari f d diberikan sebagai Langkah selanjutnya adalah pendekatan linier fungsi f d. Untuk sebuah fungsi Boolean,, transformasi Walsh dari f(x) didefinisikan sebagai real-valued function F(ω) pada vector space diberikan oleh di mana dot product vektor x dan didefinisikan sebagai. Kita mendefinisikan nonlinieritas dari fungsi Boolean f(x), dinotasikan dengan N f sebagai Hamming distance terhadap fungsi affine terdekat, yaitu di mana f dan g adalah tabel kepercayaan dari f(x) dan g(x). A n adalah himpunan fungsi affine pada n variabel dan d H (f,g) adalah Hamming distance antara dua vektor f dan g, yaitu jumlah posisi di mana f dan g berbeda. Nonlinieritas dari f(x) dapat diperoleh dari transformasi Walsh sebagai Fungsi f d yang digunakan pada LILI-128 mempunyai nonlinieritas N fd = 480. Hal ini mengakibatkan kita dapat menemukan fungsi linier f l (x 1,x 2,..., x 10 ) = a 1 x 1 + a 2 x 2 +... + a 10 x 10 sehingga d H (f d,f l ) = 480. Jadi, jika kita menggunakan fungsi ini untuk memperkirakan f d, kita mendapatkan ( ) ) (1) Kita sebut probabilitas pada perhitungan (1) korelasi teridentifikasi. Untuk menyederhanakan kita punya

Spektrum Walch lengkap fungsi f d adalah sebagai berikut. Terdapat 720 yang berbeda dengan F(ω)= 0.64 dengan F(ω)= ± 32 dan 240 dengan F(ω) ± 64. Hal ini berarti terdapat 240 fungsi affine yang berbeda f l1, f l2,..., f l240 sehingga Selanjutnya, kita memodifikasi algoritma yang diajukan oleh V. Chepyzhov, T. Johansson, dan B. Smeets, menggunakan algoritma parameter t = 3. Misal himpunan rangkaian LFSRd yang mungkin dinotasikan dengan. Karena LFSR d mempunyai panjang 89 = 2 89 dan untuk barisan tetap dengan N dari juga linier [N,89] kode blok, yang disebut С. Terdapat 89 x N matriks generator G LFSR. Jelasnya, u = u 0 GLFSR, di mana adalah initial state LFSR d. Setiap simbol u i dapat ditulis sebagai kombinasi linier initial state u 0. Ketika kita mengganti f d dengan f l, kita dapat menulis output dari f l sebagai kombinasi linier initial state u 0. Hingga, kita dapat menemukan sebuah matriks G 89 x N, sehingga rangkaian output v dari f l dapat ditulis sebagai v = u 0 G. Matriks G dapat dilihat sebagai matriks generator dari kode linier C lain. Tambahan lagi, dengan menggunakan semua 240 fungsi afine {f l1, f l2,..., f l240 } dengan korelasi yang sama, kita bisa mendapatkan 240 matriks berukuran 89 x N yang berbeda, yang ditandai dengan G 1, G 2,..., G 240. Dengan merangkaikan matriks-matriks ini kita mendapatkan matriks 89 x240 N berikut Misal g i merupakan kolom ke-i dari G', yaitu Misal k < 89 merupakan beberapa nilai tetap. Pada fase serangan prekomputasi kita menemukan semua triple kolom, g i1, g i2, g i3, sehingga di mana * menunjukkan nilai yang berubah-ubah (tidak semua nol) Untuk menemukan semua triple seperti itu kita lanjutkan sebagai berikut. Tempatkan tiap kolom G' pada sebuah daftar, yang dirutkan berdasarkan nilai dari 89 k entri terakhir. Untuk setiap pasangan kolom g i1, g i2 hitung nilai g i1 + g i2 pada posisi 89 k terakhir. Periksa jika terdapat

kolom g i3, sehingga persamaan (2) terpenuhi. Hal ini mudah dilakukan karena kolom telah diurut. Sehingga, waktu berjalan saat langkah prekomputasi adalah O(N 2 ). Misal jumlah triple yang memenuhi persamaan (2) adalah m. Tunjukkan indeks semua triple tersebut sebagai Jika i 1, i 2 dan i 3 memenuhi persamaan (2), penjumlahan v i1 + v i2 + v i3 adalah kombinasi linier dari simbol k pertama dari initial state LFSRd. Sehingga, membentuk sebuah kode (m, k), yang dinotasikan dengan C3. Dengan menggunakan z kita dapat menghitung Vektor (Z 1, Z 2,..., Z m ) bertindak sebagai word yang diterima untuk C3. Karena korelasi antara z i dan v i, kita dapat menuliskan z i = v i + e i, di mana e i adalah variabel biner acak dengan..., E m ), di mana. Definisikan vektor error untuk C3 sebagai (E 1, E 2, Karena e i adalah variabel acak independen, untuk k = 1, 2,..., m jelas bahwa Ek juga variabel acak biner yang independen dengan probabilitas error di mana є = 0.03125 untuk LILI-128, dan p 3 0.49988 Terakhir, kita mendekode C 3 menggunakan Maximum Likehood decoding (ML-decoding). Algoritma ini menghasilkan sebuah codeword dari C 3 yang terdekat dengan (Z 1,Z 2,...,Z m ). Dari codeword ini, kita mendapatkan k bit initial state LFSR d. Bit initial state yang tersisa ditentukan dengan cara yang sama. Penting dicatat bahwa mendapatkan bit tersisa mempunyai kompleksitas yang dapat diabaikan dibandingkan dengan menentukan k bit pertama. Metode di atas telah dijelaskan untuk regulary clocked LFSR d. Ditinjau dari kasus LILI 128, ketika LFSRd di-clock menggunakan barisan c, kita membutuhkan sedikit modifikasi serangan. Karena P(c i = j) = 0.25 untuk j = 1, 2, 3, 4, LFSR d di-clock rata-rata 2.5 kali antara output berurutan. Sehingga, jika kita mengobsevasi N simbol keystream, maka LFSR d telah di-clock M

kali, di mana M 2.5 N. Barisan c menentukan simbol N mana dari d 1, d 2,..., d M yang digunakan untuk menghasilkan keystream z. Pada fase prekomputasi correlation attack kita butuh untuk mempertimbangkan seluruh simbol M yang mungkin ketika kita mengkonstruksi kode C3. Sehingga, waktu prekomputasi adalah O(M 2 ) tabel lookup. Dari setiap initial state LFSR c yang mungkin memilih N posisi dan dari himpunan persamaan dari bentuk (2) kita bisa mengatakan bahwa initial state LFSRc yang ditebak adalah valid.