KRIPTOGRAFI


Hai readers, dalam post ini aku mau bahas - bahas sedikit ilmu yg aku dapat tentang kriptografi..Semoga bermanfaat dan selamat membaca :) terimakasih

kriptografi 
        Merupakan ilmu sekaligus seni untuk menjaga keamanan pesan (message) dengan cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti lagi maknanya.
        Kata cryptography berasal dari kata Yunani yaitu “kryptos” yang artinya tersembunyi dan “graphein” yang artinya menulis.
 
Pesan : Plaintext atau  Cleartext

 
  • Pesan dapat berupa data atau informasi  yang dikirim (melalui  kurir, saluran  komunikasi  data, dsb)
  • Pesan dapat disimpan  di dalam media perekaman (kertas, storage, dsb)
  • Agar pesan tidak dapat dimengerti  maknanya  oleh pihak lain, maka pesan disandikan  ke bentuk lain. 
  • Bentuk pesan yang tersandi disebut  ciphertext atau cryptogram. Tidak bergantung  dengan suatu program
  • Ciphertext harus dapat ditransformasi kembali menjadi plaintext.
ILUSTRASI
KOMPONEN UTAMA KRIPTOGRAFI
Pada prinsipnya, Kriptografi memiliki 4 komponen utama yaitu:
  • Plaintext, yaitu pesan yang dapat dibaca
  • Ciphertext, yaitu pesan acak yang tidka dapat dibaca
  •  Key, yaitu kunci untuk melakukan teknik kriptografi
  •  Algorithm, yaitu metode untuk melakukan enkrispi dan dekripsi
TUJUAN KRIPTOGRAFI
  • Menjaga kerahasiaan (confidentiality) pesan. 
  • Keabsahan pengirim (user  authentication).
  • Keaslian pesan (message  authentication).
  • Anti-penyangkalan  (non-repudiation).
  • Proses menyandikan  plaintext  menjadi ciphertext disebut enkripsi (encryption) atau  enciphering 
  • Proses mengembalikan  ciphertext  menjadi  plaintextnya disebut dekripsi (decryption) atau  deciphering
ENKRIPSI
          Enkripsi (Encryption) adalah sebuah proses menjadikan pesan yang dapat dibaca (plaintext) menjadi pesan acak yang tidak dapat dibaca  (ciphertext). Berikut adalah contoh enkripsi yang digunakan oleh Julius Caesar, yaitu dengan mengganti masing-masing huruf dengan 3 huruf selanjutnya (disebut juga Additive/Substitution Cipher)
CONTOH ENKRIPSI
Plain Text: TEST ONLY
dienkripsi menjadi
Cipher Text: &^*#^@%&*


 DEKRIPSI

          Dekripsi merupakan proses kebalikan dari enkripsi dimana proses ini akan mengubah ciphertext menjadi plaintext dengan menggunakan algortima „pembalik‟ dan key yang sama.Sehingga Kata yang telah di Enkripsi akan dapat dimengerti oleh pembaca.
CONTOH DEKRIPSI
Cipher Text : ^(*^#@()#($
didekripsi menjadi
Plain Text : Test Only
DEFINISI
  • Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan
  • Praktisi (pengguna kriptografi) disebut kriptografer (cryptographer).
  • Algoritma kriptografi adalah:
  1. aturan/metode untuk enkripsi dan dekripsi
  2. fungsi matematika yang digunakan untuk enkripsi dan dekripsi.
  • Kunci adalah parameter yang digunakan untuk transformasi enkripsi dan dekripsi.
  • Sistem kriptografi (atau cryptosystem) adalah algoritma kriptografi,  plainteks, cipherteks, dan kunci. 
  • Penyadap adalah orang yang mencoba menangkap pesan selama ditransmisikan. Nama lain: enemy, adversary, intruder, interceptor, bad guy
  • Kriptanalisis (cryptanalysis) adalah ilmu dan seni untuk memecahkan cipherteks menjadi plainteks tanpa mengetahui kunci yang diberikan. Pelakunya disebut kriptanalis.
  • Kriptologi (cryptology)  adalah studi mengenai kriptografi  dan kriptanalisis
KRIPTOGRAFI
Persamaan kriptografer dan kriptanalis:
  • Keduanya  sama-sama  menerjemahkan 
cipherteks menjadi  plainteks
Perbedaan kriptografer dan kriptanalis: 
  • Kriptografer  bekerja  atas  legitimasi  
pengirim atau penerima pesan
  • Kriptanalis  bekerja  atas  nama  penyadap 
yang tidak berhak.
Aplikasi  kriptografi: 
  • Pengiriman  data melalui saluran komunikasi
  • Penyimpanan  data di dalam  disk storage. 
Contoh-contoh  pada pengiriman data melalui saluran 
komunikasi
  • ATM tempat mengambil  uang
  • Internet
  • Militer
  • Wi-Fi
  • Pay TV
  • GSM
Contoh-contoh  pada data tersimpan:
  • Dokumen teks
Plainteks (plain.txt):

Cipherteks (cipher.txt):
Dokumen  gambar
plainteks (lena.bmp):
Cipherteks (lena2.bmp):  
Dokumen basisdata
Plainteks (siswa.dbf):
Cipherteks (siswa2.dbf):

Algoritma  Enkripsi  dan Dekripsi
  • Kekuatan  algoritma kriptografi TIDAK ditentukan  dengan menjaga  kerahasiaan  algoritmanya.
  • Cara tersebut tidak aman  dan tidak cocok lagi di saat ini.
  • Pada sistem kriptografi modern,  kekuatan  kriptografinya terletak  pada kunci, yang berupa  deretan karakter atau bilangan  bulat, dijaga kerahasiaannya.
Algoritma Enkripsi dan Dekripsi
Dengan menggunakan  kunci K, maka fungsi enkripsi dan dekripsi menjadi
E(P,K) = C      
D(C,K) = P    
dan kedua fungsi ini memenuhi
D(E(P,K),K) = P
TEKNIK DASAR KRIPTOGRAFI
Substitusi
  • Langkah pertama adalah membuat suatu tabel substitusi. Tabel substitusi dapat dibuat sesuka hati, dengan catatan bahwa penerima pesan memiliki tabel yang sama untuk keperluan dekripsi. 
  • Bila tabel substitusi dibuat secara acak, akan semakin sulit pemecahan ciphertext oleh orang yang tidak berhak.
Contoh :
Tabel subsitusi
Caesar Chipher
ROT 13
A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-RS-T-U-V-W-X-Y-Z-1-2-3-4-5-6-7-8-9-0-.-,
B-F-1-K-Q-G-A-T-P-J-6-H-Y-D-2-X-5-MV-7-C-8-4-I-9-N-R-E-U-3-L-S-W-,-.-O-Z-0
Contoh :
SISTEM
7P7CQY (TABEL SUBSITUSI)
VLVWHP (CAESAR CHIPHER)
FVFGRZ (ROT13)
CAESAR CHIPHER
Algoritma enkripsi sederhana pada masa raja Julius Caesar. Tiap huruf alfabet digeser 3 huruf ke kanan secara wrapping
Plainteks  : AWASI ASTERIX DAN TEMANNYA OBELIX
Cipherteks  : DZDVL DVWHULA GDQ WHPDQQBA REHOLA
MODEL PERHITUNGAN
Misalkan setiap huruf dikodekan dengan angka:
A = 0, B = 1, C = 2, …, Z = 25 
Maka secara matematis enkripsi dan dekripsi pada Caesar cipher dirumuskan sebagai berikut:
Enkripsi: ci = E(pi) = (pi + 3) mod 26
Dekripsi: pi = D(ci) = (ci – 3) mod 26
Jika pergeseran huruf sejauh k, maka :
Enkripsi: ci = E(pi) = (pi + k) mod 26
Dekripsi: pi = D(ci) = (ci – k) mod 26
k = kunci rahasia
Pada Caesar Cipher, k = 3
Untuk alfabet ASCII 256 karakter  :
Enkripsi: ci = E(pi) = (pi + k) mod 256
Dekripsi: pi = D(ci) = (ci – k) mod 256
CONTOH SOAL:
Plainteks  :  MATH
Cipherteks:  RFYM
k = 5
p1 = „M‟ = 12   :  c1 = E(12) = (12 + 5) mod 26 = 17 = „R‟
p2 = „A‟ = 0      :  c2 = E(0) = (0 + 5) mod 26 = 5 = „F‟
p3 = „T‟ = 19    :  c3 = E(19) = (19 + 5) mod 26 = 24 = „Y‟
p4 = „H‟ = 7      :  c4 = E(7) = (7 + 5) mod 26 = 12 = „M‟
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. 
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))
Blocking
  • Sistem enkripsi terkadang membagi plaintext menjadi blok-blok yang terdiri dari beberapa karakter yang kemudian dienkripsikan secara independen. 
  • Dengan menggunakan enkripsi blocking dipilih jumlah lajur dan kolom untuk penulisan pesan. Jumlah lajur atau kolom menjadi kunci bagi kriptografi dengan teknik ini. 
  • Plaintext dituliskan secara vertikal ke bawah berurutan pada lajur, dan dilanjutkan pada kolom berikutnya sampai seluruhnya tertulis. Ciphertextnya adalah hasil pembacaan plaintext secara horizontal berurutan sesuai dengan blok-nya.
Jika plaintext adalah 5 TEKNIK DASAR KRIPTOGRAFI  maka hasil chipertext ) . Jika menggunakan teknik blocking dengan 1blok berisi 4 karakter.
Permutasi
  • Salah satu teknik enkripsi yang terpenting adalah permutasi atau sering juga disebut transposisi. Teknik ini memindahkan atau merotasikan karakter dengan aturan tertentu. Prinsipnya adalah berlawanan dengan teknik substitusi. 
  • Dalam teknik substitusi, karakter berada pada posisi yang tetap tapi identitasnya yang diacak. Pada teknik permutasi, identitas karakternya tetap, namun posisinya yang diacak. 
  • Sebelum dilakukan permutasi, umumnya plaintext terlebih dahulu dibagi menjadi blok-blok dengan panjang yang sama.
  • Untuk contoh diatas, plaintext akan dibagi menjadi blok-blok yang terdiri dari 6 karakter, dengan aturan permutasi sebagai berikut :
Dengan  menggunakan  aturan diatas, maka proses enkripsi dengan permutasi dari plaintext adalah  sebagai berikut  : 
Ciphertext  yang  dihasilkan  dengan  teknik  permutasi ini adalah  "N ETK5 
SKD AIIRK RAATGORPIF.
Ekspansi
Suatu  metode  sederhana  untuk  mengacak  pesan  adalah  dengan memelarkan  pesan  itu  dengan aturan  tertentu.  Salah  satu  contoh penggunaan teknik ini adalah  dengan meletakkan  huruf konsonan  atau bilangan  ganjil  yang  menjadi  awal  dari  suatu  kata  di  akhir  kata  itu  dan menambahkan akhiran "an". Bila suatu kata dimulai dengan huruf vokal atau  bilangan  genap, ditambahkan  akhiran  "i".  Proses  enkripsi  dengan cara ekspansi  terhadap  plaintext  terjadi sebagai berikut  :
Ciphertextnya  adalah  "5AN  EKNIKTAN  ASARDAN RIPTOGRAFIKAN".  Aturan  ekspansi dapat  dibuat  lebih  kompleks. Terkadang teknik  ekspansi  digabungkan  dengan teknik lainnya, karena teknik  ini bila berdiri sendiri terlalu mudah untuk  dipecahkan.
Pemampatan
Mengurangi panjang pesan  atau jumlah bloknya  adalah cara lain untuk menyembunyikan  isi  pesan. Contoh  sederhana  ini  menggunakan  cara menghilangkan  setiap  karakter  ketiga  secara berurutan. Karakterkarakter  yang  dihilangkan  disatukan  kembali  dan  disusulkan sebagai "lampiran"  dari  pesan  utama,  dengan  diawali  oleh  suatu karakter  khusus,  dalam  contoh  ini  digunakan  "&".  Proses  yang  terjadi untuk  plaintext  kita adalah :
  • Aturan  penghilangan  karakter  dan  karakter  khusus  yang  berfungsi sebagai  pemisah  menjadi  dasar  untuk  proses  dekripsi  ciphertext menjadi plaintext  kembali. 
  • Dengan menggunakan  kelima teknik dasar kriptografi diatas, dapat diciptakan  kombinasi  teknik  kriptografi  yang  amat  banyak,  dengan faktor  yang  membatasi  sematamata  hanyalah  kreativitas  dan imajinasi  kita.  Walaupun  sekilas  terlihat  sederhana,  kombinasi teknik  dasar  kriptografi  dapat  menghasilkan  teknik  kriptografi turunan  yang  cukup  kompleks,  dan  beberapa  teknik  dasar kriptografi masih digunakan  dalam teknik  kriptografi  modern.
ALGORITMA KRIPTOGRAFI
Berdasarkan  jenis kunci yang digunakan  :
o  Algoritma  Simetris
Algoritma simetris (symmetric  algorithm)  adalah suatu algoritma dimana kunci enkripsi  yang digunakan sama dengan kunci dekripsi  sehingga algoritma ini disebut juga sebagai  single-key algorithm.
 Kelebihan  algoritma  simetris  :
  • Kecepatan operasi lebih tinggi bila dibandingkan dengan algoritma asimetrik.
  • Karena kecepatannya yang cukup tinggi, maka dapat digunakan pada sistem real-time 
Kelemahan  algoritma  simetris  :
  • Untuk tiap pengiriman  pesan dengan pengguna yang berbeda dibutuhkan kunci yang berbeda juga, sehingga akan terjadi kesulitan dalam manajemen kunci tersebut.
  • Permasalahan dalam pengiriman  kunci itu sendiri yang disebut  “key distribution  problem”
o  Algoritma Asimetris
Algoritma asimetris (asymmetric  algorithm)  adalah suatu algoritma dimana kunci enkripsi yang digunakan tidak sama dengan kunci dekripsi.  Pada algoritma ini menggunakan dua kunci yakni kunci publik (public  key) dan kunci privat(private key). Kunci publik disebarkan secara umum sedangkan kunci privat disimpan  secara rahasia oleh si pengguna. Walau kunci publik telah diketahui namun akan sangat sukar mengetahui kunci privat yang digunakan.
Kelebihan  algoritma  asimetris  :
  • Masalah keamanan pada distribusi  kunci dapat lebih baik
  • Masalah manajemen kunci yang lebih baik karena jumlah kunci yang lebih sedikit
Kelemahan  algoritma  asimetris  :
  • Kecepatan yang lebih rendah bila dibandingkan dengan algoritma simetris
  • Untuk tingkat keamanan sama, kunci yang digunakan lebih panjang dibandingkan dengan algoritma simetris. 
Berdasarkan  besar data yang diolah  :
o  Algoritma  Block Cipher
Informasi/data  yang  hendak  dikirim  dalam  bentuk  blok-blok  besar (misal  64-bit)  dimana  blok-blok  ini  dioperasikan  dengan  fungsi enkripsi  yang  sama  dan  akan  menghasilkan  informasi rahasia dalam blok-blok yang berukuran sama juga. Contoh: RC4, Seal, A5, Oryx.
o  Algoritma  Stream Cipher
Informasi/data yang  hendak  dikirim dioperasikan  dalam bentuk  blokblok yang  lebih kecil (byte atau bit), biasanya  satu karakter  persatuan waktu  proses, menggunakan  tranformasi enkripsi yang 
berubah  setiap waktu.  Contohnya:  Blowfish, DES,  Gost, Idea, RC5, Safer, Square, Twofish, RC6, Loki97.
Kriptografi Dengan Kunci Simetris/Private
Bentuk kriptografi tradisional
Kunci Simetris digunakan untuk mengenkrip dan mendekrip pesan
Kunci Simetris juga berkaitan dengan otentikasi
Masalah utama: 
  • Pengirim dan penerima menyetujui kunci simetris tanpa ada orang lain yang mengetahui.
  • Butuh metode dimana kedua pihak dapat berkomunikasi tanpa takut disadap
Contoh Metode Kriptografi Dengan Kunci Simetris/Private
1. Metode Caesar Cipher
- Huruf A-Z diberi nilai 0-25
- Karakter pesan dijumlah dengan kunci lalu di modulo 26
2. Metode Vigenere Cipher
- Huruf A-Z diberi nilai 0-25
- Kunci terdiri dari sekumpulan random karakter
- Karakter pesan dijumlah dengan kunci lalu di modulo 26
3.Metode Book Key Cipher
  - Menggunakan  teks dari sebuah sumber (misalnya buku) untuk mengenkrip plainteks
  - Karakter pesan dijumlah dengan kunci lalu di modulo 26
  - Metode DES (Data Encryption Standard)
  - Metode Triple DES
Melakukan  3 kali pengenkripan
  - Metode AES (Advanced Encryption Standard)
Menggantikan  DES (karena dapat dibobol)
  - Metode Rijndael Block Cipher
  - Metode IDEA (Internatinal Data Encryption Algorithm)
  - Metode RC5 dan RC6
Kriptografi Dengan Kunci Nirsimetris/Publik
  • Setiap orang memiliki sepasang kunci, kunci publik dan kunci private.
  • Kunci publik dipublikasikan
  • Kunci private disimpan rahasia dan tidak boleh ditransmisikan atau dipakai bersama
Contoh Metode Kriptografi Dengan Kunci NirSimetris/Publik
- Metode RSA (Ronald Rivest, Adi Shamir, Leonard Adleman)
- Metode Diffie Hellman Key Exchange
- Metode El Gamal
One-Way Function / Fungsi Hash
  • Merupakan fungsi satu arah yang dapat menghasilkan ciri (signature) dari data (berkas)
  • Fungsi yang memproduksi output dengan panjang tetap dari input yang berukuran variabel
  • Perubahan satu bit saja akan mengubah keluaran hash secara drastis
  • Digunakan untuk menjamin integritas dan digital signature
  • Plaintext yang di hash, tidak dapat dikembalikan ke bentuk asalnya. 
  • Oleh karena itu Hash sering disebut sebagai one-way Hash, proses mengubah plaintext menjadi bentuk unik dari plaintext.
  • Hasil dari hash algorithm disebut hash atau digest
Contoh:
MD5 (Message Diggest)
Hasilnya 128-bit
SHA (Secure Hash Function)
Hasilnya 160-bit
Contoh penggunaan Hash Function adalah pada mesin ATM. 
  • Pengguna memiliki nomer PIN
  • Nomer PIN tersebut di hash dan tersimpan dalam pita magnet yang ada dalam ATM.
Posting Komentar (0)
Lebih baru Lebih lama