SlideShare a Scribd company logo
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

PDF
Interpolasi Newton
PPTX
SLIDE KE:5 NFA
PPT
Jaringanhebb
PPT
Jaringan perceptron
PDF
Neuron Mc Culloch Pitts dan Hebb
DOCX
Makalah metode posisi palsu
PPTX
6. interpolasi polynomial newton
DOCX
3. newton raphson method
Interpolasi Newton
SLIDE KE:5 NFA
Jaringanhebb
Jaringan perceptron
Neuron Mc Culloch Pitts dan Hebb
Makalah metode posisi palsu
6. interpolasi polynomial newton
3. newton raphson method

What's hot (20)

DOC
metode kuadrat terkecil
DOC
Barisan dan deret kompleks
PDF
Met num 2
DOC
Modul teknik-digital
PPT
Metode pencarian heuristik
PPT
Pertemuan 2-pemecahan-masalah-ai
DOCX
TUGAS BAHASA C
PPTX
Uji linearitas dengan tabel anova
PDF
Hebb, perceptro dan adaline
PDF
Pertemuan 05 Teknik Pencarian (Search) -lanjutan
PDF
Statistika Dasar Pertemuan 11
DOCX
Eliminasi gauss
DOCX
Makalah distribusi binomial, poisson, distribusi normal
PDF
Korelasi dan regresi
DOC
Implementasi queue
PPTX
Metode numerik pertemuan 7 (interpolasi lagrange)
PPT
Organisasi Komputer- representasi informasi
PDF
Vektor Diruang 2 dan 3 (vector 2D & 3D)
PDF
Materi 4 penyelesaian spl tiga atau lebih variabel
metode kuadrat terkecil
Barisan dan deret kompleks
Met num 2
Modul teknik-digital
Metode pencarian heuristik
Pertemuan 2-pemecahan-masalah-ai
TUGAS BAHASA C
Uji linearitas dengan tabel anova
Hebb, perceptro dan adaline
Pertemuan 05 Teknik Pencarian (Search) -lanjutan
Statistika Dasar Pertemuan 11
Eliminasi gauss
Makalah distribusi binomial, poisson, distribusi normal
Korelasi dan regresi
Implementasi queue
Metode numerik pertemuan 7 (interpolasi lagrange)
Organisasi Komputer- representasi informasi
Vektor Diruang 2 dan 3 (vector 2D & 3D)
Materi 4 penyelesaian spl tiga atau lebih variabel
Ad

Viewers also liked (13)

PPT
13.algoritma kriptografi modern (bagian 2)
DOC
Algoritma kriptografi modern
PPT
14.algoritma kriptografi modern (bagian 3)
PPT
15.algoritma kriptografi modern (bagian 4)
PPT
Tandatangan digital PTI UNESA
PPT
27.tandatangan digital
PDF
Fungsi hash
PPT
Enkripsi RC4
PDF
Fungsi Hash & Algoritma SHA-256
PDF
Fungsi Hash & Algoritma SHA-256 - Presentation
PPT
5 Macam Metode Dasar Kriptografi
PPTX
Secure Hash Algorithm
13.algoritma kriptografi modern (bagian 2)
Algoritma kriptografi modern
14.algoritma kriptografi modern (bagian 3)
15.algoritma kriptografi modern (bagian 4)
Tandatangan digital PTI UNESA
27.tandatangan digital
Fungsi hash
Enkripsi RC4
Fungsi Hash & Algoritma SHA-256
Fungsi Hash & Algoritma SHA-256 - Presentation
5 Macam Metode Dasar Kriptografi
Secure Hash Algorithm
Ad

Similar to 12.algoritma kriptografi modern (bagian 1)xx (20)

PDF
Kriptografi - Algoritma Kriptografi Modern
PPT
Algoritma Kriptografi Modern bagian 1 - Kriptografi Digital
PDF
Kriptografi modern
PPTX
metode algoritma Kripto-modern-2023.pptx
PPTX
Kriptografi Modern
PDF
20111221 algoritma kriptografimodern-part1-1-2
PDF
20111221 algoritma kriptografimodern-part1-1-2
PPTX
Rancang Bangun Secure Chatting Pada Platform Android Dengan Algoritma Twofish
PPT
5. algoritma kriptografi klasik (bag 1)xx
PPT
PPT
19.advanced encryption standard (aes)
PPT
DOCX
KRIPTOGRAFI MODERN SIMESTIS.docx
PPTX
Kuliah 6 - (1) Data Encryption Standard (DES).pptx
PDF
Kriptografi - Prinsip Perancangan Cipher Blok
PPT
Stream cipher 1488292373
PPT
28.digital signature standard (dss)
PDF
Algoritma Klasik
PDF
Kriptograf - Algoritma Kriptografi Klasik (bagian 1)
PDF
Kriptografi - Stream Cipher
Kriptografi - Algoritma Kriptografi Modern
Algoritma Kriptografi Modern bagian 1 - Kriptografi Digital
Kriptografi modern
metode algoritma Kripto-modern-2023.pptx
Kriptografi Modern
20111221 algoritma kriptografimodern-part1-1-2
20111221 algoritma kriptografimodern-part1-1-2
Rancang Bangun Secure Chatting Pada Platform Android Dengan Algoritma Twofish
5. algoritma kriptografi klasik (bag 1)xx
19.advanced encryption standard (aes)
KRIPTOGRAFI MODERN SIMESTIS.docx
Kuliah 6 - (1) Data Encryption Standard (DES).pptx
Kriptografi - Prinsip Perancangan Cipher Blok
Stream cipher 1488292373
28.digital signature standard (dss)
Algoritma Klasik
Kriptograf - Algoritma Kriptografi Klasik (bagian 1)
Kriptografi - Stream Cipher

