SlideShare a Scribd company logo
1 of 11
Algoritma Kriptografi Moder


                            Bahan Kuliah ke-8

                            IF5054 Kriptografi



               Algoritma Kriptografi Modern




                               Disusun oleh:

                         Ir. Rinaldi Munir, M.T.




              Departemen Teknik Informatika
                Institut Teknologi Bandung
                            2004


Rinaldi Munir – IF5054 Kriptografi                                           1
Algoritma Kriptografi Moder


        8. Algoritma Kriptografi Modern

8.1 Pendahuluan

   • 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.

   • Perkembangan algoritma kriptografi modern berbasis bit
     didorong oleh penggunaan komputer digital yang
     merepresentasikan data dalam bentuk biner.
Rinaldi Munir – IF5054 Kriptografi                                      2
Algoritma Kriptografi Moder


    • Diagram blok kriptografi modern (Gambar 8.1)

                                                             S e c u r e N e tw o r k P r o to c o ls




                                                     D a ta                                                                              N on-
               C o n fid e n t ia lit y                                             A u t h e n tic a t io n
                                                 I n te g r it y                                                                    R e p u d ia tio n




                                              M ACs                                C h a lle n g e                     S m a rt                    D ig it a l
                  E n c r y p tio n
                                               M IC s                             R esponses                           C a rd s                 S ig n a tu r e s




        S y m m e t r ic K e y              M essage                                                      S e c re t                        P u b lic K e y
                                                                       IV s        N onces
         C ry p to g ra p h y                 D ig e s t                                                   K eys                          C ry p to g ra p h y




   B lo c k                    S tre a m       H ash                       Pseudo                        R andom                  E llip t ic                        DH
  C ip h e r                   C ip h e r   F u n c tio n                 R andom                         S o u rc e              C u rv e                          R SA




                            Gambar 8.1 Diagram blok kriptografi modern


8.2 Rangkaian bit

    • Rangkaian bit yang dipecah menjadi blok-blok bit dapat
      ditulis dalam sejumlah cara bergantung pada panjang blok.

               Contoh: Plainteks 100111010110 dibagi menjadi blok bit
               yang panjangnya 4 menjadi

                               1001         1101                     0110

               Setiap blok menyatakan bilangan dari 0 sampai 15, yaitu

                               9            13                        6

Rinaldi Munir – IF5054 Kriptografi                                                                                                                                         3
Algoritma Kriptografi Moder



      Bila plainteks dibagi menjadi blok-blok berukuran 3 bit:

             100         111     010     110

      maka setiap blok menyatakan bilangan dari 0 sampai 7, yaitu

             4            7          2    6


   • Bila panjang rangkaian bit tidak habis dibagi dengan ukuran
     blok yang ditetapkan, maka blok yang terakhir ditambah
     dengan bit-bit semu yang disebut padding bits.
     Misalnya rangkaian bit di atas dibagi menjadi blok 5-bit
     menjadi

             10011        10101 00010

      Blok yang terakhir telah ditambahkan 3 bit 0 di bagian awal
      (dicetak tebal) agar ukurannya menjadi 5 bit. Padding bits
      dapat mengakibatkan ukuran plainteks hasil dekripsi lebih
      besar daripada ukuran plainteks semula.

   • Cara lain untuk menyatakan rangkaian bit adalah dengan
     notasi heksadesimal (HEX). Rangkaian bit dibagi menjadi
     blok yang berukuran 4 bit dengan representasi dalam HEX
     adalah:

      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



Rinaldi Munir – IF5054 Kriptografi                                           4
Algoritma Kriptografi Moder



      Misalnya, plainteks 100111010110 dibagi menjadi blok
      bit yang panjangnya 4 menjadi

             1001       1101         0110

      yang dalam notasi HEX adalah

             9 D 6


8.4 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=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
Rinaldi Munir – IF5054 Kriptografi                                        5
Algoritma Kriptografi Moder


             1 + 1 (mod 2) = 0

   • Misalkan a, b, dan c adalah peubah 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)

   • 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

   • Algoritma enkripsi sederhana yang menggunakan XOR
     adalah dengan meng-XOR-kan plainteks (P) dengan kunci
     (K) menghasilkan cipherteks:

                    C= P⊕K                                      (8.1)

      Karena meng-XOR-kan nilai yang sama dua kali berturut-
      turut menghasilkan nilai semula, maka dekripsi
      menggunakan persamaan:

                    P=C⊕K                                       (8.2)


Rinaldi Munir – IF5054 Kriptografi                                           6
Algoritma Kriptografi Moder




        Contoh:       plainteks      01100101          (karakter ‘e’)
                      kunci          00110101 ⊕        (karakter ‘5’)

                      cipherteks     01010000          (karakter ‘P’)
                      kunci          00110101 ⊕        (karakter ‘5’)

                      plainteks      01100101          (karakter ‘e’)


    •         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       /* Dekripsi berkas teks dengan
   algoritma XOR sederhana.             algoritma XOR sederhana.
   Berkas plainteks: plain.txt          Berkas plainteks: cipher.txt
   Berkas cipherteks: cipher.txt        Berkas cipherteks: plain2.txt
*/                                   */

#include <stdio.h>                   #include <stdio.h>

main()                               main()
{                                    {
  FILE *Fin, *Fout;                    FILE *Fin, *Fout;
  char P, C, K[20];                    char P, C, K[20];
  int n, i;                            int n, i;

 Fin = fopen("plain.txt", "r");       Fin = fopen("cipher.txt", "r");
 Fout = fopen("cipher.txt", "w");     Fout = fopen("plain2.txt", "w");

 printf("Kata kunci : "); gets(K);    printf("Kata kunci : "); gets(K);
 n = strlen(K); /*panjang kunci*/     n = strlen(K); /*panjang kunci*/
 i = 0;                               i = 0;
 while ((P = getc(Fin)) != EOF)       while ((C = getc(Fout)) != EOF)
 {                                    {
   C = P ^ K[i]; /* operasi XOR */      P = C ^ K[i]; /* operasi XOR */
   putc(C, Fout);                       putc(P, Fout );
   i++; if (i > n-1) i = 0;             i++; if (i > n-1) i = 0;
 }                                    }
 fclose(Fin);                           fclose(Fin);
 fclose(Fout);                        fclose(Fout);
}                                    }



Rinaldi Munir – IF5054 Kriptografi                                         7
Algoritma Kriptografi Moder


       enk_xor.c                                dek_xor.c


Contoh hasil eksekusi program (Kata kunci: ganesha):
               ¤@ES28E
88E8   ¤                              78  Sµµ   S8§
µH¤b   A                              ¤ HIS§¤
8H     A
µ S          ¤K


SA8
G(:'y88N-GPYE
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.

            A¤o8
µH¤KS=8bEAYA8FA.¤plain.txt                             cipher.txt


   •       Program komersil yang berbasis DOS atau Macintosh
           menggunakan algoritma XOR sederhana ini.

   •       Sayangnya, algoritma XOR sederhana tidak aman karena
           cipherteksnya mudah dipecahkan.

           Cara memecahkannya adalah sebagai berikut (asumsi:
           panjang kunci adalah sejumlah kecil byte):
           1. 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.
Rinaldi Munir – IF5054 Kriptografi                                         8
Algoritma Kriptografi Moder




         2. 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.


§99Sµµ
      ¤G¤
µH




Rinaldi Munir – IF5054 Kriptografi                                      9
Algoritma Kriptografi Moder




         2. 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.


§99Sµµ
      ¤G¤
µH




Rinaldi Munir – IF5054 Kriptografi                                      9
Algoritma Kriptografi Moder




         2. 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.


§99Sµµ
      ¤G¤
µH




Rinaldi Munir – IF5054 Kriptografi                                      9

More Related Content

What's hot

ARSITEKTUR MODEL BASIS DATA
ARSITEKTUR MODEL BASIS DATAARSITEKTUR MODEL BASIS DATA
ARSITEKTUR MODEL BASIS DATAEDIS BLOG
 
Data Base Tiket Pesawat
Data Base Tiket PesawatData Base Tiket Pesawat
Data Base Tiket Pesawatnaufals11
 
Modul rekayasa-perangkat-lunak
Modul rekayasa-perangkat-lunakModul rekayasa-perangkat-lunak
Modul rekayasa-perangkat-lunakNita Resta Dewi
 
Proposal pembuatan aplikasi
Proposal pembuatan aplikasiProposal pembuatan aplikasi
Proposal pembuatan aplikasiHIMATIF UIN SGD
 
PowerPoint entity relationship diagram
PowerPoint entity relationship diagramPowerPoint entity relationship diagram
PowerPoint entity relationship diagramuun setiawati
 
Circular linked list
Circular linked listCircular linked list
Circular linked listLaxer Pratama
 
6 Algoritma Pengurutan Data
6 Algoritma Pengurutan Data6 Algoritma Pengurutan Data
6 Algoritma Pengurutan DataSimon Patabang
 
Pemodelan berorientasi objek
Pemodelan berorientasi objekPemodelan berorientasi objek
Pemodelan berorientasi objekAdhikara Asmoro
 
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 modern
Kriptografi modernKriptografi modern
Kriptografi modernniizarch
 
Srs 4-spesifikasi kebutuhan-perangkat_lunak_aplikasi_rek
Srs 4-spesifikasi kebutuhan-perangkat_lunak_aplikasi_rekSrs 4-spesifikasi kebutuhan-perangkat_lunak_aplikasi_rek
Srs 4-spesifikasi kebutuhan-perangkat_lunak_aplikasi_rekFajar Baskoro
 
Organisasi Arsitektur komputer
Organisasi Arsitektur komputer Organisasi Arsitektur komputer
Organisasi Arsitektur komputer ch1f1
 
Laporan Praktikum Algoritma Pemrograman Modul V-Menghitung Median
Laporan Praktikum Algoritma Pemrograman Modul V-Menghitung MedianLaporan Praktikum Algoritma Pemrograman Modul V-Menghitung Median
Laporan Praktikum Algoritma Pemrograman Modul V-Menghitung MedianShofura Kamal
 

What's hot (20)

Struktur Data Tree
Struktur Data TreeStruktur Data Tree
Struktur Data Tree
 
ARSITEKTUR MODEL BASIS DATA
ARSITEKTUR MODEL BASIS DATAARSITEKTUR MODEL BASIS DATA
ARSITEKTUR MODEL BASIS DATA
 
Data Base Tiket Pesawat
Data Base Tiket PesawatData Base Tiket Pesawat
Data Base Tiket Pesawat
 
Modul rekayasa-perangkat-lunak
Modul rekayasa-perangkat-lunakModul rekayasa-perangkat-lunak
Modul rekayasa-perangkat-lunak
 
Makalah jaringan lan komputer
Makalah jaringan lan komputerMakalah jaringan lan komputer
Makalah jaringan lan komputer
 
Proposal pembuatan aplikasi
Proposal pembuatan aplikasiProposal pembuatan aplikasi
Proposal pembuatan aplikasi
 
modul algoritma Bab 1
modul algoritma Bab 1modul algoritma Bab 1
modul algoritma Bab 1
 
PowerPoint entity relationship diagram
PowerPoint entity relationship diagramPowerPoint entity relationship diagram
PowerPoint entity relationship diagram
 
Circular linked list
Circular linked listCircular linked list
Circular linked list
 
Bahasa Regular - P3
Bahasa Regular - P3Bahasa Regular - P3
Bahasa Regular - P3
 
6 Algoritma Pengurutan Data
6 Algoritma Pengurutan Data6 Algoritma Pengurutan Data
6 Algoritma Pengurutan Data
 
Pemodelan berorientasi objek
Pemodelan berorientasi objekPemodelan berorientasi objek
Pemodelan berorientasi objek
 
Kriptograf - Algoritma Kriptografi Klasik (bagian 1)
Kriptograf - Algoritma Kriptografi Klasik (bagian 1)Kriptograf - Algoritma Kriptografi Klasik (bagian 1)
Kriptograf - Algoritma Kriptografi Klasik (bagian 1)
 
SRS Klinik
SRS KlinikSRS Klinik
SRS Klinik
 
Tugas imk hta
Tugas imk htaTugas imk hta
Tugas imk hta
 
Kriptografi modern
Kriptografi modernKriptografi modern
Kriptografi modern
 
Srs 4-spesifikasi kebutuhan-perangkat_lunak_aplikasi_rek
Srs 4-spesifikasi kebutuhan-perangkat_lunak_aplikasi_rekSrs 4-spesifikasi kebutuhan-perangkat_lunak_aplikasi_rek
Srs 4-spesifikasi kebutuhan-perangkat_lunak_aplikasi_rek
 
Array dan Contoh
Array dan ContohArray dan Contoh
Array dan Contoh
 
Organisasi Arsitektur komputer
Organisasi Arsitektur komputer Organisasi Arsitektur komputer
Organisasi Arsitektur komputer
 
Laporan Praktikum Algoritma Pemrograman Modul V-Menghitung Median
Laporan Praktikum Algoritma Pemrograman Modul V-Menghitung MedianLaporan Praktikum Algoritma Pemrograman Modul V-Menghitung Median
Laporan Praktikum Algoritma Pemrograman Modul V-Menghitung Median
 

Viewers also liked

5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar KriptografiRoziq Bahtiar
 
Kriptografi - Algoritma Kriptografi Modern
Kriptografi - Algoritma Kriptografi ModernKriptografi - Algoritma Kriptografi Modern
Kriptografi - Algoritma Kriptografi ModernKuliahKita
 
Metode enkripsi caesar cipher
Metode enkripsi caesar cipherMetode enkripsi caesar cipher
Metode enkripsi caesar cipherBobby Chandra
 
Caesar cipher adalah algoritma cipher
Caesar cipher adalah algoritma cipherCaesar cipher adalah algoritma cipher
Caesar cipher adalah algoritma cipherHelmaKurniasari
 
CSS Eksperimen - 05-2 Popup Menu
CSS Eksperimen - 05-2 Popup MenuCSS Eksperimen - 05-2 Popup Menu
CSS Eksperimen - 05-2 Popup MenuKuliahKita
 
Tandatangan digital PTI UNESA
Tandatangan digital PTI UNESATandatangan digital PTI UNESA
Tandatangan digital PTI UNESABiyan Biyan
 
Penerapan teori bilangan pada kriptografi rsa
Penerapan teori bilangan pada kriptografi rsaPenerapan teori bilangan pada kriptografi rsa
Penerapan teori bilangan pada kriptografi rsanafis_apis
 
Kriptografi - Secure Hash Algorithm (SHA)
Kriptografi - Secure Hash Algorithm (SHA)Kriptografi - Secure Hash Algorithm (SHA)
Kriptografi - Secure Hash Algorithm (SHA)KuliahKita
 
Kriptografi - Algoritma Kriptografi Klasik (bagian 2)
Kriptografi - Algoritma Kriptografi Klasik (bagian 2)Kriptografi - Algoritma Kriptografi Klasik (bagian 2)
Kriptografi - Algoritma Kriptografi Klasik (bagian 2)KuliahKita
 
Pemrograman C++ - Angka
Pemrograman C++ - AngkaPemrograman C++ - Angka
Pemrograman C++ - AngkaKuliahKita
 

Viewers also liked (20)

5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi
 
Kriptografi - Algoritma Kriptografi Modern
Kriptografi - Algoritma Kriptografi ModernKriptografi - Algoritma Kriptografi Modern
Kriptografi - Algoritma Kriptografi Modern
 
Metode enkripsi caesar cipher
Metode enkripsi caesar cipherMetode enkripsi caesar cipher
Metode enkripsi caesar cipher
 
Caesar cipher adalah algoritma cipher
Caesar cipher adalah algoritma cipherCaesar cipher adalah algoritma cipher
Caesar cipher adalah algoritma cipher
 
12.algoritma kriptografi modern (bagian 1)xx
12.algoritma kriptografi modern (bagian 1)xx12.algoritma kriptografi modern (bagian 1)xx
12.algoritma kriptografi modern (bagian 1)xx
 
13.algoritma kriptografi modern (bagian 2)
13.algoritma kriptografi modern (bagian 2)13.algoritma kriptografi modern (bagian 2)
13.algoritma kriptografi modern (bagian 2)
 
CSS Eksperimen - 05-2 Popup Menu
CSS Eksperimen - 05-2 Popup MenuCSS Eksperimen - 05-2 Popup Menu
CSS Eksperimen - 05-2 Popup Menu
 
6 algoritma kriptografi modern
6 algoritma kriptografi modern6 algoritma kriptografi modern
6 algoritma kriptografi modern
 
14.algoritma kriptografi modern (bagian 3)
14.algoritma kriptografi modern (bagian 3)14.algoritma kriptografi modern (bagian 3)
14.algoritma kriptografi modern (bagian 3)
 
15.algoritma kriptografi modern (bagian 4)
15.algoritma kriptografi modern (bagian 4)15.algoritma kriptografi modern (bagian 4)
15.algoritma kriptografi modern (bagian 4)
 
Tandatangan digital PTI UNESA
Tandatangan digital PTI UNESATandatangan digital PTI UNESA
Tandatangan digital PTI UNESA
 
Penerapan teori bilangan pada kriptografi rsa
Penerapan teori bilangan pada kriptografi rsaPenerapan teori bilangan pada kriptografi rsa
Penerapan teori bilangan pada kriptografi rsa
 
Fungsi hash
Fungsi hashFungsi hash
Fungsi hash
 
27.tandatangan digital
27.tandatangan digital27.tandatangan digital
27.tandatangan digital
 
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
 
rc4 dan a5
rc4 dan a5rc4 dan a5
rc4 dan a5
 
Kriptografi - Secure Hash Algorithm (SHA)
Kriptografi - Secure Hash Algorithm (SHA)Kriptografi - Secure Hash Algorithm (SHA)
Kriptografi - Secure Hash Algorithm (SHA)
 
Kriptografi - Algoritma Kriptografi Klasik (bagian 2)
Kriptografi - Algoritma Kriptografi Klasik (bagian 2)Kriptografi - Algoritma Kriptografi Klasik (bagian 2)
Kriptografi - Algoritma Kriptografi Klasik (bagian 2)
 
Pemrograman C++ - Angka
Pemrograman C++ - AngkaPemrograman C++ - Angka
Pemrograman C++ - Angka
 

Similar to Algoritma kriptografi modern

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-2Sunyo Andriyanto
 
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
 
Kriptografi - Stream Cipher
Kriptografi - Stream CipherKriptografi - Stream Cipher
Kriptografi - Stream CipherKuliahKita
 
Kriptografi - Block Cipher dan CBC
Kriptografi - Block Cipher dan CBCKriptografi - Block Cipher dan CBC
Kriptografi - Block Cipher dan CBCKuliahKita
 
Modul 2 kb 1 elektronika digital final
Modul 2 kb 1 elektronika digital finalModul 2 kb 1 elektronika digital final
Modul 2 kb 1 elektronika digital finalPPGHybrid2
 
Kriptografi - Cipher Feedback
Kriptografi - Cipher FeedbackKriptografi - Cipher Feedback
Kriptografi - Cipher FeedbackKuliahKita
 
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
 
Nota ulangkaji mte3114 topik 3
Nota ulangkaji mte3114   topik 3Nota ulangkaji mte3114   topik 3
Nota ulangkaji mte3114 topik 3LeeChing Tan
 
Sistem Bilangan (modul 1)
Sistem Bilangan (modul 1)Sistem Bilangan (modul 1)
Sistem Bilangan (modul 1)Raflyzon Lie
 
Kriptografi - Data Encryption Standard
Kriptografi - Data Encryption StandardKriptografi - Data Encryption Standard
Kriptografi - Data Encryption StandardKuliahKita
 
Kriptografi modern
Kriptografi modernKriptografi modern
Kriptografi modernlikut101010
 

Similar to Algoritma kriptografi modern (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
 
20111221 algoritma kriptografimodern-part1-1-2
20111221 algoritma kriptografimodern-part1-1-220111221 algoritma kriptografimodern-part1-1-2
20111221 algoritma kriptografimodern-part1-1-2
 
Ns 3
Ns 3Ns 3
Ns 3
 
KRIPTOGRAFI MODERN SIMESTIS.docx
KRIPTOGRAFI MODERN SIMESTIS.docxKRIPTOGRAFI MODERN SIMESTIS.docx
KRIPTOGRAFI MODERN SIMESTIS.docx
 
Kriptografi - Stream Cipher
Kriptografi - Stream CipherKriptografi - Stream Cipher
Kriptografi - Stream Cipher
 
Tugas b log
Tugas b logTugas b log
Tugas b log
 
Kriptografi - Block Cipher dan CBC
Kriptografi - Block Cipher dan CBCKriptografi - Block Cipher dan CBC
Kriptografi - Block Cipher dan CBC
 
10.steganografi xx
10.steganografi xx10.steganografi xx
10.steganografi xx
 
Modul 2 kb 1 elektronika digital final
Modul 2 kb 1 elektronika digital finalModul 2 kb 1 elektronika digital final
Modul 2 kb 1 elektronika digital final
 
XOR Logic gate
XOR Logic gateXOR Logic gate
XOR Logic gate
 
Kriptografi - Cipher Feedback
Kriptografi - Cipher FeedbackKriptografi - Cipher Feedback
Kriptografi - Cipher Feedback
 
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...
 
Nota ulangkaji mte3114 topik 3
Nota ulangkaji mte3114   topik 3Nota ulangkaji mte3114   topik 3
Nota ulangkaji mte3114 topik 3
 
RL_20110921
RL_20110921RL_20110921
RL_20110921
 
31.pembangkit bilangan acak semu (bagian 1)
31.pembangkit bilangan acak semu (bagian 1)31.pembangkit bilangan acak semu (bagian 1)
31.pembangkit bilangan acak semu (bagian 1)
 
Sistem Bilangan (modul 1)
Sistem Bilangan (modul 1)Sistem Bilangan (modul 1)
Sistem Bilangan (modul 1)
 
Kriptografi - Data Encryption Standard
Kriptografi - Data Encryption StandardKriptografi - Data Encryption Standard
Kriptografi - Data Encryption Standard
 
Kriptografi modern
Kriptografi modernKriptografi modern
Kriptografi modern
 
Kriptografi
KriptografiKriptografi
Kriptografi
 

Algoritma kriptografi modern

  • 1. Algoritma Kriptografi Moder Bahan Kuliah ke-8 IF5054 Kriptografi Algoritma Kriptografi Modern Disusun oleh: Ir. Rinaldi Munir, M.T. Departemen Teknik Informatika Institut Teknologi Bandung 2004 Rinaldi Munir – IF5054 Kriptografi 1
  • 2. Algoritma Kriptografi Moder 8. Algoritma Kriptografi Modern 8.1 Pendahuluan • 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. • Perkembangan algoritma kriptografi modern berbasis bit didorong oleh penggunaan komputer digital yang merepresentasikan data dalam bentuk biner. Rinaldi Munir – IF5054 Kriptografi 2
  • 3. Algoritma Kriptografi Moder • Diagram blok kriptografi modern (Gambar 8.1) S e c u r e N e tw o r k P r o to c o ls D a ta N on- C o n fid e n t ia lit y A u t h e n tic a t io n I n te g r it y R e p u d ia tio n M ACs C h a lle n g e S m a rt D ig it a l E n c r y p tio n M IC s R esponses C a rd s S ig n a tu r e s S y m m e t r ic K e y M essage S e c re t P u b lic K e y IV s N onces C ry p to g ra p h y D ig e s t K eys C ry p to g ra p h y B lo c k S tre a m H ash Pseudo R andom E llip t ic DH C ip h e r C ip h e r F u n c tio n R andom S o u rc e C u rv e R SA Gambar 8.1 Diagram blok kriptografi modern 8.2 Rangkaian bit • Rangkaian bit yang dipecah menjadi blok-blok bit dapat ditulis dalam sejumlah cara bergantung pada panjang blok. Contoh: Plainteks 100111010110 dibagi menjadi blok bit yang panjangnya 4 menjadi 1001 1101 0110 Setiap blok menyatakan bilangan dari 0 sampai 15, yaitu 9 13 6 Rinaldi Munir – IF5054 Kriptografi 3
  • 4. Algoritma Kriptografi Moder Bila plainteks dibagi menjadi blok-blok berukuran 3 bit: 100 111 010 110 maka setiap blok menyatakan bilangan dari 0 sampai 7, yaitu 4 7 2 6 • Bila panjang rangkaian bit tidak habis dibagi dengan ukuran blok yang ditetapkan, maka blok yang terakhir ditambah dengan bit-bit semu yang disebut padding bits. Misalnya rangkaian bit di atas dibagi menjadi blok 5-bit menjadi 10011 10101 00010 Blok yang terakhir telah ditambahkan 3 bit 0 di bagian awal (dicetak tebal) agar ukurannya menjadi 5 bit. Padding bits dapat mengakibatkan ukuran plainteks hasil dekripsi lebih besar daripada ukuran plainteks semula. • Cara lain untuk menyatakan rangkaian bit adalah dengan notasi heksadesimal (HEX). Rangkaian bit dibagi menjadi blok yang berukuran 4 bit dengan representasi dalam HEX adalah: 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 Rinaldi Munir – IF5054 Kriptografi 4
  • 5. Algoritma Kriptografi Moder Misalnya, plainteks 100111010110 dibagi menjadi blok bit yang panjangnya 4 menjadi 1001 1101 0110 yang dalam notasi HEX adalah 9 D 6 8.4 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=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 Rinaldi Munir – IF5054 Kriptografi 5
  • 6. Algoritma Kriptografi Moder 1 + 1 (mod 2) = 0 • Misalkan a, b, dan c adalah peubah 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) • 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 • Algoritma enkripsi sederhana yang menggunakan XOR adalah dengan meng-XOR-kan plainteks (P) dengan kunci (K) menghasilkan cipherteks: C= P⊕K (8.1) Karena meng-XOR-kan nilai yang sama dua kali berturut- turut menghasilkan nilai semula, maka dekripsi menggunakan persamaan: P=C⊕K (8.2) Rinaldi Munir – IF5054 Kriptografi 6
  • 7. Algoritma Kriptografi Moder Contoh: plainteks 01100101 (karakter ‘e’) kunci 00110101 ⊕ (karakter ‘5’) cipherteks 01010000 (karakter ‘P’) kunci 00110101 ⊕ (karakter ‘5’) plainteks 01100101 (karakter ‘e’) • 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 /* Dekripsi berkas teks dengan algoritma XOR sederhana. algoritma XOR sederhana. Berkas plainteks: plain.txt Berkas plainteks: cipher.txt Berkas cipherteks: cipher.txt Berkas cipherteks: plain2.txt */ */ #include <stdio.h> #include <stdio.h> main() main() { { FILE *Fin, *Fout; FILE *Fin, *Fout; char P, C, K[20]; char P, C, K[20]; int n, i; int n, i; Fin = fopen("plain.txt", "r"); Fin = fopen("cipher.txt", "r"); Fout = fopen("cipher.txt", "w"); Fout = fopen("plain2.txt", "w"); printf("Kata kunci : "); gets(K); printf("Kata kunci : "); gets(K); n = strlen(K); /*panjang kunci*/ n = strlen(K); /*panjang kunci*/ i = 0; i = 0; while ((P = getc(Fin)) != EOF) while ((C = getc(Fout)) != EOF) { { C = P ^ K[i]; /* operasi XOR */ P = C ^ K[i]; /* operasi XOR */ putc(C, Fout); putc(P, Fout ); i++; if (i > n-1) i = 0; i++; if (i > n-1) i = 0; } } fclose(Fin); fclose(Fin); fclose(Fout); fclose(Fout); } } Rinaldi Munir – IF5054 Kriptografi 7
  • 8. Algoritma Kriptografi Moder enk_xor.c dek_xor.c Contoh hasil eksekusi program (Kata kunci: ganesha): ¤@ES28E 88E8 ¤ 78 Sµµ S8§ µH¤b A ¤ HIS§¤ 8H A µ S ¤K SA8 G(:'y88N-GPYE 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. A¤o8 µH¤KS=8bEAYA8FA.¤plain.txt cipher.txt • Program komersil yang berbasis DOS atau Macintosh menggunakan algoritma XOR sederhana ini. • Sayangnya, algoritma XOR sederhana tidak aman karena cipherteksnya mudah dipecahkan. Cara memecahkannya adalah sebagai berikut (asumsi: panjang kunci adalah sejumlah kecil byte): 1. 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. Rinaldi Munir – IF5054 Kriptografi 8
  • 9. Algoritma Kriptografi Moder 2. 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. §99Sµµ ¤G¤ µH Rinaldi Munir – IF5054 Kriptografi 9
  • 10. Algoritma Kriptografi Moder 2. 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. §99Sµµ ¤G¤ µH Rinaldi Munir – IF5054 Kriptografi 9
  • 11. Algoritma Kriptografi Moder 2. 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. §99Sµµ ¤G¤ µH Rinaldi Munir – IF5054 Kriptografi 9