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 :
- Kerahasiaan :Yaitu untuk
menjaga isi dari informasi dari siapapun kecuali yang memiliki otoritas
atau kunci rahasia untuk membuka informasi yang telah dienkripsi.
- 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.
- 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.
- 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);
}
public function beforeSave()
{
$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.
Daftar Pustaka
-
Wikipedia
-
Akbar, N. A. 2012. Makalah Seminar
Kerja Praktek METODE ENKRIPSI DAN DEKRIPSI BINER PADA BAHASA PEMROGRAMAN PHP.
Teknik Elektro Fakultas Teknik UNDIP.
PRIYO SIGIT PURNOMO
1000631038
D-3 MANAJEMEN INFORMATIKA
UNIVERSITAS MUHAMMADIYAH JEMBER