SlideShare a Scribd company logo
1 of 17
Algoritma Kriptografi 
Modern 
(Bagian 1) 
Bahan kuliah 
IF5054 Kriptografi 
Rinaldi M/IF5054 Kriptografi 1
Pendahuluan 
 Beroperasi dalam mode bit (algoritma 
kriptografi klasik beroperasi dalam mode 
karakter) 
 kunci, plainteks, cipherteks, diproses 
dalam rangkaian bit 
 operasi bit xor paling banyak digunakan 
Rinaldi M/IF5054 Kriptogra2fi
 Tetap menggunakan gagasan pada algoritma 
klasik: substitusi dan transposisi, tetapi lebih 
rumit (sangat sulit dipecahkan) 
 Perkembangan algoritma kriptografi modern 
didorong oleh penggunaan komputer digital 
untuk keamanan pesan. 
 Komputer digital merepresentasikan data 
dalam biner. 
Rinaldi M/IF5054 Kriptogra3fi
Diagram Blok Kriptografi Modern 
S e c u r e N e t w o r k P r o t o c o l s 
Rinaldi M/IF5054 Kriptogra4fi 
B l o c k 
C i p h e r 
S t r e a m 
C i p h e r 
H a s h 
F u n c t i o n 
P s e u d o 
R a n d o m 
R a n d o m 
S o u r c e 
E l l i p t i c 
C u r v e 
D H 
R S A 
S y m m e t r i c K e y 
C r y p t o g r a p h y 
M e s s a g e 
D i g e s t I V s N o n c e s S e c r e t 
K e y s 
P u b l i c K e y 
C r y p t o g r a p h y 
E n c r y p t i o n M A C s 
M I C s 
C h a l l e n g e 
R e s p o n s e s 
S m a r t 
C a r d s 
D i g i t a l 
S i g n a t u r e s 
C o n f i d e n t i a l i t y D a t a 
I n t e g r i t y A u t h e n t i c a t i o n N o n - 
R e p u d i a t i o n
Rangkaian bit 
 Pesan (dalam bentuk rangkaian bit) dipecah 
menajdi beberapa blok 
 Contoh: Plainteks 100111010110 
Bila dibagi menjadi blok 4-bit 
1001 1101 0110 
maka setiap blok menyatakan 0 sampai 15: 
9 13 6 
Rinaldi M/IF5054 Kriptogra5fi
Bila plainteks dibagi menjadi blok 3-bit: 
100 111 010 110 
maka setiap blok menyatakan 0 sampai 7: 
4 7 2 6 
Rinaldi M/IF5054 Kriptogra6fi
 Padding bits: bit-bit tambahan jika ukuran 
blok terakhir tidak mencukupi panjang blok 
 Contoh: Plainteks 100111010110 
Bila dibagi menjadi blok 5-bit: 
10011 10101 00010 
Padding bits mengakibatkan ukuran 
plainteks hasil dekripsi lebih besar daripada 
ukuran plainteks semula. 
Rinaldi M/IF5054 Kriptogra7fi
Representasi dalam 
Heksadesimal 
 Pada beberapa algoritma kriptografi, pesan 
dinyatakan dalam kode Hex: 
0000 = 0 0001 = 1 0010 = 2 0011 = 3 
0100 = 4 0101 = 5 0011 = 6 0111 = 7 
1000 = 8 1011 = 9 1010 = A 1011 = B 
1100 = C 1101 = D 1101 = E 1111 = F 
 Contoh: plainteks 100111010110 dibagi 
menjadi blok 4-bit: 
1001 1101 0110 
dalam notasi HEX adalah 9 D 6 
Rinaldi M/IF5054 Kriptogra8fi
Operasi XOR 
Rinaldi M/IF5054 Kriptogra9fi 
 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
 Hukum-hukum yang terkait dengan operator 
XOR: 
(i) a Å a = 0 
(ii) a Å b = b Å a 
(iii) a Å (b Å c) = (a Å b) Å c 
Rinaldi M/IF5054 Kriptogra1fi0
Operasi XOR Bitwise 
·  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, 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 
Rinaldi M/IF5054 Kriptogra1fi1
Algoritma Enkripsi dengan XOR 
 Enkripsi: C = P Å K 
 Dekripsi: P = C Å K 
