Anda di halaman 1dari 6

ENKRIPSI

1. Pengertian Enkripsi
Enkripsi adalah proses mengamankan suatu informasi dengan membuat informasi
tersebut tidak dapat dibaca tanpa bantuan pengetahuan khusus. Pengetahuan yang
mempelajari tentang enkripsi adalah kriptografi. Yang dimaksud dengan kriptografi adalah
ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek
keamanan informasi seperti kerahasiaan data, keabsahan data, integritas data, serta
autentikasi data. Namun, tidak semua aspek keamanan informasi ditangani oleh kriptografi.
Enkripsi erat kaitannya dengan dekripsi, untuk itulah muncul istilah kriptanalisis.
Kriptanalisis adalah ilmu dan seni untuk memecahkan informasi yang telah dienkripsi tanpa
mengetahui kunci yang digunakan. Pelaku kriptanalisis disebut dengan kriptanalis.

2. Tujuan Enkripsi
Enkripsi merupakan upaya untuk mengamankan data/informasi, meskipun bukan
merupakan satu-satunya cara untuk mengamankan data/informasi. Adapun tujuan dari
enkripsi adalah sebagai berikut:

a. Kerahasiaan

Yaitu untuk menjaga isi dari informasi dari siapapun kecuali yang memiliki otoritas atau
kunci rahasia untuk membuka informasi yang telah dienkripsi.

b. 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.

c. 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.

d. Non-repudiasi/Nirpenyangkalan

Adalah usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman/terciptanya


suatu informasi oleh yang mengirimkan/membuat.

3. Macam - Macam Enkripsi


 Vigenere Cipher

Vigenere Cipher ditemukan oleh Blaise de Vigenere pada abad ke 16. Untuk
menggunakan algoritma ini, maka diperlukan sebuah bujursangkar vigenere dimana
kolom paling kiri bujursangkar menyatakan huruf-huruf kunci, sedangkan baris paling
atas menyatakan huruf-huruf plaintext dan setiap baris di dalam bujursangkar menyatakan
huruf-huruf ciphertext.

Gambar 3.2 Bujursangkar Vigenere


Contoh:
→ Plaintext: ATTACKATDAWN
Maka, kita harus menentukan kata kuncinya. Apabila kata kunci yang digunakan lebih
pendek dari panjang plaintext maka kata kunci diulang (sistem periodik) seperti berikut:
Panjang plaintext: 12 huruf
Kata kunci: LEMON (5 huruf)
Kata kunci: LEMONLEMONLE (12 huruf)
Huruf pertama dari plaintext adalah A, dienskripsi dengan menggunakan alfabet pada
baris L, yang merupakan huruf pertama pada kata kunci. Ini dilakukan dengan melihat
huruf yang terdapat pada baris L dan kolom A pada tabel vigenere, yaitu huruf L.Untuk
huruf kedua pada plaintext, kita menggunakan huruf kedua pada kata kunci, yaitu pada
baris E dan kolom T, yaitu huruf X. Lakukan terus hingga huruf terakhir plaintext
sehingga menghasilkan enkripsi sebagai berikut:
→ Ciphertext: LXFOPVEFRNHR
Dekripsi dilakukan dengan cara sebaliknya. Misalkan untuk huruf pertama ciphertext, L,
kita cari huruf pertama kata kunci pada baris L, dimana huruf pertama kata kunci juga
merupakan huruf L. Kemudian kita dapat menemukan pada baris L, huruf L terdapat pada
kolom A, yang mengartikan bahwa huruf A merupakan huruf pertama plaintext. Laukan
terus hingga jumlah huruf pada kata kunci habis.
 Transpotition Cipher
Algoritma ini diperoleh dengan mengubah posisi plaintextnya. Dengan kata lain,
algoritma ini melakukan transpose terhadap rangkaian karakter di dalam teks. Nama lain
untuk metode ini adalah permutasi, karena transpose setiap karakter di dalam teks sama
dengan mempermutasikan karakter-karakter tersebut. Contoh:

Plaintext : TECHNOLOGY(10 huruf)

Kunci : (10/5=2)

Enkripsi : TECHNOLOGY TECHNOLOGY

Ciphertext : TOELCOHGNY

Untuk membacanya, maka ciphertext dibaca berurutan dengan menggunakan kunci 2,


yaitu dengan bergeser sebanyak 2 huruf.

 Block Cipher
Block Cipher adalah algoritma enkripsi yang akan membagi-bagi plaintext yang akan
dikirimkan dengan ukuran tertentu (disebut blok) dengan panjang t, dan setiap blok
dienkripsi dengan menggunakan kunci yang sama. Pada umumnya, block cipher
memproses plaintext dengan blok yang relatif panjang lebih dari 64 bit, untuk
mempersulit penggunaan pola-pola serangan yang ada untuk membongkar kunci.

Untuk menambah kehandalan algoritma ini, dikembangkan pula beberapa tipe proses
enkripsi, yaitu :

• ECB (Electronic Code Book)

• CBC (Cipher Block Chaining)

• OFB (Output Feed Back)

• CFB (Cipher Feed Back)

4. Jenis – Jenis Enkripsi


a) MD-5
Algoritma MD5 disusun oleh Profesor Ronald L. Rivest, dari MIT. Pada RFC 1321,
Prof. Ron Rivest memberikan penjelasan awal mengenai MD5, yaitu suatu algoritma
yang inputnya berupa sebuah pesan yang panjangnya tidak tertentu, dan
menghasilkan keluaran sebuah message digest dari pesan inputnya dengan panjang tepat
128 bit. Diperkirakan (conjectured) tidak mungkin untuk menghasilkan dua pesan
dengan message digest yang sama. Algoritma MD5 dimaksudkan untuk aplikasi tanda
tangan digital (digital signature), dimana sebuah pesan yang besar harus
dipadatkan / di compress dengan cara yang aman sebelum di enkripsi dengan private
1
key dalam sebuah sistem key seperti RSA .

Pada intinya, MD5 adalah sebuah cara untuk melakukan verifikasi integritas data, dan
dapat lebih diandalkan daripada metode yang lebih umum digunakan, seperti checksum.

b) ENKRIPSI One Time Pad (OTP)

One Time Pad (OTP) atau yang sering disebut sebagai Vernam cipher karena ditemukan
oleh Mayor J. Maugborne dan G. Vernam ditahun 1917. OTP termasuk cipher aliran
(stream cipher), yaitu cipher yang berasal dari hasil XOR antara setiap bit plainteks
dengan setiap bit kuncinya.
One Time Pad (pad = kertas bloknot) adalah kertas yang berisi deretan karakter-karakter
kunci yang berisi huruf-huruf yang tersusun acak. Satu pad hanya digunakan sekali (one
time) saja untuk mengenkripsi pesan, setelah itu pad yang telah digunakan dihancurkan
supaya tidak dipakai kembali untuk mengenkripsi pesan yang lain.

Algoritma OTP merupakan algoritma berjenis symmetric key yang artinya bahwa kunci
yang digunakan untuk melakukan enkripsi dan dekripsi merupakan kunci yang sama.
Dalam proses enkripsi, algoritma ini menggunakan cara stream cipher dimana cipher
berasal dari hasil XOR antara bit plaintext dan bit key.
Fungsi untuk mengenkrip pesan hanyalah meng-XOR-kan plaintext dengan
kunci yang telah disiapkan untuk menghasilkan ciphertext

c = p XOR K
Sedangkan fungsi untuk mendekrip tinggal meng-XOR-kan ciphertext dengan
kunciyang sudah disepakati

