Stream Cipher Block Cipher

masalah komunikasi awal untuk penyampaian kunci di atas, algoritma ini mempunyai kelemahan lainnya. Kelemahan ini timbul jika terdapat banyak pihak yang ingin saling berkomunikasi. Karena setiap pasangan harus sepakat dengan kunci pribadi tertentu yang mengakibatkan pembengkakan memori pada penyimpanan kunci, sehingga mempunyai kesulitan dalam menghafal banyak kunci dan harus menggunakannya secara tepat. Contoh Algoritma Simetris seperti : DES, Triple DES, AES, RC2, RC4, IDEA, dan lain-lain. AES dengan kepanjangan “Advanced Encryption Standard” akan menjadi pembahasan utama lihat BAB III.

2.2.1.1. Stream Cipher

Stream cipher aliran cipher merupakan bagian dari algoritma simetris. Metode ini mengoprasikan bit per bit, setiap bit plaintext dengan bit kunci. Kunci yang digunakan adalah kunci utama kunci induk sebagai pembangkit kunci acak semu dari Pseudo-Random Sequnce Generator PRSG dengan menjadikan suatu nilai yang nampak seperti acak, tetapi sesungguhnya nilai tersebut merupakan suatu urutan. Random Number Generator RNG atau pembangkit nilai random secara umum adalah Pseudorandom yang memberikan inisial state atau seed nilai yang diinput ke dalam state. Pseudorandomess menghasilkan urutan yang sama secara berulang-ulang pada penempatan yang berbeda. Kemudian kunci acak semu tersebut dioperasikan XOR dengan menggunakan plaintext untuk mendapatkan bentuk ciphertext. Lihat Gambar 2.3. a dan b untuk lebih jelasnya. a b Gambar 2.3. Proses enkripsi pada stream cipher. a Pambangkitan bilangan random, dan b operasi XOR setelah bilangan random dibangkitkan. Untuk mensimulasikan suatu random dengan kunci yang mempunyai panjang terbatas, Algoritma Simetris Stream ini menghasilkan bit dari sumber yang lain oleh pesan itu sendiri. Key Pseudo-Random Sequnce Generator PRSG Plaintext Bitstream ⊕ Plaintext Bitstream Plaintext Bitstream Pseudo-Random Stream Ciphertext Bitstream 1 1 1 1 1 1 0 0 0 0 0 1 … 1 0 0 1 0 0 0 1 1 1 0 1 … 0 1 1 0 1 1 0 1 1 1 0 0 … Sehingga Stream Cipher adalah Suatu urutan flow yang berkelanjutan dan unsur-unsur yang berdiri sendiri, metode ini kebalilkan dari block cipher, dimana elemen-elemen dua atau lebih dikoleksi sebagai block.

2.2.1.2. Block Cipher

Block Cipher merupakan suatu metode dalam algoritma dengan input dan outputnya berupa block, dan setiap block terdiri dari beberapa bit 64 bit atau 128 bit. Block Cipher mempunyai banyak aplikasi yang digunakan untuk memberi pelayanan kerahasiaan data, integritas data dan keaslian data serta memberikan layanan keystream generator untuk stream cipher. Contoh pada sub-BAB 2.1.1.2. Teknik Tranposisi Permutasi yang mengenkripsi plaintext “ TERIMA KASIH ” dengan merepresentasikan lebih dahulu ke dalam bentuk block- block , misal 1 block terdiri dari 6 karakter. Secara umum digambarkan representasi plaintext dalam 1 block terdiri dari 64 bit sama dengan 4 karakter. Karakter[8] = a 1 , a 2 , a 3 ,…… ,a 8 Block 1 1 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 a 1 a 3 1 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 a 2 a 4 Block 2 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 a 5 a 7 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 0 a 6 a 8 Gambar 2.4. Proses Pemetaan Data pada Block Cipher Block cipher secara sederhana mempunyai keuntungan, yaitu jika satu block ada yang rusak tidak akan mempengaruhi block yang lainnya, sehingga hanya block yang rusak yang perlu dikirim ulang, tidak perlu semua block. Sedangkan stream cipher, jika ada data yang rusak maka perlu dikirim ulang semua data yang bersangkutan, karena data satu dengan yang lainnya mempunyai keterikatan sebagai aliran data. Selain itu keuntungan yang dimiliki block cipher yaitu pada proses dekripsinya tidak harus menunggu semua pesan diterima lebih dahulu, maka dekripsi dapat dilakukan bersamaan pada saat pesan dikirim. Secara umum pengiriman block cipher dapat dilihat pada Gambar 2.5.a dan b. a Proses Enkripsi b Proses Dekripsi Gambar 2.5. Proses Enkripsi dan Dekripsi pada Block Cipher

2.2.2. Algoritma Asimetris.