Rabu, 05 Desember 2012

Enkripsi

Algoritma Enkripsi

Enkripsi adalah sebuah proses untuk merubah data yang dapat dimengerti menjadi kode yang tidak dapat dimengerti (tidak terbaca). Enkripsi sebagai kode atau chiper merupakan sistem pengkodean yang menggunakan suatu tabel atau kamus yang telah didefinisikan untuk mengganti kata dari informasi atau yang merupakan bagian dari informasi yang diberikan sebelumnya. Sebuah chiper menggunakan suatu algoritma yang dapat mengkodekan semua aliran data (stream) bit dari sebuah pesan menjadi cryptogram yang tidak dimengerti (unitelligible).

Proses enkripsi digambarkan sebagai berikut :


Data -> Algoritma Enkripsi -> Cipher ->Algoritma Dekrispsi -> Data

Data Encryption Standard

Skema global DES
  • Plaintext dipermutasi dengan matriks permutasi awal(IP).
  • Hasil permutasi awal kemudian di-enchipering sebanyak 16 putaran dengan kunci internal yang berbeda pada setiap putaran. 
  • Hasil enchipering kemudian dipermutasi dengan matriks permutasi balikan(IP-1) menjadi chipertext.

MD5
  • Algoritma MD5 menerima masukan berupa pesan dengan ukuran sembarang dan menghasilkan message diggest yang panjangnya 128bit.
  •   Langkah pembuatan message diggest secara garis besar :
    1. Penambahan bit-bit pengganjal (padding bits)
    2. Penambahan nilai panjang pesan semula
    3. Inisialisasi penyangga (buffer) MD 
    4. Pengolahan pesan dalam blok berukuran 512bit.
 Advanced Encryption Standard
  • Pasa AES, algoritma kiprogenetik yang digunakan adalah Algoritma Rijndael.
  • Pada algoritma AES plaintext diproses melalui serangkaian transformasi chiper, yang terdiri dari transformasi SubBytes, ShiftRows, MixColumns, dan AddRoundKey dengan menggunakan kunci kriptogenik rahasia yaitu chiper key.
  • Chipertext yang akan dikonversikan kembali menjadi plaintext melalui transformasi InvShiftRows, InvSubBytes, AddRoundKey, dan InvMixColumns.
      Algoritma Rijndael
      Garis besar algoritma yang beroprasi 128bit dengan kunci 128bit adalah sebagai berikut:
    1. AddRoundKey: Melakukan XOR antara plaintext dengan chiper key atau disebut initial round.
    2. Putaran sebanyak Nr - 1x. Proses yang dilakukan setiap putaran adalah:
                    - ByteSub : substitusi byte menggunakan tabel substitusi (S-Box).
                    - ShiftRows : pergeseran baris-baris array state secara wrapping.
                    - MicColumn : mengacak data masing-masing di kolom arrat state.
                    - AddRoundkey: melakukan XOR antara state sekarang dengan round key.
              3.  Final Round: Proses untuk putaran terakhir:
                   - ByteSub
                   - ShiftRow
                   - AddRoundKey


Algoritma Rijndael memiliki 3 parameter :
  1. Plaintext : array berukuran 16byte, yang berisi data masukan.
  2. Chipertext : array berukuran 16byte, yang berisi hasil enkripsi.
  3. Key : Array berukuran 16byte, yang berisi kunci chipering (Chiper Key).

Tidak ada komentar:

Posting Komentar