Kriptografi

Pengantar Teknologi Informasi

Definisi 

Kriptografi adalah :
ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan data, integritas data serta autentikasi data

Pengantar Teknologi Informasi

1

Aspek Keamanan Informasi
1. 2.

3.

4.

Kerahasiaan layanan yang digunakan untuk menjaga isi informasi dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk membuka/mengupas informasi yang telah disandi. Integritas data berhubungan dengan penjagaan dari perubahan data secara tidak sah, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak (seperti penyisipan, penghapusan, dan pensubsitusian data lain kedalam data yang sebenarnya) Autentikasi 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 atau nirpenyangkalan usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman/terciptanya suatu informasi oleh yang mengirimkan/membuat.
Pengantar Teknologi Informasi

2

Kriptografi 

Kriptografi adalah ;
Ilmu yang mempelajari seluk beluk enkripsi dan deskripsi 

Kriptoanalis adalah :
Orang yang berusaha memecahkan kode enkripsi tanpa kuncinya

Pengantar Teknologi Informasi

3

Komponen Kriptografi 

Plain text
Sumber berita/pesan/teks asli 

Cipher text
Teks yang sudah diproses (diacak, digantikan) 

Algoritma & kunci
Misal: subsitusi (algoritma) & number of shift (kunci)  Pemisahan alg & kunci ditemukan oleh Auguste Kerckhoffs von Niewenhof (1883) 

Pengantar Teknologi Informasi

4

Enkripsi  Enkripsi adalah : Proses yang mengubah data menjadi kode yang tidak dimengerti (tidak terbaca)    Enkripsi digunakan untuk menyandikan data-data atau informasi sehingga tidak dapat dibaca oleh orang yang tidak berhak Enkripsi menggunakan algoritma untuk mengubah data atau pesan asli (plain text) menjadi bentuk yang terenkripsi (cipher text) Deskripsi adalah : Proses untuk mengubah cipher text menjadi plain text Pengantar Teknologi Informasi 5 .

Outline  Algoritma sandi Algoritama sandi kunci simetris    Block-Cipher Stream-Cipher Algoritma-algoritma sandi kunci simetris Fungsi Enkripsi dan Dekripsi Algoritma Sandi Kunci Asimetris Algoritma-algoritma sandi kunci asimetris Algoritma Sandi Kunci Asimetris    Fungsi Hash Kriptografis Sifat-sifat fungsi Hash kriptografi Algoritma-algoritma fungsi hash kriptografi Pengantar Teknologi Informasi 6 .

Algoritma Sandi  Algoritma sandi adalah algoritma yang berfungsi untuk melakukan tujuan kriptografis  Algoritma tersebut harus memiliki kekuatan untuk melakukan : konfusi/pembingungan (confusion). dari teks terang sehingga sulit untuk direkonstruksikan secara langsung tanpa menggunakan algoritma dekripsinya difusi/peleburan (difusion). dari teks terang sehingga karakteristik dari teks terang tersebut hilang  Kriptanalisa adalah : teknik dan metode untuk menguji kehandalan algoritma sandi Pengantar Teknologi Informasi 7 .

Klasifikasi Algoritma Sandi  Berdasarkan kesamaan kuncinya :   Kunci-simetris (symetric key). sering disebut juga algoritma sandi konvensional karena umumnya diterapkan pada algoritma sandi klasik Kunci-asimetris (asymetric key)  Berdasarkan arah implementasi dan pembabakan jamannya :   Algoritma sandi klasik (classic cryptography) Algoritma sandi modern (modern cryptography) Algoritma sandi kunci rahasia (secret key) Algoritma sandi kunci publik (public key) 8  Berdasarkan kerahasiaan kuncinya :   Pengantar Teknologi Informasi .

Kunci Simetris   Pada skema kunci-simetris. yaitu   block-cipher stream-cipher Pengantar Teknologi Informasi 9 . digunakan sebuah kunci rahasia yang sama untuk melakukan proses enkripsi dan dekripsinya Skema ini berdasarkan jumlah data per proses dan alur pengolahan data didalamnya dibedakan menjadi dua kelas.

