Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Kriptografi modern
1. Ervian Pasca R (12050974231)
M. Nizar Chariri (12050974255)
2. 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)
4. 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.
Back
5. 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.
Back
6. Proses menyandikan plainteks menjadi cipherteks
disebut enkripsi (encryption) atau enciphering.
Sedangkan proses mengembalikan cipherteks menjadi
plainteks disebut dekripsi (decryption) atau deciphering.
7. 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
8. 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
9. Skema enkripsi dengan menggunakan kunci diperlihatkan pada gambar dibawah ini :
Skema enkripsi dan dekripsi dengan menggunakan kunci
Back
10. 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.
Back
11. 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.
Back
12. 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
Next
13. • 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.
14. 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
15. 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.
16.
17. Umumnya 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 = 3
0100 = 4 0101 = 5 0110 = 6 0111 = 7
1000 = 8 1001 = 9 1010 = A 1011 = B
1100 = C 1101 = D 1110 = E 1111 = F
18. 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 = 0
0 1 = 1
1 0 = 1
1 1 = 0
Perhatikan bahwa operator XOR identik dengan penjumlahan modulo 2 :
0 + 0 (mod 2) = 0
0 + 1 (mod 2) = 1
1 + 0 (mod 2) = 1
1 + 1 (mod 2) = 0
Misalkan 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)
19. 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
20. 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
banyak
sarjana masih berusia
muda belia.
7 S S
HIS Ao
S
G
H
H
KS=
bEAYAFA.E
S
A
G(:'yN-GPYE
@ES2
E
Hb A
H A
S K
21. 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.
22. 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.