enkripsi dan deskripsi
Keamanan data adalah hal yang sangat penting, kalo didunia komputer "Keamanan Berbanding
Terbalik dengan Kenyamanan".
Banyak pengguna komputer rela membayar mahal untuk hal yang satu ini.
Dan metode enkripsi adalah salah satu pilihan yang dapat dilakukan dari
masalah keamanan data tersebut.
jika ingin ngomongin mengenai enkripsi, maka hal tersebut tidak akan terpisah dengan apa yang dinamakan Kriptografi(Cryptography). Dimana kriptografi adalah studi tentang cara-cara menyamarkan/menyandikan pesan yang bertujuan untuk menghindari perolehan pesan secara tidak sah.
sedangkan didalam kriptografi itu sendiri terdapat dua proses penting, yaitu enkripsi dan dekripsi. ngomong-2 pada tahu enkripsi ama dekripsi ga niy,,,(klo ga tahu cape' dechh,,,,,).
jika ingin ngomongin mengenai enkripsi, maka hal tersebut tidak akan terpisah dengan apa yang dinamakan Kriptografi(Cryptography). Dimana kriptografi adalah studi tentang cara-cara menyamarkan/menyandikan pesan yang bertujuan untuk menghindari perolehan pesan secara tidak sah.
sedangkan didalam kriptografi itu sendiri terdapat dua proses penting, yaitu enkripsi dan dekripsi. ngomong-2 pada tahu enkripsi ama dekripsi ga niy,,,(klo ga tahu cape' dechh,,,,,).
jadi...
Enkripsi adalah suatu cara untuk menyandikan suatu informasi menjadi
sebuah kode-kode rahasia.Sedangkan
Dekripsi adalah metode untuk mengubah
kode-kode rahasia tadi menjadi data informasi dengan menggunakan kunci
rahasia (baik itu public key maupun private key).
Bila ingin mengamankan data yang anda miliki Enkripsi adalah salah satu solusi yang dapat dipergunakan,kita ga ingin kan ketika kita mengirim email tahu-2 ditengah perjalanan dibajak ama orang yang ga bertanggung jawab. Dengan menggunakan aplikasi enkripsi, paling tidak kita akan meminimalisasi pembajak terhadap data kita.
Bit Kunci dan Blok Data
banyak banget jenis Enkripsi dan setiap enkripsi dibedakan berdasar besar bit kunci dan besar blok datanya. Dari mulai bit kunci 8-bit,sampai 256 bit. dan dari 64-bit hingga 512-bit besar blok data. Mengapa bit kunci dan blok data penting?,karena kekuatan dari enkripsi terletak dalam tiga hal, yaitu besar bit kunci, bear blok data, dan metode pengulangan yang dilakukan didalamnya. semakin besar blok kunci, semakin kecil blok data dan semakin banyak pengulangan yang dilakukan maka enkripsi tersebut bisa dibilang cukup tangguh, dan begitu juga sebaliknya.
a. Caesar
Metode Caesar Cipher yang digunakan oleh Julius Caesar. Pada prinsipnya, setiap huruf digantikan dengan huruf yang berada tiga (3) posisi dalam urutan alfabet. Sebagai contoh huruf “a” digantikan dengan huruf “D” dan seterusnya.
Transformasi yang digunakan adalah:
plain : a b c d e f g h i j k l m n o p q r s t u v w x y z
cipher: D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
b. ROT13
Pada sistem ini sebuah huruf digantikan dengan huruf yang letaknya 13 posisi darinya.
Sebagai contoh, huruf “A” digantikan dengan huruf “N”, huruf “B” digantikan dengan huruf “O”, dan seterusnya. Enkripsi ini merupakan penggunaan dari sandi Caesar dengan geseran 13. ROT13 biasanya digunakan di forum internet, agar spoiler, jawaban teka-teki, kata-kata kotor, dan semacamnya tidak terbaca dengan sekilas. Hal ini mirip dengan mencetak jawaban TTS secara terbalik di surat kabar atau majalah.
Secara matematis, hal ini dapat dituliskan sebagai:
C ROT13 = (M)
Untuk mengembalikan kembali ke bentuk semulanya dilakukan proses enkripsi ROT13 dua kali.
M = ROT13(ROT13(M))
Penyandian Polialfabetik, merupakan suatu enkripsi dilakukan dengan mengelompokkan beberapa huruf menjadi sebuah kesatuan (unit) yang kemudian dienkripsi. Metode pada Penyandi Polialfabetik adalah Playfair. Playfair ini menggunakan tabel 5×5. Semua alfabet kecuali J diletakkan ke dalam tabel. Huruf J dianggap sama dengan huruf I, sebab huruf J mempunyai frekuensi kemunculan yang paling kecil.
Berikut ini aturan-aturan proses enkripsi pada Playfair:
1. Jika kedua huruf tidak terletak pada baris dan kolom yang sama, maka huruf pertama menjadi huruf yang sebaris dengan huruf pertama dan sekolom dengan huruf kedua. Huruf kedua menjadi huruf yang sebaris dengan huruf kedua dan sekolom dengan huruf pertama. Contohnya, SA menjadi PH, BU menjadi EP.
2. Jika kedua huruf terletak pada baris yang sama maka huruf pertama menjadi huruf setelahnya dalam baris yang sama, demikian juga dengan huruf kedua. Jika terletak pada baris kelima, maka menjadi baris pertama, dan sebaliknya. Arahnya tergantung dari posisi huruf pertama dan kedua, pergeserannya ke arah huruf kedua. Contohnya, AH menjadi TR, LK menjadi KG, BE menjadi CI.
3. Jika kedua huruf terletak pada kolom yang sama maka huruf pertama menjadi huruf setelahnya dalam kolom yang sama, demikian juga dengan huruf kedua. Jika terletak pada kolom kelima, maka menjadi kolom pertama, dan sebaliknya. Arahnya tergantung dari posisi huruf pertama dan kedua, pergeserannya ke arah huruf kedua. Contohnya, DS menjadi LY, PA menjadi GW, DH menjadi HY.
4. Jika kedua huruf sama, maka letakkan sebuah huruf di tengahnya (sesuai kesepakatan).
5. Jika jumlah huruf plainteks ganjil, maka tambahkan satu huruf pada akhirnya, seperti pada aturan ke-4.
Bila ingin mengamankan data yang anda miliki Enkripsi adalah salah satu solusi yang dapat dipergunakan,kita ga ingin kan ketika kita mengirim email tahu-2 ditengah perjalanan dibajak ama orang yang ga bertanggung jawab. Dengan menggunakan aplikasi enkripsi, paling tidak kita akan meminimalisasi pembajak terhadap data kita.
Bit Kunci dan Blok Data
banyak banget jenis Enkripsi dan setiap enkripsi dibedakan berdasar besar bit kunci dan besar blok datanya. Dari mulai bit kunci 8-bit,sampai 256 bit. dan dari 64-bit hingga 512-bit besar blok data. Mengapa bit kunci dan blok data penting?,karena kekuatan dari enkripsi terletak dalam tiga hal, yaitu besar bit kunci, bear blok data, dan metode pengulangan yang dilakukan didalamnya. semakin besar blok kunci, semakin kecil blok data dan semakin banyak pengulangan yang dilakukan maka enkripsi tersebut bisa dibilang cukup tangguh, dan begitu juga sebaliknya.
Penyandian Monoalfabetik dan Polialfabetik
Penyandian Monoalfabetik,
merupakan setiap huruf digantikan dengan sebuah huruf. Huruf yang sama
akan memikili pengganti yang sama. Misalnya huruf “a” digantikan dengan
huruf “e”, maka setiap huruf “a” akan digantikan dengan huruf “e”.
Metode pada Penyandi Monoalfabetik :
a. Caesar
Metode Caesar Cipher yang digunakan oleh Julius Caesar. Pada prinsipnya, setiap huruf digantikan dengan huruf yang berada tiga (3) posisi dalam urutan alfabet. Sebagai contoh huruf “a” digantikan dengan huruf “D” dan seterusnya.
Transformasi yang digunakan adalah:
plain : a b c d e f g h i j k l m n o p q r s t u v w x y z
cipher: D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
b. ROT13
Pada sistem ini sebuah huruf digantikan dengan huruf yang letaknya 13 posisi darinya.
Sebagai contoh, huruf “A” digantikan dengan huruf “N”, huruf “B” digantikan dengan huruf “O”, dan seterusnya. Enkripsi ini merupakan penggunaan dari sandi Caesar dengan geseran 13. ROT13 biasanya digunakan di forum internet, agar spoiler, jawaban teka-teki, kata-kata kotor, dan semacamnya tidak terbaca dengan sekilas. Hal ini mirip dengan mencetak jawaban TTS secara terbalik di surat kabar atau majalah.
Secara matematis, hal ini dapat dituliskan sebagai:
C ROT13 = (M)
Untuk mengembalikan kembali ke bentuk semulanya dilakukan proses enkripsi ROT13 dua kali.
M = ROT13(ROT13(M))
Penyandian Polialfabetik, merupakan suatu enkripsi dilakukan dengan mengelompokkan beberapa huruf menjadi sebuah kesatuan (unit) yang kemudian dienkripsi. Metode pada Penyandi Polialfabetik adalah Playfair. Playfair ini menggunakan tabel 5×5. Semua alfabet kecuali J diletakkan ke dalam tabel. Huruf J dianggap sama dengan huruf I, sebab huruf J mempunyai frekuensi kemunculan yang paling kecil.
Berikut ini aturan-aturan proses enkripsi pada Playfair:
1. Jika kedua huruf tidak terletak pada baris dan kolom yang sama, maka huruf pertama menjadi huruf yang sebaris dengan huruf pertama dan sekolom dengan huruf kedua. Huruf kedua menjadi huruf yang sebaris dengan huruf kedua dan sekolom dengan huruf pertama. Contohnya, SA menjadi PH, BU menjadi EP.
2. Jika kedua huruf terletak pada baris yang sama maka huruf pertama menjadi huruf setelahnya dalam baris yang sama, demikian juga dengan huruf kedua. Jika terletak pada baris kelima, maka menjadi baris pertama, dan sebaliknya. Arahnya tergantung dari posisi huruf pertama dan kedua, pergeserannya ke arah huruf kedua. Contohnya, AH menjadi TR, LK menjadi KG, BE menjadi CI.
3. Jika kedua huruf terletak pada kolom yang sama maka huruf pertama menjadi huruf setelahnya dalam kolom yang sama, demikian juga dengan huruf kedua. Jika terletak pada kolom kelima, maka menjadi kolom pertama, dan sebaliknya. Arahnya tergantung dari posisi huruf pertama dan kedua, pergeserannya ke arah huruf kedua. Contohnya, DS menjadi LY, PA menjadi GW, DH menjadi HY.
4. Jika kedua huruf sama, maka letakkan sebuah huruf di tengahnya (sesuai kesepakatan).
5. Jika jumlah huruf plainteks ganjil, maka tambahkan satu huruf pada akhirnya, seperti pada aturan ke-4.
metoda enkripsi DES
Semenjak
kehadiran internet pada kehidupan manusia, kontrol atas informasi
bergerak dengan amat cepat.Termasuk pula informasi-informasi yang harus
mendapatkan “perhatian” khusus karena nilai informasi tersebut yang
sangat penting semisal informasi intelijen,militer, dan berbagai macam
informasi yang sering dilabeli TOP SECRET.
Dengan
adanya masalah di atas maka muncul ilmu baru pada dunia informatika
yang disebut kriptografi yang merupakan pengembangan dari
kriptologi.Berbagai pakar kriptografi telah mengembangkan berbagai macam
algoritma enkripsi seperti AES,Lucifer,OTP,IDEA,Triple
DES,DES,dsb.Diantara berbagai macam jenis algoritma, DES merupakan
algoritma yang paling terkenal dan paling banyak digunakan di internet
semisal untuk aplikasi e-commerce,perbankan,dll.Namun sebelum
mempelajari bagaimana cara kerja algoritma DES maka akan “sedikit”
dibahas terlebih dahulu riwayat hidup sang algoritma.
Kisah Hidup DES (Data Encryption Standard)
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 masksud 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).
Ternyata
timbul masalah setelah DES resmi dijadikan algoritma standar
nasional.Masalah pertama adalah panjang kunci DES yang hanya 56-bit
sehingga amat sangat rawan dan riskan serta berbahaya , terhadap
brute-force attack.Masalah kedua adalah struktur DES pada bagian
substitution-box (S-box) yang diubah menurut saran dari NSA.Desain
substitution-box dirahasiakan oleh NSA sehingga kita tidak mengetahui
kemungkinan adanya kelemahan-kelemahan pada DES yang sengaja
disembunyikan oleh NSA.Dan juga muncul kecurigaan bahwa NSA mampu
membongkar cypher tanpa harus memiliki key-nya karena menurut para
“pakar” kriptografi, DES sudah didesain secara cermat sehingga kalau
S-box ini diubah secara acak maka sangat mungkin DES justru lebih mudah
“dijebol” meskipun DES cukup kebal terhadap serangan differential
cryptanalysis maupun linier cryptanalysis.
Seperti
kata peribahasa “Karena susu setitik rusak iman sebelanga” ,.Di dunia
ini tak ada ciptaan manusia yang sempurna.Pada tahun 1998, 70 ribu
komputer di internet berhasil menjebol satu kunci DES dengan waktu
sekitar 96 hari.Bahkan pada tahun 1999 berhasil dibobol dalam waktu
kurang dari 22 hari.Pada tanggal 16 juni 1998 ada sebuah kelompok yang
menamakan dirinya Electronic Frontier Foundation (EFF) telah berhasil
memecahkan DES dalam waktu 4-5 hari menggunakan komputer yang dilengkapi
dengan Integrated Circuit Chip DES Cracker.Di akhir tragedi ini, DES
dianggap sudah tak aman lagi sehingga ia dicampakkan begitu saja dan
digantikan oleh AES (Anvanced Encryption Standard).
Proses Kerja DES
Cara kerja DES secara sederhana dapat digambarkan sebagai berikut :
Blok Plaintext 64 bit
Invers inisial
permutasi
Ronde-16
Inisial permutasi
Blok Ciphertext
64-bit
Ronde-2
Ronde-1
Initial Permutation
Plaintet
sebesar 64-bit akan dipecah menjadi 2 bagian yaitu Left (L) dan
Right.Bit-bit dari plaintext akan mengalami permutasi sehingga
susunannya akan berubah sebagai berikut :
[58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6
64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1
59 51 43 35 27 19 11 3
Blok kiri (L)
Blok Kanan (R)
61 53 45 37 29 21 13 5
63 55 47 39 31 23 15 7]
Maksud
daripada keterangan di atas adalah, bit yang pada plaintext terletak
pada urutan ke 58, setelah di Inisial permutasi posisinya berubah yang
tadinya berada di urutan ke 58 menjadi urutan ke-1 atau yang
pertama.Jika diperhatikan, bit-bit bernomor genap setelah dipecah berada
di blok L (kiri) dan bit yang bernomor ganjil terletak di blok R
(kanan).Permutasi diatas menggunakan sebuah urutan yang ditunjukkan oleh
arah panah berwarna merah.Dimulai pada kolom paling kanan dan bit-bit
yang ada akan bergerak secara urut dengan vertikal ke arah bawah.Sebagai
contoh pada blok L,
bilangan genap asli terkecil adalah 2 sehingga dimulai dengan angka 2 lalu 4,6,8 lalu
menuju kolom di sebelah kirinya 10,12,dst.
16 Ronde pada DES
Algoritma
DES mengalami 16 ronde untuk membentuk sebuah cipher.Pada setiap ronde,
blok R (kanan) tidak akan mengalami perubahan apapun karena hanya akan
dipindah menjadi blok L pada ronde selanjutnya.Namun blok R akan
digunakan bersamaan dengan subkey 56-bit untuk diolah pada fungsi F dan
akan di XOR-kan dengan blok L (kiri).Jika bingung dengan penjelasan di
atas, coba perhatikan dan amati skema pada masing-masing ronde DES di
halaman selanjutnya.
Li (32 bit) Ri (32 bit)
Subkey 56 bit
Ki+1
F
XOR
Dapat dihasilkan beberapa persamaan sebagai berikut :
Li+1 (32 bit) Ri+1 (32 bit)
1. L i+1 = R i
2.R i+1 = L i .. F(K i+1 , Ri)
Ket :
.. = Operasi XOR
Nah,
semoga kamu sudah paham setelah melihat penjelasan, bagan, dan
persamaan yang telah dijelaskan di atas tadi.Fungsi F merupakan
satu-satunya fungsi linier yang nilainya berubah-ubah tergantung pada
nilai Blok R (kanan) dan sub-key 56bit.Saya yakin kalau kamu sudah
bertanya-tanya tentang fungsi F.Sekarang, untuk kesekian kalinya,
perhatikan lagi sebuah bagan di halaman selanjutnya (soalnya tempatnya
nanggung banget nih ,)
R i (32 bit) K i (56 bit)
Ekspansi
48 bit
Penghapusan
byte terakhir
..
S1 S2 S3 S4 S5 S6 S7 S8
48 bit
Permutasi Ket :
.. = Operasi XOR
S1 - S8 = Subsitution-box (S-box)
32 bit
susunannya akan berubah sebagai berikut :
Fungsi F dapat dilihat pada gambar diatas.Blok R (kanan) di-ekspansi sehingga
[32 1 2 3 4 54 5 6 7 8 9
8 9 10 11 12 13 12 13 14 15 16 17
16 1718 19 20 21 20 21 22 23 24 25
24 25 26 27 28 29 28 29 30 31 32 1]
Angka-angka
yang dicetak tebal merupakan bit-bit yang akan ditambahkan pada input
sebesar 32 bit agar menjadi 48 bit.Angka tersebut akan muncul 2 kali
seperti angka 1,4,5, dst.Bilangan yang dicetak tebal juga bertambah
dengan aturan (a,a+8,a+16,a+24 dengan a sebagai bilangan minimum pada
satu kolom)secara vertikal.Jika angka yang dicetak tebal dihilangkan
maka akan muncul bit-bit yang berurutan.Jadi bit pertama yang akan
di-outputkan oleh blok ekspansi adalah bit ke 32pada input ekspansi.
Hasil
dari output ekspansi akan di XOR dengan subkey yang telah mengalami
penghapusan byte terakhir (1 byte=8 bit) yang diubah ukurannya dari 56
bit menjadi 48 bit.Hasil XOR tadi adalah sebuah bilangan 48 bit yang
akan dibagi secara merata kepada 8 Substitution Box sehingga
masing-masing box akan di-input sebesar 6 bit (48/8=6).Substitution box
yang agak gamblang dapat dilihat pada gambar di bawah ini :
CL Si CR
Ket:
CL = Control Left (kontrol kiri)
CR = Control Right (kontrol kanan)
dari
6 bit input pada S-box, bit paling kiri akan dimasukkan pada CL
(Control Left) dan bit paling kanan akan dimasukkan pada CR (Control
Right) sedangkan 4 bit sisanya akan dianggap sebagai input yang
biasa-biasa saja ,.
Output
dari masing-masing S-box akan menjadi bilangan sepanjang 4 bit sehingga
output total dari 8 S-box menjadi 32 bit (4*8=32).Lantas, bagaimana
pengolahan input pada masing-masing S-box ? OK, saya akan memberikan
salah satu contoh yaitu pada S-box yang pertama.Amati tabel di bawah ini
:
Bit
kontrol Nilai input 4 bit
CL CR 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
0 1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8
1 0 4 1 14 8 13 6 2 11 15 12 9 7 7 10 5 0
1 1 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
Contoh :
input pada S-box ke adalah 110010.Berapa nilai outputnya ?
Jawab:
Bit paling kiri akan dijadikan CL dan bit paling kanan akan dijadikan CR.
110010
CL=1
CR=0
Bit
kontrol Nilai input 4 bit
CL CR 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
0 1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8
1 0 4 1 14 8 13 6 2 11 15 12 9 7 7 10 5 0
1 1 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
Bit ke 2 sampai bit ke 5 harus diubah ke bilangan basis 10 atau bilangan
desimal.
Dari contoh di atas bit ke 2 sampai ke 5 bernilai 1001.
1001(2) = 9(10)
Bit
kontrol Nilai input 4 bit
CL CR 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
0 1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8
1 0 4 1 14 8 13 6 2 11 15 12 9 7 7 10 5 0
1 1 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
Pertemuan antara baris dan kolom di atas merupakan output dari s-box pertama yang kemudian harus diubah dalam bentuk biner.
12(10) = 1100(2)
Jadi jika input dari s-box pertama adalah 110010 maka outputnya bernilai 1100.
Jika
seluruh input pada S-box telah didapatkan hasil yang panjangnya 32 bit
maka hasil tersebut akan dipermutasi dengan aturan :
[16 7 20 21 29 12 28 17
1 15 23 26 5 18 31 10
2 8 24 14 32 27 3 9
19 13 30 6 22 11 4 25]
Jadi, jika input dari blok permutasi pada bit ke 16 akan berubah menjadi bit pertama dari output blok permutasi.
Menggunakan Algoritma DES pada aplikasi openssl
Openssl
merupakan toolkit kriptografi yang merupakan inplementasi dari secure
socket layer (SSL) sebagaimana pada manual pages-nya
OpenSSL
is a cryptography toolkit implementing the Secure Sockets Layer (SSL
v2/v3)and Transport Layer Security (TLS v1) network protocols and
related cryptography standards required by them.
Openssl
masih berupa tool command line yang bisa digunakan untuk mengenkrip
pesan dengan algoritma simetris maupun dengan fungsi hash satu arah.Di
sini saya mencoba menjelaskan bagaimana menggunakan openssl untuk
mengenkrip plaintext menggunakan algoritma DES.Openssl yang digunakan
merupakan OpenSSL 0.9.7e yang dirilis tanggal 25 oktober 2004 pada
distro mandriva 2005.
Sebagai contoh saya akan membuat sebuah plaintext untuk dienkrip menggunakan openssl.Misalnya text tersebut berisi :
phpinfo();
?>
Plaintext tersebut disave dengan nama plaintext.php di direktori home.
$ ls
plaintext.php
kemudian saya enkrip menggunakan openssl.
$ openssl enc -e -des -in plaintext.php -out ciphertext.php
maka
akan ada perintah untuk memasukkan key.Sebagai contoh key yang saya
gunakan adalah hacker.Dan akan ada konfirmasi yang kedua untuk melakukan
pengecekan.
enter des-cbc encryption password:
Verifying - enter des-cbc encryption password:
maka akan muncul sebuah file baru bernama ciphertext.php
$ ls
plaintext.php
ciphertext.php
isi dari ciphertext.php dapat dilihat menggunakan text editor.
Salted__¢$Χ#ú8#YÑÏP³#{,ä¯#ç^iS#0Ò
Lalu untuk mendekripsinya dapat digunakan perintah
$ openssl enc -d -des -in ciphertext.php -out plaintext2.php
Maka
akan ada konfirmasi key.Anda hanya perlu memasukkan satu kali tanpa
verifikasi.jika key yang dimasukkan salah maka akan muncul pesan error
sbb :
bad decrypt
32416:error:06065064:digital envelope routines:EVP_DecryptFinal:bad
decrypt:evp_enc.c:450:
Jika key-yang dimasukkan benar maka akan muncul file beru bernama plaintext2.php yang isinya sama dengan plaintext.php.
Mengenai
openssl anda dapat mempelajarinya sendiri lewat man pages-nya atau dari
howtos-howtos yang ada di internet karena saya tidak bisa membahas
secara rinci di sini.Openssl juga mendukung algoritma-algoritma lain
seperti blowfish, AES, IDEA, rc2, rc4, rc5 dan juga fungsi hash seperti
md5 dan sha1.
Penutup
Algoritma
DES dalam melakukan proses enkripsi dan dekripsi menggunakan teknik
yang disebut feistel yang muncul ketika awal tahun 70-an.Fungsi pada
feistel dijamin dapat didekripsi :
Li .. f(Ri , Ki+1) .. f(Ri , Ki+1) = Li
Fungsi
di atas dijamin dapat didekripsi selama input f dalam setiap tahap
dapat dikembalikan juga.Tidak perduli macam f (meskipun fungsi f tidak
dapat dibalik sekalipun) kita dapat mendesain serumit apapun tanpa perlu
susah-susah untuk membuat 2 algoritma untuk enkripsi dan
dekripsi.Teknik ini digunakan pada banyak algoritma seperti DES,
Lucifer, FEAL, Blowfish, dll.
Sepeti
sudah disampaikan di awal bahwa panjang kunci DES yang hanya 56 bit
sangat rawan di brute force sehingga saat ini digunakan 3 buah DES
secara berurutan untuk mengenkripsi sebuah paintext yang disebut Triple
DES.Panjang kunci Triple DES juga diperpanjang 3 kali menjadi 168 bit
(56*3 = 168).
public key.
Metode enkripsi kunci publik menawarkan keamanan yang lebih tinggidan lebihkompleks daripada metode konvensional.Metode enkripsi kunci publik membutuhkan dua buah kunci di dalamalgoritmanya, yaitu kunci publik dan kunci pribadi. Kunci publikdigunakan untukmengenkripsi plaintext menjadi ciphertext dan kunci ini tidak terlalubersifat rahasia sehingga dapat diketahui oleh banyak orang. Kuncipribadi digunakan untuk mendekripsi ciphertext menjadi plaintext dankunci ini bersifat rahasia sehingga hanya user saja yang bolehmengetahui kunci ini.syarat yang harus dipenuhi di dalam metode enkripsi kunci publik :1. Mudah bagi user untuk membentuk sepasang kunci (kuncipublik dan kunci pribadi)2. Mudah bagi user lain untuk mengetahui kunci publik milik kitadan kemudian mengenkripsi pesan yang akan dikirimkankepada kita dengan kunci tersebut.3. Mudah bagi penerima pesan untuk mendekripsi pesanciphertext yang telah diterima dengan kunci pribadi yangdimilikinya.4. Tidak mudah bagi musuh untuk mengetahui kunci publik untukmenentukan kunci pribadi yang dimiliki oleh user lain. disusun oleh:
mardiansyah 0860400064
mardiansyah 0860400064
arif mensyah putra 0860400009
marya ulva 0860400031
hendriadi 0860400025