Rabu, 19 Oktober 2016

PENGANTAR KRIPTOGRAFI


Kriptografi

• Merupakan ilmu sekaligus seni untuk menjaga keamanan pesan (message) dengan cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti lagi maknanya.
• Kata cryptographyberasal dari kata Yunani yaitu “kryptos” yang artinya tersembunyi dan “graphein” yang artinya menulis

  • Pengirim dan Penerimapesan
  • Pesan --> PlaintextatauCleartext
  • Pesan dapat berupadata atau informasi yang dikirim(melaluikurir,salurankomunikasidata, dsb)
  • Pesan dapat disimpan di dalam media perekaman(kertas, storage, dsb)
  • Agar pesan tidak dapat dimengerti maknanya oleh pihak lain, maka pesan disandikan kebentuk lain. 
  • Bentuk pesan yang tersandi disebut ciphertext atau cryptogram. Tidak bergantung dengan suatu program.

ILLUSTRASI



SEJARAH

  • 3000 BC used by Egyptian
  • 400 BC used by Spartans
  • 50 BC used by Julius CaesarMESIN ENKRIPSI
  • 1460 Leon Battista Alberti: cipher disc with 2 concentric disc
  • 1790 Thomas Jefferson: stack of 26 disc
  • US civil war, 1920, Boris Hagelin: M-209
  • WorldwarII
  • 1919 German Enigma


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
TujuanKriptografi:
• Menjagakerahasiaan(confidentiality)pesan.
• Keabsahanpengirim(userauthentication).
• Keaslianpesan(messageauthentication).
• Anti-penyangkalan(non-repudiation).


• Proses menyandikan plaintextmenjadi ciphertextdisebut enkripsi (encryption) atau enciphering
• Proses mengembalikan ciphertextmenjadi plaintextnya disebut dekripsi (decryption) atau                    deciphering




Definisi 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 masingmasing huruf dengan 3 huruf selanjutnya (disebut juga 
Additive/Substitution Cipher)

Contoh Enkripsi :

