Rabu, 18 Januari 2017

ROOTKIT

NB: Pada pertemuan kali ini, Dosen berhalangan hadir, sehingga mahasiswa (kami) diberikan tugas kelompok.
Nah kebetulan kelompok kami mendapat judul mengenai "ROOTKIT" ini nih :)
langsung saja kita bahas tuntas mengenai rootkit.

Apasih rootkit itu ???

Hasil gambar untuk pembahasan tentang rootkit

Rootkit adalah kumpulan software yang bertujuan untuk menyembunyikan proses, file dan data sistem yang sedang berjalan dari sebuah sistem operasi tempat dia bernaung. Rootkit awalnya berupa aplikasi yang tidak berbahaya, tetapi belakangan ini telah banyak digunakan oleh malware yang ditujukan untuk membantu penyusup menjaga aksi mereka yang ke dalam sistem agar tidak terdeteksi. rootkit hadir di beragam sistem operasi seperti, Linux, Solaris dan Microsoft Windows. Rootkit ini sering merubah bagian dari sistem operasi dan juga menginstall dirinya sendiri sebagai driver atau modul kernel.

Rootkit pertama kali diperkenalkan pada sistem operasi SunOS oleh Lane Davis dan Steven Dake. Teknologi ini digunakan para Root pada Unix (setara dengan Sistem Administrator pada Windows) untuk recovery (mengembalikan) password root yang mereka lupa. Untuk dapat mengembalikan password root tidaklah mudah karena butuh otorisasi dan akses tak terbatas pada sebuah sistem. Akhirnya ditemukanlah teknologi khusus yang mampu melakukannya yang di kemudian hari dikenal dengan istilah rootkit ini.

Istilah Rootkit kian terkenal setelah ada sebuah perusahaan musik kelas dunia yang mengaplikasikannya untuk mengamankan CD musiknya dari pembajakan. Kasus ini menjadi sebuah skandal yang sangat menghebohkan karena meski tujuannya menghindari pembajakan, penggunaan teknik ini memudahkan aplikasi jahat menumpang rootkit yang ditanam perusahaan musik tersebut.
Teknik rootkit memang rawan digunakan untuk kepentingan jahat. Jika Anda masih ingat, virus seperti Alman atau Bacalid yang menggunakan teknik rootkit begitu sulit dideteksi.

Aplikasi removal- nya tidak bisa menuntaskannya 100% karena virus program jahat yang menggunakan teknologi rootkit berjalan resident dan sulit dideteksi. Ia berjalan secara kasat mata, diam tanpa suara, dan melakukan serangan tanpa pernah Anda ketahui. Tidak heran jika banyak yang menganggap rootkit seperti voodoo dalam dunia komputer. Padahal, rootkit pada dasarnya adalah sebuah teknologi dan dapat digunakan untuk keperluan yang baik dan bermanfaat. Contohnya adalah penggunaan rootkir pada aplikasi antivirus, firewall, software protection, DRM (Digital Right Management), maupun aplikasi simulasi media cakram seperti DaemonTools.
Masalahnya, teknik rootkit juga bisa digunakan untuk membuat aplikasi jahat yang sulit ditanggulangi.

Macam-macam Rootkit


Seperti halnya virus, rootkit juga memiliki banyak varian. Diklasifikasikan berdasarkan target yang diserang, rootkit dibagikan menjadi 6 macam, yaitu:

1. Application Rootkit

Rootkit yang dibuat dengan memodifikasi kode binari dari sebuah aplikasi secara langsung atau yang biasa disebut sebagai binary code patching. Rootkit jenis ini biasanya ditemukan pada malware jenis trojan untuk menginjeksikan virus ke dalam sebuah object atau sistem.

2. Library rootkit

Ini merupakan rootkit yang menyasar library. Library sendiri adalah file seperti sebuah pustaka fungsi yang telah dikumpulkan menjadi satu dengan maksud untuk memermudah programmer dalam membuat dan mengembangkan sebuah aplikasi. Library ditandai dengan akhiran “dll” seperti “kernel.dll”.

3. Kernel Rootkit

Kernel rootkit merupakan jenis rootkit yang lebih mengerikan dari jenis sebelumnya. Kernel rootkit berjalan pada level kernel (modus
tak terproteksi), atau pada sistem arsitektur x86 dikenal dengan istilah ring 0. Soal bagaimana rootkit ini bekerja akan kami sajikan pada InfoKomputer bulan depan.

4. Bootloader Rootkit

Adalah jenis rootkit yang bersemayam pada MBR (Master Boot Records), sehingga mampu mengendalikan jalannya booting sistem operasi. Rootkit jenis ini dikenal juga dengan nama Bootkit atau “Evil Maid Attack”,

5. Hypervisor Level Rootkit

Rootkit jenis ini mampu memvirtualisasikan sistem operasi asli sehingga menjadi guest operating system, sehingga seluruh kendali pada sistem operasi dapat diambil alih oleh rootkit jenis ini. Salah satu rootkit yang sudah ada berjenis ini adalah SubVirt, adalah Virtual machine berbasis rootkit yang dikembangkan oleh Microsoft dan Universitas Michigan.

6. BIOS rootkit

BIOS rootkit disebut juga dengan firmware rootkit, merupakan rootkit paling mengerikan yang berada pada level paling dalam, hidup di lingkungan firmware dan mulai aktif ketika semua aktifitas inisialisasi awal komputer terjadi.

Bagaimana sih cara menanggulanginya ???

  • Cara Penanggulangan
Ada beberapa cara untuk membersihkan program jahat yang menggunakan teknologi rootkit pada komputer yang telah terinfeksi. Namun metode yang digunakan bergantung pada jenis rootkit yang menginfeksi, sehinggga penanggulangannya agak sulit apabila kita tidak bisa secara pasti mengetahui rootkit jenis apa yang mungkin sedang menginfeksi komputer kita. Untuk mendeteksi rootkit, Anda sebaiknya menjalankan komputer yang terinfeksi sebagai slave dan gunakan sistem operasi PE (preinstalled environment) atau liveCD untuk menginvestigasinya. Ada sangat banyak tipe sistem operasi LiveCD ini seperti DSL (Damn Small Linux) –pernah dibundel pada DVD bawaan majalah Infokomputer edisi  yang lalu– dan masih banyak lagi. Lakukanlah scanning menggunakan software khusus yang didesain untuk membersihkan rootkit, kemudian lakukanlah investigasi pada area-area yang rawan dihuni oleh rootkit. Karena pembersihan rootkit merupakan operasi yang dekat sekali hubungannya dengan konfigurasi sistem, saya sarankan mintalah pertolongan pada orang yang sudah ahli untuk melakukannya. Apabila tidak berhati-hati, akibatnya akan sangat fatal.




Selasa, 10 Januari 2017

PENJELASAN KRIPTANALIS


                 Kriptografi
Kriptografi (cryptography) berasal dari bahasa Yunani, terdiri dari dua suku kata yaitu kripto dan graphia. Kripto artinya menyembunyikan, sedangkan graphia artinya tulisan. Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi, seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data .Tetapi tidak semua aspek keamanan informasi dapat diselesaikan dengan kriptografi. Kriptografi dapat pula diartikan sebagai ilmu atau seni untuk menjaga keamanan pesan.
Pada prinsipnya, Kriptografi memiliki 4 komponen utama yaitu:
·        Plaintext, yaitu pesan yang dapat dibaca
·        Ciphertext, yaitu pesan acak yang tidka dapat dibaca
·        Key, yaitu kunci untuk melakukan teknik kriptografi
·        Algorithm, yaitu metode untuk melakukan enkrispi dan dekripsi

KRIPTOGRAFI TERDIRI DARI :
·        1. Enkripsi (Encryption)
·        2. Dekripsi (Decryption)
a   1.   Enkripsi
Enkripsi (Encryption) adalah sebuah proses menjadikan pesan yang dapat dibaca (plaintext) menjadi pesan acak yang tidak dapat dibaca (ciphertext). Berikut adalah contoh enkripsi yang digunakan oleh Julius Caesar, yaitu dengan mengganti masing-masing huruf dengan 3 huruf selanjutnya (disebut juga Additive/Substitution Cipher):
Plaintext
Ciphertext
Rumah
xasgn
Motor
suzux
kompor
qusvux
2.  Dekripsi
Dekripsi merupakan proses kebalikan dari enkripsi dimana proses ini akan mengubah ciphertext menjadi plaintext dengan menggunakan algortima ‘pembalik’ dan key yang sama. Contoh:
Ciphertext
Plaintext
xasgn
rumah
suzux
motor
qusvux
kompor
Teknik Dasar Kriptografi Terbagi 5 Jenis, yaitu :
1. Substitusi
2. Blocking
3. Permutasi
4. Ekspansi
5. Pemampatan
   
MACAM - MACAM METODE KRIPTOGRAFI
1. CAESAR CHIPPER
2. VIGENERE CHIPPER
3. BEUFORD CHIPPER
PENJELASAN:

          1. CAESAR CHIPPER
  Pada metode ini terdapat 2 metode : 
  • Metode menggunakan huruf A-Z ( dipakai mod 26) 
  • Metode menggunakan huruf,angka,serta simbol-simbol lainnya ( dipakai mod 256)
1      
Metode mod 26
 
Enkripsi
Rumus : 
C = P + K mod 26
Keterangan : 
C = Chipertext 
P = Plaintext
K = Key
Dimana :
A = 0
B = 1
C = 2
D = 3
E = 4
F = 5
G = 6
H = 7
I = 8
J = 9 
K =10
L = 11
M = 12
N = 13
O = 14
P = 15
Q = 16
R = 17
S = 18
T = 19
U = 20
V = 21
W = 22
X = 23
Y = 24            
Z = 25
Contoh Soal : 
P =  MAHASISWA
K = DOSEN
 
Maka : 
C1 = (M+D) Mod 26
      = (12 + 3) Mod 26
      = 15 mod 26
      = 15= P
C2 = (A+O) Mod 26
      = (0 + 14) Mod 26
      = 14 mod 26
            = 14= O 
C3= (H+S) Mod 26
      = (7 +18) Mod 26
      = 25 mod 26
           = 25= Z 
C4 = (A+E) Mod 26
      = (0 + 4) Mod 26
      = 4 mod 26
           = 4= E
C5 = (S+N) Mod 26
      = (18 + 13) Mod 26
      = 31 mod 26
           = 5= F
C6 = (I+D) Mod 26
      = (8 +3) Mod 26
      = 11 mod 26
           = 11 = L

C7 = (S+O) Mod 26
      = (18 + 14) Mod 26
      = 32 mod 26
           = 6= G
C8 = (W+S) Mod 26
      = (22 +18) Mod 26
      = 40 mod 26
           = 14=O


C9 = (A+E) Mod 26
      = (0 + 4) Mod 26
      = 4 mod 26
           = 4= E
  Chipertext adalah P,O,Z,E,F,L,G,O,E
 
Dekripsi 
  Rumus:
 P = (C-K) Mod 26

Keterangan : 
 C = Chipertext
 P  = Plaintext
 K  = Key
·        Mod 256
Enkripsi
MOD 256 memiliki persamaan cara, tetapi untuk mencari nya kita menggunakan tabel ASCI.
Rumus :
 C = P + K mod 256
Keterangan: 
C = Chipertext  
P = Plaintext;
K = Key
BERIKUT ADALAH TAMPILAN TABEL ASCII

Dekripsi 
Rumus : 
P = (C-K) Mod 256
Keterangan : 
C = Chipertext 
P = Plaintext
N = Key
2     Vigenere Chiper
Vigenere Chiper bukanlah hal yang sulit, karena saat kita menggunakan vigenere chipper kita tinggal mencari ditabel enkripsi dari sebuah plaintext. Dimana dengan ketentuan bagian baris adalah plaintext dan bagian kolom adalah kunci dan isinya adalah chipertexxt atau enkripsi nya
Enkripsi
Tabel Vigenere Chipere
Contoh :
Plaintext             : TEKNIK MESIN
Kunci                 : LASLAS LASLAS
Ciphertext          : EECYICXEKTN
Dekripsi
Jika dekripsi dalam vigenere chipper sama dengan Caesar chipper tidak dapat langsung di ambil dari table dan juga kita menentukan mod 26 atau 256 berdasarkan plaintext yang ada. Jika hanya alphabet dengan huruf besar tanpa ada huruf kecil atau karakter lain, kita menggunakan mod 26.
3.      Beauford Chiper
Enkripsi
Sebuah cipher Beaufort menggunakan tabel alfabet yang sama dengan cipher Vigenère, tetapi dengan algoritma yang berbeda. Untuk menyandikan surat Anda menemukan huruf di baris atas. Kemudian melacak ke bawah sampai Anda menemukan keyletter tersebut. Kemudian melacak ke kolom paling kiri untuk menemukan huruf dienkripsi.
 
Contoh : 
Plaintext       : PENELITIAN MAHASISWA
Keyword      : SEKOLAHSEK OLAHSEKOL
Chippertext :  CZWJZRNJDW BKSGZVRRK

