Breaking News
Loading...
Rabu, 11 Oktober 2017

Algoritma RCA

Algoritma kriptografi Rivest Code 4 (RC4) merupakan algoritma kunci simetris dibuat oleh RSA Data Security Inc (RSADSI) yang berbentuk stream chipper. Algoritma RC4 mengenkripsi dengan mengombinasikn plainteks dengan menggunakan bit-wise Xor (Exclusive-or). RC4 menggunakan panjang kunci dari 1 sampai 256 byte yang akan digunakan untuk menginisialisasikan tabel sepanjang 256 byte. Tabel tersebut digunakan untuk generasi dari pseudo random yang menggunakan XOR dengan plaintext untuk menghasilkan ciphertext [5]. Setiap elemen dalam tabel saling ditukarkan minimal sekali. Proses dekripsi dilakukan dengan cara yang sama seperti halnya proses enkripsi dengan kunci yang sama pula. Untuk menghasilkan keystream, cipher menggunakan state internal yang meliputi dua proses :
  1. Tahap key scheduling algorithm (KSA). Pada tahap ini state automaton diberi nilai awal berdasarkan kunci enkripsi. State yang diberi nilai awal berupa array yang merepresentasikan suatu deret permutasi dengan 256 elemen, sehingga hasil dari algoritma KSA adalah permutasi awal. Array yang mempunyai 256 elemen ini dengan indeks 0 sampai 255 dinamakan S. Berikut adalah algoritma KSA dalam bentuk pseudo-code dimana key merupakan kunci enkripsi dan keylength merupakan besar kunci enkripsi dalam bytes (untuk kunci 128 bit, keylength = 16) [6].
    • for i = 0 to 255
      S[i]=i
      j=0
      for i = 0 to 255
                 j = (j + S[i] + key[i mod keylength]) mod 256
                swap(S[i],S[j])
  2. Tahap pseudo-random generation. Pada tahap ini state automaton beroperasi dan outputnya menghasilkan keystream. Setiap putaran, bagian keystream sebesar 1 byte dengan nilai antara 0 sampai dengan 255 dioutput oleh PRGA berdasarkan state S [7].
    • i = 0
      j =0
      loop
      i = (i + 1) mod 256
      j = (j + S[i]) mod 256
      swap (S[i], S[j])
      output S[(S[i] + S[j]) mod 256]
Setelah terbentuk keystream, selanjutnya keystream tersebut dimasukkan dalam operasi XOR dengan plaintext yang ada.

0 komentar:

Posting Komentar

 
Toggle Footer