• Plain Text: TEST ONLY
• 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 : ^(*^#@()#($
• Plain Text : Test Only

ISTILAH-ISTILAH KRIPTOGRAFI
  • Encoding: Transformasi dari plainteksmenjadi kode
  • Decoding: Transformasi kebalikan dari kode menjadi plainteks.
  • Buku Kode (codebook) : Dokumen yang digunakan untuk mengimplementasikan suatu kode
  • Buku kode terdiri dari tabel lookup(lookup tabel) untuk encoding dan decoding
  • Chipertidak sama dengan kode (code)
  • Kode mempunyai sejarah tersendiri di dalamkrptografi
  • Codebreaker: Orang yang memecahkan kode (untuk menemukan plainteks)
  • Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan Praktisi (penggunakriptografi) disebut kriptografer (cryptographer).
  • Algoritma kriptografi adalah:
    • ◦ aturan/metode untuk enkripsi dan dekripsi
    • ◦ fungsi matematika yang digunakan untuk enkripsi dan dekripsi.
  •  Kunci adalah parameter yang digunakan untuk transformasi enkripsi dan dekripsi.
  • Sistem kriptografi(ataucryptosystem) 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 menjad iplainteks tanpa mengetahui kunci yang diberikan. Pelakunya disebut kriptanalis.
  • Kriptologi(cryptology) adalah studi mengenai kriptografi dan kriptanalisis.
Kriptografer dan Kriptanalis
• Persamaan kriptografer dan kriptanalis:
–Keduanya sama-sama menerjemahkan cipherteksmenjadi plainteks

• Perbedaan kriptograferdan kriptanalis:
–Kriptograferbekerja atas legitimasi pengirim atau penerima pesan.
–Kriptanalis bekerja atas nama penyadap yang tidak berhak

Kriptanalisisdan Kriptologi


Kriptografi
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-contohpadadata tersimpan:
  • Dokumen teks
Plainteks(plain.txt):

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 kehidupanmereka

Cipherteks(cipher.txt):

Ztâxzp/épêp/qtüyp{p}<yp{p}/sx / p}âpx;épêp/|t}t|äzp}/qp}êpz/étz p{x/  ztxâx}vêp}v/|tüp}vzpz/|t}äyä/{päâ=/\tützppsp{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 | pâ/  ztwxsäp}/|tützp=

• Dokumen gambar



MACAM TENIK KRIPTOGRAFI
• KLASIK
         –SUBSTITUSI
• ALFABET TUNGGAL
• ALFABET MAJEMUK
• SUBSTITUSI HOMOFONIK
         –TRANSPOSISI (PERMUTASI)
         –SUPER ENKRIPSI: PERPADUAN ANTARA SUBSTITUSI DAN TRANSPOSISI
• MODERN
          –Lebih kompleks dalam algoritma dan bekerja pada tingkat bit dengan sasaran penggunaan 
            pada enkripsi jaringan

• Berdasarkan pada jenis kunci:
         –Kriptografi simetris: kunci untuk enkripsi sama dengan dekripsi
         –Kriptografi asimetris: kunci untuk enkripsi dan dekripsi berbeda
• Berdasarkan aplikasi pada bit:
         –Stream cipher: cipher aliran
         –Block cipher: cipher blok


ALGORITMA SIMETRIS
  • Algoritmasimetris(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 :
    • Kecepatanoperasilebihtinggibiladibandingkandenganalgoritmaasimetrik.
    • Karenakecepatannyayang cukuptinggi, makadapatdigunakanpadasistemreal-time
  • Kelemahan algoritma simetris :
    • Untuk tiap pengiriman pesan dengan pengguna yang berbeda di butuhkan kunci yang berbeda juga,sehingga akan terjadi kesulitan dalam manajemen kunci tersebut.
    • Permasalahan dalam pengiriman kunci itu sendiri yang disebut“keydistribution problem”


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 kunciyang lebih sedikit
  • Kelemahan algoritma asimetris :
    • Kecepatanyang lebih rendah bila dibandingkan dengan algoritma simetris
    • Untuk tingkat keamanan sama,  kunci yang digunakan lebih panjang dibandingkan dengan algoritma simetris. 
Berdasarkanbesardata yang diolah:
• Algoritma blockcipher: Informasi/data yang hendak dikirim dalam bentuk blok-blok besar(misal64-    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.
• Algoritma stream cipher : Informasi/data yang hendak dikirim dioperasikan dalam bentuk blok-          blokyang lebih kecil(byte ataubit),biasanya satu karakter per-satuan waktu proses, menggunakan
   tranformasi enkrips iyang berubah setiap waktu. Contohnya: Blowfish, DES,Gost,Idea, RC5,              Safer,Square,Twofish, RC6, Loki97.

Pembagian sistem kriptografi berdasarkan kunci



Sebuah algoritma kriptografi dikatakan aman (computationally secure) bila memenuhi tiga kriteria
berikut:
  • Persamaan matematis yang menggambarkan operasi algoritma
  • kriptografi sangat kompleks sehingga algoritma tidak mungkin
  • dipecahkansecaraanalitik.
  • Biaya untuk memecahkan ciphertext melampaui nilai informasi yang terkandung didalam ciphertext tersebut.
  • Waktuyang diperlukan untuk memecahkanciphertext melampaui lamanya waktu informasi tersebut harus dijaga kerahasiaannya.

Teknik Dasar Kriptografi :
1.Substitusi
2.Blocking 
3.Permutasi 
4.Ekspansi 
5.Pemampatan (Compaction)

Kriptografi
• Kriptografi“kuno”
–SubtitusiCipher
–TransposisiCipher
• KriptografiModern

Jenis-jenis CipherSubstitusi
1.Cipher Abjad-Tunggal (MonoalphabeticCipher)
2.Cipher SubstitusiHomofonik(Homophonic substitution cipher)
3.Cipherabjad-majemuk(Polyalpabeticsubstitution cipher)
4.Cipher SubstitusiPoligram(Polygram substitution cipher)

SUBSTITUSI

PROSES:
Mengganti setiap unit (character/kelompok character) dengan unit chipertext

Contoh:
A diganti denganC, B diganti dengan D

JENIS:
• Alfabet tunggal: satu unit plaitext hanya diganti oleh satu unit ciphertext yang identik
• Alfabet majemuk: satu unit plaintext dapat diganti oleh lebih dari satu unit ciphertext 

ALFABET TUNGGAL
• Caesar Cipher
          –Rumus umum:  Ci=F(n,Pi)

Ci=ciphertext, 
n= key (number of letter sifted), 
Pi=Plaintext
          
          –Ci=Pi+nmod 26
–Contoh:
Untuk n=3 transformasi adalah setiap nilai alphabet ditambahd engan 3


CAESAR CIPHER 1

Plain text: ATTACK AT DAWN

Nomor: 0 19 19 0 2 10 0 19 3 0 22 13

Transformasi(n=3): 3+Pt
             3 22 22 3 5 13 3 22 9 3 25 16

Chipertext: DWWDFN DE GDZQ


CAESAR CIPHER 2

• Tiap huruf alfabet digeser 3 huruf ke kanan

pi: A BC DE FG HI JK LM NO P QR ST UV WX YZ
ci: D EF GH IJ KL MN OP QR S TU VW XY ZA BC

• Contoh:
Plainteks: AWASIASTERIXDANTEMANNYAOBELIX
Cipherteks: DZDVLDVWHULAGDQWHPDQQBAREHOLA


CAESAR CIPHER 3

• Dalam praktek, cipher teks dikelompokkan kedalam kelompok n-huruf, misalnya
kelompok 4-huruf:

DZDVLDVWHULAGDQW HPDQQBAREHOL A

• Atau membuang semua spasi:

DZDVLDVWHULAGDQWHPDQQBAREHOLA

• Tujuannya agar kriptanalisis menjadi lebih sulit


CAESAR CIPHER 4


• Misalkan A= 0, B= 1, …, Z= 25, maka secara matemati scaesar cipher dirumuskan sebagaiberikut:

Enkripsi: ci=E(pi)=(pi+3)mod26
Dekripsi: pi=D(ci)=(ci–3)mod26

• Jika pergeseran huruf sejauh k, maka:

Enkripsi: ci=E(pi)=(pi+k)mod26
Dekripsi: pi=D(ci)=(ci–k)mod26

k= kunci rahasia

• Untuk 256 karakter ASCII, maka:

Enkripsi: ci=E(pi)=(pi+k)mod256
Dekripsi: pi=D(ci)=(ci–k)mod256

k= kunci rahasia

Kelemahan: 
Caesar cipher mudah dipecahkan dengan exhaustive key search karena jumlah kuncinya 
sangat sedikit (hanya ada 26 kunci).


CARA KERJA PEMECAHAN KUNCI CAESAR CIPHER DENGAN EXHAUSTIVE KEY SEARCH



Contoh: 
Kriptogram HSPPW menghasilkan dua kemungkinan kunci yang potensial, yaitu 
k= 4 menghasilkan pesan DOLLS dan k = 11 menghasilkan WHEEL
Jika kasusnya demikian, maka lakukan dekripsi terhadap potongan cipherteks lain tetapi cukup menggunakan k= 4 dan k= 11 agar dapat disimpulkan kunciyang benar.

• Di dalam sistemoperasi Unix, ROT13 adalah fungsi menggunakan Caesar cipher dengan pergeseran k= 13


• Contoh: ROT13(ROTATE) = EBGNGR
• Nama“ROT13”berasaldarinet.jokes
(hhtp://groups.google.com/group/net.jokes) (tahun1980)
• ROT13 biasanya digunakan didalam forumon line untuk menyandikan jawaban teka-teki,kuis, canda,dsb
• Enkripsi arsip dua kali dengan ROT13 menghasilkan pesan semula:
                     P=ROT13(ROT13(P))
sebab ROT13(ROT13(x)) = ROT26(x)= x
• Jadi dekripsi cukup dilakukan dengan mengenkripsi cipherteks kembali dengan ROT13


ALFABETIK MAJEMUK
• Vigenere Polyalphabetic Cipher
        –Rumus umum: Ci=F(n,d,Pi)
Ci=ciphertext,
 n= key (number of letter sifted), 
d=number of repeating letters representing the key,
Pi=Plaintext

           –Contoh: d=3, k=bad (1 0 3)

Plain text: ATTACK AT DAWN
Nomor: 0 19 19 0 2 10 0 19 3 0 22 13
Transformasi(3,BAD):
1 0 3 1 0 3 1 0 3 1 0 3 (key)
0 19 19 0 2 10 0 19 3 0 22 13 (Plaintxt)
____________________________ +
1 19 22 1 2 13 1 19 6 1 22 16
Chipertext: BTWBCNBTGBWQ


Vigènere Cipher

Termasuk kedalam cipher abjad-majemuk (polyalpabeticsubstitution cipher).
• Dipublikasikan olehdiplomat (sekaligus seorangkriptologis) Perancis, Blaise de Vigènere pada abad 16 (tahun1586). 
• Tetapi sebenarnya Giovan Batista Belaso telah menggambarkannya pertama kali pada tahun 1553 seperti ditulis di dalam bukunya La Cifradel Sig. GiovanBatista Belaso
• Algoritma tersebut baru dikenal luas 200 tahun kemudian yang oleh penemunya cipher tersebut kemudian dinamakan Vigènere Cipher



Polyalphabetic Cipher

• Vigenere CiPHER



• Contoh:

Plainteks : THIS PLAINTEXT
Kunci : sony sonysonys
Cipherteks : LVVQ HZNGFHRVL
• Pada dasarnya, setiap enkripsi huruf adalahCaesar cipher dengan kunci yang berbeda-beda.
                            (T + s) mod 26 = L
                            (H + o) mod 26 = V, dst

• Beuford Cipher




• Varian Beuford Cipher




Auto-Key Vigènerecipher

• Jika panjang kunci lebih kecil dari panjang plain teks, maka kunci disambung
dengan plain teks tersebut. 

• Misalnya, 
Pesan: NEGARA PENGHASIL MINYAK
Kunci: INDO

maka kunci tersebut disambung dengan plain teks semula sehingga panjang kunci menjadi sama dengan panjang plainteks:
• Plainteks : NEGARAPENGHASILMINYAK
• Kunci: INDONEGARAPENGHASILMI


Running-Key Vigènerecipher

Kunci adalah string yang sangat panjang yang diambil dari teks bermakna (misalnya naskah proklamasi, naskah Pembukaan UUD 1945, terjemahan ayat di dalam kitab suci, dan lain-lain). 

• Misalnya, 
Pesan: NEGARA PENGHASIL MINYAK 
Kunci: KEMANUSIAN YANG ADIL DAN 
BERADAB 

• Selanjutnya enkripsi dan dekripsi dilakukan


SUBSTITUSI HOMOFONIK
• Mengganti setiap unit plain text dengan gabungan huruf ciphertext

• Contoh:
–A----BU/CP/AV
–B----AT
–C----DL/BK/AU


POLIGRAM
• Mengganti setiap gabungan unit plain text dengan gabungan huruf ciphertext
• Jenis:
–Diagram: gabungan dua unit
–Trigram: gabungan tiga unit
–Dst
• Contoh: AS----RT


Blocking
Sistem enkripsi terkadang membagiplaintext menjadiblok‐blok yang terdiri daribeberapakarakter yang kemudian dienkripsikan secara independen. Plaintext yang dienkripsikan dengan menggunakan teknik blocking adalah:

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 kebawah berurutan tanpa dan lajur, dan dilanjutkan pada kolom berikutnya sampai seluruhnya tertulis. Ciphertext‐nya adalah hasil pembacaan plaintext secara horizontal berurutan sesuai dengan blok‐nya. Jadi ciphertext yang dihasilkan dengan teknik ini adalah:

"5KGKRTDRAEAIFKSPINATIRO“
Plaintex tdapat pula ditulis secara horizontal dan ciphertextnya adalah hasil pembacaan secara vertikal.


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 sebagaiberikut:



Pemampatan (Compaction)
Mengurangi panjang pesan atau jumlah bloknya adalah cara lain untuk menyembunyikan isi pesan. Contoh sederhana ini menggunakan cara menghilangkansetiap karakterke‐tiga secara berurutan. Karakter‐karakter 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 plaintex tkembali.
 Dengan menggunakan kelima  teknik dasarkripto grafi diatas, dapat diciptakan kombinasi teknik         kriptografi yang amat banyak, dengan faktor yang membatasi semata‐mata hanyalah                             kreativitas dan imajinasi kita. Walaupun sekilas terlihat sederhana, kombinasi teknik dasar
    kriptografi dapat menghasilkanteknik kriptografi turunan yang cukup kompleks, dan beberapa             teknik dasar kriptografi masih digunakan dalam teknik kriptografi modern


Cipher Transposisi(TEKNIK BLOCKING)
• Cipherteks diperoleh dengan mengubah posisi huruf didalam plaintekls.
• Dengan kata lain, algoritma ini melakukan transpose terhadap rangkaian huruf didalam plainteks.
• Nama lain untuk metodeini adalah permutasi, karena transpose setiap karakter di dalam teks sama dengan mempermutasikan karakter-karakter tersebut.

Contoh:Misalkan plainteks adalah
DEPARTEMEN TEKNIK INFORMATIKA UG.
Key=6
Enkripsi:
DEPART
EMENTE
KNIKIN
FORMAT
IKAUG.

Cipherteks:(bacasecaravertikal)
DEKFIEMNOKPEIRAANKMURTIAGTENT.
DEKF IEMN OKPE IRAANKMU RTIA GTEN T

Dekripsi: Bagi panjang cipherteks dengan kunci.
                (Pada contoh ini,30/6=5)
DEKFI
EMNOK
PEIRA
ANKMU
RTIAG
TENT.

Plainteks:(bacasecaravertikal)
DEPARTEMENTEKNIKINFORMATIKAUG.

• Contoh lain: 
Plainteks: GRAHA SIMATUPANG
• Bagi menjadi blok-blok8-huruf. Jika< 8, tambahkan huruf palsu.
• G R A H A S I M A T U P A N G A
• M R A AH S I G A T U A P N G A

• Cipherteks: M R A AH S I G A T U A P N G A


Super-enkripsi
• Menggabungkan cipher substitusi dengan cipher transposisi.

• Contoh. Plainteks HELLO WORLD
• dienkrips idenganc aesarcipher menjadi KHOOR ZRUOG
kemudian hasil enkripsi ini dienkripsi lagi dengan ciphertransposisi (k= 4):

–KHOO
–RZRU
–OGZZ
Cipherteks akhir adalah: KROHZGORZOUZ


TERIMAKASIH :)

1 komentar: