Teknik-Teknik Kriptanalisis Pada RSA

dokumen-dokumen yang mirip
Algoritma Kriptografi Kunci Publik. Dengan Menggunakan Prinsip Binary tree. Dan Implementasinya

Modifikasi Algoritma RSA dengan Chinese Reamainder Theorem dan Hensel Lifting

BAB 2 TINJAUAN PUSTAKA

Studi dan Implementasi Sistem Kriptografi Rabin

Metode Enkripsi RSA. Swastyayana Wisesa ) 1) Jurusan Teknik Informatika ITB, Bandung,

BAB 2 LANDASAN TEORI

KLEPTOGRAFI PADA ALGORITMA KRIPTOGRAFI RSA

Teknik-teknik Kriptanalisis

BAB II LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Teknik Kriptografi Rabin, Serangan yang Dapat Dilakukan dan Perbandingannya dengan RSA

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

Serangan (Attack) Terhadap Kriptografi

Studi dan Penerapan Side Channel Attack: Timing Attack

Studi dan Analisis Perbandingan Antara Algoritma El Gamal dan Cramer-Shoup Cryptosystem

Kriptografi Dan Algoritma RSA

Pertukaran kunci Diffie-Hellman dengan Pembangkit Bilangan Acak Linear Congruential Generator (LCG)

Oleh: Benfano Soewito Faculty member Graduate Program Universitas Bina Nusantara

Adi Shamir, one of the authors of RSA: Rivest, Shamir and Adleman

Kajian Perhitungan dan Penerapan Algoritma RSA pada Proses Pengamanan Data

Implementasi dan Perbandingan Algoritma Kriptografi Kunci Publik

BAB II TINJAUAN PUSTAKA

RSA (Rivest, Shamir, Adleman) Encryption

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

KEAMANAN DATA DENGAN METODE KRIPTOGRAFI KUNCI PUBLIK

Desain Public Key Core2Centaury

Analisis dan Implementasi Serangan Kunci secara Konkuren pada Algoritma RSA

Perbandingan Algoritma RSA dan Rabin

BAB II TINJAUAN PUSTAKA

Algoritma RSA dan ElGamal

Perhitungan dan Implementasi Algoritma RSA pada PHP

ALGORITMA ELGAMAL UNTUK KEAMANAN APLIKASI

BAB 2 TINJAUAN PUSTAKA

Penggunaan Digital Signature Standard (DSS) dalam Pengamanan Informasi

Kegunaan Chinese Remainder Theorem dalam Mempercepat dan Meningkatkan Efisiensi Peforma Sistem Kriptografi RSA

Implementasi Algoritma RSA dan Three-Pass Protocol pada Sistem Pertukaran Pesan Rahasia

STUDI MENGENAI CUBE ATTACK

Rancangan dan Implementasi Algoritma Pembangkitan Kunci Kombinasi antara Algoritma RSA dan ElGamal

Implementasi Kriptografi Kunci Publik dengan Algoritma RSA-CRT pada Aplikasi Instant Messaging

Manajemen Keamanan Informasi

KRIPTOGRAFI KUNCI PUBLIK

Perbandingan Algoritma Kunci Nirsimetris ElGammal dan RSA pada Citra Berwarna

BAB 2 LANDASAN TEORI Keamanan Informasi

Departemen Teknik Informatika Institut Teknologi Bandung 2004

BAB II TINJAUAN PUSTAKA

Protokol Kriptografi

BAB 2 TINJAUAN TEORETIS

Skema Boneh-Franklin Identity-Based Encryption dan Identity-Based Mediated RSA

PENGAMANAN DOKUMEN MENGGUNAKAN METODE RSA (RIVEST SHAMIR ADLEMAN)BERBASIS WEB

Integrasi Kriptografi Kunci Publik dan Kriptografi Kunci Simetri

PERANCANGAN SIMULASI MAN IN THE MIDDLE ATTACK PADA ALGORITMA KRIPTOGRAFI RSA DAN PENCEGAHANNYA DENGAN INTERLOCK PROTOCOL NASKAH PUBLIKASI

BAB II LANDASAN TEORI

Vigènere Cipher dengan Pembangkitan Kunci Menggunakan Bilangan Euler

BAB 2 LANDASAN TEORI

Aplikasi Merkle-Hellman Knapsack Untuk Kriptografi File Teks

BAB 2 LANDASAN TEORI. 2.1 Pengertian Kriptografi

Sistem Kriptografi Kunci-Publik

Tanda Tangan Digital Majemuk dengan Kunci Publik Tunggal dengan Algoritma RSA dan El Gamal

Analisis Implementasi Algoritma Kunci Publik pada Tanda Tangan Digital

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

VISUALISASI ALGORITMA RSA DENGAN MENGGUNAKAN BAHASA PEMROGRAMAN JAVA

BAB II BAB II TINJAUAN PUSTAKA

Penggunaan Fungsi Rasional, Logaritma Kuadrat, dan Polinomial Orde-5 dalam Modifikasi Kriptografi Caesar Cipher

BAB 3 KRIPTOGRAFI RSA

HASIL DAN PEMBAHASAN. Algoritma Modular Exponentiation mempunyai kompleksitas sebesar O((lg n) 3 ) (Menezes et al. 1996).

Simulasi Pengamanan File Teks Menggunakan Algoritma Massey-Omura 1 Muhammad Reza, 1 Muhammad Andri Budiman, 1 Dedy Arisandi

Penerapan Algoritma Modulo dan Bilangan Prima dalam Algoritma Kriptografi Rivest-Shamir-Adleman (RSA)

BAB 2 LANDASAN TEORI. Universitas Sumatera Utara

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

Properti Algoritma RSA

BAB Kriptografi

BAB I PENDAHULUAN 1.1 Latar Belakang

APLIKASI TEORI BILANGAN DALAM KRIPTOGRAFI KUNCI PUBLIK DAN ALGORITMA DIFFIE-HELLMAN

BAB III METODOLOGI PENELITIAN. ditemukan oleh Rivest, Shamir dan Adleman (RSA) pada tahun

BAB II LANDASAN TEORI. yang mendasari pembahasan pada bab-bab berikutnya. Beberapa definisi yang

BAB III ANALISIS DAN PERANCANGAN

Penerapan algoritma RSA dan Rabin dalam Digital Signature

Perbandingan Algoritma RSA dan Diffie-Hellman

BAB III ANALISIS. Pada tahap analisis, dilakukan penguraian terhadap topik penelitian untuk

BAB III KUNCI PUBLIK

Perbandingan Sistem Kriptografi Kunci Publik RSA dan ECC

Implementasi SHA, Algoritma HAJ, dan Algoritma RSA pada BlackBerry Messanger

MODEL KEAMANAN INFORMASI BERBASIS DIGITAL SIGNATURE DENGAN ALGORITMA RSA

PENERAPAN TEORI BILANGAN DALAM ALGORITMA ENKRIPSI PADA PRETTY GOOD PRIVACY (PGP)

BAB 2 TINJAUAN PUSTAKA

Enkripsi Teks dengan Algoritma Affine Cipher

Studi dan Analisis Dua Jenis Algoritma Block Cipher: DES dan RC5

BAB I PENDAHULUAN. diperhatikan, yaitu : kerahasiaan, integritas data, autentikasi dan non repudiasi.

Perancangan dan Implementasi Aplikasi Bluetooth Payment untuk Telepon Seluler Menggunakan Protokol Station-to-Station

Studi Dan Implementasi Clustering Penerima Kunci Dengan Metode Shamir Secret Sharing Advanced

LANDASAN TEORI. 2.1.Sistem Keamanan

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

BAB 1 PENDAHULUAN. dalam bahasa sandi (ciphertext) disebut sebagai enkripsi (encryption). Sedangkan

Kriptografi Kunci Rahasia & Kunci Publik

Public Key Cryptography

BAB 2 TINJAUAN PUSTAKA

BAB I PENDAHULUAN. 1.1 Latar Belakang

Kriptografi Elliptic Curve Dalam Digital Signature

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

Transkripsi:

Teknik-Teknik Kriptanalisis Pada RSA Felix Arya 1, Peter Paulus, dan Michael Ivan Widyarsa 3 Departemen Teknik Informatika Institut Teknologi Bandung Jalan Ganesha 10 Bandung 4013 E-mail : if1039@students.if.itb.ac.id 1, if1040@students.if.itb.ac.id, if1056@students.if.itb.ac.id 3 Abstrak Algoritma RSA, yang dikembangkan pada tahun 1976, merupakan algoritma kriptografi kunci publik paling populer saat ini. Algoritma ini menjadi populer oleh karena sampai saat ini, sistem kriptografi yang menggunakan algoritma ini masih sulit untuk dipecahkan. Walaupun demikian, terdapat beberapa teknik yang dapat digunakan memecahkan sistem kriptografi tersebut jika didapatkan bahan-bahan yang dibutuhkan, misalnya waktu pembangkitan kunci, dan sebagainya. Pada makalah ini kami membahas teknik-teknik yang dapat digunakan untuk melakukan kriptanalisis pada RSA. Teknik-teknik serangan ini dibagi menjadi serangan matematis, serangan pemfaktoran, serangan timing, dan serangan implementasi. Kesimpulan yang didapatkan adalah bahwa algoritma RSA ini masih merupakan algoritma yang sulit untuk dipecahkan, walaupun secara teori mungkin untuk dipecahkan dengan usaha yang sangat besar. Kata kunci: RSA, kriptanalisis 1. Pendahuluan RSA adalah algoritma kriptografi kunci publik paling populer yang digunakan saat ini. Algoritma ini diciptakan pada tahun 1976 oleh Rivest, Shamir, dan Adleman. Popularitas dari algoritma ini bersumber pada tingkat keamanannya yang sangat baik, bersumber dari sulitnya pemfaktoran terhadap sebuah bilangan integer besar. Sampai saat ini, berbagai pendekatan telah diusulkan sebagai metode kriptanalisis terhadap RSA. Menurut Statica 7), kriptanalisis pada RSA bisa dibagi tiga, yaitu: Metode Faktorisasi Serangan Brute-Force dan Timing Serangan Implementasi Selain dari tiga jenis serangan ini, masih terdapat beberapa metode lain, di antaranya serangan matematis, rubber-hose attack, dan lain-lain. Di dalam makalah ini, akan dibahas secara singkat mengenai jenis-jenis kriptanalisis pada RSA, beserta dengan asumsi masing-masing dan feasibility-nya. Dari pembahasan ini, akan ditarik suatu kesimpulan mengenai pendekatan yang paling efektif untuk memecahkan RSA.. Ruang lingkup Di dalam makalah ini akan dimuat pembahasan mengenai berbagai jenis kriptanalisis pada RSA, dibagi dalam tiga metode, yaitu faktorisasi, brute-force and timing, dan implementasi. Pembahasan ini

akan mencakup deskripsi singkat, asumsi masing-masing metode, dan feasibility. 3. Metode Kriptanalisis pada RSA 3.1 Serangan-serangan Matematis pada Algoritma RSA Serangan GCD (Greatest Common Divisor) Jika terdapat dua buah pesan yang dependen linear (m 1 dan m, m = m 1 + Δ ) dienkripsi dengan sistem kriptografi RSA yang sama, maka dimungkinkan untuk mendapatkan kedua pesan tersebut. Dengan cara mendapatkan kedua ciphertext c = m e mod n dan c = m e n 1 1 mod, didefinisikan dua buah fungsi polynomial P dan Q yang didefinisikan sebagai berikut: P( x) = x c1(mod n) (1) Q( x) = ( x + Δ) c (mod n) () Karena pesan m 1 merupakan sebuah akar dari P dan Q, m 1 akan menjadi akar dari fungsi gcd(p,q), yang kemungkinan besar merupakan polinom berderajat satu. Dengan menyelesaikan fungsi polinom ini, akan didapatkan nilai m 1 dan m + Δ 3). = m 1 Serangan Common Modulus Serangan ini dapat dilakukan jika diketahui dua buah ciphertext hasil enkripsi sebuah pesan m yang sama dengan dua buah kunci enkripsi yang berbeda, yaitu c = e1 m mod n dan c = m e n 1 mod. Selain itu, nilai n yang digunakan dalam enkripsi harus sama, dan kedua kunci enkripsi e1 dan e harus relatif prima. Karena faktor pembagi terbesar e 1 dan e = 1, maka dengan menggunakan algoritma euclidean, terdapat dua buah bilangan r, s Ζ sedemikian sehingga: re 1 + se = 1 (3) Dengan demikian m dapat dihitung dengan cara sebagai berikut: re1 + se r s 3) m = m = c c mod n (4) 3. Serangan Faktorisasi 1 Penyerangan ini bertujuan untuk memfaktorkan nilai n menjadi dua buah faktor primanya yaitu p dan q. Jika p dan q berhasil difaktorkan, fungsi euler ϕ ( n) = ( p 1)( q 1) akan dapat dikomputasi dengan mudah, dan kemudian 1 kunci privat d = e modϕ( n) dapat segera dihitung 8). Pemfaktoran ini pada dasarnya sangat mungkin untuk dilakukan, dan jika berhasil, maka skema enkripsi RSA yang telah diaplikasikan akan runtuh. Akan tetapi penerapan teknik ini tidaklah mudah, oleh karena algoritma RSA ini memanfaatkan integer factorization problem, dimana memfaktorkan sebuah bilangan menjadi faktor-faktor primanya merupakan hal yang sulit (kompleksitasnya dalam orde nonpolinomial) 5). Selain itu, p dan q yang dipilih biasanya merupakan bilangan yang sangat besar, sehingga proses faktorisasi akan memakan waktu yang sangat lama. Pada saat ini, algoritma pemfaktoran tercepat adalah General Number Field Sieve. Kompleksitas algoritma ini masih dalam orde eksponensial, yaitu 1/ 3 / 3 exp(( c + o(1)) n log n) dimana n merupakan jumlah bit pada integer yang difaktorkan, dan c < 7). Hal ini membuat RSA merupakan algoritma kriptografi yang aman, selama nilai n yang digunakan sangat

