P. 1
10 Kriptografi

10 Kriptografi

|Views: 418|Likes:
Dipublikasikan oleh NurulWahyuni

More info:

Published by: NurulWahyuni on May 22, 2011
Hak Cipta:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PPT, PDF, TXT or read online from Scribd
See more
See less

12/26/2012

pdf

text

original

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 karakteristik dari teks terang tersebut hilang  Kriptanalisa adalah : teknik dan metode untuk menguji kehandalan algoritma sandi Pengantar Teknologi Informasi 7 . dari teks terang sehingga sulit untuk direkonstruksikan secara langsung tanpa menggunakan algoritma dekripsinya difusi/peleburan (difusion).

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 .Klasifikasi Algoritma Sandi  Berdasarkan kesamaan kuncinya :   Kunci-simetris (symetric key).

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.

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

IDEA. AES Pengantar Teknologi Informasi 11 .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.

Meledaknya Jumlah Kunci Pengantar Teknologi Informasi 12 .

Untuk menambah kehandalan model algoritma sandi ini.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. Block-cipher memproses teks terang dengan blok yang relatif panjang lebih dari 64 bit. dan setiap blok dienkripsi dengan menggunakan kunci yang sama. untuk mempersulit penggunaan polapola serangan yang ada untuk membongkar kunci. 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 .

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

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. Begitu juga sebaliknya. umumnya disebut kunci publik(public key) dan kunci pribadi (private key). Pengantar Teknologi Informasi 16 . Bila elemen teks terang dienkripsi dengan menggunakan kunci pribadi maka elemen teks sandi yang dihasilkannya hanya bisa didekripsikan dengan menggunakan pasangan kunci pribadinya. jika kunci publik digunakan untuk proses enkripsi maka proses dekripsi harus menggunakan kunci publik pasangannya.

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 .

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

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

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 .

 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. Pengantar Teknologi Informasi 25 .

Representasi dalam Heksadesimal  Pada beberapa algoritma kriptografi. 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 .

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 .

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 .Operasi XOR Bitwise y Jika dua rangkaian dioperasikan dengan XOR. maka operasinya dilakukan dengan meng-XOR-kan setiap bit yang berkoresponden dari kedua rangkaian bit tersebut. Contoh: 10011 ‡ 11001 = 01010 yang dalam hal ini.

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 .

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

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

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

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

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

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 .

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 . cipherteks dikelompokkan ke dalam kelompok n-huruf. Dalam praktek.

Caesar wheel Pengantar Teknologi Informasi 38 .

B = 1. 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 . «. Misalkan A = 0. Z = 25.

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

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

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

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

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.Contoh: kriptogram XMZVH Tabel 1. Pengantar Teknologi Informasi 44 . 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 .

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

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

jokes) (tahun 1980) ROT13 biasanya digunakan di dalam forum online untuk menyandikan jawaban teka-teki.jokes (hhtp://groups. 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 .google.com/group/net. kuis.  Contoh: ROT13(ROTATE) = EBGNGR Nama ³ROT13´ berasal dari net. canda.

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

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 .

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

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 .

com/blog/archives/2005/02/cryptanalysis_ o. maka dimungkinkan adanya ³collision´ ± yaitu dua data dipetakan ke hash yang sama Ini sudah dibuktikan dengan pecahnya MD5 dan SHA-1    http://www.Permasalahan Hash   Karena range (space) dari hasil hash lebih kecil (dalam jumlah bit) dari sumber informasinya.schneier.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 .

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 .

You're Reading a Free Preview

Mengunduh
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->