Selasa, 06 April 2010

Key Algorithms

Diposting oleh febrina tomodachi di Selasa, April 06, 2010
Key Algorithms
8.3 Public-Key Algorithms

Secara historis, mendistribusikan kunci selalu link paling lemah dalam algoritma. No matter how strong a Tidak peduli seberapa kuat cryptosystem itu, jika penyusup bisa mencuri kunci, sistem ini tidak berharga. Ahli kriptologi selalu mengambil untuk diberikan bahwa kunci enkripsi dan kunci dekripsi adalah sama (atau dengan mudah diperoleh dari satu sama lain). Tapi kunci harus didistribusikan kepada semua pengguna sistem. Dengan demikian, tampak seolah-olah ada yang melekat built-in masalah. Tombol harus dilindungi dari pencurian, tetapi mereka juga harus didistribusikan, sehingga mereka tidak bisa hanya dikurung dalam bank vault. Pada tahun 1976, dua peneliti di Stanford University, Diffie dan Hellman (1976), mengusulkan jenis baru secara radikal dari salah satu di mana enkripsi dan kunci dekripsi berbeda, dan kunci dekripsi tidak bias diturunkan dari kunci enkripsi. Dalam proposal mereka, (bersemangat) algoritma enkripsi, E, dan (memasukkan) D, harus memenuhi tiga persyaratan. Persyaratan tersebut dapat dinyatakan secara sederhana sebagai berikut:

1. D (E (P)) = P.

2. Ini adalah hal yang sulit untuk menyimpulkan dari E D.

3. E tidak dapat rusak oleh serangan plaintext yang dipilih.

Persyaratan pertama mengatakan bahwa jika kita menerapkan D untuk pesan terenkripsi, E (P), kita mendapatkan pesan plaintext asli, P, kembali.Tanpa properti ini, penerima yang sah tidak bisa mendekripsi ciphertext. Persyaratan kedua berbicara untuk dirinya sendiri. Persyaratan ketiga adalah diperlukan karena, seperti yang akan kita lihat dalam beberapa saat, penyusup dapat percobaan. Dengan kondisi tersebut, tidak ada alasan bahwa kunci enkripsi tidak bisa dibuat publik.

Metode ini bekerja seperti ini. Seseorang, misalnya, Alice, ingin menerima pesan rahasia, pertama merencanakan dua algoritma memenuhi persyaratan di atas. Algoritma enkripsi dan kunci Alice kemudian dibuat publik, maka nama kriptografi kunci publik. Alice mungkin memasukkan kunci publik-nya di halaman rumahnya di Web, misalnya. Kita akan menggunakan E notasi A , berarti algoritma enkripsi kunci publik parameterized oleh Alice. Demikian pula, rahasia () dekripsi algoritma parameter oleh swasta key Alice D A . Bob melakukan hal yang sama, publikasi E B tapi menjaga D B rahasia.

8.3.1 RSA 8.3.1 RSA

Hanya menangkap bahwa kita perlu menemukan algoritma yang memang memenuhi semua tiga syarat. Karena potensi keuntungan dari kriptografi kunci publik, banyak peneliti bekerja keras, dan beberapa algoritma sudah 3 Halaman 1 dari 3 5/6/2006 telah diterbitkanSalah satu cara yang baik ditemukan oleh sebuah kelompok di MIT (Rivest et al., 1978). Hal ini dikenal dengan inisial dari tiga penemunya (Rivest, Shamir, Adleman): RSA. Ini telah bertahan semua upaya untuk istirahat untuk lebih seperempat abad dan dianggap sangat kuat. Banyak praktis keamanan didasarkan pada itu. Its major Its utama merugikan adalah bahwa ia memerlukan paling sedikit kunci 1024 bit untuk keamanan yang baik (versus 128 bit untuk kunci-simetris algorithms), yang membuatnya cukup lambat. Metode RSA didasarkan pada beberapa prinsip dari teori bilangan. Sekarang kita akan meringkas bagaimana menggunakan metode ini; untuk lebih jelasnya, konsultasikan dengan kertas.
1. Pilih dua bilangan prima besar, p dan q (biasanya 1024 bit).

2. Hitung n = p x q dan z = (p - 1) x (q - 1).

3. Pilih sebuah angka yang relatif prima untuk z dan menyebutnya d.

4. Cari e seperti yang e x d = 1 mod z.
Dengan parameter tersebut dihitung di muka, kita siap untuk mulai enkripsi. Membagi plaintext (dianggap sebagai bit string) ke dalam blok, sehingga setiap pesan plaintext, P, jatuh dalam interval 0 P
Untuk mengenkripsi pesan, P, hitung C = P e (Mod n). Untuk mendekripsi C, hitunglah P = C d (Mod n). Ini dapat dibuktikan bahwa untuk semua P dalam kisaran tertentu, fungsi enkripsi dan dekripsi adalah invers. Untuk melakukan enkripsi, Anda perlu e dan n. Untuk melakukan dekripsi, Anda perlu d dan n. Oleh karena itu, kunci publik terdiri dari pasangan (e, n), dan kunci pribadi terdiri dari (d, n). Keamanan metode ini didasarkan pada kesulitan anjak jumlah besar. Jika cryptanalyst bisa faktor (Umum dikenal) n, ia kemudian bisa menemukan p dan q, dan dari z. Dilengkapi dengan pengetahuan dari z dan e, d dapat ditemukan dengan menggunakan Algoritma Euclid. Untungnya, matematikawan telah mencoba untuk faktor jumlah besar minimal 300 tahun, dan akumulasi bukti menunjukkan bahwa hal itu adalah masalah yang sangat sulit.Menurut Rivest dan kolega, anjak sebuah digit nomor 500 memerlukan 10 -25 tahun dengan menggunakan kekerasan.Dalam kedua kasus, mereka menganggap yang dikenal algoritma terbaik dan komputer dengan instruksi μsec waktu-1. Bahkan jika komputer terus bisa lebih cepat dengan urutan besarnya per dekade, maka akan berabad-abad sebelum anjak sebuah digit nomor 500 menjadi layak, dan pada saat keturunan kita hanya dapat memilih p dan q masih lebih besar.

Karena bilangan prima dipilih untuk contoh ini sangat kecil, P harus kurang dari 33, sehingga setiap blok plaintext dapat hanya berisi karakter tunggal. Hasilnya adalah cipher substitusi monoalphabetic, tidak sangat mengesankan. Jika bukan kami telah memilih p dan q 2 512 Kita akan memiliki n 2 1024 setiap blok bisa sampai 1024 bit atau 128-bit delapan Karakter, versus 8 karakter untuk DES dan 16 karakter untuk AES. Perlu diketahui bahwa menggunakan RSA seperti yang telah kita dijelaskan mirip dengan menggunakan algoritma simetris di ECB . Cara-blok input yang sama memberikan blok output yang sama. Oleh karena itu, beberapa bentuk chaining diperlukan untuk data enkripsi. Namun, dalam praktiknya, sistem RSA berbasis-paling menggunakan kriptografi kunci publik terutama untuk mendistribusikan satu kali sesi kunci untuk digunakan dengan beberapa algoritma kunci simetrik seperti AES atau triple DES. terlalu lambat untuk sebenarnya enkripsi volume data yang besar tetapi secara luas digunakan untuk distribusi kunci.


9 8.3.2 Algoritma Lain-Kunci Publik

Meskipun RSA secara luas digunakan, tidak berarti algoritma kunci publik yang diketahui. Algoritma kunci publik pertama adalah algoritma ransel (Merkle dan Hellman, 1978). di sini adalah bahwa seseorang memiliki sejumlah besar objek, masing-masing dengan berat berbeda. Pemilik mengkodekan pesan dengan diam-diam memilih subset dari objek dan menempatkan mereka dalam ransel tersebut. Berat total dari obyek di ransel dibuat publik, seperti daftar semua mungkin objek. Daftar objek dalam ransel adalah dirahasiakan. Dengan pembatasan tambahan tertentu, masalah tentang bagaimana daftar kemungkinan benda dengan berat yang diberikan dianggap layak dan komputasi membentuk dasar dari algoritma kunci publik.

Algoritma's penemu itu, Ralph Merkle, cukup yakin bahwa algoritma ini tidak dapat rusak, jadi dia menawarkan $ 100 hadiah bagi siapa saja yang bisa memecahkannya. Shamir Adi (yang''S''di RSA) segera memecahkannya dan dikumpulkan hadiah. Tidak terpengaruh, Merkle memperkuat algoritma dan menawarkan hadiah $ 1000 bagi siapa saja yang melanggar baru satu. Ronald Rivest (yang''R''di RSA) segera memecahkan baru dan mengumpulkan hadiah. Merkle did not dare offer Merkle tidak berani menawarkan $ 10.000 untuk versi berikutnya, begitu''A''(Leonard Adleman) adalah beruntung. Namun demikian, algoritma ransel adalah tidak dianggap aman dan tidak digunakan dalam praktek lagi. skema kunci publik lainnya didasarkan pada sulitnya komputasi logaritma diskrit.

Algoritma yang menggunakan prinsip telah ditemukan oleh El Gamal (1985) dan Schnorr (1991). Sebuah skema lainnya ada beberapa, seperti yang didasarkan pada kurva eliptik (Menezes dan Vanstone, 1993), tetapi dua utama kategori adalah mereka didasarkan pada kesulitan anjak jumlah besar dan logaritma diskrit komputasi suatu modulo besar utama. Masalah-masalah ini dianggap benar-benar sulit untuk memecahkan-matematikawan telah bekerja pada mereka selama bertahun-tahun tanpa istirahat besar-through

0 komentar:

Posting Komentar