Contoh: plainteks 01100101 (karakter ‘e’) 
kunci 00110101 Å (karakter ‘5’) 
cipherteks 01010000 (karakter ‘P’) 
kunci 00110101 Å (karakter ‘5’) 
plainteks 01100101 (karakter ‘e’) 
Rinaldi M/IF5054 Kriptogra1fi2
 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. 
Rinaldi M/IF5054 Kriptogra1fi3
/* Enkripsi sembarang berkas dengan algoritma XOR sederhana. 
*/ 
Rinaldi M/IF5054 Kriptogra1fi4 
#include <stdio.h> 
main(int argc, char *argv[]) 
{ 
FILE *Fin, *Fout; 
char p, c, K[100]; 
int i, n; 
Fin = fopen(argv[1], "rb"); 
if (Fin == NULL) 
printf("Kesalahan dalam membuka %s sebagai berkas masukan/n", argv[1]); 
Fout = fopen(argv[2], "wb"); 
printf("nEnkripsi %s menjadi %s ...n", argv[1], argv[2]); 
printf("n"); 
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 sembarang berkas dengan algoritma XOR sederhana. 
*/ 
Rinaldi M/IF5054 Kriptogra1fi5 
#include <stdio.h> 
main(int argc, char *argv[]) 
{ 
FILE *Fin, *Fout; 
char p, c, K[100]; 
int i, n; 
Fin = fopen(argv[1], "rb"); 
if (Fin == NULL) 
printf("Kesalahan dalam membuka %s sebagai berkas masukan/n", argv[1]); 
Fout = fopen(argv[2], "wb"); 
printf("nEnkripsi %s menjadi %s ...n", argv[1], argv[2]); 
printf("n"); 
printf("Kata kunci : "); gets(K); 
n = strlen(K); /*panjang kunci*/ 
i = 0; 
while ((c = getc(Fin)) != EOF) { 
p = c ^ K[i]; /* operasi XOR */ 
putc(p, Fout); 
i++; 
if (i > (n - 1)) i = 0; 
} 
fclose(Fin); 
fclose(Fout); 
}
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= !bEAYA !FA. 
E 
SA ! G(:'y ! !N -GPYE 
@ES2 ! !!E! 
Hb A ! H 
A S K 
Rinaldi M/IF5054 Kriptogra1fi6
 Program komersil yang berbasis DOS atau 
Macintosh menggunakan algoritma XOR 
sederhana ini. 
 Sayangnya, algoritma XOR sederhana tidak 
aman karena cipherteksnya mudah dipecahkan. 
Rinaldi M/IF5054 Kriptogra1fi7

More Related Content

What's hot

Kriptografi modern
Kriptografi modernKriptografi modern
Kriptografi modernniizarch
 
20111221 algoritma kriptografimodern-part1-1-2
20111221 algoritma kriptografimodern-part1-1-220111221 algoritma kriptografimodern-part1-1-2
20111221 algoritma kriptografimodern-part1-1-2Sunyo Andriyanto
 
Sistem Kriptografi Klasik Berbasis Substitusi
Sistem Kriptografi Klasik Berbasis SubstitusiSistem Kriptografi Klasik Berbasis Substitusi
Sistem Kriptografi Klasik Berbasis SubstitusiFanny Oktaviarti
 
5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar KriptografiRoziq Bahtiar
 
Kriptografi - Advanced Encryption Standard
Kriptografi - Advanced Encryption StandardKriptografi - Advanced Encryption Standard
Kriptografi - Advanced Encryption StandardKuliahKita
 
Kriptograf - Algoritma Kriptografi Klasik (bagian 1)
Kriptograf - Algoritma Kriptografi Klasik (bagian 1)Kriptograf - Algoritma Kriptografi Klasik (bagian 1)
Kriptograf - Algoritma Kriptografi Klasik (bagian 1)KuliahKita
 
Kriptografi - Block Cipher dan CBC
Kriptografi - Block Cipher dan CBCKriptografi - Block Cipher dan CBC
Kriptografi - Block Cipher dan CBCKuliahKita
 
Caesar cipher adalah algoritma cipher
Caesar cipher adalah algoritma cipherCaesar cipher adalah algoritma cipher
Caesar cipher adalah algoritma cipherHelmaKurniasari
 
Metode enkripsi caesar cipher
Metode enkripsi caesar cipherMetode enkripsi caesar cipher
Metode enkripsi caesar cipherBobby Chandra
 
Algoritma kriptografi
Algoritma kriptografiAlgoritma kriptografi
Algoritma kriptografiDani Sasmoko
 
Kriptografi - Stream Cipher
Kriptografi - Stream CipherKriptografi - Stream Cipher
Kriptografi - Stream CipherKuliahKita
 
Rancang Bangun Secure Chatting Pada Platform Android Dengan Algoritma Twofish
Rancang Bangun Secure Chatting Pada Platform Android Dengan Algoritma TwofishRancang Bangun Secure Chatting Pada Platform Android Dengan Algoritma Twofish
Rancang Bangun Secure Chatting Pada Platform Android Dengan Algoritma TwofishAinatul Radhiah
 
Enkripsi rc4
Enkripsi rc4Enkripsi rc4
Enkripsi rc4ridowan
 
Kriptografi - Kriptografi Kunci Publik
Kriptografi - Kriptografi Kunci PublikKriptografi - Kriptografi Kunci Publik
Kriptografi - Kriptografi Kunci PublikKuliahKita
 
7 Keamanan Jaringan 1
7 Keamanan Jaringan 17 Keamanan Jaringan 1
7 Keamanan Jaringan 1Mrirfan
 

What's hot (20)

Kriptografi modern
Kriptografi modernKriptografi modern
Kriptografi modern
 
20111221 algoritma kriptografimodern-part1-1-2
20111221 algoritma kriptografimodern-part1-1-220111221 algoritma kriptografimodern-part1-1-2
20111221 algoritma kriptografimodern-part1-1-2
 
6 algoritma kriptografi modern
6 algoritma kriptografi modern6 algoritma kriptografi modern
6 algoritma kriptografi modern
 
Sistem Kriptografi Klasik Berbasis Substitusi
Sistem Kriptografi Klasik Berbasis SubstitusiSistem Kriptografi Klasik Berbasis Substitusi
Sistem Kriptografi Klasik Berbasis Substitusi
 
5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi
 
Kriptografi - Advanced Encryption Standard
Kriptografi - Advanced Encryption StandardKriptografi - Advanced Encryption Standard
Kriptografi - Advanced Encryption Standard
 
Kriptograf - Algoritma Kriptografi Klasik (bagian 1)
Kriptograf - Algoritma Kriptografi Klasik (bagian 1)Kriptograf - Algoritma Kriptografi Klasik (bagian 1)
Kriptograf - Algoritma Kriptografi Klasik (bagian 1)
 
Kriptografi - Block Cipher dan CBC
Kriptografi - Block Cipher dan CBCKriptografi - Block Cipher dan CBC
Kriptografi - Block Cipher dan CBC
 
Caesar cipher adalah algoritma cipher
Caesar cipher adalah algoritma cipherCaesar cipher adalah algoritma cipher
Caesar cipher adalah algoritma cipher
 
Metode enkripsi caesar cipher
Metode enkripsi caesar cipherMetode enkripsi caesar cipher
Metode enkripsi caesar cipher
 
Algoritma kriptografi
Algoritma kriptografiAlgoritma kriptografi
Algoritma kriptografi
 
Kriptografi - Stream Cipher
Kriptografi - Stream CipherKriptografi - Stream Cipher
Kriptografi - Stream Cipher
 
Rancang Bangun Secure Chatting Pada Platform Android Dengan Algoritma Twofish
Rancang Bangun Secure Chatting Pada Platform Android Dengan Algoritma TwofishRancang Bangun Secure Chatting Pada Platform Android Dengan Algoritma Twofish
Rancang Bangun Secure Chatting Pada Platform Android Dengan Algoritma Twofish
 
5. algoritma kriptografi klasik (bag 1)xx
5. algoritma kriptografi klasik (bag 1)xx5. algoritma kriptografi klasik (bag 1)xx
5. algoritma kriptografi klasik (bag 1)xx
 
Enkripsi rc4
Enkripsi rc4Enkripsi rc4
Enkripsi rc4
 
Ns 3
Ns 3Ns 3
Ns 3
 
Kriptografi - Kriptografi Kunci Publik
Kriptografi - Kriptografi Kunci PublikKriptografi - Kriptografi Kunci Publik
Kriptografi - Kriptografi Kunci Publik
 
2863344
28633442863344
2863344
 
Enkripsi
EnkripsiEnkripsi
Enkripsi
 
7 Keamanan Jaringan 1
7 Keamanan Jaringan 17 Keamanan Jaringan 1
7 Keamanan Jaringan 1
 

Viewers also liked

Viewers also liked (6)

Tandatangan digital PTI UNESA
Tandatangan digital PTI UNESATandatangan digital PTI UNESA
Tandatangan digital PTI UNESA
 
Fungsi hash
Fungsi hashFungsi hash
Fungsi hash
 
Enkripsi RC4
Enkripsi RC4Enkripsi RC4
Enkripsi RC4
 
Fungsi Hash & Algoritma SHA-256
Fungsi Hash & Algoritma SHA-256Fungsi Hash & Algoritma SHA-256
Fungsi Hash & Algoritma SHA-256
 
Fungsi Hash & Algoritma SHA-256 - Presentation
Fungsi Hash & Algoritma SHA-256 - PresentationFungsi Hash & Algoritma SHA-256 - Presentation
Fungsi Hash & Algoritma SHA-256 - Presentation
 
Secure Hash Algorithm
Secure Hash AlgorithmSecure Hash Algorithm
Secure Hash Algorithm
 

Similar to Algoritma Modern Pertama

Kriptografi modern
Kriptografi modernKriptografi modern
Kriptografi modernlikut101010
 
Kriptografi Modern
Kriptografi ModernKriptografi Modern
Kriptografi ModernAndini Putri
 
20111221 algoritma kriptografimodern-part1-1-2
20111221 algoritma kriptografimodern-part1-1-220111221 algoritma kriptografimodern-part1-1-2
20111221 algoritma kriptografimodern-part1-1-2UkiUngga
 
KRIPTOGRAFI MODERN SIMESTIS.docx
KRIPTOGRAFI MODERN SIMESTIS.docxKRIPTOGRAFI MODERN SIMESTIS.docx
KRIPTOGRAFI MODERN SIMESTIS.docxShafiraCut1
 
Kuliah 6 - (1) Data Encryption Standard (DES).pptx
Kuliah 6 - (1) Data Encryption Standard (DES).pptxKuliah 6 - (1) Data Encryption Standard (DES).pptx
Kuliah 6 - (1) Data Encryption Standard (DES).pptxedwar75
 
Stream cipher 1488292373
Stream cipher 1488292373Stream cipher 1488292373
Stream cipher 1488292373kadek supadma
 
03 01 algoritmakriptografiklasik
03 01 algoritmakriptografiklasik03 01 algoritmakriptografiklasik
03 01 algoritmakriptografiklasikwiwarizkinovian
 
Analisis sistem kriptografi dalam mengamankan data pesan dengan metode one ti...
Analisis sistem kriptografi dalam mengamankan data pesan dengan metode one ti...Analisis sistem kriptografi dalam mengamankan data pesan dengan metode one ti...
Analisis sistem kriptografi dalam mengamankan data pesan dengan metode one ti...OskahDakhi
 
Prakt modul 9 sym kriptografi
Prakt modul 9 sym kriptografiPrakt modul 9 sym kriptografi
Prakt modul 9 sym kriptografiKeisha Khairani
 
TCP - IP - Mengenal CIDR ( Classless Interdomain Domain Routing)
TCP - IP - Mengenal CIDR ( Classless Interdomain Domain Routing)TCP - IP - Mengenal CIDR ( Classless Interdomain Domain Routing)
TCP - IP - Mengenal CIDR ( Classless Interdomain Domain Routing)Parwito An
 

Similar to Algoritma Modern Pertama (20)

Kriptografi modern
Kriptografi modernKriptografi modern
Kriptografi modern
 
Kriptografi Modern
Kriptografi ModernKriptografi Modern
Kriptografi Modern
 
20111221 algoritma kriptografimodern-part1-1-2
20111221 algoritma kriptografimodern-part1-1-220111221 algoritma kriptografimodern-part1-1-2
20111221 algoritma kriptografimodern-part1-1-2
 
10.steganografi xx
10.steganografi xx10.steganografi xx
10.steganografi xx
 
19.advanced encryption standard (aes)
19.advanced encryption standard (aes)19.advanced encryption standard (aes)
19.advanced encryption standard (aes)
 
Otp2
Otp2Otp2
Otp2
 
KRIPTOGRAFI MODERN SIMESTIS.docx
KRIPTOGRAFI MODERN SIMESTIS.docxKRIPTOGRAFI MODERN SIMESTIS.docx
KRIPTOGRAFI MODERN SIMESTIS.docx
 
Kuliah 6 - (1) Data Encryption Standard (DES).pptx
Kuliah 6 - (1) Data Encryption Standard (DES).pptxKuliah 6 - (1) Data Encryption Standard (DES).pptx
Kuliah 6 - (1) Data Encryption Standard (DES).pptx
 
Stream cipher 1488292373
Stream cipher 1488292373Stream cipher 1488292373
Stream cipher 1488292373
 
28.digital signature standard (dss)
28.digital signature standard (dss)28.digital signature standard (dss)
28.digital signature standard (dss)
 
Algoritma Klasik
Algoritma KlasikAlgoritma Klasik
Algoritma Klasik
 
KR02.pptx
KR02.pptxKR02.pptx
KR02.pptx
 
03 01 algoritmakriptografiklasik
03 01 algoritmakriptografiklasik03 01 algoritmakriptografiklasik
03 01 algoritmakriptografiklasik
 
Analisis sistem kriptografi dalam mengamankan data pesan dengan metode one ti...
Analisis sistem kriptografi dalam mengamankan data pesan dengan metode one ti...Analisis sistem kriptografi dalam mengamankan data pesan dengan metode one ti...
Analisis sistem kriptografi dalam mengamankan data pesan dengan metode one ti...
 
4.landasan matematika untuk kriptografi xx
4.landasan matematika untuk kriptografi xx4.landasan matematika untuk kriptografi xx
4.landasan matematika untuk kriptografi xx
 
16.data encryption standard (des)
16.data encryption standard (des)16.data encryption standard (des)
16.data encryption standard (des)
 
Prakt modul 9 sym kriptografi
Prakt modul 9 sym kriptografiPrakt modul 9 sym kriptografi
Prakt modul 9 sym kriptografi
 
TCP - IP - Mengenal CIDR ( Classless Interdomain Domain Routing)
TCP - IP - Mengenal CIDR ( Classless Interdomain Domain Routing)TCP - IP - Mengenal CIDR ( Classless Interdomain Domain Routing)
TCP - IP - Mengenal CIDR ( Classless Interdomain Domain Routing)
 
Kelompok 5
Kelompok 5Kelompok 5
Kelompok 5
 
Kelompok 5
Kelompok 5Kelompok 5
Kelompok 5
 

More from Universitas Bina Darma Palembang

More from Universitas Bina Darma Palembang (20)

30448 pertemuan1
30448 pertemuan130448 pertemuan1
30448 pertemuan1
 
29510 pertemuan18(form method-get-post-dan-session(1))
29510 pertemuan18(form method-get-post-dan-session(1))29510 pertemuan18(form method-get-post-dan-session(1))
29510 pertemuan18(form method-get-post-dan-session(1))
 
28501 pertemuan14(php)
28501 pertemuan14(php)28501 pertemuan14(php)
28501 pertemuan14(php)
 
28500 pertemuan22(header dokumen html dgn tag title)
28500 pertemuan22(header dokumen html dgn tag title)28500 pertemuan22(header dokumen html dgn tag title)
28500 pertemuan22(header dokumen html dgn tag title)
 
25437 pertemuan25(hitcounter)
25437 pertemuan25(hitcounter)25437 pertemuan25(hitcounter)
25437 pertemuan25(hitcounter)
 
23921 pertemuan 3
23921 pertemuan 323921 pertemuan 3
23921 pertemuan 3
 
19313 pertemuan6
19313 pertemuan619313 pertemuan6
19313 pertemuan6
 
18759 pertemuan20(web html editor)
18759 pertemuan20(web html editor)18759 pertemuan20(web html editor)
18759 pertemuan20(web html editor)
 
18040 pertemuan13(css)
18040 pertemuan13(css)18040 pertemuan13(css)
18040 pertemuan13(css)
 
17945 pertemuan5
17945 pertemuan517945 pertemuan5
17945 pertemuan5
 
16406 pertemuan17(konsep basis-data-di-web)
16406 pertemuan17(konsep basis-data-di-web)16406 pertemuan17(konsep basis-data-di-web)
16406 pertemuan17(konsep basis-data-di-web)
 
15294 pertemuan9(eksplorasi &defenisi masalah0
15294 pertemuan9(eksplorasi &defenisi masalah015294 pertemuan9(eksplorasi &defenisi masalah0
15294 pertemuan9(eksplorasi &defenisi masalah0
 
13926 pertemuan4
13926 pertemuan413926 pertemuan4
13926 pertemuan4
 
12738 pertemuan 15(php lanjutan)
12738 pertemuan 15(php lanjutan)12738 pertemuan 15(php lanjutan)
12738 pertemuan 15(php lanjutan)
 
6346 pertemuan21(web statis dengan struktur html)
6346 pertemuan21(web statis dengan struktur html)6346 pertemuan21(web statis dengan struktur html)
6346 pertemuan21(web statis dengan struktur html)
 
5623 pertemuan11(html1)
5623 pertemuan11(html1)5623 pertemuan11(html1)
5623 pertemuan11(html1)
 
4740 pertemuan8(komponen dalam web)
4740 pertemuan8(komponen dalam web)4740 pertemuan8(komponen dalam web)
4740 pertemuan8(komponen dalam web)
 
4075 pertemuan10 (analisa kebutuhan)
4075 pertemuan10 (analisa kebutuhan)4075 pertemuan10 (analisa kebutuhan)
4075 pertemuan10 (analisa kebutuhan)
 
2670 pertemuan12(html lanjut)
2670 pertemuan12(html lanjut)2670 pertemuan12(html lanjut)
2670 pertemuan12(html lanjut)
 
2190 pertemuan24(polling)
2190 pertemuan24(polling)2190 pertemuan24(polling)
2190 pertemuan24(polling)
 

Algoritma Modern Pertama

  • 1. Algoritma Kriptografi Modern (Bagian 1) Bahan kuliah IF5054 Kriptografi Rinaldi M/IF5054 Kriptografi 1
  • 2. Pendahuluan  Beroperasi dalam mode bit (algoritma kriptografi klasik beroperasi dalam mode karakter)  kunci, plainteks, cipherteks, diproses dalam rangkaian bit  operasi bit xor paling banyak digunakan Rinaldi M/IF5054 Kriptogra2fi
  • 3.  Tetap menggunakan gagasan pada algoritma klasik: substitusi dan transposisi, tetapi lebih rumit (sangat sulit dipecahkan)  Perkembangan algoritma kriptografi modern didorong oleh penggunaan komputer digital untuk keamanan pesan.  Komputer digital merepresentasikan data dalam biner. Rinaldi M/IF5054 Kriptogra3fi
  • 4. Diagram Blok Kriptografi Modern S e c u r e N e t w o r k P r o t o c o l s Rinaldi M/IF5054 Kriptogra4fi B l o c k C i p h e r S t r e a m C i p h e r H a s h F u n c t i o n P s e u d o R a n d o m R a n d o m S o u r c e E l l i p t i c C u r v e D H R S A S y m m e t r i c K e y C r y p t o g r a p h y M e s s a g e D i g e s t I V s N o n c e s S e c r e t K e y s P u b l i c K e y C r y p t o g r a p h y E n c r y p t i o n M A C s M I C s C h a l l e n g e R e s p o n s e s S m a r t C a r d s D i g i t a l S i g n a t u r e s C o n f i d e n t i a l i t y D a t a I n t e g r i t y A u t h e n t i c a t i o n N o n - R e p u d i a t i o n
  • 5. Rangkaian bit  Pesan (dalam bentuk rangkaian bit) dipecah menajdi beberapa blok  Contoh: Plainteks 100111010110 Bila dibagi menjadi blok 4-bit 1001 1101 0110 maka setiap blok menyatakan 0 sampai 15: 9 13 6 Rinaldi M/IF5054 Kriptogra5fi
  • 6. Bila plainteks dibagi menjadi blok 3-bit: 100 111 010 110 maka setiap blok menyatakan 0 sampai 7: 4 7 2 6 Rinaldi M/IF5054 Kriptogra6fi
  • 7.  Padding bits: bit-bit tambahan jika ukuran blok terakhir tidak mencukupi panjang blok  Contoh: Plainteks 100111010110 Bila dibagi menjadi blok 5-bit: 10011 10101 00010 Padding bits mengakibatkan ukuran plainteks hasil dekripsi lebih besar daripada ukuran plainteks semula. Rinaldi M/IF5054 Kriptogra7fi
  • 8. Representasi dalam Heksadesimal  Pada beberapa algoritma kriptografi, pesan dinyatakan dalam kode Hex: 0000 = 0 0001 = 1 0010 = 2 0011 = 3 0100 = 4 0101 = 5 0011 = 6 0111 = 7 1000 = 8 1011 = 9 1010 = A 1011 = B 1100 = C 1101 = D 1101 = E 1111 = F  Contoh: plainteks 100111010110 dibagi menjadi blok 4-bit: 1001 1101 0110 dalam notasi HEX adalah 9 D 6 Rinaldi M/IF5054 Kriptogra8fi
  • 9. Operasi XOR Rinaldi M/IF5054 Kriptogra9fi  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
  • 10.  Hukum-hukum yang terkait dengan operator XOR: (i) a Å a = 0 (ii) a Å b = b Å a (iii) a Å (b Å c) = (a Å b) Å c Rinaldi M/IF5054 Kriptogra1fi0
  • 11. Operasi XOR Bitwise · 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, 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 Rinaldi M/IF5054 Kriptogra1fi1
  • 12. Algoritma Enkripsi dengan XOR  Enkripsi: C = P Å K  Dekripsi: P = C Å K Contoh: plainteks 01100101 (karakter ‘e’) kunci 00110101 Å (karakter ‘5’) cipherteks 01010000 (karakter ‘P’) kunci 00110101 Å (karakter ‘5’) plainteks 01100101 (karakter ‘e’) Rinaldi M/IF5054 Kriptogra1fi2
  • 13.  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. Rinaldi M/IF5054 Kriptogra1fi3
  • 14. /* Enkripsi sembarang berkas dengan algoritma XOR sederhana. */ Rinaldi M/IF5054 Kriptogra1fi4 #include <stdio.h> main(int argc, char *argv[]) { FILE *Fin, *Fout; char p, c, K[100]; int i, n; Fin = fopen(argv[1], "rb"); if (Fin == NULL) printf("Kesalahan dalam membuka %s sebagai berkas masukan/n", argv[1]); Fout = fopen(argv[2], "wb"); printf("nEnkripsi %s menjadi %s ...n", argv[1], argv[2]); printf("n"); 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); }
  • 15. /* Dekripsi sembarang berkas dengan algoritma XOR sederhana. */ Rinaldi M/IF5054 Kriptogra1fi5 #include <stdio.h> main(int argc, char *argv[]) { FILE *Fin, *Fout; char p, c, K[100]; int i, n; Fin = fopen(argv[1], "rb"); if (Fin == NULL) printf("Kesalahan dalam membuka %s sebagai berkas masukan/n", argv[1]); Fout = fopen(argv[2], "wb"); printf("nEnkripsi %s menjadi %s ...n", argv[1], argv[2]); printf("n"); printf("Kata kunci : "); gets(K); n = strlen(K); /*panjang kunci*/ i = 0; while ((c = getc(Fin)) != EOF) { p = c ^ K[i]; /* operasi XOR */ putc(p, Fout); i++; if (i > (n - 1)) i = 0; } fclose(Fin); fclose(Fout); }
  • 16. 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= !bEAYA !FA. E SA ! G(:'y ! !N -GPYE @ES2 ! !!E! Hb A ! H A S K Rinaldi M/IF5054 Kriptogra1fi6
  • 17.  Program komersil yang berbasis DOS atau Macintosh menggunakan algoritma XOR sederhana ini.  Sayangnya, algoritma XOR sederhana tidak aman karena cipherteksnya mudah dipecahkan. Rinaldi M/IF5054 Kriptogra1fi7