Jumat, 10 Desember 2010

Pembangkit Bilangan Acak

Bilangan acak (random) adalah bilangan yang tidak dapat diprediksi kemunculannya. Bilangan acak sering kali digunakan pada kriptografi. Beberapa penerapannya antara lain:
  1. Pembangkit kunci panjang yang berukuran sama dengan plaintext-nya (One Time Pad) pada algoritma kunci-simetris berbasis stream cipher.
  2. Pembangkit initialization vector (IV) pada algoritma kunci-simetri.
  3. Pembangkit parameter kunci pada algoritma kunci-publik. 

Minggu, 05 Desember 2010

Enkripsi dengan XOR

Seiring dengan hadirnya komputer yang memperkenalkan sistem bilangan bit biner dan byte dalam penyimpanan dan pemrosesan data, Bitwise operator XOR (Exlusive OR) digunakan sebagai operasi dasar yang paling banyak digunakan dalam enkripsi berbasis byte. Operator XOR akan menghasilkan bit 1 bila kedua operand (A dan B) berbeda dan  menghasilkan bit 0 bila kedua operator sama (A dan B), bernilai 0 semua atau 1 semua. Lihat tabel kebenaran di atas.

Sabtu, 04 Desember 2010

Algoritma

Algoritma adalah langkah-langkah komputasi yang mentransformasikan data masukan menjadi keluaran.


Algoritma dapat ditulis dengan notasi:
  1. Flow chart atau Bagan alir
  2. Pseudo-code (gabungan antara bahasa alami dengan bahasa pemrograman)
  3. Kalimat-kalimat deskriptif
Algoritma yang paling baik adalah Algoritma yang benar dan mangkus (efficient). Algoritma yang mangkus artinya algoritma yang membutuhkan waktu (time) yang pendek dan ruang memori (space) untuk komputasi yang minimum, dalam menyelesaikan suatu masalah.

Jumat, 03 Desember 2010

Enkripsi dengan SHIFT

Selain menggunakan operator XOR, kita bisa menggunakan bitwise operator pergeseran bit dengan Shift Left dan Shift Right untuk melakukan enkripsi berbasis bit dan byte. Pada bahasa C, C++ dan Java, operator Shift Left adalah tanda << dan operator Shift Right adalah tanda >>.