besar dan belum ditemukan algoritma pemfaktoran dalam orde polinomial. Jenis serangan ini dapat dilakukan hanya dengan bermodalkan nilai n dan nilai w (yang memang tidak dirahasiakan). Serangan ini cocok untuk dilakukan jika waktu pemfaktoran bukan merupakan masalah krusial dalam usaha mencari kunci dekripsi. Salah satu cara untuk mengatasi serangan faktorisasi ini adalah untuk membuat panjang faktor prima p dan q tidak seimbang. Dengan memilih nilai p yang jauh lebih kecil daripada q, dan nilai plainteks T masih berada dalam jangkauan 0 T < p, serangan menggunakan algoritma faktorisasi dapat ditipu dengan membuat seakan-akan terdapat dua faktor prima yang panjangnya hampir sama 8). 3.3 Serangan Brute-Force dan Timing Metode Brute-Force adalah metode yang kriptanalisis yang paling pasti dalam mendapatkan hasil. Dengan mencoba setiap nilai kunci yang mungkin, seorang krriptanalis bisa mendekripsi ciphertext seperti apapun. Masalah utama dari metode ini adalah waktu komputasi yang sangat lama. Pencarian nilai kunci dengan exhaustive search adalah mustail dilakukan dengan teknologi saat ini. Walaupun demikian, beberapa cara untuk memperkecil ruang pencarian telah diusulkan, di antaranya adalah dengan menggunakan metode Timing. Metode Timing ini memanfaatkan lamanya waktu komputasi dalam proses dekripsi sebuah cipher RSA. Dalam sebuah proses dekripsi RSA, pengguna akan melakukan proses m = c d mod n dimana nilai n adalah publik dan cipher c bisa didapat dengan melakukan penyadapan pada saluran komunikasi. Untuk mendapatkan statistik waktu yang diperlukan, kriptanalis harus bisa mendapatkan waktu komputasi pengguna untuk sejumlah nilai c dengan kunci privat tetap. Apabila dalam setiap operasi dekripsi pengguna menggunakan kunci privat d yang berbeda, maka metode timing ini tidak bisa dilakukan. Walaupun demikian komputasi kunci privat yang berbeda untuk setiap proses dekripsi sangat mahal dan tidak banyak pihak yang sanggup melakukannya tanpa terlalu mengganggu performansi. Selain itu, dalam metode ini kriptanalis harus mengetahui desain dan arsitektur dari sistem sasaran. Dengan menyadap protokol komunikasi dari sasaran, kriptanalis bisa mendapatkan statistik yang diperlukan dari waktu respon sistem sasaran terhadap setiap pesan. Pemanfaatan statistik ini dalam mendapatkan kunci privat bergantung pada fungsi eksponensiasi modular yang digunakan oleh sistem sasaran. Untuk beberapa fungsi eksponensiasi modular, kriptanalis bsia mendapatkan nilai-nilai bit eksponen dan menghitung kunci privat. Contoh penggunaan tehnik timing ini bisa dilihat di 4). Menurut Kocher, bila tidak terjadi banyak kesalahan pada penentuan statistik waktu dan desain sistem sasaran diketahui dengan jelas, metode timing ini bisa mendapatkan kunci publik dengan cukup cepat. Pada percobaan dengan RSAREF, dalam keadaan optimal hanya perlu dilakukan empat kali evaluasi untuk setiap operasi yang dilakukan oleh sistem sasaran. Jumlah operasi ini bergantung pada jenis fungsi eksponensiasi modular yang digunakan pada sistem. Walaupun demikian, metode Timing ini memiliki kelemahan pada penentuan statistik waktu dan penentuan bilangan eksponen. Kesalahan pada penentuan bilangan eksponen ini akan memperlama waktu komputasi. Selain itu, penentuan statistik waktu juga bisa dipengaruhi oleh faktorfaktor luar seperti load yang berubah pada

sistem sasaran atau fluktuasi load pada saluran komunikasi. Selain itu, sistem sasaran bisa melakukan blinding seperti yang digunakan oleh RSA Securities 6) untuk mencegah waktu komputasinya terbaca. 3.4 Implementation Attack Implementation attack, atau disebut juga protocol attack adalah penyerangan terhadap sebuah kriptosistem yang mengeksploitasi desain dan penggunaan yang buruk terhadap kriptosistem tersebut. Implementation attack tidak melakukan kriptanalisis terhadap algoritma dari RSA 8). Salah satu contoh implementation attack terhadap RSA adalah penyerangan terhadap sebuah varian dari RSA yang disebut RSA for Paranoids 6). Misalkan e dan n adalah kunci public Bob. Prosedur penyerangan adalah sebagai berikut. Alice mengenkripsi message m, dimana m > p, menjadi ciphertext dengan kunci publik Bob. Bob kemudian mendekripsi ciphertext tersebut menjadi m. Karena m > p maka m m. Jika Alice bisa mendapatkan m, p dapat diperoleh dengan menghitung PBB(m m, n). Satu hal yang paling penting dan merupakan syarat yang harus dipenuhi agar implementation attack ini dapat dijalankan adalah Alice harus mendapatkan hasil dekripsi dari ciphertext yang dikirimnya 3). Sebuah contoh lain dari implementation attack adalah chosen text attack 1). Dalam serangan ini penyerang akan mengenkripsi pesan M dengan kunci enkripsi orang yang akan diserang menjadi C. Kemudian penyerang akan memilih bilangan acak X dan akan membangkitkan C berdasarkan rumus sebagai berikut C = C x X E (mod N) (5) Orang yang diserang kemudian akan mendekripsi C menjadi (C ) D. Jika penyerang bisa mendapatkan (C ) D, maka penyerang dapat mendapatkan kunci dekripsi D dengan rumus sebagai berikut. (C ) D = C D x X = M x X (mod N) (6) Seperti contoh sebelumnya, chosen text attack ini memiliki syarat penyerang mendapatkan hasil dekripsi dari pesan yang ia kirimkan. 4. Kesimpulan Dari serangan-serangan yang telah dibahas, bisa disimpulkan bahwa serangan faktorisasi adalah jenis serangan yang menggunakan paling sedikit asumsi dan kondisi awal. Serangan faktorisasi ini bisa dilakukan tanpa harus mengetahui desain sistem dan tidak perlu memiliki cipherteks. Walaupun demikian, karena belum adanya algoritma pemfaktoran yang mampu melakukan pemfaktoran bilangan integer besar secara cepat, cara serangan ini akan memakan waktu yang lama, sehingga tidak feasible untuk digunakan. Metode-metode matematis, seperti GCD dan common modulus dapat memecahkan RSA, tapi hanya dengan kondisi-kondisi yang sudah ditentukan, dan memerlukan waktu yang cukup lama. Selain itu, penggunaannya terbatas pada pesan-pesan yang memenuhi kondisi bersangkutan. Metode timing dan brute-force juga dapat menghitung kunci enkripsi RSA apabila statistik waktu komputasi dari komputer sasaran bisa didapat. Statistik waktu ini bisa didapat dengan penyadapan pada saluran komunikasi, tetapi masih terdapat maslaah pada akurasi dari penentuan statistik ini. Hal ini karena load dari mesin sasaran dan load dari saluran komunikasi bisa mempengaruhi

akurasi penentuan statistik waktu, dan pada akhirnya akan mengakibatkan pada tebakan yang salah untuk bilangan eksponen sehingga waktu komputasi akan lama. Dari seluruh metode serangan yang telah disajikan, semuanya masih belum ada yang sanggup memecahkan RSA dengan waktu dan usaha yang cukup feasible. Apabila sistem sasaran memilih bilangan integer besar secara hati-hati dan menjaga keamanan komunikasi, algoritma RSA masih sangat sulit untuk ditembus, kecuali dengan metode rubber-hose attack.

Daftar Pustaka [1] G. Davida, Chosen signature cryptoanalyses of the RSA (MIT) public key cryptosystem, Technical Report TR-CS-8-, Department of Electrical Engineering and Computer Science, University of Wisconsin, Milwaukee, WI, 198. [] H. Gilbert, D. Gupta, A. Odlyzko and J.J. Quisquater, Attacks on Shamir s RSA for Paranoids, xxx, 1998. [3] M. Joye dan J.J. Quisquater, Cryptanalysis Of RSA-Type Cryptosystems: A Visit, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, vol. 38, pp. 1-31, American Mathematical Society, 1998. [4] P.C. Kocher. Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems, Cryptography Research, Inc, 1999. [5] A.Menezez, et al. Handbook of Applied Cryptography, CRC Press, 1996. [6] RSA Security Laboratory, Inc. www.rsasecurity.com/rsalabs, diakses tanggal Januari 006 pukul :03. [7] A.Shamir, RSA For Paranoids. RSA Laboratories Volume 1, Number 3 - Autumn, 1995. [8] R.Statica, New Approach To Cryptanalysis of RSA, New Jersey Institute of Technology, 003.