More from Universitas Bina Darma Palembang (20)

PPT
29510 pertemuan18(form method-get-post-dan-session(1))
PPT
28501 pertemuan14(php)
PPT
28500 pertemuan22(header dokumen html dgn tag title)
DOC
25437 pertemuan25(hitcounter)
DOC
PPT
18759 pertemuan20(web html editor)
PPT
18040 pertemuan13(css)
PPT
16406 pertemuan17(konsep basis-data-di-web)
DOC
15294 pertemuan9(eksplorasi &defenisi masalah0
PPT
12738 pertemuan 15(php lanjutan)
PPT
6346 pertemuan21(web statis dengan struktur html)
DOC
5623 pertemuan11(html1)
DOC
4740 pertemuan8(komponen dalam web)
DOC
4075 pertemuan10 (analisa kebutuhan)
PPT
2670 pertemuan12(html lanjut)
DOC
2190 pertemuan24(polling)
29510 pertemuan18(form method-get-post-dan-session(1))
28501 pertemuan14(php)
28500 pertemuan22(header dokumen html dgn tag title)
25437 pertemuan25(hitcounter)
18759 pertemuan20(web html editor)
18040 pertemuan13(css)
16406 pertemuan17(konsep basis-data-di-web)
15294 pertemuan9(eksplorasi &defenisi masalah0
12738 pertemuan 15(php lanjutan)
6346 pertemuan21(web statis dengan struktur html)
5623 pertemuan11(html1)
4740 pertemuan8(komponen dalam web)
4075 pertemuan10 (analisa kebutuhan)
2670 pertemuan12(html lanjut)
2190 pertemuan24(polling)

Recently uploaded (20)

PPTX
Metode Penanggulangan Kehilangan Air dan Strategi Pengendalian Kehilangan Air...
PPTX
20240805-ppt-pendahuluan-temef-dan-manikin.pptx
PPT
electronic fuel injection for automotive sectors
PPTX
TOPOLOGI JARINGAN STAR TEKNIK INFORMATIKA
PPTX
1 Peraturan Perundangan terkait Keselamatan Konstruksi 18.10 - Copy.pptx
PPT
Sistem Manajemen Mutu Quality Management System
PPTX
Seminar Hasil Penelitian Analisis Pegas Daun
PPTX
Ilmu Geologi pertambangan dan peran dalam industri.pptx
PPT
Penanganan motor starter pada dunia otomotif
PPTX
PEMBUATAN PANEL TRAINER DAN PROTOTYPE UNTUK PENINGKATAN KOMPETENSI TENTANG S...
PPT
Electronic Fuel Injection dengan menggunakan Scantool
PDF
07. Mekanisme Penyusunan RKM_Sanimas 2024 (Tahap 2).pptx.pdf
PDF
MAINKAN GAME KESUKAN KALIAN DI TANGKI 4D DI JAMIN WD DAN CLIAM BONUSNYA
PPTX
MAINTENACE KNOWLEDGE_SHARING_ALL NEW.pptx
PDF
03. Konsep Dasar.. Sanimas Rev.1.pptx.pdf
PPTX
7-presentasi-pk-metrologi-141030010022-conversion-gate01.pptx
PPTX
4. PENERAPAN PENGELOLAAN SUMBER DAYA MANUSIA.pptx
PPT
variabel valve timing intelligence untuk xenia
PPTX
PPT Mitigasi Banjir dnajsndj;asjdkaskldhjkash
PDF
Peraturan menteri perhubungan_63_TAHUN_2019.pdf
Metode Penanggulangan Kehilangan Air dan Strategi Pengendalian Kehilangan Air...
20240805-ppt-pendahuluan-temef-dan-manikin.pptx
electronic fuel injection for automotive sectors
TOPOLOGI JARINGAN STAR TEKNIK INFORMATIKA
1 Peraturan Perundangan terkait Keselamatan Konstruksi 18.10 - Copy.pptx
Sistem Manajemen Mutu Quality Management System
Seminar Hasil Penelitian Analisis Pegas Daun
Ilmu Geologi pertambangan dan peran dalam industri.pptx
Penanganan motor starter pada dunia otomotif
PEMBUATAN PANEL TRAINER DAN PROTOTYPE UNTUK PENINGKATAN KOMPETENSI TENTANG S...
Electronic Fuel Injection dengan menggunakan Scantool
07. Mekanisme Penyusunan RKM_Sanimas 2024 (Tahap 2).pptx.pdf
MAINKAN GAME KESUKAN KALIAN DI TANGKI 4D DI JAMIN WD DAN CLIAM BONUSNYA
MAINTENACE KNOWLEDGE_SHARING_ALL NEW.pptx
03. Konsep Dasar.. Sanimas Rev.1.pptx.pdf
7-presentasi-pk-metrologi-141030010022-conversion-gate01.pptx
4. PENERAPAN PENGELOLAAN SUMBER DAYA MANUSIA.pptx
variabel valve timing intelligence untuk xenia
PPT Mitigasi Banjir dnajsndj;asjdkaskldhjkash
Peraturan menteri perhubungan_63_TAHUN_2019.pdf

12.algoritma kriptografi modern (bagian 1)xx

  • 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