symmetric cryptosystem) Pengantar Teknologi Informasi 10 .Kripto Kunci Privat (secret key.

Kripto Kunci Privat   Menggunakan satu kunci Masalah dalam distribusi kunci   Pengiriman kunci membutuhkan saluran khusus Jumlah kunci meledak secara eksponensial: n (n-1)/2   Keuntungan: operasi yang cepat Contoh: DES. AES Pengantar Teknologi Informasi 11 . IDEA.

Meledaknya Jumlah Kunci Pengantar Teknologi Informasi 12 .

Block-cipher memproses teks terang dengan blok yang relatif panjang lebih dari 64 bit. untuk mempersulit penggunaan polapola serangan yang ada untuk membongkar kunci. Untuk menambah kehandalan model algoritma sandi ini. dan setiap blok dienkripsi dengan menggunakan kunci yang sama. dikembangkan beberapa tipe proses enkripsi  Electronic Code Block (ECB)  Cipher Block Chaining (CBC)  Output Feed Back (OFB)  Cipher Feed Back (CFB) Pengantar Teknologi Informasi 13 .Block-Cipher    Block-cipher adalah skema algoritma sandi yang akan membagi-bagi teks terang yang akan dikirimkan dengan ukuran tertentu (disebut blok) dengan panjang t.

byte.  Setiap mengenkripsi satu satuan data di gunakan kunci yang merupakan hasil pembangkitan dari kunci sebelum Pengantar Teknologi Informasi 14 . seperti bit. nible atau per lima bit (saat data yang di enkripsi berupa data Boudout).Stream-Chiper  Stream-cipher adalah Algoritma sandi yang mengenkripsi data persatuan data.

Algoritma-algoritma Sandi Kunci Simetris        Data Encryption Standard (DES) Blowfish Twofish MARS IDEA DES diaplikasikan 3 kali (3DES) Advanced Encryption Standard (AES). yang bernama asli Rijndael Pengantar Teknologi Informasi 15 .

digunakan untuk proses enkripsi dan proses dekripsinya.Kunci Asimetris    Sistem kunci-asimentris digunakan sepasang kunci yang berbeda. umumnya disebut kunci publik(public key) dan kunci pribadi (private key). Begitu juga sebaliknya. Pengantar Teknologi Informasi 16 . jika kunci publik digunakan untuk proses enkripsi maka proses dekripsi harus menggunakan kunci publik pasangannya. Bila elemen teks terang dienkripsi dengan menggunakan kunci pribadi maka elemen teks sandi yang dihasilkannya hanya bisa didekripsikan dengan menggunakan pasangan kunci pribadinya.

Kripto Kunci Publik Pengantar Teknologi Informasi 17 .

Kripto Kunci Publik     Menggunakan kunci yang berbeda untuk enkripsi dan dekripsi Jumlah kunci yang lebih sedikit dibandingkan enkripsi dengan kunci privat Membutuhkan komputasi yang tinggi (membutuhkan waktu yang lebih lama) Contoh: RSA. ECC Pengantar Teknologi Informasi 18 .

Algoritma Kriptografi   Algoritma Modern Algoritma Klasik Pengantar Teknologi Informasi 19 .

cipher teks. diproses dalam rangkaian bit operasi bit xor paling banyak digunakan Pengantar Teknologi Informasi 20 .Algoritma Modern  Beroperasi dalam mode bit (algoritma kriptografi klasik beroperasi dalam mode karakter) kunci. plainteks.

 Tetap menggunakan gagasan pada algoritma klasik : substitusi dan transposisi.   Pengantar Teknologi Informasi 21 . Komputer digital merepresentasikan data dalam biner. tetapi lebih rumit (sangat sulit dipecahkan) Perkembangan algoritma kriptografi modern didorong oleh penggunaan komputer digital untuk keamanan pesan.

Diagram Blok Kriptografi Modern Secure Network Protocols Confidentiality Data Integrity Authentication NonRepudiation Encryption MACs MICs Challenge Responses Smart Cards Digital Signatures Symmetric Key Cryptography Message Digest IVs Nonces Secret Keys Public Key Cryptography Block Cipher Stream Cipher Hash Function Pseudo Random Random Source Elliptic Curve DH RSA Pengantar Teknologi Informasi 22 .

Rangkaian bit   Pesan (dalam bentuk rangkaian bit) dipecah menjadi beberapa blok Contoh : Plain teks 100111010110 Bila dibagi menjadi blok 4-bit 1001 1101 0110 9 13 6 setiap blok dinyatakan 0 sampai 15 Pengantar Teknologi Informasi 23 .

Bila plain teks dibagi menjadi blok 3-bit: 111 010 110 100 4 7 2 6 setiap blok dinyatakan 0 sampai 7 Pengantar Teknologi Informasi 24 .

Pengantar Teknologi Informasi 25 . Padding bits : bit-bit tambahan jika ukuran blok terakhir tidak mencukupi panjang blok   Contoh : Plain teks 100111010110 Bila dibagi menjadi blok 5-bit: 10011 10101 00010 Padding bits mengakibatkan ukuran plainteks hasil dekripsi lebih besar daripada ukuran plainteks semula.

pesan dinyatakan dalam kode Hex: 0000 0100 1000 1100 = = = = 0 4 8 C 0001 0101 1011 1101 = = = = 1 5 9 D 0010 0011 1010 1101 = = = = 2 6 A E 0011 0111 1011 1111 = = = = 3 7 B F  Contoh : Plain teks 100111010110 dibagi menjadi blok 4-bit: 1001 1101 0110 dalam notasi HEX adalah 9 D 6 Pengantar Teknologi Informasi 26 .Representasi dalam Heksadesimal  Pada beberapa algoritma kriptografi.

Operasi XOR    Notasi: ‡ Operasi: 0‡0=0 0‡1=1 1‡0=1 1‡1=0 Operasi XOR = penjumlahan modulo 2: 0 ‡ 0 = 0  0 + 0 (mod 2) = 0 0 ‡ 1 = 1  0 + 1 (mod 2) = 1 1 ‡ 0 = 1  0 + 1 (mod 2) = 1 1 ‡ 1 = 1  1 + 1 (mod 2) = 0 Pengantar Teknologi Informasi 27 .

  Hukum-hukum yang terkait dengan operator XOR: (i) a ‡ a = 0 (ii) a ‡ b = b ‡ a (iii) a ‡ (b ‡ c) = (a ‡ b) ‡ c Pengantar Teknologi Informasi 28 .

Contoh: 10011 ‡ 11001 = 01010 yang dalam hal ini.Operasi XOR Bitwise y Jika dua rangkaian dioperasikan dengan XOR. hasilnya diperoleh sebagai berikut: 1 0 0 1 1 1 1 0 0 1 ‡ 1 ‡ 1 0 ‡ 1 0 ‡ 0 1‡ 0 1 ‡ 1 0 1 0 1 0 Pengantar Teknologi Informasi 29 . maka operasinya dilakukan dengan meng-XOR-kan setiap bit yang berkoresponden dari kedua rangkaian bit tersebut.

Algoritma Enkripsi dengan XOR   Enkripsi: C = P ‡ K Dekripsi: P = C ‡ K plainteks kunci cipherteks kunci plainteks 01100101 00110101 ‡ 01010000 00110101 ‡ 01100101 (karakter µe¶) (karakter µ5¶) (karakter µ ¶) (karakter µ5¶) (karakter µe¶) Contoh: Pengantar Teknologi Informasi 30 .

 Algoritma enkripsi XOR sederhana pada prinsipnya sama seperti Vigenere cipher dengan penggunaan kunci yang berulang secara periodik. Pengantar Teknologi Informasi 31 . Setiap bit plainteks diXOR-kan dengan setiap bit kunci.

n = strlen(K). "r"). } fclose(Fin).c Pengantar Teknologi Informasi 32 . /* operasi XOR */ putc(C.txt */ #include <stdio.c dek_xor. C. i++. char P.txt Berkas cipherteks: plain2. K[20]. K[20]. if (i > n -1) i = 0. *Fout. Fin = fopen("plain. int n. Fout ). while ((P = getc(Fin)) != EOF) { C = P ^ K[i]. "r"). while ((C = getc(Fout)) != EOF) { P = C ^ K[i]. n = strlen(K). *Fout. gets(K). "w"). gets(K). /*panjang kunci*/ i = 0. fclose(Fout).txt Berkas cipherteks: cipher. Berkas plainteks: cipher.txt */ #include <stdio. /*panjang kunci*/ i = 0.txt".txt". Berkas plainteks: plain. char P. printf("Kata kunci : "). i++. C. int n. "w"). Fout = fopen(" plain2. } /* Dekripsi berkas teks dengan algoritma XOR sederhana. Fout = fopen( "cipher.h> main() { FILE *Fin. printf("Kata kunci : ").txt".txt". fclose(Fout). if (i > n -1) i = 0. Fout). i./* Enkripsi berkas teks dengan algoritma XOR sederhana. /* operasi XOR */ putc(P. } fclose(Fin). Fin = fopen("cipher.h> main() { FILE *Fin. } enk_xor. i.

Pengantar Teknologi Informasi 33 .  Program komersil yang berbasis DOS atau Macintosh menggunakan algoritma XOR sederhana Algoritma XOR sederhana tidak aman karena cipherteksnya mudah dipecahkan.

belum ada komputer Termasuk ke dalam kriptografi kunci-simetri Tiga alasan mempelajari algoritma klasik: 1. Dasar algoritma kriptografi modern. 3. Pengantar Teknologi Informasi 34 .Algoritma Kriptografi Klasik     Algoritma kriptografi klasik berbasis karakter Menggunakan pena dan kertas saja. Memahami kelemahan sistem cipher. 2. Memahami konsep dasar kriptografi.

2.Algoritma kriptografi klasik 1. Cipher Substitusi (Substitution Ciphers) Cipher Transposisi (Transposition Ciphers) Pengantar Teknologi Informasi 35 .

Cipher Substitusi   Contoh: Caesar Cipher Tiap huruf alfabet digeser 3 huruf ke kanan pi : 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 ci : 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  Contoh: Plainteks: AWASI ASTERIX DAN TEMANNYA OBELIX Cipherteks: DZDVL DVWHULA GDQ WHPDQQBA REHOLA Pengantar Teknologi Informasi 36 .

cipherteks dikelompokkan ke dalam kelompok n-huruf. Dalam praktek. misalnya kelompok 4-huruf : DZDV LDVW HULA GDQW HPDQ QBAR EHOL A Atau membuang semua spasi: DZDVLDVWHULAGDQWHPDQQBAREHOLA   Tujuannya agar kriptanalisis menjadi lebih sulit Pengantar Teknologi Informasi 37 .

Caesar wheel Pengantar Teknologi Informasi 38 .

B = 1. Z = 25. «. Misalkan A = 0. maka secara matematis caesar cipher dirumuskan sebagai berikut: Enkripsi : ci = E(pi) = (pi + 3) mod 26 Dekripsi : pi = D(ci) = (ci ± 3) mod 26 Pengantar Teknologi Informasi 39 .

  Jika pergeseran huruf sejauh k. maka: Enkripsi : ci = E(pi) = (pi + k) mod 256 Dekripsi : pi = D(ci) = (ci ± k) mod 256 k = kunci rahasia 40 Pengantar Teknologi Informasi . maka: Enkripsi : ci = E(pi) = (pi + k) mod 26 Dekripsi : pi = D(ci) = (ci ± k) mod 26 k = kunci rahasia Untuk 256 karakter ASCII.

argv[2]). Fout = fopen(argv[2]. printf("\nEnkripsi %s menjadi %s . "rb"). printf("k : "). fclose(Fout).h> main(int argc. putc(c. int k. printf("\n"). "wb"). scanf("%d".. while ((p = getc(Fin)) != EOF) { c = (p + k) % 256. Pengantar Teknologi Informasi 41 . c. } fclose(Fin)./* Program enkripsi file dengan Caesar cipher */ #include <stdio. char p. } argv[1]). if (Fin == NULL) printf("Kesalahan dalam membuka %s sebagai berkas masukan/n". char *argv[]) { FILE *Fin. *Fout. &k). Fin = fopen(argv[1]. argv[1].\n".. Fout).

k. while ((c = getc(Fin)) != EOF) { p = (c . scanf("%d". Fout). "rb")../* Program dekripsi file dengan Caesar cipher */ #include <stdio. &k). i. int n. if (Fin == NULL) printf("Kesalahan dalam membuka %s sebagai berkas masukan/n". char *argv[]) { FILE *Fin. c. } fclose(Fin). printf("k : ").k) % 256. *Fout. printf("\n").\n".. fclose(Fout). printf("\nDekripsi %s menjadi %s . Pengantar Teknologi Informasi 42 . "wb").h> main(int argc. } argv[1]). putc(p. Fin = fopen(argv[1]. argv[2]). char p. Fout = fopen(argv[2]. argv[1].

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

Pengantar Teknologi Informasi 44 .Contoh: kriptogram XMZVH Tabel 1. Contoh exhaustive key search terhadap cipherteks XMZVH Kunci (k) ciphering 0 25 24 23 22 21 20 19 18 µPesan¶ hasil dekripsi XMZVH YNAWI ZOBXJ APCYK BQDZL CREAM DSFBN ETGCO FUHDP Kunci (k) ciphering 17 16 15 14 13 12 11 10 9 µPesan¶ hasil dekripsi GVIEQ HWJFR IXKGS JYLHT KZMIU LANJV MBOKW NCPLX ODQMY Kunci (k) ciphering 8 7 6 5 4 3 2 1 µPesan¶ hasil dekripsi PERNZ QFSOA RGTPB SHUQC TIVRD UJWSE VKXTF WLYUG Plainteks yang potensial adalah CREAM dengan k = 21. Kunci ini digunakan untuk mendekripsikan cipherteks lainnya.

PHHW PH DIWHU WKH WRJD SDUWB KEY 1 oggv 2 nffu 3 meet 4 Ldds 5 kccr 6 « 21 ummb 22 tlla 23 skkz 24 rjjy 25 qiix og nf me ld kc um tl sk rj qi chvgt bgufs after zesdq ydrcp inbmz hmaly glzkx fkyjw ejxiv vjg uif the sgd rfc bpm aol znk ymj xli vqic uphb toga snfz rmey bwoi avnh zumg ytlf xske rctva qbsuz party ozqsx nyprw xizbg whyaf vgxze ufwyd tevxc 45 Pengantar Teknologi Informasi .

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

ROT13 adalah fungsi menggunakan Caesar cipher dengan pergeseran k = 13 Pengantar Teknologi Informasi 47 . Di dalam sistem operasi Unix.

jokes (hhtp://groups.  Contoh: ROT13(ROTATE) = EBGNGR Nama ³ROT13´ berasal dari net.jokes) (tahun 1980) ROT13 biasanya digunakan di dalam forum online 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 Pengantar Teknologi Informasi    48 .com/group/net.google.

stream data) Menggunakan hash function untuk menghasilkan digest tersebut Pengantar Teknologi Informasi 49 .Message Digest   Menghasilkan summary (digest) dari sebuah pesan (file.

Fungsi Hash (Hash Function)    Merupakan fungsi satu arah (one way function) yang dapat menghasilkan ciri (signature) dari data (berkas. stream) Perubahan satu bit saja akan mengubah keluaran hash secara drastis Digunakan untuk menjamin integritas dan digital signature Pengantar Teknologi Informasi 50 .

exe Pengantar Teknologi Informasi 51 .bilkent. MD5.edu.tr/pub/cygwin/cygwinb20/full.  Contoh : MD4. SHA-1 unix$ md5sum /bin/login af005c0810eeca2d50f2904d87d9ba1c /bin/login Program md5sum untuk windows merupakan bagian dari Cygwin distribution yang dapat diperoleh dari : http://sunsite.

Penggunaan Hash : Pengirim Pengantar Teknologi Informasi 52 .

Sisi Penerima Pengantar Teknologi Informasi 53 .

Contoh Penggunaan Hash   Hasil hash dienkripsi untuk menjamin keamanannya (integritas) Ukuran hasil hash yang lebih kecil dibandingkan ukuran pesan asalnya membutuhkan waktu enkripsi yang lebih singkat (dibandingkan jika mengenkripsi seluruh pesan) Digital Signature Pesan juga dapat dienkripsi jika diinginkan kerahasiaan Contoh aplikasi lain: hash encrypted password 54    Pengantar Teknologi Informasi .

schneier.Permasalahan Hash   Karena range (space) dari hasil hash lebih kecil (dalam jumlah bit) dari sumber informasinya.html MD5 (1992) merupakan penyempurnaan dari MD4 (1990) SHA merupakan buatan NSA (1993) yang mirip dengan MD5  Meskipun dua data yang dipetakan itu tidak mudah dibuat dan kadang-kadang completely useless Pengantar Teknologi Informasi 55 . maka dimungkinkan adanya ³collision´ ± yaitu dua data dipetakan ke hash yang sama Ini sudah dibuktikan dengan pecahnya MD5 dan SHA-1    http://www.com/blog/archives/2005/02/cryptanalysis_ o.

Masalah Seputar Kripto  Memastikan keamanan algoritma enkripsi Algoritma harus dievaluasi oleh pakar Algoritma yang tertutup (tidak dibuka kepada publik) dianggap tidak aman Membuat algoritma yang aman tidak mudah Code maker vs code breakers akan terus berlangsung Pengantar Teknologi Informasi 56 .

Sign up to vote on this title
UsefulNot useful