Backtrack dibuat oleh Mati Aharoni yang merupakan konsultan security dari Israel dan max mosser jadi merupakan kolaborasi komunitas, backtrack sendiri merupakan merger dari whax yang mana whax ini adalah salah satu distro linux yang digunakan untuk test keamanan yang asal dari whax sendiri dari knoppix. Ketika knoppix mencapi versi 3.0 maka dinamakan dengan whax. Dengan whax kita bisa melakukan test securtity dari berbagai jaringan dimana saja . Max mosser merupakan auditor security collection yang menghususkan dirinya untuk melakukan penetrasi keamanan di linux, gabungan dari auditor dan whax ini sendiri menghasilakan 300 tool yang digunakan untuk testing security jaringan. Auditor security collection juga terdapat pada knoppix.
Fitur-fitur yang ada pada Linux Backtrack
Linux backtrack juga memiliki banyak fitur looh. Ini beberapa tool yang terdapat dalam Linux backtrack :
• Metasploit integration
• RFMON wireless drivers
• Kismet
• AutoScan-Network - AutoScan-Network is a network discovering and managing application
• Nmap
• Ettercap
• Wireshark (formerly known as Ethereal)
• Enumeration
• Exploit Archives
• Scanners
• Password Attacks
• Fuzzers
• Spoofing
• Sniffers
• Tunneling
• Wireless Tools
• Bluetooth
• Cisco Tools
• Database Tools
• Forensic Tools
• BackTrack Services
• Reversing
• Misc
Tapi disamping tool-tool jaringan, backtrack memasukkan mozilla, pidgin, k3b, xmms dll.
Sumber : http://id-backtrack.blogspot.com
Cara install Back Track dalam Satu Partisi dengan Ubuntu
Saya begitu ingin menginstall ke harddisk supaya tidak perlu repot booting cd (yang saya duga penggunaan cd mendukung percepatan habisnya baterai laptop) dan bisa langsung berlama-lama main-main dengan hotspot-hotspot. Sedikit basa-basi, pada awalnya saya membuat partisi tersendiri untuk bt3 sebesar satu giga, dan itu benar-benar mengacaukan susunan partisi di harddisk macbook yang cuma 60GB ini. Saya mempelajari isi file menu.lst dari grub dan slax.cfg di cd distribusi slax. Ternyata bukan partisinya yang penting, tapi keberadaan file kernelnya (atau apa mungkin, saya nggak ngerti) yang biasanya bernama vmlinuz dan initrid. Kita harus mendefinisikan letaknya dengan benar dimanapun kumpulan file itu berada. Nah, anda perlu sebuah partisi ubuntu dengan space kosong lebih dari 1GB, karena backtrack menghabiskan seukuran 1 CD.
Anda install dulu ubuntu kalau belum install. Tidak mesti ubuntu sih, yang penting boot loadernya grub, kalo lilo saya agak bingung.
Selanjutnya, booting dengan cd backtrack, pada saat pemilihan mode boot, tekan tab untuk melihat cheatcode (parameter boot). Catat yang lengkap. Saya memilih yang BT3 Graphics Mode (KDE). Kalau anda suka fluxbox, pilih yang fluxbox.
/boot/vmlinuz vga=0x317 initrd=/boot/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw autoexec=xconf;kde
Kalau sudah selesai dicatat, restart komputer dan masuk ke ubuntu.
Loginlah sebagai root agar lebih mudah, ketimbang melalui terminal. Copy isi cd backtrack 3 yaitu folder boot dan BT3 ke direktori root ( / ). Tabrakan dong dengan folder boot-nya ubuntu? Rename folder boot backtrack, misal btboot. Hmm, sekarang isi di bawah / jadi semakin kotor, tak apa. Apakah kita perlu menjalankan bootinst.sh di btboot tersebut sebagaimana menginstall ke flashdisk? Tidak perlu, karena itu tindakan bodoh dan akan menghapus MBR harddisk.
Sekarang, buka file /boot/grub/menu.lst, cari pada baris ini :
title Ubuntu 8.10 Intrepid Ibex, kernel 2.6.27-7-generic
uuid xxxxxxxxxxxxxxxxxxxxxxx
kernel /boot/vmlinuz-2.6.27-7-generic root=xxxxxxxxxxxxxxxxxxx ro quiet splash
initrd /boot/initrd.img-2.6.27-7-generic
quiet
copy tulisan ini dan letakkan dua baris di bawahnya. Lalu ganti berdasarkan informasi dari boot parameter backtrack.
title Back|Track 3 Final [ ngoprek mode ]
kernel /btboot/vmlinuz root=/dev/ram0 ramdisk_size=6666 rw autoexec=xconf;kde
initrd /btboot/initrd.gz
tulisan xxx dst yang saya tulis itu sebenarnya kumpulan acak angka dan huruf sebagai identitas partisi. Anda bisa ganti dengan /dev/sda1 misalnya, dan menghapus baris uuid. Saya melihat bahwa parameter-parameter dikumpulkan di baris kernel, maka saya meletakkan parameter boot backtrack di baris yang sama. Anda lihat kan kesamaannya? vmlinuz-2.6.27-7generic milik ubuntu dan vmlinuz milik slax. Pasti itu sesuatu yang sama. Tulis sesuai letaknya, misal tadi di bawah folder btboot. Demikian juga pada file initrd, backtrack juga punya yang sama namanya. Saya tetap menulis ramdisk_size=6666 karena backtrack ini tetap akan jalan sebagai sebuah livecd.
Sekarang coba restart dan booting melalui pilihan baru tersebut. Anda akan mendapatkan sebuah backtrack live cd sedang berjalan tanpa cd. Kalau gagal misal kernel panic, jangan panik, mungkin anda salah mengetiknya, periksa kembali. Hal yang sama bisa dilakukan dengan distribusi slax, ayah dari backtrack.
Keamanan Komputer
KEAMANAN KOMPUTER
Rabu, 15 Desember 2010
anatomi hacking
Serangan terhadap jaringan computer dapat dilakukan dengan cara, mulai dari cara yang sederhana hingga yang rumit. Kerusakan yang ditimbulkannya pun beragam, dari gangguan kecil hingga kerusakan hebat. Pemahaman atas serangan yang dilakukan, baik teknik yang dipakai maupun tahapan-tahapan yang harus dilakukan, akan sangat membantu dalam mangatasi serangan terhadap jaringan computer sehingga yang timbul dapat ditekan sekecil mungkin.
Banyak istilah yang dipakai untuk menyebut pelaku serangan, di antaranya adalah :
Mundane : mengetahui hacking tapi tidak mengetahui metode dan prosesnya.
Lamer (script kiddies) : mencoba script-script yang pernah dibuat oleh hacker dengan cara download dari internet atau dari sumber yang lain, tapi belum paham cara membuatnya.
Wannabe : memahami sedikit metode hacking, menerapkan dan sudah mulai berhasil menerobos. Pelaku beranggapan HACK IS MY RELIGION.
Larva (newbie) : hacker pemula, mulai menguasai dengan baik teknik hacking, dan sering bereksperimen.
Hacker : melakukan, hacking sebagai suatu profesi.
Wizard : hacker yang membuat komunitas, bertukar ilmu di antara anggota.
Guru, master of the master hacker : hacker dengan aktivitas lebih mengarah pembuatan tools-tools powerfull guna menunjang aktivitas hacking.
Tahapan Hacking
Hacking adalah upaya untuk melakukan penetrasi dan eksplorasi terhadap system sasaran tanpa menimbulkan kerusakan atau kerugian, juga tidak melakukan pencurian data. Orang yang melakukan tindakan hacking disebut sebagai hacker.
Hacking merupakan upaya untuk melakukan penetrasi dan eksplorasi atas system sasaran tanpa menimbulkan kerusakan dan kerugian serta tidak melakukan pencurian data.
Hacker dan cracker mungkin memakai teknik yang sama terhadap system sasaran, namun berbeda motivasi dan tujuan.
Fase-fasenya :
1. Fase Persiapan
~ Mengumpulkan informasi sebanyak-banyaknya
- Secara Aktif : - portscanning
- network mapping
- OS Detection
- application fingerprinting
Semua itu bisa dilakukan menggunakan tools tambahan seperti nmap atau netcat
- Secara Pasif : - mailing-list (jasakom, newbie_hacker, hackelink, dsb)
- via internet registries (informasi domain, IP Addres)
- Website yang menjadi terget
2. Fase Eksekusi
~ Setelah mendapatkan informasi, biasanya akan didapatkan informasi mengenai OS yg digunakan, serta port yang terbuka dengan daemon yg sedang berjalan. Selanjutnya mencari informasi mengenai vulnerability holes (celah kelemahan suatu program) dan dimanfaatkan menggunakan exploit (packetstromsecurity.org, milis bugtraq, atau mencari lewat #IRC).
~ Mengekspolitasi Vulnerability Holes
- compile eksploit -> local host -> $gcc -o exploit exploit.c
$./exploit
# hostname (# tanda mendapatkan akses root)
remote host -> $gcc -o exploit exploit.c
$./exploit -t www.terget.com
# (klo beruntung mendapatkan akes root)
~ Brute Force
- Secara berulang melakukan percobaan otentifikasi.
- Menebak username dan password.
- Cracking password file
~ Social Engineering
- Memperdayai user untuk memeberi tahu Username dan password
- Intinya ngibulin user....
3. Fase Setelah Eksekusi
~ Menginstall backdoor, trojans, dan rootkit
~ Menghapus jejak dengan memodifikasi file log agar tidak dicurigai admin
~ Menyalin /etc/passwd atau /etc/shadow/passwd
Banyak istilah yang dipakai untuk menyebut pelaku serangan, di antaranya adalah :
Mundane : mengetahui hacking tapi tidak mengetahui metode dan prosesnya.
Lamer (script kiddies) : mencoba script-script yang pernah dibuat oleh hacker dengan cara download dari internet atau dari sumber yang lain, tapi belum paham cara membuatnya.
Wannabe : memahami sedikit metode hacking, menerapkan dan sudah mulai berhasil menerobos. Pelaku beranggapan HACK IS MY RELIGION.
Larva (newbie) : hacker pemula, mulai menguasai dengan baik teknik hacking, dan sering bereksperimen.
Hacker : melakukan, hacking sebagai suatu profesi.
Wizard : hacker yang membuat komunitas, bertukar ilmu di antara anggota.
Guru, master of the master hacker : hacker dengan aktivitas lebih mengarah pembuatan tools-tools powerfull guna menunjang aktivitas hacking.
Tahapan Hacking
Hacking adalah upaya untuk melakukan penetrasi dan eksplorasi terhadap system sasaran tanpa menimbulkan kerusakan atau kerugian, juga tidak melakukan pencurian data. Orang yang melakukan tindakan hacking disebut sebagai hacker.
Hacking merupakan upaya untuk melakukan penetrasi dan eksplorasi atas system sasaran tanpa menimbulkan kerusakan dan kerugian serta tidak melakukan pencurian data.
Hacker dan cracker mungkin memakai teknik yang sama terhadap system sasaran, namun berbeda motivasi dan tujuan.
Fase-fasenya :
1. Fase Persiapan
~ Mengumpulkan informasi sebanyak-banyaknya
- Secara Aktif : - portscanning
- network mapping
- OS Detection
- application fingerprinting
Semua itu bisa dilakukan menggunakan tools tambahan seperti nmap atau netcat
- Secara Pasif : - mailing-list (jasakom, newbie_hacker, hackelink, dsb)
- via internet registries (informasi domain, IP Addres)
- Website yang menjadi terget
2. Fase Eksekusi
~ Setelah mendapatkan informasi, biasanya akan didapatkan informasi mengenai OS yg digunakan, serta port yang terbuka dengan daemon yg sedang berjalan. Selanjutnya mencari informasi mengenai vulnerability holes (celah kelemahan suatu program) dan dimanfaatkan menggunakan exploit (packetstromsecurity.org, milis bugtraq, atau mencari lewat #IRC).
~ Mengekspolitasi Vulnerability Holes
- compile eksploit -> local host -> $gcc -o exploit exploit.c
$./exploit
# hostname (# tanda mendapatkan akses root)
remote host -> $gcc -o exploit exploit.c
$./exploit -t www.terget.com
# (klo beruntung mendapatkan akes root)
~ Brute Force
- Secara berulang melakukan percobaan otentifikasi.
- Menebak username dan password.
- Cracking password file
~ Social Engineering
- Memperdayai user untuk memeberi tahu Username dan password
- Intinya ngibulin user....
3. Fase Setelah Eksekusi
~ Menginstall backdoor, trojans, dan rootkit
~ Menghapus jejak dengan memodifikasi file log agar tidak dicurigai admin
~ Menyalin /etc/passwd atau /etc/shadow/passwd
Selasa, 07 Desember 2010
MD5
A. Pengertian
MD5 ialah fungsi hash kriptografik yang digunakan secara luas dengan hash value 128-bit. Pada standard Internet (RFC 1321), MD5 telah dimanfaatkan secara bermacam-macam pada aplikasi keamanan, dan MD5 juga umum digunkan untuk melakukan pengujian integritas sebuah file.
MD5 di desain oleh Ronald Rivest pada tahun 1991 untuk menggantikan hash function sebelumnya, yaitu MD4 yang berhasil diserang oleh kriptanalis. Algoritma MD5 menerima masukan berupa pesan dengan ukuran sembarang dan menghasilkan message digest yang panjangnya 128 bit.
MD-5 adalah salah satu aplikasi yang digunakan untuk mengetahui bahwa pesan yang dikirim tidak ada perubahan sewaktu berada di jaringan. Algoritma MD-5 secara garis besar adalah mengambil pesan yang mempunyai panjang variable diubah menjadi ‘sidik jari’ atau ‘intisari pesan’ yang mempunyai panjang tetap yaitu 128 bit. ‘Sidik jari’ ini tidak dapat dibalik untuk mendapatkan pesan, dengan kata lain tidak ada orang yang dapat melihat pesan dari ‘sidik jari’ MD-5
Message Digest 5 (MD-5) adalah salah satu penggunaan fungsi hash satu arah yang paling banyak digunakan. MD-5 merupakan fungsi hash kelima yang dirancang oleh Ron Rivest dan didefinisikan pada RFC 1321[10]. MD-5 merupakan pengembangan dari MD-4 dimana terjadi penambahan satu ronde[1,3,10]. MD-5 memproses teks masukan ke dalam blok-blok bit sebanyak 512 bit, kemudian dibagi ke dalam 32 bit sub blok sebanyak 16 buah. Keluaran dari MD-5 berupa 4 buah blok
yang masing-masing 32 bit yang mana akan menjadi 128 bit yang biasa disebut nilai hash[3,10]. Simpul utama MD5 mempunyai blok pesan dengan panjang 512 bit yang masuk ke dalam 4 buah ronde. Hasil keluaran dari MD-5 adalah berupa 128 bit dari byte terendah A dan tertinggi byte D.
B. Algoritma Dan Cara Kerja
a. Penjelasan Algoritma MD5
Setiap pesan yang akan dienkripsi, terlebih dahulu dicari berapa banyak bit yang terdapat pada pesan. Kita anggap sebanyak b bit. Di sini b adalah bit non negatif integer, b bisa saja nol dan tidak harus selalu kelipatan delapan.
b. Cara Kerja MD5
Langkah-langkah pembuatan message digest 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 512 bit.
1. Penambahan Bit-bit Pengganjal
1. Pesan ditambah dengan sejumlah bit pengganjal sedemikian sehingga panjang pesan (dalam satuan bit) kongruen dengan 448 modulo 512.
2. Jika panjang pesan 448 bit, maka pesan tersebut ditambah dengan 512 bit menjadi 960 bit. Jadi, panjang bit-bit pengganjal adalah antara 1 sampai 512.
3. Bit-bit pengganjal terdiri dari sebuah bit 1 diikuti dengan sisanya bit 0.
2. Penambahan Nilai Panjang Pesan
1. Pesan yang telah diberi bit-bit pengganjal selanjutnya ditambah lagi dengan 64 bit yang menyatakan panjang pesan semula.
2. Jika panjang pesan > 264 maka yang diambil adalah panjangnya dalam modulo 264. Dengan kata lain, jika panjang pesan semula adalah K bit, maka 64 bit yang ditambahkan menyatakan K modulo 264.
3. Setelah ditambah dengan 64 bit, panjang pesan sekarang menjadi kelipatan 512 bit.
3. Inisialisai Penyangga MD
1. MD5 membutuhkan 4 buah penyangga (buffer) yang masing-masing panjangnya 32 bit. Total panjang penyangga adalah 4 32 = 128 bit. Keempat penyangga ini menampung hasil antara dan hasil akhir.
2. Keempat penyangga ini diberi nama A, B, C, dan D. Setiap penyangga diinisialisasi dengan nilai-nilai (dalam notasi HEX) sebagai berikut:
A = 01234567
B = 89ABCDEF
C = FEDCBA98
D = 76543210
4. Pengolahan Pesan dalam Blok Berukuran 512 bit.
1. Pesan dibagi menjadi L buah blok yang masing-masing panjangnya 512 bit (Y0 sampai YL – 1).
2. Setiap blok 512-bit diproses bersama dengan penyangga MD menjadi keluaran 128-bit, dan ini disebut proses HMD5. Gambaran proses HMD5 diperlihatkan pada Gambar berikut ini.
c. Inisialisasi MD5
Pada MD-5 terdapat empat buah word 32 bit register yang berguna untuk menginisialisasi message digest pertama kali. Register-register ini di inisialisasikan dengan bilangan hexadesimal.
word A: 01 23 45 67
word B: 89 AB CD EF
word C: FE DC BA 98
word D: 76 54 32 10
Register-register ini biasa disebut dengan nama Chain variabel atau variabel rantai.
d. Proses Pesan di Dalam Blok 16 word
Pada MD-5 juga terdapat 4 (empat) buah fungsi nonlinear yang masing-masing digunakan pada tiap operasinya (satu fungsi untuk satu blok), yaitu:
F(X,Y,Z) = (X Ù Y) Ú ((Ø X) Ù Z)
G(X,Y,Z) = (X Ù Z) Ú (Y Ù (Ø Z))
H(X,Y,Z) = X Å Y Å Z
I (X,Y,Z) = Y Å (X Ú (Ø Z))
(Å untuk XOR, Ù untuk AND, Ú untuk OR dan Ø untuk NOT).
Pada Gambar 3.2 dapat dilihat satu buah operasi dari MD-5 dengan operasi yang dipakai sebagai contoh adalah FF(a,b,c,d,Mj,s,ti) menunjukan a = b + ((a + F(b,c,d) + Mj + ti) <<< s) Bila Mj menggambarkan pesan ke-j dari sub blok (dari 0 sampai 15) dan <<
FF(a,b,c,d,Mj,s,ti) menunjukan a = b + ((a + F(b,c,d) + Mj + ti) <<< s)
GG(a,b,c,d,Mj,s,ti) menunjukan a = b + ((a + G(b,c,d) + Mj + ti) <<< s)
HH(a,b,c,d,Mj,s,ti) menunjukan a = b + ((a + H(b,c,d) + Mj + ti) <<< s)
II(a,b,c,d,Mj,s,ti) menunjukan a = b + ((a + I(b,c,d) + Mj + ti) <<< s)
C. Kesimpulan
Beberapa kesimpulan yang dapat diperoleh adalah:
1. Message Digest 5 (MD5) adalah sebuah fungsi hash satu arah yang mengubah masukan dengan panjang variabel menjadi keluaran dengan panjang tetap yaitu 128 bit.
2.Rerata kecepatan dari program aplikasi MD-5 adalah 7,1633 Mbytes/detik
3. Aplikasi yang dibuat hanya efektif digunakan untuk ukuran file kurang dari 40 Mbytes.
4. Sumber daya komputer berpengaruh terhadap kecepatan enkripsi.
MD5 ialah fungsi hash kriptografik yang digunakan secara luas dengan hash value 128-bit. Pada standard Internet (RFC 1321), MD5 telah dimanfaatkan secara bermacam-macam pada aplikasi keamanan, dan MD5 juga umum digunkan untuk melakukan pengujian integritas sebuah file.
MD5 di desain oleh Ronald Rivest pada tahun 1991 untuk menggantikan hash function sebelumnya, yaitu MD4 yang berhasil diserang oleh kriptanalis. Algoritma MD5 menerima masukan berupa pesan dengan ukuran sembarang dan menghasilkan message digest yang panjangnya 128 bit.
MD-5 adalah salah satu aplikasi yang digunakan untuk mengetahui bahwa pesan yang dikirim tidak ada perubahan sewaktu berada di jaringan. Algoritma MD-5 secara garis besar adalah mengambil pesan yang mempunyai panjang variable diubah menjadi ‘sidik jari’ atau ‘intisari pesan’ yang mempunyai panjang tetap yaitu 128 bit. ‘Sidik jari’ ini tidak dapat dibalik untuk mendapatkan pesan, dengan kata lain tidak ada orang yang dapat melihat pesan dari ‘sidik jari’ MD-5
Message Digest 5 (MD-5) adalah salah satu penggunaan fungsi hash satu arah yang paling banyak digunakan. MD-5 merupakan fungsi hash kelima yang dirancang oleh Ron Rivest dan didefinisikan pada RFC 1321[10]. MD-5 merupakan pengembangan dari MD-4 dimana terjadi penambahan satu ronde[1,3,10]. MD-5 memproses teks masukan ke dalam blok-blok bit sebanyak 512 bit, kemudian dibagi ke dalam 32 bit sub blok sebanyak 16 buah. Keluaran dari MD-5 berupa 4 buah blok
yang masing-masing 32 bit yang mana akan menjadi 128 bit yang biasa disebut nilai hash[3,10]. Simpul utama MD5 mempunyai blok pesan dengan panjang 512 bit yang masuk ke dalam 4 buah ronde. Hasil keluaran dari MD-5 adalah berupa 128 bit dari byte terendah A dan tertinggi byte D.
B. Algoritma Dan Cara Kerja
a. Penjelasan Algoritma MD5
Setiap pesan yang akan dienkripsi, terlebih dahulu dicari berapa banyak bit yang terdapat pada pesan. Kita anggap sebanyak b bit. Di sini b adalah bit non negatif integer, b bisa saja nol dan tidak harus selalu kelipatan delapan.
b. Cara Kerja MD5
Langkah-langkah pembuatan message digest 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 512 bit.
1. Penambahan Bit-bit Pengganjal
1. Pesan ditambah dengan sejumlah bit pengganjal sedemikian sehingga panjang pesan (dalam satuan bit) kongruen dengan 448 modulo 512.
2. Jika panjang pesan 448 bit, maka pesan tersebut ditambah dengan 512 bit menjadi 960 bit. Jadi, panjang bit-bit pengganjal adalah antara 1 sampai 512.
3. Bit-bit pengganjal terdiri dari sebuah bit 1 diikuti dengan sisanya bit 0.
2. Penambahan Nilai Panjang Pesan
1. Pesan yang telah diberi bit-bit pengganjal selanjutnya ditambah lagi dengan 64 bit yang menyatakan panjang pesan semula.
2. Jika panjang pesan > 264 maka yang diambil adalah panjangnya dalam modulo 264. Dengan kata lain, jika panjang pesan semula adalah K bit, maka 64 bit yang ditambahkan menyatakan K modulo 264.
3. Setelah ditambah dengan 64 bit, panjang pesan sekarang menjadi kelipatan 512 bit.
3. Inisialisai Penyangga MD
1. MD5 membutuhkan 4 buah penyangga (buffer) yang masing-masing panjangnya 32 bit. Total panjang penyangga adalah 4 32 = 128 bit. Keempat penyangga ini menampung hasil antara dan hasil akhir.
2. Keempat penyangga ini diberi nama A, B, C, dan D. Setiap penyangga diinisialisasi dengan nilai-nilai (dalam notasi HEX) sebagai berikut:
A = 01234567
B = 89ABCDEF
C = FEDCBA98
D = 76543210
4. Pengolahan Pesan dalam Blok Berukuran 512 bit.
1. Pesan dibagi menjadi L buah blok yang masing-masing panjangnya 512 bit (Y0 sampai YL – 1).
2. Setiap blok 512-bit diproses bersama dengan penyangga MD menjadi keluaran 128-bit, dan ini disebut proses HMD5. Gambaran proses HMD5 diperlihatkan pada Gambar berikut ini.
c. Inisialisasi MD5
Pada MD-5 terdapat empat buah word 32 bit register yang berguna untuk menginisialisasi message digest pertama kali. Register-register ini di inisialisasikan dengan bilangan hexadesimal.
word A: 01 23 45 67
word B: 89 AB CD EF
word C: FE DC BA 98
word D: 76 54 32 10
Register-register ini biasa disebut dengan nama Chain variabel atau variabel rantai.
d. Proses Pesan di Dalam Blok 16 word
Pada MD-5 juga terdapat 4 (empat) buah fungsi nonlinear yang masing-masing digunakan pada tiap operasinya (satu fungsi untuk satu blok), yaitu:
F(X,Y,Z) = (X Ù Y) Ú ((Ø X) Ù Z)
G(X,Y,Z) = (X Ù Z) Ú (Y Ù (Ø Z))
H(X,Y,Z) = X Å Y Å Z
I (X,Y,Z) = Y Å (X Ú (Ø Z))
(Å untuk XOR, Ù untuk AND, Ú untuk OR dan Ø untuk NOT).
Pada Gambar 3.2 dapat dilihat satu buah operasi dari MD-5 dengan operasi yang dipakai sebagai contoh adalah FF(a,b,c,d,Mj,s,ti) menunjukan a = b + ((a + F(b,c,d) + Mj + ti) <<< s) Bila Mj menggambarkan pesan ke-j dari sub blok (dari 0 sampai 15) dan <<
GG(a,b,c,d,Mj,s,ti) menunjukan a = b + ((a + G(b,c,d) + Mj + ti) <<< s)
HH(a,b,c,d,Mj,s,ti) menunjukan a = b + ((a + H(b,c,d) + Mj + ti) <<< s)
II(a,b,c,d,Mj,s,ti) menunjukan a = b + ((a + I(b,c,d) + Mj + ti) <<< s)
C. Kesimpulan
Beberapa kesimpulan yang dapat diperoleh adalah:
1. Message Digest 5 (MD5) adalah sebuah fungsi hash satu arah yang mengubah masukan dengan panjang variabel menjadi keluaran dengan panjang tetap yaitu 128 bit.
2.Rerata kecepatan dari program aplikasi MD-5 adalah 7,1633 Mbytes/detik
3. Aplikasi yang dibuat hanya efektif digunakan untuk ukuran file kurang dari 40 Mbytes.
4. Sumber daya komputer berpengaruh terhadap kecepatan enkripsi.
Senin, 06 Desember 2010
tugas enkripsi modern
“Metode-metode Enkripsi Modern”
Data Encryption Standard (DES) : standar bagi USA Government, didukung ANSI dan IETF, popular untuk metode secret key, terdiri dari : 40-bit, 56-bit dan 3×56-bit (Triple DES)
Advanced Encryption Standard (AES) : untuk menggantikan DES (launching akhir 2001), menggunakan variable length block chipper, key length : 128-bit, 192-bit, 256-bit, dapat diterapkan untuk smart card.
Digital Certificate Server (DCS) : verifikasi untuk digital signature, autentikasi user, menggunakan public dan private key, contoh : Netscape Certificate Server
IP Security (IPSec) : enkripsi public/private key , dirancang oleh CISCO System, menggunakan DES 40-bit dan authentication, built-in pada produk CISCO, solusi tepat untuk Virtual Private Network (VPN) dan Remote Network Access
Kerberos : solusi untuk user authentication, dapat menangani multiple platform/system, free charge (open source), IBM menyediakan versi komersial : Global Sign On (GSO)
Point to point Tunneling Protocol(PPTP) : Layer Two Tunneling Protocol (L2TP), dirancang oleh Microsoft, autentication berdasarkan PPP(Point to point protocol), enkripsi berdasarkan algoritm Microsoft (tidak terbuka), terintegrasi dengan NOS Microsoft (NT, 2000, XP)
Remote Access Dial-in User Service (RADIUS), multiple remote access device menggunakan 1 database untuk authentication, didukung oleh 3com, CISCO, Ascend, tidak menggunakan encryption
RSA Encryption : dirancang oleh Rivest, Shamir, Adleman tahun 1977, standar de facto dalam enkripsi public/private key , didukung oleh Microsoft, apple, novell, sun, lotus, mendukung proses authentication, multi platform
Secure Hash Algoritm (SHA), dirancang oleh National Institute of Standard and Technology (NIST) USA., bagian dari standar DSS(Decision Support System) USA dan bekerja sama dengan DES untuk digital signature., SHA-1 menyediakan 160-bit message digest, Versi : SHA-256, SHA-384, SHA-512 (terintegrasi dengan AES)
MD5 : dirancang oleh Prof. Robert Rivest (RSA, MIT) tahun 1991, menghasilkan 128-bit digest., cepat tapi kurang aman
Secure Shell (SSH) : digunakan untuk client side authentication antara 2 sistem, mendukung UNIX, windows, OS/2, melindungi telnet dan ftp (file transfer protocol
Secure Socket Layer (SSL) : dirancang oleh Netscape, menyediakan enkripsi RSA pada layes session dari model OSI., independen terhadap servise yang digunakan., melindungi system secure web e-commerce, metode public/private key dan dapat melakukan authentication, terintegrasi dalam produk browser dan web server Netscape.
Security Token, aplikasi penyimpanan password dan data user di smart card
Simple Key Management for Internet Protocol : seperti SSL bekerja pada level session model OSI., menghasilkan key yang static, mudah bobol.
Mengulas sedikit Tentang MD5
MD5 (Message Digest algorithm 5)ialah fungsi hash kriptografik yang digunakan secara luas dengan hash value 128-bit. Pada standart Internet (RFC 1321), MD5 telah dimanfaatkan secara bermacam-macam pada aplikasi keamanan, dan MD5 juga umum digunkan untuk melakukan pengujian integritas sebuah file. MD5 di desain oleh Ronald Rivest pada tahun 1991 untuk menggantikan hash function sebelumnya yaitu MD4.
MD5 banyak digunakan oleh CMS-CMS besar seperti Joomla dan Mambo untuk melakukan enkripsi password.
Pseudocode
//Catatan: Seluruh variable tidak pada 32-bit dan dan wrap modulo 2^32 saat melakukan perhitungan
//Mendefinisikan r sebagai berikut
var int[64] r, k
r[ 0..15] := {7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22}
r[16..31] := {5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20}
r[32..47] := {4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23}
r[48..63] := {6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21}
//Menggunakan bagian fraksional biner dari integral sinus sebagai konstanta:
for i from 0 to 63
k[i] := floor(abs(sin(i + 1)) × 2^32)
//Inisialisasi variabel:
var int h0 := 0×67452301
var int h1 := 0xEFCDAB89
var int h2 := 0x98BADCFE
var int h3 := 0×10325476
//Pemrosesan awal:
append “1″ bit to message
append “0″ bits until message length in bits ≡ 448 (mod 512)
append bit length of message as 64-bit little-endian integer to message
//Pengolahan pesan paada kondisi gumpalan 512-bit:
for each 512-bit chunk of message
break chunk into sixteen 32-bit little-endian words w(i), 0 ≤ i ≤ 15
//Inisialisasi nilai hash pada gumpalan ini:
var int a := h0
var int b := h1
var int c := h2
var int d := h3
//Kalang utama:
for i from 0 to 63
if 0 ≤ i ≤ 15 then
f := (b and c) or ((not b) and d)
g := i
else if 16 ≤ i ≤ 31
f := (d and b) or ((not d) and c)
g := (5×i + 1) mod 16
else if 32 ≤ i ≤ 47
f := b xor c xor d
g := (3×i + 5) mod 16
else if 48 ≤ i ≤ 63
f := c xor (b or (not d))
g := (7×i) mod 16
temp := d
d := c
c := b
b := ((a + f + k(i) + w(g)) leftrotate r(i)) + b
a := temp
//Tambahkan hash dari gumpalan sebagai hasil:
h0 := h0 + a
h1 := h1 + b
h2 := h2 + c
h3 := h3 + d
var int digest := h0 append h1 append h2 append h3 //(diwujudkan dalam little-endian)
MD5 Hash
Hash-hash MD5 sepanjang 128-bit (16-byte), yang dikenal juga sebagai ringkasan pesan, secara tipikal ditampilkan dalam bilangan heksadesimal 32-digit. Berikut ini merupakan contoh pesan ASCII sepanjang 43-byte sebagai masukan dan hash MD5 terkait:
MD5(“The quick brown fox jumps over the lazy dog”) = 9e107d9d372bb6826bd81d3542a419d6
Bahkan perubahan yang kecil pada pesan akan (dengan probabilitas lebih) menghasilkan hash yang benar-benar berbeda, misalnya pada kata “dog”, huruf d diganti menjadi c:
MD5(“The quick brown fox jumps over the lazy cog”) = 1055d3e698d289f2af8663725127bd4b
anda bisa menggunakan program-program komputer yang bisa mengubah MD5 Hash menjadi plain text. Contoh program-program tersebut salahsatunya adalah Cain & Able. Selain itu ada beberapa website yang juga menyediakan fasilitas untuk melakukan cracking MD5 Hash. Website-website tersebut antara lain adalah
http://passcracking.com/
http://milw0rm.com/cracker/insert.php
Data Encryption Standard (DES) : standar bagi USA Government, didukung ANSI dan IETF, popular untuk metode secret key, terdiri dari : 40-bit, 56-bit dan 3×56-bit (Triple DES)
Advanced Encryption Standard (AES) : untuk menggantikan DES (launching akhir 2001), menggunakan variable length block chipper, key length : 128-bit, 192-bit, 256-bit, dapat diterapkan untuk smart card.
Digital Certificate Server (DCS) : verifikasi untuk digital signature, autentikasi user, menggunakan public dan private key, contoh : Netscape Certificate Server
IP Security (IPSec) : enkripsi public/private key , dirancang oleh CISCO System, menggunakan DES 40-bit dan authentication, built-in pada produk CISCO, solusi tepat untuk Virtual Private Network (VPN) dan Remote Network Access
Kerberos : solusi untuk user authentication, dapat menangani multiple platform/system, free charge (open source), IBM menyediakan versi komersial : Global Sign On (GSO)
Point to point Tunneling Protocol(PPTP) : Layer Two Tunneling Protocol (L2TP), dirancang oleh Microsoft, autentication berdasarkan PPP(Point to point protocol), enkripsi berdasarkan algoritm Microsoft (tidak terbuka), terintegrasi dengan NOS Microsoft (NT, 2000, XP)
Remote Access Dial-in User Service (RADIUS), multiple remote access device menggunakan 1 database untuk authentication, didukung oleh 3com, CISCO, Ascend, tidak menggunakan encryption
RSA Encryption : dirancang oleh Rivest, Shamir, Adleman tahun 1977, standar de facto dalam enkripsi public/private key , didukung oleh Microsoft, apple, novell, sun, lotus, mendukung proses authentication, multi platform
Secure Hash Algoritm (SHA), dirancang oleh National Institute of Standard and Technology (NIST) USA., bagian dari standar DSS(Decision Support System) USA dan bekerja sama dengan DES untuk digital signature., SHA-1 menyediakan 160-bit message digest, Versi : SHA-256, SHA-384, SHA-512 (terintegrasi dengan AES)
MD5 : dirancang oleh Prof. Robert Rivest (RSA, MIT) tahun 1991, menghasilkan 128-bit digest., cepat tapi kurang aman
Secure Shell (SSH) : digunakan untuk client side authentication antara 2 sistem, mendukung UNIX, windows, OS/2, melindungi telnet dan ftp (file transfer protocol
Secure Socket Layer (SSL) : dirancang oleh Netscape, menyediakan enkripsi RSA pada layes session dari model OSI., independen terhadap servise yang digunakan., melindungi system secure web e-commerce, metode public/private key dan dapat melakukan authentication, terintegrasi dalam produk browser dan web server Netscape.
Security Token, aplikasi penyimpanan password dan data user di smart card
Simple Key Management for Internet Protocol : seperti SSL bekerja pada level session model OSI., menghasilkan key yang static, mudah bobol.
Mengulas sedikit Tentang MD5
MD5 (Message Digest algorithm 5)ialah fungsi hash kriptografik yang digunakan secara luas dengan hash value 128-bit. Pada standart Internet (RFC 1321), MD5 telah dimanfaatkan secara bermacam-macam pada aplikasi keamanan, dan MD5 juga umum digunkan untuk melakukan pengujian integritas sebuah file. MD5 di desain oleh Ronald Rivest pada tahun 1991 untuk menggantikan hash function sebelumnya yaitu MD4.
MD5 banyak digunakan oleh CMS-CMS besar seperti Joomla dan Mambo untuk melakukan enkripsi password.
Pseudocode
//Catatan: Seluruh variable tidak pada 32-bit dan dan wrap modulo 2^32 saat melakukan perhitungan
//Mendefinisikan r sebagai berikut
var int[64] r, k
r[ 0..15] := {7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22}
r[16..31] := {5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20}
r[32..47] := {4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23}
r[48..63] := {6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21}
//Menggunakan bagian fraksional biner dari integral sinus sebagai konstanta:
for i from 0 to 63
k[i] := floor(abs(sin(i + 1)) × 2^32)
//Inisialisasi variabel:
var int h0 := 0×67452301
var int h1 := 0xEFCDAB89
var int h2 := 0x98BADCFE
var int h3 := 0×10325476
//Pemrosesan awal:
append “1″ bit to message
append “0″ bits until message length in bits ≡ 448 (mod 512)
append bit length of message as 64-bit little-endian integer to message
//Pengolahan pesan paada kondisi gumpalan 512-bit:
for each 512-bit chunk of message
break chunk into sixteen 32-bit little-endian words w(i), 0 ≤ i ≤ 15
//Inisialisasi nilai hash pada gumpalan ini:
var int a := h0
var int b := h1
var int c := h2
var int d := h3
//Kalang utama:
for i from 0 to 63
if 0 ≤ i ≤ 15 then
f := (b and c) or ((not b) and d)
g := i
else if 16 ≤ i ≤ 31
f := (d and b) or ((not d) and c)
g := (5×i + 1) mod 16
else if 32 ≤ i ≤ 47
f := b xor c xor d
g := (3×i + 5) mod 16
else if 48 ≤ i ≤ 63
f := c xor (b or (not d))
g := (7×i) mod 16
temp := d
d := c
c := b
b := ((a + f + k(i) + w(g)) leftrotate r(i)) + b
a := temp
//Tambahkan hash dari gumpalan sebagai hasil:
h0 := h0 + a
h1 := h1 + b
h2 := h2 + c
h3 := h3 + d
var int digest := h0 append h1 append h2 append h3 //(diwujudkan dalam little-endian)
MD5 Hash
Hash-hash MD5 sepanjang 128-bit (16-byte), yang dikenal juga sebagai ringkasan pesan, secara tipikal ditampilkan dalam bilangan heksadesimal 32-digit. Berikut ini merupakan contoh pesan ASCII sepanjang 43-byte sebagai masukan dan hash MD5 terkait:
MD5(“The quick brown fox jumps over the lazy dog”) = 9e107d9d372bb6826bd81d3542a419d6
Bahkan perubahan yang kecil pada pesan akan (dengan probabilitas lebih) menghasilkan hash yang benar-benar berbeda, misalnya pada kata “dog”, huruf d diganti menjadi c:
MD5(“The quick brown fox jumps over the lazy cog”) = 1055d3e698d289f2af8663725127bd4b
anda bisa menggunakan program-program komputer yang bisa mengubah MD5 Hash menjadi plain text. Contoh program-program tersebut salahsatunya adalah Cain & Able. Selain itu ada beberapa website yang juga menyediakan fasilitas untuk melakukan cracking MD5 Hash. Website-website tersebut antara lain adalah
http://passcracking.com/
http://milw0rm.com/cracker/insert.php
Selasa, 12 Oktober 2010
Kriptografi
1. PENDAHULUAN
Sebelum era modern bergulir, kriptografi dianggap semata mata sebagai mengubah pesan dari bentuk yang dapat dipahami menjadi bentuk yang tidak dapat dipahami dan sebaliknya, membuat pesan tersebut menjadi tidak dapat dipahami oleh pengganggu yang tidak mengetahui rahasianya (kunci yang diperlukan untuk mendekripsi pesan tersebut). Dewasa ini, bidang ini telah berkembang dari sekedar masalah kerahasiaan menjadi sebuah teknik yang bertujuan untuk :
1) Authentication
Memberikan dua layanan, yakni mengidentifikasikan keaslian suatu pesan dan memberikan jaminan keotentikannya, serta untuk menguji identitas seseorang apabila ia akan memasuki sebuah sistem.
2) Convidentiality
memberikan kerahasiaan pesan dan menyimpan data denganmenyembunyikan informasi lewat teknikteknik
enripsi.
3) Message Integrity
Yaitu memberikan jaminan untuk tiap bagian bahwa esan tidak akan mengalami perubahan dari saat data dibuat/dikirim sampai dengan saat data tersebut dibuka.
4) Nonrepudiation
Yaitu memberikan cara untuk membuktikan bahwa suatu dokumen datang dari seseorang apbila ia mencoba menyangkal memiliki dokumen tersebut.
1.1 Sejarah Singkat Kriptografi
Bentuk paling awal kriptografi ada 2 jenis,yakni transposition ciphers dan substitution ciphers . Bentuk
transposition ciphers digunakan oleh tentara Sparta pada Zaman Yunani Kuno pada 400 SM. Mereka
menggunakan alat yang disebut Scytale. Alat ini terdiri dari sebuah pita panjang yang dililitkan pada
sebatang slinder. Pesan yang akan dikirimkan ditulis horizontal . Bila pita dilepaskan, maka hurufhuruf
di dalamnya telah tersusun membentuk pesan rahasia.
Bentuk substitution ciphers (yang mengganti grup huruf dengan grup huruf lain) digunakan oleh Julius Caesar, dikenal dengan nama Caesar cipher dimana tiap huruf didistribusikan dengan huruf ketiga berikutnya. Contoh : ‘Fly at once’ menjadi ‘Gmz bupodf’ Seiring berjalannya waktu, kriptografi telah banyak digunakan dalam berbagai bidang, misalnya di bidang religious, digunakan dalam “The Number of The Beast”, dalam bidang matamata,kerahasiaan komunikasi, bahkan kriptografi juga dianjurkan dalam buku “Kama Sutra” . Kriptografi juga berperan besar ketika Sekutu memenangkan Perang Dunia II. Ketika itu, Enigma Machine, sebuah mesin enkripsi/dekripsi,digunakan oleh Jerman dalam PD II pada tahun 1920an sampai akhir perang. Alat itu digunakan untuk menjaga komunikasi sensitif. Memecahkan cipher Enigma ketika itu adalah sebuah faktor yang sangat penting yang berkontribusi dalam kemenangan Sekutu.
Perkembangan komputer digital dan elektronika yang begitu pesat memungkinkan pembuatan cipher yang jauh lebih kompleks daripada sebelumnya. Lebih jauh lagi, komputer memungkinkan enkripsi data apa pun yang direpresentasikan oleh komputer sebagai format biner, tidak seperti cipher kuno yang terbatas pada mengenkripsi teksteks tertulis. Banyak komputer cipher yang bisa dikarakterisasi oleh operasi bit biner, tidak seperti cipher kuno yang secara umum memanipulasi karakter tradisional secara langsung.
1.2 Klasifikasi Kriptografi
Tingkat keamanan algoritma yang diperoleh dengan menyembunyikan secara rahasia bagaimana algoritma itu bekerja disebut dengan algoritma rahasia(restricted algorithm). Pada awalnya, algoritma jenis ini yang berkembang, namun ternyata algoritma ini memiliki banyak kelemahan, sebagai contohnya adalah seseorang harus menggunakan algoritmanya sendiri, dan jika algoritma ini diketahui orang lain, maka algoritma ini harus diganti dengan yang baru. Kelemahan lainnya adalah tidak memungkinkannya standardisasi sebagai kendala mutu, karena setiap kelompok pengguna harus mempunyai algoritmanya sendirisendiri. Sebagai pemecah masalah tersebut, maka ditemukanlah algoritma kunci, berbeda dengan algoritma rahasia, algoritma ini menggunakan sebuah kunci yang dapat berupa sebarang nilai dari sejumlah angka. Oleh karena itu, algoritma ini dapat dipublikasikan dan dapat diproduksi masal karena tingkat keamanan algoritma ini adalah berdasarkan kerahasiaan kuncinya, bukan algoritmanya. Algoritma ini dibagi menjadi 2 bagian utama, yakni Algoritma Simetris/Privat Key Criptography dan Algoritma Asimaetris/Public Key Criptography.
1.2.1 Privat Key Criptography
Privat Key Criptography ini prinpsip utamanya adalah kunci yang digunakan untuk proses enkripsi sama dengan kunci untuk proses dekripsi K = K1 = K2. Kunci ini harus dirahasiakan. Hanya jenis inilah yang diketahui di depan umum sampai dengan tahun 1976.Contoh dari kriptografi ini adalah A5, KPD, DES,IDEA, LOKI Prinsip kerja privat key criptography ini adalah pengirim dan penerima sepakat menggunakan sistem kriptografi tertentu dan kunci tertentu. Tingkat keamanan jenis kriptografi ini sangat ditentukan oleh kerahasiaan kunci yang digunakan.
1.2.2 Public Key Criptography
Public Key Criptography ini menggunakan 2 buah kunci, yaitu kunci publik dan kunci rahasia. Untuk mengirim pesan, pengirim mengenkripsi data dengan menggunakan kunci publik sedangkan penerima menggunakan kunci privat untuk mendekripsi ciphertext tersebut agar menjadi plaintext yang dapat dipahami isinya.Contoh dari kriptografi ini adalah RSA, ACC, dan LUC.
2. KRIPTOGRAFI IDEA
2.1 Deskripsi Algoritma IDEA
Kriptografi IDEA (International Data Encryption Algorithm) diperkenalkan pertama kali tahun 1991 oleh Xuejia Lai dan James L Massey. Algoritma ini dimaksudkan sebagai pengganti DES(Data Encryption Standard). IDEA adalah revisi minor cipher yang lebih awal, yakni PES, dan pada awalnya disebut IPES (Improved PES).
IDEA didesain di bawah kontrak Hasler Foundation.Sandi rahasia ini dipatenkan di banyak negara tapi dapat digunakan secara gratis untuk penggunaan yang tidak komersial. Nama “IDEA” juga dipatenkan dan hak patennya berakhir tahun 2011. Lisensi dari IDEA dipegang oleh MediaCrypt. IDEA digunakan di Pretty Good Privacy (PGP) v2.0 dan sebagai algoritma opsional dalam OpenPGP, Netscape’s Secure Socket Layer (SSL), dan Secure Hypertext transfer Protocol (SHTTP). Algoritma utama dari sistem kriptografi IDEA adalah sebagai berikut :
1. Proses Enkripsi : ek (M) = C (1)
2. Proses Dekripsi : dk (C) = M (2)
E : fungsi enkripsi
D : fungsi dekripsi
M : pesan terbuka
C : pesan rahasia
K : kunci enkripsi atau dekripsi
IDEA merupakan algoritma simetris yang beroperasi pada sebuah blok pesan terbuka 64bit, menggunakan kunci yang sama 128bit untuk proses enkripsi dan dekripsi. Keluaran dari algoritma ini adalah blok pesan terenkripsi 64bit. Proses dekripsi menggunakan blok penyandi (algoritma) yang sama dengan proses enkripsi dimana kunci dekripsinya diturunkan dari kunci enkripsi. IDEA menggunakan proses iterasi yang terdiri dari 8
putaran dan 1 transformasi keluaran pada putaran ke8,5 Algoritma IDEA ini menggunakan 3 operasi aljabar utama, yakni : Xor, operasi penjmlahan modulo 2 16 dan operasi perkalian modulo (2 16 + 1). Operasi ini semuanya dilakukan pada subblok 16bit. IDEA mendapatkan keamanannya dari operasi dari grup yang berbeda – penambahan dan penjumlahan modular serta exclusive or dari bit—yang secara aljabar tidak cocok dalam beberapa pengertian.
2.2 Proses Enkripsi IDEA
Pada proses enkripsi algoritma ini, terdapat 3 operasi berbeda yang digunakan :
· Xor dari 2 sub blok 16bit ;bit per bit
· Penjumlahan modulo 2 16 2 sub blok 16 bit
· Perkalian modulo (2 16 + 1) 2 sub blok 16 bit
Blok masukan pesan 64bit mulamula dibagi menjadi 4 subsub blok 16bit : X1, X2, X3, X4. Keempat subblok 16 bit tadi kemudian ditransformasikan menjadi subblok 16 bit, Y1, Y2, Y3, Y4. Semua proses ini
berada di bawah kendali 52 subblok kunci 16bit yang dibentuk dari blok kunci 128bit. Keempat subblok 16bit X1, X2, X3, X4 digunkan sebagai masukan putaran pertama dari algoritma IDEA. Dapat dilihat dari gambar bahwa dalam setiap putaran dilakukan operasi Xor, penjumlahan modulo dan perkalian modulo. Dari gambar juga terlihat bahwa keluaran dari putaran sebelumnya merupakan masukan dari putaran berikutnya. Hal ini terus berlangsung sampai 8 putaran. Pada putaran terakhir (putaran 8,5) dilakukan transformasi keluaran yang dikendalikan oleh 4 subblok kunci 16bit. Sub kunci diberi simbol Z. Operasi yang dilakukan pada setiap putaran dapat dirangkum sebagai berikut :
1) Perkalian X1 dengan Z11
2) Penjumlahan X2 dengan Z21
3) Pejumlahan X3 dengan Z 31
4) Perkalian X4 dengan Z41
5) Operasi XOR hasil langkah 1) dan 3)
6) Operasi XOR hasil angkah 2) dan 4)
7) Perkalian hasil langkah 5) dengan Z51
8) Penjumlahan hasil langkah 6) dengan
langkah 7)
9) Perkalian hasil langkah 8) dengan Z61
10) Penjumlahan hasil langah 7) dengan 9)
11) Operasi XOR hasil langkah 1) dan 9)
12) Operasi XOR hasil langkah 3) dan 9)
13) Operasi XOR hasil langkah 2) dan 10)
14) Operasi XOR hasil langkah 4) dan 10)
Keluaran dari setiap putaran (11), 12) ,13), 14) ) menjadi masukan bagi operasi selanjutnya. Pada putaran ke 8,5 dilakukan transformasi keluaran :
1) Perkalian X1 dengan Z1 8,5
2) Penjumlahan X2 dengan Z3 8,5
3) Penjumlahan X3 dengan Z2 8,5
4) Perkalian X4 dengan Z4 8,5
Setelah semua selesai, keempat subblok 16bit yang merupakan keluaran dari 8,5 putaran operasi tadi digabung kembali menjadi blok pesan rahasia 64bit. 2.3 Proses Dekripsi IDEA Pada proses dekripsi, IDEA menggunakan algoritma yang sama dengan proses enkripsi namun 52 buah subblok kunci yang digunakan merupakan turunan dari 52 buah subblok kunci untuk enkripsi. Penurunan kunci dekripsi sebagai berikut.Subblok Kunci Enkripsi
Putaran ke1
Z11 Z21 Z31 Z41 Z51 Z61
Putaran ke2
Z12 Z22 Z32 Z42 Z52 Z62
Putaran ke3
Z13 Z23 Z33 Z43 Z53 Z63
Putaran ke4
Z14 Z24 Z34 Z44 Z54 Z64
Putaran ke5
Z15 Z25 Z35 Z45 Z55 Z65
Putaran ke6
Z16 Z26 Z36 Z46 Z56 Z66
Putaran ke7
Z17 Z27 Z37 Z47 Z57 Z67
Putaran ke8
Z18 Z28 Z38 Z48 Z58 Z68
Transformasi output Z1 8,5 Z2 8,5 Z3 8,5 Z4 8,5
Subblok
Kunci Dekripsi
Putaran ke1
(Z19) 1
–Z39 –Z29 (Z49) 1
Z 58 Z68
Putaran ke2
(Z18) 1
–Z38 –Z28 (Z48) 1
Z 57 Z67
Putaran ke3
(Z17) 1
–Z37 –Z27 (Z47) 1
Z 56 Z66
Putaran ke4
(Z16) 1
–Z36 –Z26 (Z46) 1
Z 55 Z65
Putaran ke5
(Z15) 1
–Z35 –Z25 (Z45) 1
Z54 Z64
Putaran ke6
(Z14) 1
–Z34 –Z24 (Z44) 1
Z53 Z63
Putaran ke7
(Z13) 1
–Z33 –Z23 (Z43) 1
Z52 Z62
Putaran ke8
(Z12) 1
–Z32 –Z22 (Z42) 1
Z 51 Z61
Transformasi output (Z11) 1
–Z21 –Z31 (Z41) 1
Pada subblok kunci dekripsi, Z 1 adalah invers perkalian modulo (2 16 + 1) dari Z dimana Z Z 1 = 1. Pada subblok kunci dekripsi, Z adalah invers penjumlahan modulo 2 16 dari Z dimana Z Z 1 = 0. 2.4 Proses Pembentukan SubKunci Pada proses enkripsi, 52 subblok kunci 16bit diperoleh dari sebuah kunci 128bit pilihan pengguna. Blok kunci 128bit tadi kemudian dipartisi menjadi 8 subblok kunci 16bit yang langsung digunakan sebagai 8 subblok kunci pertama. Dari situ kemudian blok kunci 128bit dirotasi 25 posisi dari kiri untuk kemudian dipartisi lagi menjadi 8 subblok kunci 16bit berikutnya. Proses tersebut terus diulangi sampai
diperoleh 52 subblok kunci 16bit. Urutan pembentukan subkunci sebagai berikut :
Z11 Z21 Z31 Z41 Z51 Z61
Z12 Z22 Z32 Z42 Z52 Z62
Z13 Z23 Z33 Z43 Z53 Z63
Z14 Z24 Z34 Z44 Z54 Z64
Z15 Z25 Z35 Z45 Z55 Z65
Z16 Z26 Z36 Z46 Z56 Z66
Z17 Z27 Z37 Z47 Z57 Z67
Z18 Z28 Z38 Z48 Z58 Z68
Z1 8,5 Z2 8,5 Z3 8,5 Z 4 8,5
2.5 Contoh Komputasi Algoritma IDEA
Pada tabel berikut dapat dilihat data hasil enkripsi tiap putaran yang diproses dengan sebuah program yang mengimplementasikan algoritma IDEA utuk sebuah pesan terbuka dalam bentuk bilangan integer 11121314 yng telah dibagibagi menjadi empat yaitu X1= 11, X2= 12, X3 = 13,dan X4 = 14 , dan kunci telah
di bagi bagi menjadi Z 11 = 2, Z21 = 4, Z 31 = 6, Z41 = 8, Z51 = 10, Z 61 = 12, Z12 = 14, Z 22 = 16 :
3. HASIL DAN PEMBAHASAN
Cryptanalys bertujuan menemukan kelemahan atau ketidakamanan dalam sebuah skema kriptografi, jadi dapat diperbaiki atau menghindari kelemahan tersebut. Cryptanalys mungkin dilakukan oleh penyerang yang berusaha untuk menumbangkan sebuah sistem atau dilakukan oleh desainer sistem untuk mengevalusi apakah sistem yang digunakan tersebut mudah diserang atau tidak. Para desainer telah melakukan riset dan menganalisis IDEA untuk mengukur kekuatannya terhadap differential crypanalysis. Setelah melakukan penelitian panjang, mereka menyimpulkan bahwa algoritma IDEA ini kebal dalam asumsi tertentu. Tidak ada kelemahan aljabar atau kelemahan linier yang terjadi yang dilaporkan. Beberapa kelas kunci yang lemah memang telah ditemukan, tapi hal ini dalam praktiknya merupakan hal kecil untuk diperhatikan karena sangat jarang sehingga tidak perlu dihindari secara eksplisit. Sampai 2004, serangan terbaik yang menggunakan semua kunci dapat memecahkan IDEA dan menguranginya sampai 5 putaran (yang dalam IDEA aslinya sampai 8,5 putaran). Bruce Schneier, Seorang kriptografer Amerika, spesialis keamanan komputer, dan penulis , mempunyai gagasan terhadap IDEA dan menulis "In my opinion, it is the best and most secure block
algorithm available to the public at this time." (Applied Cryptography, 2nd ed.)—“Menurut pendapat saya, IDEA merupakan blok algoritma yang paling baik dan paling aman yang ada saat ini”. Sayangnya, pada tahun 1996, beliau tidak lagi merekomendasikan algoritma ini karena ketersediaan algoritma yang lebih cepat, kemajuan dalam cryptanalysnya, dan masalah paten IDEA.
4. KESIMPULAN
Kesimpulan yang dapat diambil dari studi dan implementasi International Data Encryption Algorithm antara lain:
1. Banyak fakor yang harus diperhatikan ketikaingin mengimplementasikan sutu metode enkripsi pada produk software berbasis keamanan. Kecepatan enkripsi , kesederhanaan, kekompakan, keamanan, dan kekuatan kode, kemudahan dalam pengimplementasian, dan lain sebagainya. Salah satu metode atau algoritma yang dapat diandalkan untuk memenuhi segala persyaratan tersebut antara lain adalah IDEA.
2. Round(putaran) enkripsi memegang peranan penting dalam keamanan algoritma IDEA. Jumlah putaran dalam algoritma ini tidak sedikit (8,5 putaran). Sampai saat ini algoritma IDEA ini baru dapat dipecahkan dan dikurangi putarannya sampai dengan 5 putaran.
3. Algoritma ini menyediakan keamanan yang cukup tinggi yang tidak didasarkan atas kerahasiaan algoritmanya akan tetapi lebih ditekankan pada keamanan/kerahasian kunci yang digunakan.
4. Algoritma ini dapat digunakan dan dimengerti oleh semua orang karena operasinya yang sederhana yang hanya menggunakan 3 operasi dasar, yakni Xor, penjumlahan modulo, dan perkalian modulo.
1. Banyak fakor yang harus diperhatikan ketikaingin mengimplementasikan sutu metode enkripsi pada produk software berbasis keamanan. Kecepatan enkripsi , kesederhanaan, kekompakan, keamanan, dan kekuatan kode, kemudahan dalam pengimplementasian, dan lain sebagainya. Salah satu metode atau algoritma yang dapat diandalkan untuk memenuhi segala persyaratan tersebut antara lain adalah IDEA.
2. Round(putaran) enkripsi memegang peranan penting dalam keamanan algoritma IDEA. Jumlah putaran dalam algoritma ini tidak sedikit (8,5 putaran). Sampai saat ini algoritma IDEA ini baru dapat dipecahkan dan dikurangi putarannya sampai dengan 5 putaran.
3. Algoritma ini menyediakan keamanan yang cukup tinggi yang tidak didasarkan atas kerahasiaan algoritmanya akan tetapi lebih ditekankan pada keamanan/kerahasian kunci yang digunakan.
4. Algoritma ini dapat digunakan dan dimengerti oleh semua orang karena operasinya yang sederhana yang hanya menggunakan 3 operasi dasar, yakni Xor, penjumlahan modulo, dan perkalian modulo.
DAFTAR PUSTAKA
[1]. Munir, Rinaldi. Diktat Kuliah Matematika Diskrit. Bandung : Departemen Teknik Informatika, Institut Teknologi Bandung, 2004.
[2]. Schneier, Bruce. Applied Cryptography 2nd Edition. John Wiley & Sons, Inc. 1999.
[3]. http://cypherspace.org/adam/rsa/idea.html. Tanggal akses : 2 Januari 2008.
[4]. http://dret.net/glossary/idea. Tanggal akses : 27 Desember 2007.
[4]. http://en.wikipedia.org/wiki/IDEA. Tanggal akses : 27 Desembar 2007 .
[5]. http://www.answers.com/topic/cryptography1? cat=bizfin. Tanggal akses : 27 Desember 2007.
[6]. http://www.cert.or.id/~budi/courses/ec7010/ dikmenjur/taufikreport. pdf. Tanggal akses 23 Desember 2007.
[7]. http://www.efymagonline.com/pdf/software.pdf.Tanggal akses : 27 Desember 2007.
[2]. Schneier, Bruce. Applied Cryptography 2nd Edition. John Wiley & Sons, Inc. 1999.
[3]. http://cypherspace.org/adam/rsa/idea.html. Tanggal akses : 2 Januari 2008.
[4]. http://dret.net/glossary/idea. Tanggal akses : 27 Desember 2007.
[4]. http://en.wikipedia.org/wiki/IDEA. Tanggal akses : 27 Desembar 2007 .
[5]. http://www.answers.com/topic/cryptography1? cat=bizfin. Tanggal akses : 27 Desember 2007.
[6]. http://www.cert.or.id/~budi/courses/ec7010/ dikmenjur/taufikreport. pdf. Tanggal akses 23 Desember 2007.
[7]. http://www.efymagonline.com/pdf/software.pdf.Tanggal akses : 27 Desember 2007.
LAMPIRAN
Pada bagian lampiran ini, penulis menyertakan sebuah software untuk melakukan enkripsi dan deskripsi dari IDEA ini.Program IDEA ini dibuat oleh Fauzan Mirza dari University of London. Program ini didownload dari situs http://cypherspace.org/adam/rsa/idea.htm Folder program ini terlampir bersama makalah ini dengan nama folder idea3a.zip. Untuk menjalankan program ini mulamula unzip dulu folder idea3a.zip kemudian ikuti langkahlangkah yang ditulis pembuatnya di file “readme.txt”.
Enkripsi
Pengertian Ekripsi
Menyandikan, mengkodekan, enkripsi. Encryption atau enkripsi merupakan proses untuk mengubah sebuah pesan (informasi) sehingga tidak dapat dilihat tanpa menggunakan kunci pembuka. Enkripsi adalah cara yang paling efektif untuk memperoleh pengamanan data. Untuk membaca file yang di-enkrip, kita harus mempunyai akses terhadap kata sandi yang memungkinkan kita men-dekrip pesan tersebut. Data yang tidak di-enkrip disebut plaintext, sedangkan yang di-enkrip disebut ciphertext. Sebuah pesan dalam bentuk plaintext diubah dengan encryption menjadi ciphertext. Proses sebaliknya, untuk mengembalikan ciphertext ke plaintext disebut decryption. Menurut ISO 7498-2 istilah yang lebih tepat untuk encryption adalah enchipher sedangkan istilah yang lebih tepat untuk decryption adalah decipher. Encryption menggunakan algoritma tertentu untuk mengacak pesan. Umumnya algoritma enkripsi dapat dibagi menjadi dua kelompok: algoritma untuk private key system dan algoritma untuk public key system. Contoh untuk algoritma yang digunakan di private key system adalah DES dan IDEA, sedangkan contoh algoritma yang digunakan di public key system adalah RSA dan ECC.
Minggu, 26 September 2010
Enkripsi
Di bidang kriptografi, enkripsi ialah proses mengamankan suatu informasiorganisasi-organisasi1970-an, enkripsi kuat dimanfaatkan untuk pengamanan oleh sekretariat agen pemerintah Amerika Serikat pada domain publik, dan saat ini enkripsi telah digunakan pada sistem secara luas, seperti Internet e-commerce, jaringan Telepon bergerak dan ATM pada bank. dengan membuat informasi tersebut tidak dapat dibaca tanpa bantuan pengetahuan khusus. Dikarenakan enkripsi telah digunakan untuk mengamankan komunikasi di berbagai negara, hanya tertentu dan individu yang memiliki kepentingan yang sangat mendesak akan kerahasiaan yang menggunakan enkripsi. Di pertengahan tahun
Enkripsi dapat digunakan untuk tujuan keamanan, tetapi teknik lain masih diperlukan untuk membuat komunikasi yang aman, terutama untuk memastikan integritas dan autentikasi dari sebuah pesan. Contohnya, Message Authentication Code (MAC) atau digital signature. Penggunaan yang lain yaitu untuk melindungi dari analisis jaringan komputer.
Ciphers
Sebuah cipher adalah sebuah algoritma untuk menampilkan enkripsi dan kebalikannya dekripsi, serangkaian langkah yang terdefinisi yang diikuti sebagai prosedur. Alternatif lain ialah encipherment. Informasi yang asli disebuh sebagai plaintext, dan bentuk yang sudah dienkripsi disebut sebagai chiphertext. Pesan chipertext berisi seluruh informasi dari pesan plaintext, tetapi tidak dalam format yang didapat dibaca manusia ataupun komputer tanpa menggunakan mekasnisme yang tepat untuk melakukan dekripsi.
Cipher pada biasanya memiliki parameter dari sebagian dari informasi utama, disebut sebagai kunci. Prosedur enkripsi sangat bervariasi tergantung pada kunci yang akan mengubah rincian dari operasi algoritma. Tanpa menggunakan kunci, chiper tidak dapat digunakan untuk dienkirpsi ataupun didekripsi.
Cipher versus code
Pada penggunaan non teknis, sebuah secret code merupakan hal yang sama dengan cipher. Berdasar pada diskusi secara teknis, bagaimanapun juga, codecipher dijelaskan dengan dua konsep. Code bekerja pada tingkat pemahaman, yaitu, kata atau frasa diubah menjadi sesuatu yang lain. Cipher, dilain pihak, bekerja pada tingkat yang lebih rendah, yaitu, pada tingkat masing-masing huruf, sekelompok huruf, pada skema yang modern, pada tiap-tiap bit. Beberapa sistem menggunakan baik code dan cipher dalam sistem yang sama, menggunakan superencipherment untuk meningkatkan keamanan. dan
Menurut sejarahnya, kriptografi dipisah menjadi dikotomi code dan cipher, dan penggunaan code memiliki terminologi sendiri, hal yang sama pun juga terjadi pada cipher: "encoding, codetext, decoding" dan lain sebagainya. Bagaimanapun juga, code memiliki berbagai macam cara untuk dikembalikan, termasuk kerapuhan terhadap kriptoanalisis dan kesulitan untuk mengatur daftar kode yang susah. Oleh karena itu, code tidak lagi digunakan pada kriptografi modern, dan cipher menjadi teknik yang lebih dominan.
Tipe-tipe cipher
ADa banyak sekali variasi pada tipe enkripsi yang berbeda. Algoritma yang digunakan pada awal sejarah kriptografi sudah sangat berbeda dengan metode modern, dan cipher modern dan diklasifikasikan berdasar pada bagaimana cipher tersebut beroperasi dan cipher tersebut menggunakan sebuah atau dua buah kunci.
Sejarah Cipher pena dan kertas pada waktu lampau sering disebut sebagai cipher klasik. Cipher klasik termasuk juga cipher pengganti dan cipher transposisi. Pada awal abad 20, mesin-mesin yang lebih mutakhir digunakan untuk kepentingan enkripsi, mesin rotor, merupkan skema awal yang lebih kompleks.
Metode enkripsi dibagi menjadi algoritma symmetric key dan algoritma asymmetric key. pada algoritma symmetric key (misalkan, DES dan AES), pengirim dan penerima harus memiliki kunci yang digunakan bersama dan dijaga kerahasiaanya. Pengirim menggunkan kunci ini untuk enkripsi dan penerima menggunakan kunci yang sama untuk dekripsi. Pada algoritma asymmetric key (misalkan, RSA), terdapat dua kunci terpisah, sebuah public key diterbitkan dan membolehkan siapapun pengirimnya untuk melakukan enkripsi, sedangkan sebuah private key dijaga kerahasiannya oleh penerima dan digunakan untuk melakukan dekripsi.
Cipher symmetric key dapat dibedakan dalam dua tipe, tergantung pada bagaimana cipher tersebut bekerja pada blok simbol pada ukuran yang tetap (block ciphers), atau pada aliran simbol terus-menerus (stream ciphers).
sumber: http://id.wikipedia.org/wiki/Enkripsi
Langganan:
Postingan (Atom)