Dekripsi
Jika dekripsi dalam beauford chipper sama dengan beauford chipper tidak dapat langsung di ambil dari table dan juga kita menentukan mod 26 atau 256 berdasarkan plaintext yang ada. Jika hanya alphabet dengan huruf besar tanpa ada huruf kecil atau karakter lain, kita menggunakan mod 26.
·       

Penyelesaian DES

mengerjakan DES tidak terlepas dari tabel ASCI agar lebih mudah dipahami.
 
 
 
a. Pendefinisian / Pembangkitan Kunci Internal 
Kunci : S U R A B A Y A
ASCII : 83 85 82 65 66 65 89 65
Bit : 01010011 01010101 01010010 01000001 01000010 01000001 01011001 01000001
Dari konversi 64 bit di atas dilakukan permutasi dengan Matriks PC-1 (Gambar 3), sehingga didapat 56 bit kunci :
Kunci : 0000000 0111111 1100000 0000100 0001010 1000000 1001000 0000111
Setelah itu dilakukan pemisahan C0 dan D0 yang masing-masing memilikipanjang 28 bit :
C0                                                                       D0
 Kunci : 0000000 0111111 1100000 0000100 0001010 1000000 1001000 0000111
            Selanjutnya dilakukan pergeseran bit kekiri (left-shift ) dari C0 dan D0 untuk membuat 16 sub kunci (kunci internal) dengan menggunakan Tabel 1, Berikutprosesnya :
C1= 0000000 1111111 1000000 0001000          D1 = 0010101 0000001 0010000 0001110
C2= 0000001 1111111 0000000 0010000          D2 = 0101010 0000010 0100000 0011100
C3= 0000111 1111100 0000000 1000000          D3 = 0101000 0001001 0000000 1110001
C4= 0011111 1110000 0000010 0000000          D4 = 0100000 0100100 0000011 1000101
C5= 1111111 1000000 0001000 0000000          D5 = 0000001 0010000 0001110 0010101
C6= 1111110 0000000 0100000 0000011          D6 = 0000100 1000000 0111000 1010100
C7= 1111000 0000001 0000000 0001111          D7 = 0010010 0000001 1100010 1010000
C8= 1100000 0000100 0000000 0111111          D8 = 1001000 0000111 0001010 1000000
C9= 1000000 0001000 0000000 1111111          D9 = 0010000 0001110 0010101 0000001
C10= 0000000 0100000 0000011 1111110        D10 = 1000000 0111000 1010100 0000100
C11= 0000001 0000000 0001111 1111000        D11 = 0000001 1100010 1010000 0010010
C12= 0000100 0000000 0111111 1100000        D12 = 0000111 0001010 1000000 1001000
C13= 0010000 0000001 1111111 0000000        D13 = 0011100 0101010 0000010 0100000
C14= 1000000 0000111 1111100 0000000        D14 = 1110001 0101000 0001001 0000000
C15= 0000000 0011111 1110000 0000010        D15 = 1000101 0100000 0100100 0000011
C16= 0000000 0111111 1100000 0000100        D16 = 0001010 1000000 1001000 0000111
            Dari masing-masing Cn dan Dn yang telah didapat, digabungkan keduanya dandilakukan permutasi Matriks PC-2 sesuai dengan ketentuan Gambar 4 sehinggaterbentuk kunci internal Kn dengan panjang 48 bit, Berikut ini adalah hasilnya :
