Enkripsi adalah
proses mengubah atau mengamankan sebuah teks asli atau teks terang menjadi
sebuah teks tersandi.
Dalam ilmu
kriptografi, enkripsi adalah proses untuk mengamankan sebuah informasi agar
informasi tersebut tidak dapat dibaca tanpa pengetahuan khusus.
Pada tahun 1970an,
enkripsi dimanfaatkan untuk pengamanan oleh sekretariat pemerintah AS pada
domain publik, namun sekarang enkripsi digunakan pada sistem secara luas,
sperti ATM pada bank, e-commerce, dan lain sebagainya.
Kekurangan dan
kelebihan enkripsi antara lain :
- Kelebihan dari Enkripsi
- Kerahasiaan suatu informasi terjamin
- Menyediakan autentikasi dan perlindungan integritas
pada algoritma checksum/hash
- Menanggulangi penyadapan telepon dan email
- Untuk digital signature
- Kekurangan dari Enkripsi
- Penyandian rencana teroris
- Penyembunyian record kriminal oleh
seorang penjahat
- Pesan tidak bisa dibaca bila penerima pesan lupa
atau kehilangan kunci
Dan tujuan dari
enkripsi adalah :
1.
Kerahasiaan
:Yaitu untuk menjaga isi dari informasi dari siapapun kecuali yang memiliki
otoritas atau kunci rahasia untuk membuka informasi yang telah dienkripsi.
2.
Integritas
data : Untuk menjaga keaslian/keutuhan data, sistem harus memiliki kemampuan
untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak, antara
lain penyisipan, penghapusan, dan pensubsitusian data lain kedalam data yang
sebenarnya.
3.
Autentikasi
: Ini berhubungan dengan identifikasi/pengenalan, baik secara kesatuan sistem
maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling
memperkenalkan diri. Informasi yang dikirimkan melalui kanal harus
diautentikasi keaslian, isi datanya, waktu pengiriman, dan lain-lain.
4.
Non-repudiasi/Nirpenyangkalan
: Adalah usaha untuk mencegah terjadinya penyangkalan terhadap
pengiriman/terciptanya suatu informasi oleh yang mengirimkan/membuat. Cara
kerja dari algoritma ini adalah dengan menggantikan setiap karakter dari plaintext dengan
karakter lain.
Ada istilah dalam
enkripsi, yaitu Ciphers, adalah sebuah algoritma untuk
menampilkan enkripsi, yang disebut dekripsi. Informasi yang asli disebut
plaintext, dan informasi yang sudah di enkripsi disebut ciphertext. Namun isi
dari ciphertext tidak dapat dibaca atau diketahui oleh manusia maupun komputer,
sebelum melalui proses yang tepat untuk melakukan dekripsi
Algoritma enkripsi
Enkripsi digunakan
pertama dalam persandian pada waktu pemerintahan Yulius Caesar dikenal dengan
Caesar Cipher dengan mengganti posisi huruf awal dari alphabet.
Contoh : huruf
digeser 3 digit
A B C D E F G H I J
K L M N O P Q R S T U V W X Y Z
D E F G H I J K L M
N O P Q R S T U V W X Y Z A B C
Plaintext : “Saya
main computer”
Ciphertext : “VDBD
PDLQ FRPSXWHU”
Algoritma dari
Caesar cipher adalah jika (a=1.b=2, dan seterusnya). Plaintex diberi simbol “P”
dan cipher text adalah “C” dan kunci adalah “K”.
Rumus untuk
enskripsi :
C = E(P) = (P+K)
mod (26)
Dari contoh di
atas, maka enskripsi dapat dilakukan dengan rumus :
C= E(P) =(P+3) mod
(26)
Caesar Cipher
menggunakan satu kunci/Subsitusi deret campur kata kunci :
Contoh :
menggunakan kata kunci RINI ANGRAINI = RINAG
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
R I N A G B C D E F
H J K L M O P Q S T U V W X Y Z
Note : huruf yang
telah muncul pada Key tidak ditulis kembali.
Plaintext :
“Belajar keamanan computer”
Ciphertext :
“IGJRFRQ HGRKRLRL NMKOUTGQ”
Caesar Cipher
menggunakan dua kunci :
Contoh :
menggunakan kata kunci pertama : RINI ANGRAINI = RINAG
Kunci kedua :
RAHMAT HIDAYAT = RAHMTIDY
K1 .
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
R I N A G B C D E F
H J K L M O P Q S T U V W X Y Z
Chipertext
K2 K1 ke K2
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
R A H M T I D Y B C
E F G J K L N O P Q S U V W X Z
Plaintext : “Saya
belajar keamanan computer”
Ciphertext : “POXO
BDCOION YDOEOFOF JGEKSQDN”
Penggunaan dua
kunci akan menyulitkan untuk dideteksi, walaupun satu kunci sudah ditemukan.
Cara untuk mengubah plaintext menjadi ciphertext adalah dengan menukarkan huruf
asli dengan huruf yang sudah memakai kunci (T1) dan mencari huruf yang sama
pada T2. Huruf yang akan menjadi ciphertext adalah huruf dari persamaan T2
seperti pada contoh diatas.
Caesar Cipher
menggunakan tiga kunci :
Contoh : menggunakan
kata kunci pertama : RINI ANGRAINI = RINAG
Kunci kedua :
RAHMAT HIDAYAT = RAHMTIDY
Kunci ketiga :
DIANA PUTRI = DIANPUTR
K1 .
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
R I N A G B C D E F
H J K L M O P Q S T U V W X Y Z
K2
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
R A H M T I D Y B C
E F G J K L N O P Q S U V W X Z
K3 .
A B C D E F G H I J
K L M N O P Q R S T U V W X Y Z
D I A N P U T R B C
E F G H J K L M O Q S V W X Y Z
Untuk tiga kunci
pada plaintext dapat digunakan pendistribusian kunci-kunci, dimana plaintext
terlebih dahulu dibagi menjadi block-block yang terdiri dari 6 huruf satu
block.
Contoh :
Plaintext : “Saya
belajar keamanan computer”
Block : Sayabe
lajark eamana ncompu terxxx
K1 K2 K3 K1 K2
Maka Ciphertext :
“SRYRIG FRCROE PDGDHD LNMKOU QTOWWW”
Shift Cipher
Teknik subsitusi
shift cipher dengan modulus 26 dengan memberikan angka ke setiap alphabet
seperti a=0, b=2, c=3,….,z=25.
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
0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Contoh :
Plaintext : “Lagi
senang program”
Angka yang didapat
P : “11 0 6 8 18 4 13 0 13 6 15 17 14 6 17 0 12”
Kalau key : 11
Maka angka C yang
didapat adalah :
22 11 17 19 3 15 24
11 24 17 0 2 25 17 2 11 23
Kemudian angka
hasil dikonversi ke bentuk huruf, sehingga akan didapatkan ciphertext sebagai
berikut :
WLRT DPYLYR ACZRCLX
Vigenere cipher
Pada Vigenere
cipher memungkinkan setiap ciphertext memiliki banyak kemungkinan
plaintext-nya, yang dapat dilakukan dengan 2 cara :
· Angka
· huruf
Angka :
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
0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Kita memiliki kunci
dengan 6 huruf cipher. Jika ditukar dengan angka, maka akan menjadi K=(2, 8,
15, 7, 4, 17). Dengan demikian bila plaintext adalah “Sudah larut malamxxx”
S U D A H L A R U T
M A L A M
18 20 3 0 7 11 0 17
20 19 12 0 11 0 12
2 8 15 7 4 17 2 8
15 7 4 17 2 8 15
20 2 18 7 11 2 2 25
9 0 16 17 13 8 1
ciphertextnya
adalah :
UCSHL CCZIAQRNIB
Teknik Transposisi
Chiper
Teknik ini
menggunakan permutasi karakter. Penggunaan teknik ini memungkinkan pesan yang
asli tidak dapat dibaca kecuali memiliki kunci untuk mengembalikan pesan
tersebut ke bentuk semula (deskripsi). Ada 6 kunci yang digunakan untuk
melakukan permutasi chipper :
B e l a j a
1 2 3 4 5 6
3 5 1 6 4 2
L j b a a e
Langkah yang harus
dilakukan :
1. Bentuk
blok-blok text dari plaint text yang akan di enskripsikan, dimana setiap blok
text terdiri dari 6 karakter/huruf.
2. Setiap
blok text yang dibentuk diberi nomor urutan dari 1-6.
3. Setiap
blok text yang telah dibentuk dipermutasikan atau ditukar letaknya sesuai
dengan rumus di atas.
Plant text :
Kriptografi dengan teknik transposisi chipper
Enskripsi :
Bentuk blok text :
1 2 3 4 5 6 1 2 3 4
5 6 1 2 3 4 5 6 12 3 4 5 6
K R I P T O G R A F
I D E N G A N T EKN I KT RANSPO SISICH IPPERX
1 2 3 4 5 6
3 5 1 6 4 2
Hasil Permutasi
(chipper Text):
I T K O P R A I G D
F R G N E T A N
Contoh enkripsi
dalam bahasa pemrograman
Disini saya mencoba
bahasa pemrograman yang ada pada YII Framework sebagai contoh kasus.
Berikut adalah
sepenggal contoh kasusnya :
public function
hashPassword($password,$salt)
{
return md5($salt.$password);
}
{
return md5($salt.$password);
}
public function
beforeSave()
{
$isinya=$this->generateSalt();
$dua=$this->password;
$this->enkrip=$isinya;
$this->password=$this->hashPassword($dua,$isinya);
$this->id_level=3;
return true;
}
{
$isinya=$this->generateSalt();
$dua=$this->password;
$this->enkrip=$isinya;
$this->password=$this->hashPassword($dua,$isinya);
$this->id_level=3;
return true;
}
Penjelasannya :
public function
hashPassword($password,$salt)==> Mengenkripsi password sesuai dengan code
yang diberikan
return
md5($salt.$password)==> password akan di enkripsi dalam model md5
protected function
generateSalt()==> menggenerate otomatis code enkripsi password.
Sumber
No comments:
Post a Comment