Caesar Cipher

Caesar Cipher merupakan salah satu bentuk kriptografi. Dan merupakan salah satu model dari bentuk Kriptografi Simetris atau konvensional. Yang dimaksud dengan Symetric Cryptography atau Kriptografi Simetris yaitu kunci yang digunakan untuk melakukan enkripsi dan dekripsi adalah sama.

* Plaintext adalah pesan yang dikirim dan mudah untuk dimengerti.
* Ciphertext adalah plaintext yang sudah diubah dengan metode tertentu sehingga perlu usaha khusus untuk dapat mengerti isinya.
* Agar data yang telah di enkripsi tersebut dapat dibaca kembali maka perlu di dekripsi dengan menggunakan kunci bersama yang sama dengan saat dilakukan enkripsi. Jadi kunci bersama (public key) merupakan aturan yang berlaku saat dilakukan enkripsi dan dekripsi.

Baberapa contoh enkripsi konvensional klasik:
1. CAESAR CIPHER
Merupakan metode enkripsi yang dilakukan pada zaman Julius Caesar. Hanya dipergunakan pada Alfabet baik huruf kapital maupun huruf kecil. Sehingga ketika proses yang dilakukan pada angka maka hal tersebut tidak dapat dilakukan. Cara enkripsi dari metode ini yaitu dengan memutar sejauh tiga langkah. Bentuk dari enkripsi ini adalah sbb:

a b c d e f g h i j k l m n o p q r s t u v w x y z
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

2. ROT-13
Yaitu suatu metode enkripsi dengan cara memnukarkan huruf sejauh 13 huruf. Bentuk dari metode enkripsi ini adalah sbb:

a b c d e f g h i j k l m
n o p q r s t u v w x y z

Contoh Caesar Cipher:
Misalnya menggunakan caesar cipher dengan pergeseran 3 huruf:
Plaintext: KOPLER akan dienkripsi menjadi Ciphertext : NRSOHU

Contoh menggunakan ROT 13:
Plaintext : KOPLER akan dienkripsi menjadi Ciphertext : XBCYRE
Pada dasarnya ROT-13 adalah Caesar Cipher dengan pergeseran sejauh 13 huruf, jadi ingat masa lalu waktu ikut kegiatan pramuka di sekolah, ada sandi yang seperti ini. Dalam ilmu ke-PRAMUKA-an enkripsi ini sering disebut dengan "Sandi AN" karena huruf AN dijejerkan di bawahnya untuk memecahkannya.

Dengan menggunakan Pemrograman, tentulah sangat mudah untuk memecahkan maupun membentuk ciphertext dengan pola enkripsi seperti ini. Tidak masalah mau menggunakan pergeseran huruf sejauh berapapun.
--
Program aplikasi .exe dapat di download di [CaesarChiper.exe]
--



Algoritma Pemrogramannya:
1. Hitung panjang karakter/huruf.
2. Tiap-tiap huruf diubah menjadi kode ASCII menggunakan proses looping.
3. Untuk melakukan pergeseran/proses enkripsi maka kode ASCII tersebut digeser
dengan cara ditambah sebanyak pergeseran. Misalnya pergeseran 3huruf maka kode ASCII ditambah dengan 3.
4. Jika ditemui spasi (ASCII=32), maka tidak usah dilakukan penambahan.
5. Hasil pergeseran/penambahan bilangan ASCII dikembalikan lagi menjadi karakter.

[Linux] Upgrade Debian Kernel

Debian memiliki cara tersendiri dalam melakukan kompilasi dan installasi kernel baru. Termasuk yang berkaitan dengan dependency. Berikut ini adalah cara konfigurasi, kompilasi dan installasi kernel linux. Dan yang akan dibahas adalah yang sering dilakukan di distro system operasi linux lainnya serta cara khusus yang sedikit berbeda dilakukan di Debian, saya menyebutnya "cara debian banget" :P

Yang dibutuhkan adalah :
1. Source kernel (bisa di dapat di http://www.kernel.org/ atau menggunakan apt-get : apt-get install linux-source-2.6.18)
2. gcc / g++
3. libncurses5
4. libncurses5-dev
5. libncursesw5
6. kernel-package =>special tools
c1c4x-lab:~# apt-get install g++ libncurses5 libncurses5-dev libncursesw5 kernel-package

1. Extract source kernel ke folder /usrc/src
c1c4x-lab:/usr/src# tar zxvf linux-2.6.18.tar.bz2

2. Kita lakukan konfigurasi kernel, ada banyak cara yang bisa dilakukan diantaranya : config (mode konsole), oldconfig (konfigurasi disamakan dengan konfigurasi kernel lama), menuconfig (mode menu), xconfig (mode gui). Yang sering digunakan adalah menuconfig.
c1c4x-lab:/usr/src/linux-2.6.18# make menuconfig

Dalam melakukan menuconfig dibutuhkan package libncurses5, karena jika tidak terinstall maka akan muncul error seperti berikut ini :
c1c4x-lab:/usr/src/linux-2.6.18# make menuconfig
HOSTCC scripts/kconfig/lxdialog/checklist.o
In file included from scripts/kconfig/lxdialog/checklist.c:24:
scripts/kconfig/lxdialog/dialog.h:31:20: curses.h: No such file or directory
In file included from scripts/kconfig/lxdialog/checklist.c:24:
scripts/kconfig/lxdialog/dialog.h:128: error: syntax error before "use_colors"
Dan jika berhasil akan muncul menu seperti berikut ini, di dalam menuconfig jika kita ingin configurasi kernel baru sama dengan kernel lama maka kita bisa memanggil config file kernel lama , dengan memilih menu Load an Alternate Configuration File. Config kernel lama terletak di direktori /boot/config-versi-kernel

null

Jika ingin menggunakan oldconfig, maka harus melakukan copy config dulu.
c1c4x-lab:/usr/src/linux-2.6.18# cp /boot/config-2.6.8-2-386 .config
c1c4x-lab:/usr/src/linux-2.6.18# make oldconfig

3. Setalah selesai melakukan configurasi dan menyimpannya, berikutnya adalah melakukan compile de el el. Di debian ada 2 cara:

a. Cara pada linux umumnya:
*Compile dan install
c1c4x-lab:/usr/src/linux-2.6.18# make
c1c4x-lab:/usr/src/linux-2.6.18# make modules
c1c4x-lab:/usr/src/linux-2.6.18# make modules_install
c1c4x-lab:/usr/src/linux-2.6.18# make install

*Buat file initrd-img:
c1c4x-lab:/usr/src/linux-2.6.18# mkinitrd -o /boot/initrd.img-2.6.18 2.6.18
( Lebih lanjut tentang initrd : debian-initrd )
*Seperti biasa edit /boot/grub/menu.lst
title Debian kernel baru
root (hd0,2)
kernel /boot/vmlinuz-2.6.18 root=/dev/hda3 ro
initrd /boot/initrd.img-2.6.18


b. Cara debian banget:
*Debian memiliki cara khusus dalam melakukan compile kernel, dan dibutukan paket kernel-package
c1c4x-lab:~# apt-get install kernel-package
*Yang dilakukan untuk melakukan compile setelah dilakukan configurasi adalah:
c1c4x-lab:/usr/src/linux-2.6.18# make-kpkg clean
c1c4x-lab:/usr/src/linux-2.6.18# make-kpkg kernel_image

*Setelah itu akan muncul file .deb yang berada di direktori /usr/src, kemudian tinggal dilakukan installasi:
c1c4x-lab:/usr/src# dpkg -i kernel-image-2.6.18.deb
c1c4x-lab:/usr/src/linux-2.6.18# mkinitrd -o /boot/initrd.img-2.6.18 2.6.18

*Cek /boot/grub/menu.lst seperti diatas.

4. Reboot
5. Cek kernel dengan uname -a