CRYPTOGRAPHY

Ilmu sekaligus seni untuk menjaga keamanan pesan

  • pengiriman dan penerimaan pesan

  • Pesan => plaintext atau Cleartext
  • Pesan dapat berupa data atau informasi yang dikirim melalui (kurir, saluran komunikasi data, dsb)
  • Pesan dapat diterima melalui media perekam(kertas, storage, dsb)
  • Agar pesan tidak dapat dimengerti maknanya oleh pihak lain, maka pesan disandikan kedalam bentuk lain.
  • Bentuk pesan yang tersandi disebut ciphertext atau cryptogram.Tidak bergantung dengan suatu program.




  • Ciphertext harus dapat di transformasi kembali menjadi plaintext 
  • Proses penyandian plaintext menjadi Ciphertext di sebut Enkripsi(Encryption) atau Enciphering
  • Proses pengembalian ciphertext menjadi plaintext di sebut deskripsi (Decryption) atau Decriphering


  • Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan.
  • Praktisi (pengguna kriptografi) disebut kriptografer (cryptographer).
  • Algoritma kriptografi adalah :
    • aturan atau metode untuk enkripsi dan dekripsi
    • fungsi matematika untuk enkripsi dan dekripsi
  • Kunci adalah parameter yang digunakan untuk transformasi enkripsi dan dekripsi
  • Sistem kriptografi (Cryptosystem) adalah algoritma kriptografi, plaintext, chipertext, dan kunci.
  • Penyadap adalah orang yang mencoba menangkap pesan selama transmisikan. nama lainnya adalah enemy, adversary, intruder, interceptor, bad guy 
  • Kriptanalis (Cryptanalysis) adalah ilmu dan seni untuk memecahkan cipherteks menjadi plaintext tanpa mengetahui kunci yang di berikan pelakunya disebut kriptanalis 
  • Kriptologi (Cryptology) adalah studi mengenai kriptografi dan kriptanalis.

Apakah kriptografi :

  • pengiriman data melalui saluran komunikasi
  • penyimpanan data kedalam 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 yang tersimpan:

  • Dokumen teks
Plaintext (plain.text)
  • ketika saya berjalan-jalan di pantai, saya menemukan banyak sekali kepiting yang merangkak menuju laut. Mereka adalah anak-anak kepiting yang baru menetas dari dalam pasir. Naluri mereka mengatakan bahwa laut adalah tempat kehidupan mereka.
