/* Start http://www.cursors-4u.com */ body, a:hover {cursor: url(http://ani.cursors-4u.net/toons/too-12/too1135.cur), progress !important;} /* End http://www.cursors-4u.com */

Minggu, 20 November 2016

DES (Data Encryption Standard)


assalamualaikum wr.wb.....

watzappppp di postingan ke 7 aku ini kita akan bahas  DES nihhh, sebelumnya ada yang tau nggak apa itu DES ?......, kalau pada belum tau naahhhhh langsung aja nih , nggak usah panjang lebar lagi nih langsung aja check this out...

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.

 

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)

Differential Cryptanalysis

Salah satu serangan yang paling terkenal pada DES adalah metode “Differential Cryptanalysis” yang dikenalkan oleh Edi Biham dan Adi Shamir. Serangan ini adalah serangan chosen plaintext, yaitu penyerang memiliki kemampuan untuk memilih plaintext tertentu dan mendapatkan ciphertext yang berkesusaian. Serangan ini mungkin tidak efektif untuk memecahkan DES 16 ronde seperti pada umumnya, tetapi serangan ini dapat memecahkan DES dengan iterasi lebih rendah. Sebagai contoh, DES 8 ronde dapat dipecahkan hanya dalam beberapa menit dengan menggunakan sebuah PC sederhana. Pada DES, umumnya kerahasiaannya terletak pada kunci yang digunakan, sementara tabel permutasi dan tabel substitusi yang digunakan tidak berubah. Karena tulah kita mengasumsikan kriptanalis sudah mengetahui tabel permutasi dan tabel substitusi yang digunakan.
Differential Cryptanalysis adalah suatu teknik di mana kita membuat perubahan tertentu padalaintext sehingga dari ciphertext yang dihasilkan, kita bisa mencari kunci yang digunakan. Konsep perbedaan dalam differential cryptanalysis dirumuskan dengan operasi exclusive or. Jadi perbedaan antara dua naskah asli P1 dan P2 adalah P1 ⊕ P2 dimana operasi XOR dilakukan secara bitwise. Jika C1 dan C2 adalah pasangan ciphertext untuk P1 dan P2 , maka efek P1 ⊕P2 terhadap - C1⊕ C2 dapat mem berikan informasi mengenai kunci enkripsi. Analisa mencoba mengeksploitasi kecenderungan fungsi cipher dan didasarkan pada sifat aljabar operasi exclusive or. Efek dari permutasi seperti initial permutation (IP ) adalah linear dengan

IP (P1 ) ⊕ IP (P2 ) = IP (P1 ⊕ P2 )
Jadi efek permutasi terhadap perbedaan tidak terlalu rumit. Permutasi yang dilakukan diluar
putaran seperti IP dan IP−1 sama sekali tidak mempersulit analisa. Mari kita lihat efek dari fungsi cipher
f yang beroperasi terhadap setengah dari naskah sebesar 32 bit. Efek dari ekspansi E juga linear
E(P1 ) ⊕ E(P2 ) = E(P1 ⊕ P2 )
Jadi ekspansi juga tidak membuat rumit perbedaan, jadi tidak mempengaruhi analisa satu putaran. Akan tetapi, ekspansi, yang selain mengekspansi juga melakukan permutasi, mempengaruhi tingkat kesulitan analisa lebih dari dua putaran karena efek avalanche yang ditimbulkannya. Efek avalanche terjadi karena perbedaan 1 bit dalam input setelah melewati S-box menjadi perbedaan sedikitnya 2 bit. Karena efek ekspansi, perbedaan 2 bit akan menjadi input 3 S-boxes dua putaran kemudian yang oleh 3 Sboxes dijadikan perbedaan 6 bit, dan seterusnya. Jadi dengan setiap putaran, efek perbedaan semakin besar bagaikan avalanche.
Efek dari operasi exclusive or dengan kunci putaran adalah :
(P1 ⊕ K) ⊕ (P2 ⊕ K) = P1 ⊕ P2
Ini berarti tidak ada efek terhadap perbedaan. Efek dari permutasi P juga linear, jadi yang sangat menentukan dalam differential cryptanalysis adalah efek dari substitusi S-box yang diketahui sebagai tidak linear.

Analisis Satu Putaran


Untuk dapat memberikan gambaran mengenai mekanisme menemukan kunci dalam putaran mari kita lihat ilustrasi berikut. Contoh kita umpamakan bahwa XOR pasangan input adalah 0x34 (hexadecimal 34) dan XOR pasangan output adalah 0xd (hexadecimal d) dan S-box adalah S1. (Kita gunakan notasi 0x34 → 0xd untuk menandakan bahwa XOR input 0x34 dapat menghasilkan XOR output 0xD.) Kita umpamakan juga bahwa bits pasangan hasil ekspansi E adalah 0x35 dan 0x01. Bits input untuk S1 didapat dari XOR bits hasil ekspansi E dengan bits kunci k1 . Jadi pasangan input S1, sebut saja x dan y mempunyai rumus:


x = 0x35 ⊕ k1
y = 0x01 ⊕ k1
Sehingga :

k1 = 0x35 ⊕ x = 0x01 ⊕ y

Jadi bits kunci putaran didapat dari XOR pasangan hasil ekspansi dengan pasangan input S1. Namun tidak semua pasangan input S1 dapat menghasilkan 0xd sebagai XOR output S1. Hanya ada 8 pasangan input x dan y dengan XOR 0x34 yang menghasilkan XOR output 0xd, oleh karena itu hanya ada 8 kandidat nilai bits kunci yang dimungkinkan seperti terlihat dalam tabel berikut:


Jadi dengan menganalisa hasil transformasi S1 terhadap pasangan ekspansi 0x35 dan 0x01, ruang pencarian bits kunci putaran diperkecil dari 64 kandidat menjadi 8 kandidat. Jika kita mempunyai pasangan ekspansi lain (mungkin dengan hasil XOR yang berbeda) yang menghasilkan tabel lain, kita dapat memperoleh informasi tambahan mengenai bits kunci putaran. Bits kunci putaran harus berada dalam semua tabel yang dihasilkan, jadi setelah mendapatkan tabel 8.2, kandidat untuk bits kunci putaran tinggal dua yaitu 0x23 dan 0x17.

Analisis dapat dilanjutkan menggunakan pasangan ekspansi lainnya sampai kandidat bits kunci putaran tinggal satu sehingga bits kunci putaran dapat ditentukan. Jika proses pencarian bits kunci putaran menggunakan analisa efek S-box tidak selesai, hasil analisa dapat digunakan untuk menentukan probabilitas berbagai kandidat bits kunci putaran. Pendekatan probabilistik inilah sebenarnya yang digunakan dalam differential cryptanalysis.

Secara garis besar, metode yang digunakan differential cryptanalysis untuk mencari kunci putaran adalah sebagai berikut:
  1. Kita pilih XOR untuk naskah asli.
  2. Kita buat beberapa pasangan naskah asli dengan XOR yang dipilih, kita lakukan enkripsi terhadap pasangan, dan simpan pasangan terenkripsi.
  3. Untuk setiap pasangan, cari XOR output yang diharapkan untuk sebanyak mungkin Sboxes untuk putaran terahir dari XOR naskah asli dan pasangan terenkripsi (XOR input fungsi cipher f untuk putaran terahir diketahui karena merupakan XOR bagian dari pasangan terenkripsi).
  4. Untuk setiap kandidat kunci putaran, hitung pasangan yang menghasilkan XOR yang diharapkan jika menggunakan kandidat kunci putaran.
  5. Kunci putaran yang terpilih adalah kandidat kunci putaran yang mempunyai hitungan terbesar.
Hasil analisa dari Edi Biham dan Adi Shamir tentang kompleksitas pemecahan kunci pada DES ditunjukkan dalam tabel berikut :

Tabel diatas menunjukkan bahwa untuk DES dengan putaran penuh (16 putaran), differential crypatanalisis jauh lebih sukar daripada exhaustive search atau brute force.

Linear Cryptanalysis


Linear Cryptanalysis pertama kali diterbitkan secara terbuka sebagai sarana untuk menyerang DES oleh Mitsuru Masui di EUROCRYPT’93. Metodenya adalah mencoba untuk menemukan hubungan linear antara plaintext, ciphertext dan keys ketika mereka melalui S-BOX. Dengan mengetahui sepasang plaintext-ciphertext sebagai data, hubungan dengan kemungkinan yang cukup tinggi dapat digunakan untuk menemukan kuncinya.
Matsui menunjukkan bahwa DES dapat dipecahkan dengan bantuan 247 pasang dari plaintextciphertext yang sudah diketahui dan lebih cepat dari metode exhaustivesearch. [1] Namun Matsui memperbarui metodenya yaitu untuk mencapai tingkat keberhasilan sebesar 85% dengan metode ini, diperlukan 243 pasang plaintext-ciphertext. Prinsip dari linear cryptanalysis sangatlah sederhana, yaitu satu mendekati (non-linear) blok cipher menggunakan ekspresi linear :


Dimana P, C dan K menunjukkan plaintext-ciphertext, masing-masing kunci bit dan operator bolean XOR. Index i, j dan k menunjukkan lokasi bit tetap. Matsui menghasilkan tabel pendekatan linear untuk 8 S-BOX DES dan menemukan linearitas terkuat di S5 (S-BOX kelima). Tabelnya dihasilkan dengan menganalisa semua kombinasi dari bit input dan output dari S-BOX. Dimana terdapat 6 bit input dan 4 bit output, maka ada 1024 entri (26 x 24) pada tabel untuk setiap S-BOX. Sebuah pendekatan linear dinyatakan kuat apabila memiliki kemungkinan yang signifikan lebih besar atau lebih kecil dari 50%. Pada entri tertentu di S5 yang memiliki nilai 20, mewakili kemungkinan 12/64 (1/2 – 20/64). Nilai ini dianggap cukup kuat dan memungkinkan untuk melakukan pembacaan sandi menggunakan linear cryptanalysis pada DES.
Eli Biham mengambil satu langkah lebih maju untuk membantu menentukan pembatasan S-BOX untuk membuat mereka lebih tahan terhadap linear cryptanalysis. Ia menemukan bahwa peningkatan jumlah bit output dari sebuah S-BOX dapat membahayakan S-BOX secara signifikan terhadap linear cryptanalysis. Lebih tepatnya, ia menemukan bahwa dalam m x n S-BOX, dimana m adalah jumlah bit input dan n adalah jumlah bit output, jika n x 2m – m maka S-BOX harus memiliki linear property dari bit input maupun dari bit ouput.

Brute Force Attack


Tipe serangan ini adalah tipe serangan yang dilakukan secara praktikal. Seperti diketahui, panjang kunci pada DES adalah 56-bit, sehingga banyak kombinasi kunci yang mungkin adalah 256 kemungkinan. Dengan mengacu pada fakta tersebut kita dapat mendisain sebuah program dengan mengacu pada algoritma enkripsi DES untuk kemudian dilakukan pengujian terhadap semua kemugkinan kunci. Namun demikian, penggunaan komputer personal hanya untuk melakukan operasi percobaan kemungkinan kunci dinilai tidak efektif dari segi biaya serta juga tidak praktis, banyak fitur dari sebuah CPU yang tidak termanfaatkan dengan baik.
Alternatif lain adalah dengan membangun sebuah perangkat keras khusus yang diperuntukkan khusus untuk melakukan operasi ini. Telah banyak dikembangkan model perangkat keras dengan tujuan khusus seperti ini, salah satu contohnya adalah Cost-Optimized Parallel Code Breaker (COPACOBANA).


COPACOBANA terdiri dari serangkaian chip FPGA, dimana pada setiap chip terdapat empat buah engine DES yang bertugas untuk melakukan pengujian terhadap sebuah kunci.

Kelemahan DES


Isu-isu yang menjadi perdebatan kontroversial menyangkut keamanan DES:
  1. Panjang kunci
  2. Jumlah putaran
  3.  S-Box

A. Panjang Kunci

Panjang kunci eksternal DES hanya 64 bit, itupun yang dipakai Cuma 56 bit. Awalnya diusulkan oleh IBM adalah 128 bit, namun atas permintaan NSA, panjang kunci dikurangi 72 bit sehinggal menjadi 56 bit, alasan pengurangannya tidak diumumkan. Serangan yang bisa dilakukan dengan memanfaatkan kelemahan panjang kunci ini dengan menggunakan exhaustive key search. Exhaustive search adalah pencarian terhadap semua kemungkinan solusi. Dengan panjang kunci 56 bit akan terdapat 256 atau 72.057.594.037.927.936 kemungkinan kunci. Jika diasumsikan serangan exhaustive key search dengan menggunakan prosesor parallel mencoba setengah dari jumlah kemungkinan kunci itu maka diperlukan 1142 tahun untuk menemukan kunci yang benar. Namun pada tahun 1998 Electronic Frontier Foundation merancang dan membuat perangkat keras khusus untuk menemukan kunci DES secara exhaustive search key dengan biaya $250.000 dan diharapkan menemukan kunci selama 5 hari. Pada tahun 1999, kombinasi perangkat keras EFE dengan kolaborasi internet yang melibatkan lebih dari 100.000 komputer dapat menemukan kunci DES kurang dari 1 hari. Kriptoanalisis yang menggunakan exhaustive search key ini adalah kriptoanalisis differential.

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

nahhh kesimpulannya kali ini yaituuuuuuu...............................
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.
gimana udah pada paham tentang DES belum hmmmm ,insyaallah paham yaaa........ nahhhh segitu aja postingan kali ini supaya bermanfaat GANBATEEEE... assalamualaikum wr.wb.

Minggu, 13 November 2016

TABEL PERMUTASI ( DES )


assalamualaikum
haiii watzappppp kembali lagi di blog aku yang ke 6 , nahhhh kali ini kita akan bahas masalah tabel permutasi dan langkah langkah mengenkripsinya nihh menggunakan algoritma DES pastinyaa , nggak usah panjang lebar nihh langsung aja kita bahasss yahhhh

TABEL PERMUTASI ( DES ) SERTA LANGKAH LANGKAH MENGENKRIPSIKAANNYA

nahhhhh , Langkah-langkah mengenkripsi data menggunakan algoritma DES (Data Encryption System) yaitu:

Diberikan contoh:

  • Plaintext(x) = COMPUTER
  • Key(k) = 13 34 57 79 9B BC DF F1
Langkah Pertama :

Ubahlah plaintext kedalam bentuk biner
C : 01000011
O : 01001111
M : 01001101
P : 01010000
U : 01010101
T : 01010100
E : 01000101
R : 01010010

Ubahlah key kedalam bentuk biner
13 : 00010011
34 : 00110100
57 : 01010111
79 : 01111001
9B : 10011011
BC : 10111100
DF : 11011111
F1 : 11110001



Langkah Kedua :

Lakukan Initial Permutation (IP) pada bit plaintext menggunakan tabel IP berikut:

Tabel Initial Permutation(IP)

585042342618102
605244362820124
625446383022146
645648403224168
57494133251791
595143352719113
615345372921135
635547393123157

Urutan bit pada plaintext urutan ke 58 ditaruh diposisi 1,
Urutan bit pada plaintext urutan ke 50 ditaruh di posisi 2,
Urutan bit pada plaintext urutan ke 42 ditaruh di posisi 3, dst

Sehingga hasil outputnya adalah

IP(x) : 11111111 10111000 01110110 01010111 00000000 00000000 00000110 10000011

Pecah bit pada IP(x) menjadi 2 bagian yaitu:
L0 : 11111111 10111000 01110110 01010111 (tabel IP dengan warna kuning)
R0 : 00000000 00000000 00000110 10000011 (tabel IP dengan warna hijau)

Langkah Ketiga :

Generate kunci yang akan digunakanuntuk mengenkripsi plaintext dengan menggunakan tabel permutasi kompresi PC-1, pada langkah ini terjadi kompresi dengan membuang 1 bit masing-masing blok kunci dari 64 bit menjadi 56 bit.

Tabel PC-1
5749413325179
1585042342618
1025951433527
1911360524436
63554739312315
7625445383022
1466153453729
211352820124

Dapat kita lihat pada tabel diatas, tidak terdapat urutan bit 8,16,24,32,40,48,56,64 karena telah dikompress. Berikut hasil outpunya :

CD(k) : 1111000 0110011 0010101 0101111 0101010 1011001 1001111 0001111

Pecah CD(k) menjadi dua bagian kiri dan kanan, sehingga menjadi

C0 : 1111000 0110011 0010101 0101111(tabel PC-1 warna kuning)
D0 : 0101010 1011001 1001111 0001111 (tabel PC-1 warna hijau)

Langkah Keempat :

Lakukan pergeseran kiri (Left Shift) pada C0 dan D0, sebanyak 1 atau 2 kali berdasarkan kali putaran yang ada pada tabel putaran sebagai berikut:

Tabel Left Shift
Putaran ke - iJumlah Pergeseran(Left Shift)
11
21
32
42
52
62
72
82
91
102
112
122
132
142
152
161

Untuk putaran ke 1, dilakukan pegeseran 1 bit ke kiri
Untuk putaran ke 2, dilakukan pergeseran 1 bit kekiri
Untuk putaran ke 3, dilakukan pergeseran 2 bit kekiri, dst

Berikut hasil outputnya:
C0 : 1111000 0110011 0010101 0101111
D0 : 0101010 1011001 1001111 0001111

Digeser 1 bit ke kiri
C1 : 1110000 1100110 0101010 1011111
D1 : 1010101 0110011 0011110 0011110

Digeser 2 bit ke kiri
C2 : 1100001 1001100 1010101 0111111
D2 : 0101010 1100110 0111100 0111101

Digeser 2 bit ke kiri
C3 : 0000110 0110010 1010101 1111111
D3 : 0101011 0011001 1110001 1110101

Digeser 2 bit ke kiri
C4 : 0011001 1001010 1010111 1111100
D4 : 0101100 1100111 1000111 1010101

Digeser 2 bit ke kiri
C5 : 1100110 0101010 1011111 1110000
D5 : 0110011 0011110 0011110 1010101

Digeser 2 bit ke kiri
C6 : 0011001 0101010 1111111 1000011
D6 : 1001100 1111000 1111010 1010101

Digeser 2 bit ke kiri
C7 : 1100101 0101011 1111110 0001100
D7 : 0110011 1100011 1101010 1010110

Digeser 2 bit ke kiri
C8 : 0010101 0101111 1111000 0110011
D8 : 1001111 0001111 0101010 1011001

Digeser 1 bit ke kiri
C9 : 0101010 1011111 1110000 1100110
D9 : 0011110 0011110 1010101 0110011

Digeser 2 bit ke kiri
C10 : 0101010 1111111 1000011 0011001
D10 : 1111000 1111010 1010101 1001100

Digeser 2 bit ke kiri
C11 : 0101011 1111110 0001100 1100101
D11 : 1100011 1101010 1010110 0110011

Digeser 2 bit ke kiri
C12 : 0101111 1111000 0110011 0010101
D12 : 0001111 0101010 1011001 1001111

Digeser 2 bit ke kiri
C13 : 0111111 1100001 1001100 1010101
D13 : 0111101 0101010 1100110 0111100

Digeser 2 bit ke kiri
C14 : 1111111 0000110 0110010 1010101
D14 : 1110101 0101011 0011001 1110001

Digeser 2 bit ke kiri
C15 : 1111100 0011001 1001010 1010111
D15 : 1010101 0101100 1100111 1000111

Digeser 1 bit ke kiri
C16 : 1111000 0110011 0010101 0101111
D16 : 0101010 1011001 1001111 0001111

Setiap hasil putaran digabungkan kembali menjadi CiDi dan diinput kedalam tabel Permutation Compression 2 (PC-2) dan terjadi kompresi data CiDi 56 bit menjadi CiDi 48 bit.

Tabel PC-2

1417112415
3281562110
2319124268
1672720132
415231374755
304051453348
444939563453
464250362932

Berikut hasil outputnya:

C1D1 = 1110000 1100110 0101010 1011111 1010101 0110011 0011110 0011110
K1 = 000110 110000 001011 101111 111111 000111 000001 110010

C2D2 = 1100001 1001100 1010101 0111111 0101010 1100110 0111100 0111101
K2 = 011110 011010 111011 011001 110110 111100 100111 100101

C3D3 = 0000110 0110010 1010101 1111111 0101011 0011001 1110001 1110101
K3 = 010101 011111 110010 001010 010000 101100 111110 011001

C4D4 = 0011001 1001010 1010111 1111100 0101100 1100111 1000111 1010101
K4 = 011100 101010 110111 010110 110110 110011 010100 011101

C5D5 = 1100110 0101010 1011111 1110000 0110011 0011110 0011110 1010101
K5 = 011111 001110 110000 000111 111010 110101 001110 101000

C6D6 = 0011001 0101010 1111111 1000011 1001100 1111000 1111010 1010101
K6 = 011000 111010 010100 111110 010100 000111 101100 101111

C7D7 = 1100101 0101011 1111110 0001100 0110011 1100011 1101010 1010110
K7 = 111011 001000 010010 110111 111101 100001 100010 111100

C8D8 = 0010101 0101111 1111000 0110011 1001111 0001111 0101010 1011001
K8 = 111101 111000 101000 111010 110000 010011 101111 111011

C9D9 = 0101010 1011111 1110000 1100110 0011110 0011110 1010101 0110011
K9 = 111000 001101 101111 101011 111011 011110 011110 000001

C10D10 = 0101010 1111111 1000011 0011001 1111000 1111010 1010101 1001100
K10 = 101100 011111 001101 000111 101110 100100 011001 001111

C11D11 = 0101011 1111110 0001100 1100101 1100011 1101010 1010110 0110011
K11 = 001000 010101 111111 010011 110111 101101 001110 000110

C12D12 = 0101111 1111000 0110011 0010101 0001111 0101010 1011001 1001111
K12 = 011101 010111 000111 110101 100101 000110 011111 101001

C13D13 = 0111111 1100001 1001100 1010101 0111101 0101010 1100110 0111100
K13 = 100101 111100 010111 010001 111110 101011 101001 000001

C14D14 = 1111111 0000110 0110010 1010101 1110101 0101011 0011001 1110001
K14 = 010111 110100 001110 110111 111100 101110 011100 111010

C15D15 = 1111100 0011001 1001010 1010111 1010101 0101100 1100111 1000111
K15 = 101111 111001 000110 001101 001111 010011 111100 001010

C16D16 = 1111000 0110011 0010101 0101111 0101010 1011001 1001111 0001111
K16 = 110010 110011 110110 001011 000011 100001 011111 110101

nahhhh paham kan gimana tabel permutasi pada DES ini ?? sekian dulu buat hari ini byeeeeeeeee........
 assalamualaikum wr wb .

Adventure Time - Finn 3