p = c XOR K
Contoh :
Saya memiliki sebuah plaintext yaitu RUSDI dan memiliki sebuah kunci yaitu
CRASH (ingat panjang kunci harus sama dengan plaintext dan sebaiknya
tidak ada karakter yang diulang).

Pertama kita harus mendapatkan kode ASCII dari plaintext kemudian diubah
ke bentuk biner
-----------------------------------
| Karakter | ASCII | Notasi biner |
-----------------------------------
| R | 82 | 0101 0010 |
| U | 85 | 0101 0101 |
| S | 83 | 0101 0011 |
| D | 68 | 0100 0100 |
| I | 73 | 0100 1001 |
-----------------------------------
Hal yang sama juga harus dilakukan pada kunci yang dipilih.

-----------------------------------
1
| Karakter | ASCII | Notasi biner |
RSA, dalam dunia kriptografi merupakan salah satu algoritma yang banyak digunakan untuk enkripsi kunci publik. Nama RSA sendiri diambil
-----------------------------------
dari inisial nama belakang pembuatnya,
| Ron
C Rivest, Adi|Shamir,
67 dan|Len Adleman.
0100 0011Dibuat pada
| tahun 1977.
| R | 82 | 0101 0010 |
| A | 65 | 0100 0001 |
| S | 83 | 0101 0011 |
| H | 72 | 0100 1000 |
-----------------------------------

Setelah itu masing-masing karakter di XOR-kan dengan Key

R = 0101 0010 U = 0101 0101 S = 0101 0011 D = 0100 0100 I = 0100 1001
C = 0100 0011 R = 0101 0010 A = 0100 0001 S = 0101 0011 H = 0100 1000
XOR -------------------------------------------------------------------------
Cipher: 0001 0001 0000 0111 0001 0010 0001 0111 0000 0001
-----------------------------------------------------------------------------
ASCII : Ctrl-Q Ctrl-G Ctrl-R Ctrl-W Ctrl-A

Proses dekripsi pesan juga melakukan operasi yang sama yaitu XOR antara
Cipher dengan key.

Cipher: 0001 0001 0000 0111 0001 0010 0001 0111 0000 0001
Key: 0100 0011 0101 0010 0100 0001 0101 0011 0100 1000
XOR -------------------------------------------------------------------------
Plain : 0101 0010 0101 0101 0101 0011 0100 0100 0100 1001
-----------------------------------------------------------------------------
Kesimpulan :

Kesimpulan yang didapat bahwa one time pad (OTP) :

1) System OTP tidak dapat dipecahkan,karena


• Barisan kunci acak + plainteks yang tidak acak = cipherteks yang seluruhnya acak.
• Mendekripsi cipherteks dengan beberapa kunci berbeda dapat menghasilkan plainteks yang
bermakna, sehingga kriptanalis tidak punya cara untuk menentukan plainteks mana yang
benar.
2) Algoritma Vernam atau One-time pad merupakan algoritma pengenkripsian data dan informasi
yang relative sederhana dan mudah digunakan namun cukup aman dalam menjamin kerahasiaan
informasi atau data yang ingin dikirimkan oleh pengirim pesan kepada penerima pesan tanpa
dapat diketahui oleh pihak lain.
3) Karena algoritma OTP memiliki karakteristik besar key sama dengan besar message, maka
sistem ini memiliki keterbatasan akan ukuran message.

4) Keamanan algoritma pengenkripsian ini sangat bergantung pada kerahasiaan kunci rahasia
( secret key ) dan pad yang digunakan baik dalam mengenkripsi maupun mendekripsi data atau
informasi, karena walaupun untuk memecahkan sandi yang dibuat sangat sulit namun apabila
kunci telah ditemukan akan sangat mudah untuk memecahkan sandi tersebut.
5) Untuk menjamin kerahasiaan data dana informasi serta menjamin keamanan kunci rahasia yang
digunakan maka kunci yang digenerate harus benar-benar random atau acak dan hanya dapat
dipergunakan sebanyak satu kali saja.