Cipertext (ciper.text):
  • Ztâxzp/épêp/qtüyp{p}<yp{p}/sx/p}âpx; épêp/|t}t|äzp}/qp}êpz/étzp{x/ztxâx}v êp}v/|tüp}vzpz/|t}äyä/{päâ=/\tützp psp{pw/p}pz<p}pz/ztxâx}v/êp}v/qpüä |t}tâpé/spüx/sp{p|/péxü=/]p{äüx |ttüzp/|t}vpâpzp}/qpwåp/{päâ/psp{pw ât|/ztwxsäp}/|tützp=
Dokumen gambar


Dokumen Basis data
Plaintext (siswa.dbf) :
Fungsi Enkripsi dan Deskripsi
E(P) =C
D(C) =P
D(E(P)) =P

P=Plaintext
C=Chipertext

Contoh algoritma yang digunakan model tersebut :

Stream Cipher

  • Setiap huruf dari plain text di petakan kedalam ciphertext

Algoritma Enkripsi dan Dekripsi
  • Kekuatan algoritma kriptografi tidak di tentukan dengan menjaga kerahasiaan algoritma.
  • Cara tersebut tidak aman dan tidak cocok lagi saat ini.
  • Pada sistem kriptografi modern kekuatan kriptografinya terletak pada kunci, yang berupa deretan karakter atau bilangan bulat, dijaga kerahasiaannya.
  • 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
  • Jika kunci enkripsi sama dengan kunci dekripsi, maka sistem kriptografi nya disebut sistem simetris atau sistem konvensional. Algoritma kriptografi nya disebut algoritma kriptografi simetri atau algoritma konvensional atau algoritma kunci private/rahasia.
Kriptografi dengan Kunci simetri/Private
  • bentuk kriptografi tradisional
  • kunci simetris digunakan untuk menengkrip 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 dengan Kunci Simetris/Private
  • Simple Cipher
  • Caesar Cipher
    • Subsitusi setiap huruf plain text dengan huruf yang telah di rotasi selama dalam bentuk huruf.

    • 13 steps rotation
    • ABCDEFGHIJKLM     =  NOPQRSTUVWXYZ
    • NOPQRSTUVWXYZ  =  ABCDEFGHIJKLM
    • SAYA LAGI MAKAN        => Plaintext
        • 13                => Key
    • FNLN YNTV ZNXNA       => Ciphertext
  • Running Key Cipher
    • Karakter ciphertext ditentukan pada pertemuan antara baris dan kolom
    • Baris untuk karakter yang akan di enkrip, kolom untuk karakter dari keyword
    • Dikenal juga sebagai Vigenere Cipher
  • Contoh :
  • Beberapa sistem kriptografi menggunakan kunci yang berbeda untuk enkripsi dan dekripsi, misal kunci enkripsi dalah K1 dan kunci dekripsi adalah K2 yang dalam hal ini K1 ¹ K2. Sistem kriptografi semacam ini dinamakan sistem nirsimetris atau sistem kunci-publik. Algoritma kriptografi disebut algoritma nirsimetris atau algoritma kunci-publik.

Kunci Nirsimetris / Publik
  • Setiap orang memiliki sepasang kunci yaitu kunci publik dan kunci private
  • kunci publik di publikasikan
  • Kunci private disimpan rahasia dan dan tidak boleh ditransmisikan atau dipakai bersama.

Proses pengiriman pesan dari Bob ke Alice dengan Kunci Publik
  • Alice membuat kunci publik dan kunci private
  • Bob mengenkrip pesan dengan kunci publik Alice, 
  • Alice mengenkrip pesan dengan menggunakan kunci private Alice.


Contoh Metode Kriptografi dengan Kunci NirSimetris/Publik
  • Metode RSA(Ronald Revest,  Adi Shamir, Leonard Adleman)
  • Metode Diffie Hellman Key Exchange
  • Metode Ei Gamal
Kekuatan Algoritma Enkripsi dan Dekripsi 

Algoritma kriptografi dikatakan aman bila memenuhi tiga kriteria berikut:
  • Persamaan matematis yang menggambarkan operasi algoritma kriptografi sangat kompleks sehingga algoritma tidak mungkin dipecahkan secara analitik
  • Biaya untuk memecahkan ciphertext melampaui informasi yang terkandung didalam ciphertext tersebut.
  • Waktu yang di perlukan untuk memecahkan ciphertext melampaui lamanya informasi tersebut harus dijaga kerahasiaannya.
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 variable.
  • Perubahan 1 bit saja akan mengubah keluaran hash secara drastis.
  • Digunakan untuk menjamin integritas dan digital signature.
Contoh :
      • MD5 (Message Diggest)
        • Hasilnya 128 bit
      • SHA (Secure Hash Function)
        • Hasilnya 160 bit, 256 bit, 512 bit
  • Fungsi Hash di peroleh melalui persamaan 
      • h=H(M)
  • Fungsi hash dapat diterapkan pada blok data berukuran berapa saja
  • Fungsi H menghasilkan nilai (h) dengan panjang yang tetap.
  • Untuk setiap h yang dihasilkan, tidak mungkin dikembalikan nilai X sedemikian, sehingga H(x)=h, maka itu disebut satu arah 
  • Untuk setiap X yang diberikan, tidak mungkin mencari x ¹ y, sedemikian sehingga H(x)=H(y)
  • Tidak mungkin mencari pasangan x  dan y sedemikian, sehingga H(x) = H(y)
Otentikasi dan Tanda Tangan Digital

Kriptografi juga menangani masalah keamanan berikut
  • Keabsahan pengirim
    • apakah pesan yang diterima adalah benar-benar dari pengirim yang sesungguhnya.
  • Keaslian pesan
    • apakah pesan yang diterima tidak mengalami perubahan(modifikasi)
  • Anti Penyanggahan
    • pengirim tidak dapat menyanggah tentang isi pesan atau ia yang mengirim pesan.
Ketiga masalah ini dapat diselesaikan dengan teknik otentikasi.
Teknik otentasi adalah prosedur yang di gunakan untuk membuktikan keaslian pesan atau identitas pemakai.

Tanda Tangan Digital
  • Tanda tangan digunakan untuk membuktikan otentikasi dokumen kertas.
  • Fungsi tanda tangan dapat di terapkan untuk otentikasi pada data digital
  • Pada data digital, tanda tangan ini disebut tanda tanagan digital(digital signature)
  • Bukan berupa tanda tangan yang di-scan tetapi nilai kriptografi dari pesan dan pengirim pesan.
  • Beda dengan tanda tangan pada dokumen :
    • Tanda tangan pada dokumen sama semua
    • Tanda tangan digital beda
  • Integritas data dapat di jamin dan dapat juga membuktikan asal pesan(keabsahan pengiriman dan anti penyanggahan) 
Tanda Tangan Digital dengan Algoritma Kunci Publik
  • Algoritma kunci publik dapat digunakan untuk membuat tanda tangan digital.
  • Misalkan M adalah pesan yang akan dikirim tanda tangan digital S untuk pesan M diperoleh dengan mengenkripsi M dengan menggunakan kunci rahasia/private key (SK).
          • S = E(M,SK)
          • E adalah algoritma enkripsi
  • S dikirim melalui saluran komunikasi
  • Oleh penerima pesan di buktikan kebenaran tanda tangan digital tersebut dengan menggunakan kunci publik(PK), 
          • M = D(S, PK)
          • D adalah algoritma dekripsi
  • Tanda tangan digital dianggap absah apabila pesan M yang dihasilkan merupakan pesan yang mempunyai makna
  • Algoritma yang sering digunakan adalah algoritma RSA dan El Gamal
Tanda Tangan Digital dengan Fungsi Hash
  • Dari pesan yang hendak dikirim, dibuatkan Message Digest (MD) dengan fungsi Hash
          • MD = H(M))
  • MD dienkrip dengan algoritma kunci publik dengan kunci rahasia(SK) pengiriman menjadi tanda tangan digital
          • S = E(MD, SK)
  • Pesan M digabung dengan tanda tanagan digital (S), lalu dikirim melalui saluran komunikasi seolah-olah M sudah ditanda tangani oleh pengirim)
  • Ditempat penerima pesan di verifikasi,
  • Tanda tangan digital S di endkipsi dengan kunci publik(PK) pengirim pesan, sehingga menghasilkan message digest semula (MD)
          • MD = D (S,PK)
  • Pengirim membuat message digest (MD1) dari pesan M dengan menggunakan fungsi hash yang sama dengan fungsi hash yang di gunakan pengirim.
  • Jika MD1 = MD, berarti pesan yang diterima otentik dan berasal dari pengirim yang benar.

