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.