KRIPTOGRAFI MODERN Ervian Pasca R (12050974231) M. Nizar Chariri (12050974255)
KRIPTOGRAFI MODERN
Ervian Pasca R (12050974231)M. Nizar Chariri (12050974255)
Pengertian Kriptografi
Kriptografi berasal dari bahasa Yunani, crypto dan graphia. Crypto berarti secret (rahasia) dan graphia berarti writing (tulisan). Menurut terminologinya, kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu tempat ke tempat yang lain. Dalam perkembangannya, kriptografi juga digunakan untuk mengidentifikasi pengiriman pesan dan tanda tangan digital dan keaslian pesan dengan sidik jari digital. (Dony Ariyus, 2005)
Istilah dalam Kriptografi
Pesan, plaintext, dan cipherteks Pengirim dan penerima
Enkripsi dan dekripsi Cipher dan kunci
Sistem kriptografi Penyadap
Kriptanalisis dan
kriptologi
Pesan (message) adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Nama lain untuk pesan adalah (plaintext) atau teks jelas (cleartext). Agar pesan tidak dapat dimengerti maknanya oleh pihak lain yang tidak berkepentingan, maka pesan perlu disandikan kebentuk lain yang tidak dapat dipahami. Bentuk pesan yang tersandi disebut cipherteks (ciphertext) atau kriptogram (cryptogram). Cipherteks harus dapat ditransformasikan kembali menjadi plaintext semula agar dapat diterima dan bisa dibaca.
Pesan, plaintext, dan cipherteks
Back
Komunikasi data melibatkan pertukaran pesan antara dua entitas. Pengirim (sender) adalah entitas yang mengirim pesan kepada entitas lainnya. Penerima (receiver) adalah entitas yang menerima pesan. Pengirim tentu menginginkan pesan dapat dikirm secara aman, yaitu pengirim yakin bahwa pihak lain tidak dapat membaca isi pesan yang dikirim. Solusinya adalah dengan cara menyandikan pesan menjadi cipherteks.
Pengirim dan penerima
Back
Proses menyandikan plainteks menjadi cipherteks disebut enkripsi (encryption) atau enciphering. Sedangkan proses mengembalikan cipherteks menjadi plainteks disebut dekripsi (decryption) atau deciphering.
Enkripsi dan dekripsi
Algo ritma kriptogarfi disebut juga cipher, yaitu aturan untuk enkripsi dan dekripsi, atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Beberapa cipher memerlukan algoritma yang berbeda untuk enciphering dan deciphering. Konsep matematis yang mendasari algoritma kriptografi adalah relasi antara dua buah himpunan yang berisi elemen–elemen plainteks dan himpunan yang berisi cipherteks. Enkripsi dan dekripsi merupakan fungsi yang memetakan elemen-elemen antara dua himpunan tersebut. Misalkan P menyatakan plainteks dan C menyatakan cipherteks, maka fungsi enkripsi E memetakan P ke C.
•E(P) = C
Dan fungsi dekripsi D memetakan C ke P
•D(C) = P
Karena proses enkripsi kemudian dekripsi mengembalikan pesan ke pesan semula, maka kesamaan berikut harus benar,
•D(E(P)) = P
Cipher dan kunci
Kriptografi mengatasi masalah keamanan data dengan menggunakan kunci, yang dalam hal ini algoritma tidak dirahasiakan lagi, tetapi kunci harus tetap dijaga kerahasiaannya. Kunci (key) adalah parameter yang digunakan untuk transformasi enciphering dan deciphering Kunci biasanya berupa string atau deretan bilangan. Dengan menggunakan K, maka fungsi enkripsi dan dekripsi dapat ditulis sebagai :
EK(P)=C dan DK(C)=P
Dan kedua fungsi ini memenuhi
DK(EK(P))=P
Keterangan : P = plainteks C = cipherteks K = kunci EK = proses enkripsi menggunakan kunci DK = proses dekripsi menggunakan kunci
Skema enkripsi dengan menggunakan kunci diperlihatkan pada gambar dibawah ini :
Skema enkripsi dan dekripsi dengan menggunakan kunci
Back
kriptografi membentuk sebuah sistem yang dinamakan sistem Kriptografi. Sistem kriptografi (cryptosystem) adalah kumpulan yang terdiri dari algoritma kriptografi, semua plainteks dan cipherteks yang mungkin, dan kunci. Di dalam kriptografi, cipher hanyalah salah satu komponen saja.
Sistem kriptografi
Back
Penyadap (eavesdropper) adalah orang yang mencoba menangkap pesan selama ditransmisikan. Tujuan penyadap adalah untuk mendapatkan informasi sebanyak-banyaknya mengenai sistem kriptografi yang digunakan untuk berkomunikasi dengan maksud untuk memecahkan cipherteks. Nama lain penyadap : enemy, adversary, intruder, interceptor, bad guy.
Penyadap
Back
Kriptografi berkembang sedemikian rupa sehingga melahirkan bidang yang berlawanan yaitu kriptanalisis. Kriptanalisis( cryptanalysis) adalah ilmu dan seni untuk memecahkan cipherteks menjadi plainteks tanpa mengetahui kunci yang digunakan. Pelakunya disebut kriptanalis.
Jika seorang kriptografer (cryptographer) mentransformasikan plainteks menjadi cipherteks dengan suatu algoritma dan kunci maka sebaliknya seorang kriptanalis berusaha untuk memecahkan cipherteks tersebut untuk menemukan plainteks atau kunci. Kriptologi (cryptology) adalah studi mengenai kriptografi dan kriptanalisis. Baik kriptografi maupun kriptanalisis keduanya saling berkaitan
Kriptanalisis dan kriptologi
Next
Tujuan Kriptografi•Kerahasiaan (confidentiality)Adalah layanan yang ditujukan untuk menjaga agar pesan tidak
dapat dibaca oleh pihak–pihak yang tidak berhak. Di dalam kriptografi layanan ini direalisasikan dengan menyandikan plainteks menjadi cipherteks. Misalnya pesan “harap datang pukul 8” disandikan menjadi “trxC#45motyptre!%”. istilah lain yang senada dengan confidentiality adalah secrecy dan privacy.
•Integritas data (data integrity)Adalah layanan yang menjamin bahwa pesan masih asli/utuh atau
belum pernah dimanipulasi selama pengiriman. Dengan kata lain, aspek keamanan ini dapat diungkapkan sebagai pertanyaan: “ apakah pesan yang diterima masih asli atau tidak mengalami perubahan (modifika si)?”.
•Otentikasi (authentication)Adalah layanan yang berhubungan dengan identifikasi, baik
mengidentifikasi kebenaran pihak–pihak yang berkomunikasi (user autehentication). Dua pihak yang saling berkomunikasi harus dapat mengotentikasi satu sama lain sehingga ia dapat memastikan sember pesan.
•Nirpenyangkalan (non-repudiation)Adalah layanan untuk menjaga entitas yang berkomunikasi
melakukan penyangkalan, yaitu pengirim pesan menyangkal melakukan pengiriman atau penerima pesan menyangkal telah menerima pesan.
Jenis-Jenis Serangan terhadap kriptografi
1. Berdasarkan keterlibatan penyerang dalam komunikasi, serangan dapat dibagi atas dua macam, yaitu :
• Serangan pasif (passive attack) • Serangan aktif (active attack)
2. Berdasarkan banyaknya informasi yang diketahui oleh kriptanalis, maka serangan dapat dikelompokkan menjadi lima jenis, yaitu :• Ciphertext-only attack• Known-plaintext attack• Chosen-plaintext attack • Chosen-ciphertext attack• Chosen-text attack
Kriptografi modern Kriptografi modern menggunakan gagasan dasar yang sama seperti kriptografi
klasik (permutasi dan transposisi) tetapi penekanannya berbeda. Pada kriptografi klasik, kriptografer menggunakan algoritma yang sederhana, yang memungkinkan cipherteks dapat dipecahkan dengan mudah (melalui penggunaan statistik, terkaan, intuisi, dan sebagainya).
Algoritma kriptografi modern dibuat sedemikian kompleks sedemikian sehingga kriptanalis sangat sulit memecahkan cipherteks tanpa mengetahui kunci. Algoritma kriptografi modern umumnya beroperasi dalam mode bit ketimbang mode karakter (seperti yang dilakukan pada cipher substitusi atau cipher transposisi dari algoritma kriptografi klasik).
Operasi dalam mode bit berarti semua data dan informasi (baik kunci, plainteks, maupun cipherteks) dinyatakan dalam rangkaian (string) bit biner, 0 dan 1. Algoritma enkripsi dan dekripsi memproses semua data dan informasi dalam bentuk rangkaian bit. Rangkaian bit yang menyatakan plainteks dienkripsi menjadi cipherteks dalam bentuk rangkaian bit, demikian sebaliknya.
Diagram blok kriptografi modern
Rangkaian Bit dan OperasinyaUmumnya data diproses dalam bentuk blok-blok bit yang dituliskan dalam sejumlah
cara tergantung pada panjang blok.Misal P : 1 0 0 1 1 1 0 1 0 1 1 0 dibagi menjadi bit yang panjangnya 4 bit menjadi :
1001 1101 0110 alias 9 13 6
Bila panjang rangkaian bit tidak habis dibagi dengan ukuran blok yang ditetapkan, maka blok terakhir ditambahkan dengan bit-bit semu yang disebut PADDING BIT.
Misal : 1 0 0 1 1 1 0 1 0 1 1 0 dibagi dengan blok 5 bit menjadi : 10011 10101 00010
Cara lain untuk menyatakan rangkaian bit adalah dengan notasi heksadesimal (HEX). Rangkaian dibagi menjadi blok yang berukuran 4 bit :
0000 = 0 0001 = 1 0010 = 2 0011 = 30100 = 4 0101 = 5 0110 = 6 0111 = 71000 = 8 1001 = 9 1010 = A 1011 = B1100 = C 1101 = D 1110 = E 1111 = F
Operator XOR
Operator biner yang sering digunakan dalam cipher yang yang beroperasi dalam mode bit adalah XOR atau exclusive-or. Notasi matematis untuk operator XOR adalah (dalam Bahasa C, operator XOR dilambangkan dengan ^). Operator XOR diperasikan pada dua bit dengan aturan sebagai berikut :0 0 = 00 1 = 11 0 = 11 1 = 0Perhatikan bahwa operator XOR identik dengan penjumlahan modulo 2 :0 + 0 (mod 2) = 00 + 1 (mod 2) = 11 + 0 (mod 2) = 11 + 1 (mod 2) = 0Misalkan a, b, dan c adalah perubah Boolean. Hukum-hukum yang terkait dengan operator XOR :(i) a a = 0 (ii) a b = b a (Hukum komutatif)(iii) a (b c) = (a b) c (Hukum asosiatif)
Algoritma enkripsi XOR sederhana pada prinsipnya sama seperti Vigenere cipher dengan penggunaan kunci yang berulang secara periodik. Setiap bit plainteks di-XOR-kan dengan setiap bit kunci.
/* Enkripsi berkas teks dengan algoritma XOR sederhana. Berkas plainteks: plain.txt Berkas cipherteks: cipher.txt*/#include <stdio.h>main(){ FILE *Fin, *Fout; char P, C, K[20]; int n, i; Fin = fopen("plain.txt", "r"); Fout = fopen("cipher.txt", "w"); printf("Kata kunci : "); gets(K); n = strlen(K); /*panjang kunci*/ i = 0; while ((P = getc(Fin)) != EOF) { C = P ^ K[i]; /* operasi XOR */ putc(C, Fout); i++; if (i > n-1) i = 0; } fclose(Fin); fclose(Fout); }
/* Dekripsi berkas teks dengan algoritma XOR sederhana. Berkas plainteks: cipher.txt Berkas cipherteks: plain2.txt*/#include <stdio.h>main(){ FILE *Fin, *Fout; char P, C, K[20]; int n, i; Fin = fopen("cipher.txt", "r"); Fout = fopen("plain2.txt", "w"); printf("Kata kunci : "); gets(K); n = strlen(K); /*panjang kunci*/ i = 0; while ((C = getc(Fout)) != EOF) { P = C ^ K[i]; /* operasi XOR */ putc(P, Fout ); i++; if (i > n-1) i = 0; } fclose(Fin); fclose(Fout); }
enk_xor.c dek_xor.c
Contoh hasil eksekusi program (Kata kunci: ganesha) :
Pada wisuda sarjana baru, ternyata ada seorang wisudawan yang paling muda. Umurnya baru 21 tahun. Ini berarti dia masuk ITB pada umur 17 tahun. Zaman sekarang banyaksarjana masih berusia muda belia.
7 S S HIS Ao
S G
HHKS=bEAYAFA.E
SAG(:'yN‑GPYE
@ES2E Hb A
H A S K
Algoritma XOR sederhana tidak aman karena cipherteksnya mudah dipecahkan.Cara memecahkannya adalah sebagai berikut (asumsi: panjang kunci adalah sejumlah kecil byte) :
• Cari panjang kunci dengan prosedur counting coincidence sbb: XOR-kan cipherteks terhadap dirinya sendiri setelah digeser sejumlah byte, dan hitung jumlah byte yang sama. Jika pergeseran itu kelipatan dari panjang kunci (yang tidak diketahui), maka 6% dari byte akan sama. Jika tidak, maka 0.4% akan sama. Angka persentase ini disebut index of coincidence. Pergeseran terkecil mengindikasikan panjang kunci yang dicari.
• Geser cipherteks sejauh panjang kunci dan XOR-kan dengan dirinya sendiri. Operasi ini menghasilkan plainteks yang ter-XOR dengan plainteks yang digeser sejauh panjang kunci tersebut.
Pada makalah diatas telah membahas tentang apa itu kriptografi, kegunaan kriptografi itu apa, kelebihan dan kekurangan kriptografi. Sepanjang abad ke-20, kriptografi memainkan peran penting dalam peristiwa besar dunia. Di akhir abad ke-20, kriptografi menjadi teknologi penting untuk komunikasi komersial dan juga bisnis. Pada tahun 1929, Menteri Luar Negeri Henry Stimson L. mengakhiri kegiatan resmi kriptoanalisis pemerintah AS, membenarkan tindakannya dengan garis abadi, “Gentlemen do not read each other’s mail” . Hal ini akan terbukti menjadi kesalahan yang mahal dalam jangka sampai dengan Jepang menyerang Pearl Harbor.
Kesimpulan