K1=101000 001001 001001 000010 001001 000110 000001 010000
K2=101100 000001 001001 010010 110000 100000 100011 000001
K3=001001 000101 001001 010000 010000 101000 011000 100001 
K4=000001 100101 000101 010100 000100 110001 010100 001000
K5=000011 100100 000101 010001 010010 000001 000100 100000
K6=001011 110100 000100 101001 010000 000110 100000 101100
K7=100010 110000 000110 001001 011000 000001 100010 011000
K8=000110 010000 101010 001001 100000 010001 010000 111011
K9=001110 010000 100010 001000 111010 010100 011100 000000
K10=000100 000010 100010 001100 000110 000100 001000 000010
K11=000100 000010 110000 010100 110101 000100 000000 000100
K12=010001 000010 110000 100100 100000 100000 000010 001011
K13=110000 101010 010000 100100 101100 001011 001000 000001
K14=110010 001000 011000 100010 001100 100000 011000 100010
K15=110010 001000 001000 101010 000111 000010 100100 000010
K16=101000 001001 001010 100010 000001 000000 000110 100101
b. Enkripsi 
Sebelum dilakukan enkripsi ubah plainteks dalam bentuk bit, berikutpengubahannya :
Plainteks : E N K R I P S I
ASCII : 69 78 75 82 73 80 83 73
Bit : 01000101 01001110 01001011 01010010 01001001 01010000 01010011 01001001
Dari konversi 64 bit di atas dilakukan permutasi dengan Matriks IP (Gambar 5),sehingga didapat 64 bit kunci :
Plainteks : 11111111 01101000 00000011 11010101 00000000 00000000 10010110 01001110
Setelah itu dilakukan pemisahan L0 dan R0 yang masing-masing memilikipanjang 32 bit :
L0                                                                R0
Plainteks : 11111111 01101000 00000011 11010101 00000000 00000000 10010110 01001110
Iterasi / Putaran 1
            Sebelum dilakukan ciphering dilakukan permutasi R0 32 bit dengan matriks Ekspansi (E) dan menghasilkan R0 48 bit, berikut hasilnya :
E(R0) = 000000 000000 000000 000001 010010 101100 001001 011100
Langkah selanjutnya dilakukan operasi XOR antara E(R0) dan K1, serta selanjutnya dilakukan substitusi S-Box dan Permutasi (P) untuk menghasilkan feistel (f) (Lihatdi halaman Lampiran), berikut langkah operasinya :
 N = 1
K1 = 101000 001001 001001 000010 001001 000110 000001 010000
E(R0) = 000000 000000 000000 000001 010010 101100 001001 011100
XOR
            101000 001001 001001 000011 011011 101010 001000 001100
            S1        S2         S3         S4         S5         S6         S7         S8
S(B) = 1101 1111 0011 1000 1001 1000 0100 0001
f = 0111 0101 1001 1000 1100 1000 0101 0110
R1= L0 XOR f (R0, K1)
    = 1111 1111 0110 1000 0000 0011 1101 0101
       0111 0101 1001 1000 1100 1000 0101 0110
XOR
_______________________________________
= 1000 1010 1111 0000 1100 1011 1000 0011
Iterasi / Putaran 2 
Setelah itu dilakukan ciphering iterasi berikutnya dengan K2 yang sebelumnyadilakukan permutasi R1 32 bit dengan matriks Ekspansi (E) (Lihat di halamanLampiran) dan menghasilkan R1 48 bit, berikut hasilnya :
E(R1) = 110001 010101 011110 100001 011001 010111 110000 000111
Langkah selanjutnya dilakukan operasi XOR antara
E(R1) dan K2, serta selanjutnyadilakukan substitusi S-Box dan Permutasi (P) untuk menghasilkan feistel (f) (Lihatdi halaman Lampiran), berikut langkah operasinya :
N = 2
L2 = R1= 1000 1010 1111 0000 1100 1011 1000 0011
K2 = 101100 000001 001001 010010 110000 100000 100011 000001
E(R1) = 110001 010101 011110 100001 011001 010111 110000 000111
XOR
___________________________________________________________
             011101 010100 010111 110011 101001 110111 010011 000110
             S1         S2         S3          S4         S5         S6        S7             S8
S(B) = 0011 0010 1110 0100 0001 0111 0011 1000
f  = 0110 1010 0010 0001 0011 0111 0000 1110
R2 = L1 XOR f(R1, K2)
=1000 1010 1111 0000 1100 1011 1000 0011
  0110 1010 0010 0001 0011 0111 0000 1110
XOR
______________________________________
 = 1110 0000 1101 0001 1111 1100 1000 1101
Skip Iterasi & Hasil 
            Ciphering tersebut dilakukan terus menerus hingga mencapai 16 iterasi,kemudian L16
dan R16 digabungkan dan dilakukan permutasi akhir Matriks IP-1 (Invers Initial Permutation), berikut hasil penggabungannya :
Cipher = 0000 1110 0010 0000 0011 1001 0110 1111 1111 0000 1100 0101 0010 1001 0110 0111
            Berikut ini adalah hasil permutasi cipherteks dengan Matriks IP-1 beserta konversi bit cipher ke dalam ASCII dan simbol :
Bit : 00101111 01000011 01100011 01001101 10000100 10011111 10100011 10100000
ASCII : 47 67 99 77 132 159 163 160
Cipher : / C c M äƒύá

            Maka hasil enkripsi plainteks ”ENKRIPSI” dengan kunci eksternal ”SURABAYA”melalui algoritma DES (Data Encryption Standard) adalah ” /CcMäƒύá”

Data Encryption Standart (DES)

DES (Data Encryption Standard)


Kriptografi merupakan ilmu dan seni untuk menjaga kerahasiaan pesan dengan cara menyandikannya kebentuk yang tidak dapat dimengerti lagi maknanya. DES (Data Encryption Standard) merupakan salah satu algoritma standar yang ada. DES merupakan block cipher 16 ronde yang memiliki struktur Feistel dan memiliki masukan/keluaran 64 bit, serta memiliki kunci sepanjang 56 bit. Dengan struktur Feistel, algoritma enkripsi memiliki struktur yang sama dengan yang untuk dekripsi. Perbedaannya hanya terletak pada urutan subkey yang dimasukkan.

Apa itu DES?


DES merupakan salah satu algoritma kriptografi cipher block dengan ukuran blok 64 bit dan ukuran kuncinya 56 bit. Algoritma DES dibuat di IBM, dan merupakan modifikasi daripada algoritma terdahulu yang bernama Lucifer. Lucifer merupakan algoritma cipher block yang beroperasi pada blok masukan 64 bit dan kuncinya berukuran 28 bit. Pengurangan jumlah bit kunci pada DES dilakukan dengan alasan agar mekanisme algoritma ini bisa diimplementasikan dalam satu chip. 
DES pertama kali dipublikasikan di Federal Register pada 17 Maret 1975. Setelah melalui banyak diskusi, akhirnya algortima DES diadopsi sebagai algoritma standar yang digunakan oleh NBS (National Bureau of Standards) pada 15 Januari 1977. Sejak saat itu, DES banyak digunakan pada dunia penyebaran informasi untuk melindungi data agar tidak bisa dibaca oleh orang lain. Namun demikian, DES juga mengundang banyak kontroversi dari para ahli di seluruh dunia. Salah satu kontroversi tersebut adalah S-Box yang digunakan pada DES. S-Box merupakan bagian vital dari DES karena merupakan bagian yang paling sulit dipecahkan. Hal ini disebabkan karena S-Box merupakan satu – satunya bagian dari DES yang komputasinya tidak linear. Sementara itu, rancangan dari S-Box sendiri tidak diberitahukan kepada publik. Karena itulah, banyak yang curiga bahwa S-Box dirancang sedemikian rupa sehingga memberikan trapdoor kepada NSA agar NSA bisa membongkar semua ciphertext yang dienkripsi dengan DES kapan saja. 

Kontroversi yang kedua adalah jumlah bit pada kunci DES yang dianggap terlalu kecil, hanya 56 bit. Akibatnya DES rawan terhadap serangan brute force. Walaupun terdapat kerawanan tersebut, DES tetap digunakan pada banyak aplikasi seperti pada enkripsi PIN (Personal Identification Numbers) pada mesin ATM (Automatic Teller Machine) dan transaksi perbankan lewat internet. Bahkan, organisasi – organisasi pemerintahan di Amerika seperti Department of Energy, Justice Department, dan Federal Reserve System menggunakan DES untuk melindungi penyebaran data mereka.

Skema Global DES

Pada sekitar akhir tahun 1960, IBM melakukan riset pada bidang kriptografi yang pada akhirnya disebut Lucifer. Lucifer dijual pada tahun 1971 pada sebuah perusahaan di London. Lucifer merupakan algoritma berjenis Block Cipher yang artinya bahwa input maupun output dari algoritma tersebut merupakan 1 blok yang terdiri dari banyak bit seperti 64 bit atau 128 bit. Lucifer beroperasi pada blok input 64 bit dan menggunakan key sepanjang 128 bit. Lama kelamaan Lucifer semakin dikembangkan agar bisa lebih kebal terhadap serangan analisis cypher tetapi panjang kuncinya dikurangi menjadi 56 bit dengan maksud supaya dapat masuk pada satu chip. Di tempat yang lain, biro standar amerika sedang mencari-cari sebuah algoritma enkripsi untuk dijadikan sebagai standar nasional.IBM mencoba mendaftarkan algoritmanya dan di tahun 1977 algoritma tersebut dijadikan sebagai DES (Data Encryption Standard). Algoritma ini telah disetujui oleh National Bureau of Standard (NBS) setelah penilaian kekuatannya oleh National Security Agency (NSA) Amerika Serikat. DES termasuk ke dalam sistem kriptografi simetri dan tergolong jenis cipher blok. DES beroperasi pada ukuran blok 64 bit dan mengenkripsikan 64 bit plainteks menjadi 64 bit cipherteks dengan menggunakan 56 bit kunci internal (internal key) atau sub-kunci (subkey). Kunci internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit. Skema global dari algoritma DES adalah sebagai berikut:

  1. Blok plainteks dipermutasi dengan matriks permutasi awal (initial permutation atau IP).
  2. Hasil permutasi awal kemudian di-enciphering- sebanyak 16 kali (16 putaran). Setiap putaran menggunakan kunci internal yang berbeda.
  3. Hasil enciphering kemudian dipermutasi dengan matriks permutasi balikan (invers initial permutation atau IP-1 ) menjadi blok cipherteks.

Enkripsi DES

Di dalam proses enciphering, blok plainteks terbagi menjadi dua bagian, kiri (L) dan kanan (R), yang masing-masing panjangnya 32 bit. Kedua bagian ini masuk ke dalam 16 putaran DES. Pada setiap putaran i, blok R merupakan masukan untuk fungsi transformasi yang disebut f. Pada fungsi f, blok R dikombinasikan dengan kunci internal Ki. Keluaran dai fungsi f di-XOR-kan dengan blok L untuk mendapatkan blok R yang baru. Sedangkan blok L yang baru langsung diambil dari blok R sebelumnya. Ini adalah satu putaran DES. Secara lengkap proses Enkripsi dengan menggunakan DES ditunjukan pada skema berikut :


Algoritma DES memerlukan sebuah kunci yang panjang bloknya 64 bit di setiap blok DES digunakan untuk mengamankan data pada perangkat lunak dan keras negara tersebut. Berikut desain input-output algoritma DES


Dapat dilihat bahwa ada dua input untuk fungsi enkripsi, yaitu plaintext dengan panjang 64-bit dan kunci dengan panjang 56-bit. Untuk mengenkripsi data dengan menggunakan algoritma DES, dimulai dengan membagi bit dari teks tersebut kedalam blok-blok dengan ukuran blok sebesar 64-bit, yang kemudian disebut blok plaintext. Adapun penjelasan langkah-langkah enkripsi DES dijelaskan sebagai berikut :

A. Permutasi Awal


Sebelum putaran pertama, terhadap blok plainteks dilakukan permutasi awal (initial permutation atau IP). Tujuan permutasi awal adalah mengacak plainteks sehingga urutan bit-biit di dalamnya berubah. Pengacakan dilakukan dengan menggunakan matriks permutasi awal berikut ini:




B. Pembangkitan Kunci Internal


Pada proses enchipering akan dilakukan proses pemutaran sebanyak 16 kali, oleh karena itu dibutuhkan 16 buah kunci. 16 buah kunci tersebut dibangkitkan dari kunci eksternal. Masukan kunci (input key) K dispesifikasikan sebagai 64-bit kunci (key), kunci eksternal ini akan menjadi masukan untuk permutasi dengan menggunakan matriks permutasi choice one (PC-1) berikut ini:







8 buah bit yaitu bit 8, 16, 24, 32, 40, 48, 56, dan 64 digunakan sebagai parity bit. Parity bit tersebut akan mereduksi ukuran efektif key dari 64-bit menjadi 56-bit. Selanjutnya, 56 bit yang tersisa ini dibagi menjadi dua bagian, yaitu bagian kiri (C0) dan bagian kanan (D0). Selanjutnya kedua bagian digeser ke kiri (left shifting) sepanjang satu atau dua bit sesuai tabel pergeseran berikut ini :







Setelah pergeseran bit, maka masing-masing Ci dan Di akan dipermutasi kembali dengan menggunakan matriks PC-2 berikut :






Berikut ini merupakan skema yang menjelaskan proses pembangkitan kunci-kunci internal DES :

C. Enciphering

Seperti sudah dijelaskan sebelumnya, setiap blok plaintext mengalami 16 kali putaran enchipering. Secara matematis, satu putaran DES dinyatakan sebagai berikut :

Adapun langkah-langkah enchipering dapat dilihat pada skema berikut :
Adapun penjelasan dari skema diatas adalah :
  • E merupakan fungsi ekspansi yang memperluas blok Ri-1 yang panjangnya 32-bit menjadi 48-bit. Fungsi ekspansi ini direalisasikan melalui tabel berikut : 
  • Selanjutnya hasil ekspansi yaitu E(Ri-1), yang panjangnya 48-bit di XOR kan dengan Ki yang panjangnya juga 48-bit dan menghasilkan vektor A yang panjangnya 48-bit.
  • Vektor A kemudia dikelompokkan menjadi 8 kelompok yang masing-masing panjangnya 6 bit dan menjadi masukkan bagi proses substitusi. Proses substitusi dilakukan dengan menggunakan 8 buah kotak-s (s-box). Setiap kotak-s menerima 6 bit masukkan dan menghasilkan keluaran 4 bit. Kelompok 6 bit pertama akan menggunakan s1, 6 bit selanjutnya akan menggunakan s2, dan seterusnya. Bit awal dan akhir menentukan baris dan 4 bit ditengah akan menentukan kolom yang akan dipilih.
Kedelapan kotak S (s-boxadalah :







Contoh pencarian output dari kotak s adalah :
Bit 100110 = keluaran dari kotak-s adalah kotak-s pertama, baris ke 2 dan kolom ke3 yaitu 8 (1000).

Keluaran proses substitusi adalah vector B yang panjangnya 48 bit. Vector B menjadi masukan untuk proses permutasi. Adapun tujuan dari proses permutasi adalah untuk mengacak hasil proses substitusi kotak-S. Hasil permutasi dinyatakan dalam fungsi f(Ri-1,Ki). Permutasi ini dilakukan dengan menggunakan matriks permutasi sebagai berikut :

Dekripsi DES

DES memiliki proses yang sama untuk algoritma enkripsi dan dekripisinya. Proses pendekripsian juga dilakukan dengan menggunakan cipher Feistel sebanyak 16 round, dengan pada masing-masing round mengerjakan proses yang sama. Yang membedakan hanya urutan kunci dan juga input masukannya yang berupa ciphertext.

Pada round pertama, yang digunakan adalah K16, round kedua menggunakan K15, dan seterusnya hingga round terakhir akan menggunakan K1. Ciphertext yang digunakan yaitu berupa L16R16 yang diperoleh dari hasil permutasi invers IP-1 terhadap ciphertext sebenarnya (y) kemudian menukar 32 bit pertama dengan 32 bit terakhir dari hasil tersebut.
Proses dekripsi dilakukan dengan cara berkebalikan dari proses enkripsi, yaitu dengan menggunakan L16 R16 untuk menemukan L0 R0 atau plaintext.

Atau dapat ditunjukkan dengan gambar berikut untuk proses setiap round-nya.
Maka dari itu, untuk mendapatkan L0 R0 bisa digunakan langkah berikut :
Cara untuk mendapatkan plainteks kembali yaitu:
x = IP-1 (RD0 LD0)




B. Jumlah Putaran




Dari penelitian, DES dengan jumlah putaran yang kurang dari 16 ternyata dapat dipecahkan dengan knownplaintext attack yang lebih efektif daripada dengan brute force attack. Kriptoanalisis yang menggunakan seragan knownplaintext ini adalah kriptoanalisis linier.

C. S-Box


Pada desain struktur internal DES, bagian substitusinya (S-box), masih dirahasiakan. S-box ini diubah mengikuti saran NSA. Akibatnya, kita tidak bisa yakin bahwa struktur internal DES bebas dari titik-titik lemah yang sengaja disembunyikan, yang membuat NSA dapat membuka cipher tanpa harus mengetahui kuncinya. Menurut penelitian para ahli kriptografi, DES didesain dengan sangat cermat, sehingga bila kotak-S ini diubah secara acak, sangat mungkin sekali DES yang dihasilkan justru menjadi lebih mudah dibobol. Pengisian kotak-S DES masih menjadi misteri tanpa ada alasan mengapa memilih konstanta-konstanta di dalam kotak itu.

Kesimpulan


DES meiliki cara yang sama dalam melakukan enkripsi maupun dekripsi. Hanya saja pproses dekripsi dilakukan secara terbalik dibandingkan dengan proses enkripsi. DES diaplikasikan dengan melakukan pengolahan pengolahan angka, oleh karena itu konsep dasar yang digunakan DES adalah teori bilangan. Pada awalnya DES digunakan sebagai salah pengaman yang paling aman, tetapi seiring berjalannya waktu banyak kekurangan sistem ini yang menjadi kontroversi karena menyangkut kemanannya.
 

Hesti Florencia Simanjuntak Template by Ipietoon Cute Blog Design