Serangan Terhadap Kriptografi
  • Penyadap berusaha mendapatkan data yang digunakan untuk mendapatkan kriptanalis
  • Kriptanalis berusaha mengungkapkan plaintext atau kunci dari data yang di sadap
  • Kriptanalis dapat juga menemukan kelemahan dari sistem kriptografi yang pada akhirnya mengarah untuk menemukan kunci dan mengungkapkan plaintext.
  • Penyadapan dapat dilakukan melalui saluran kabel komunikasi dan saluran wireless
Jenis-jenis Serangan
Exhaustive attact atau brute force attact
  • Percobaan yang di buat untuk mengungkapkan plaintext atau kunci dengan mencoba semua kemungkinan kunci(trial and error).
  • Diasumsikan Kriptanalis : 
    • Memiliki sebagian plaintext dan ciphertext yang bersesuaian
  • Caranya:
    • Plaintext yang diketahui di enkripsi dengan setiap kemungkian kunci, lalu hasilnya di bandingkan dengan ciphertext yang bersesuaian.
    • jika hanya ciphertext yang tersedia, ciphertext tersebut di enkripsi dengan setiap kemungkinan kunci dan plaintext hasilnya diperiksa hasilnya mengandung makna atau tidak.
  • Serangan ini membutuhkan waktu yang sangat lama.
  • Untuk menghindari serangan ini, gunakan kunci yang panjang dan tidak mudah ditebak.
  • Waktu yang di perlukan untuk exhaustive key search
    • (Sumber William Stallings, Data and Computer Communication Fourth Edition)
2. Analytical Attact
  • Kriptanalis tidak mencoba semua kemungkinan kunci, tetapi menganalisa kelemahan algoritma kriptografi untuk mengurangi kemungkinan kunci yang tidak ada.
  • Analisa yang di dilakukan dengan memecahkan persamaan-persamaan matematika yang di peroleh dari definisi dari suatu algoritma kriptografi.
  • Diasumsikan kriptanalis mengetahui algoritma kriptografi.
  • Metode analytical attact biasanya lebih cepat menemukan kunci dibandingkan dengan exhaustive attact.
  • Untuk menghindari serangan ini, kriptografer harus membuat algoritma yang kompleks.
Memastikan Keamanan dari Algoritma Kriptografi 
  • Algoritma harus di evaluasi oleh pakar
  • Algoritma yang tertutup (tidak di buka kepada publik) dianggap tidak aman.
  • Membuat algoritma yang aman tidak mudah 
  • Code Maker vs Code Breaker akan terus berlangsung