• Tidak ada hasil yang ditemukan

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

N/A
N/A
Protected

Academic year: 2021

Membagikan "Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh"

Copied!
206
0
0

Teks penuh

(1)

     

MODUL PERKULIAHAN

   

Kripto

grafi

     

Modul Standar untuk

digunakan dalam Perkuliahan

di Universitas Mercu Buana

 

 

       

  Fakultas  Program Studi  Tatap Muka  Kode MK  Disusun Oleh   

  Ilmu Komputer Teknik Informatika

01

  Tim Dosen      

 

         

Teori-teori dan fungsi-fungsi yang ada dalam Power Poingt 2010

 

Mahasiswa memahami teori serta fungsi2 / short key yang ada

Mahasiswa yang awam sekalipun akan mampu untuk membuat slide persentasi melakukan aktifitas yang berhubungan dengan word processor, khususnya MS.Word 2010.

(2)

Pendahuluan 

Algoritma kriptografi klasik berbasis karakter   • Menggunakan pena dan kertas saja, belum ada komputer   • Termasuk ke dalam kriptografi kunci‐simetri   • Tiga alasan mempelajari algoritma klasik:   1. Memahami konsep dasar kriptografi.   2. Dasar algoritma kriptografi modern.   3. Memahami kelemahan sistem cipher  Algoritma kriptografi klasik:   1. Cipher Substitusi (Substitution Ciphers)   2.Cipher Transposisi (Transposition Ciphers)   

Algoritma Kriptografi Modern 

 

Pendahuluan 

 

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. 

(3)

‘15

3

Kriptografi Pusat Bahan Ajar dan eLearning   Tim Dosen http://www.mercubuana.ac.id

 

 

Secure Network Protocols

Block Cipher Stream Cipher Hash Function Pseudo Random Random Source Elliptic Curve DH RSA Symmetric Key Cryptography Message

Digest IVs Nonces

Secret Keys Public Key Cryptography Encryption MACs MICs Challenge Responses Smart Cards Digital Signatures Confidentiality Data Integrity Authentication Non-Repudiation

 

 

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 

 

(4)

1001 1101 0110

 

Setiap blok menyatakan bilangan dari 

0

 sampai 

15

, yaitu 

 

 

9

13

6

 

 

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

 

(5)

‘15

5

Kriptografi Pusat Bahan Ajar dan eLearning   Tim Dosen http://www.mercubuana.ac.id

 

(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

Misalnya, plainteks 

100111010110

 dibagi menjadi blok bit 

yang panjangnya 4 menjadi 

 

1001 1101 0110

 

yang dalam notasi HEX adalah

9 D 6

(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

1 + 1 (mod 2) = 0

Misalkan

a

,

b

, dan

c

adalah peubah Boolean. Hukum-hukum

yang terkait dengan operator XOR:

(7)

‘15

7

Kriptografi Pusat Bahan Ajar dan eLearning   Tim Dosen http://www.mercubuana.ac.id

 

(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:

(8)

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 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);

/* 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; }

(9)

‘15

9

Kriptografi Pusat Bahan Ajar dan eLearning   Tim Dosen http://www.mercubuana.ac.id

 

enk_xor.c

dek_xor.c

Contoh hasil eksekusi program (Kata kunci:

ganesha

):

Pa da wi su da sa rj an a ba ru , te rn ya ta ad a se or an g wi su da wa n ya ng pa li ng mu da . Um ur ny a ba ru 21 ta hu n. In i be ra 79 S S9 H IS Ao9 99S G H HKS=9b EAYA9FA.E SA 9

G(:'y9 9N-GPYE @ES29

99E9 H b A 9H A S K

(10)

rt i di a ma su k IT B pa da um ur 17 ta hu n. Za ma n se ka ra ng ba ny ak sa rj an a ma si h be ru si a mu da be li a.

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.

(11)

‘15

11

Kriptografi Pusat Bahan Ajar dan eLearning   Tim Dosen http://www.mercubuana.ac.id

 

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.

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.

 

Referensi : 

http://www.slideshare.net/kyucute/kriptografi‐42572702 

Ir. Rinaldi Munir, M.T. 

 

(12)

     

MODUL PERKULIAHAN

   

Kripto

grafi

     

Modul Standar untuk

digunakan dalam Perkuliahan

di Universitas Mercu Buana

 

 

       

  Fakultas  Program Studi  Tatap Muka  Kode MK  Disusun Oleh   

  Ilmu Komputer Teknik Informatika

01

  Tim Dosen      

 

         

Teori-teori dan fungsi-fungsi yang ada dalam Power Poingt 2010

 

Mahasiswa memahami teori serta fungsi2 / short key yang ada

Mahasiswa yang awam sekalipun akan mampu untuk membuat slide persentasi melakukan aktifitas yang berhubungan dengan word processor, khususnya MS.Word 2010.

(13)

‘15

2

Kriptografi Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id   Algoritma kriptografi klasik berbasis karakter   • Menggunakan pena dan kertas saja, belum ada komputer   • Termasuk ke dalam kriptografi kunci‐simetri   • Tiga alasan mempelajari algoritma klasik:   1. Memahami konsep dasar kriptografi.   2. Dasar algoritma kriptografi modern.   3. Memahami kelemahan sistem cipher  Algoritma kriptografi klasik:   1. Cipher Substitusi (Substitution Ciphers)   2.Cipher Transposisi (Transposition Ciphers)   

Algoritma Kriptografi Modern 

 

Pendahuluan 

 

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. 

(14)

Diagram blok kriptografi modern (Gambar 8.1) 

 

Secure Network Protocols

Block Cipher Stream Cipher Hash Function Pseudo Random Random Source Elliptic Curve DH RSA Symmetric Key Cryptography Message

Digest IVs Nonces

Secret Keys Public Key Cryptography Encryption MACs MICs Challenge Responses Smart Cards Digital Signatures Confidentiality Data Integrity Authentication Non-Repudiation

 

 

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 

 

(15)

‘15

4

Kriptografi Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id  

 

Setiap blok menyatakan bilangan dari 

0

 sampai 

15

, yaitu 

 

 

9

13

6

 

 

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

 

(16)

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

Misalnya, plainteks 

100111010110

 dibagi menjadi blok bit 

yang panjangnya 4 menjadi 

 

1001 1101 0110

 

yang dalam notasi HEX adalah

(17)

‘15

6

Kriptografi Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id  

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 peubah Boolean. Hukum-hukum

yang terkait dengan operator XOR:

(18)

(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:

(19)

‘15

8

Kriptografi Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id  

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 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);

/* 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; }

(20)

fclose(Fout); }

fclose(Fout); }

enk_xor.c

dek_xor.c

Contoh hasil eksekusi program (Kata kunci:

ganesha

):

Pa da wi su da sa rj an a ba ru , te rn ya ta ad a se or an g wi su da wa n ya ng pa li ng mu da . Um ur ny a ba ru 21 ta hu n. In i be ra 79 S S9 H IS Ao9 99S G H HKS=9b EAYA9FA.E SA 9

G(:'y9 9N-GPYE @ES29

99E9 H b A 9H A S K

(21)

‘15

10

Kriptografi Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id   di a ma su k IT B pa da um ur 17 ta hu n. Za ma n se ka ra ng ba ny ak sa rj an a ma si h be ru si a mu da be li a.

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.

(22)

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.

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.

 

Referensi : 

http://www.slideshare.net/kyucute/kriptografi‐42572702 

Ir. Rinaldi Munir, M.T. 

 

(23)

     

MODUL PERKULIAHAN

   

Kripto

grafi

     

Modul Standar untuk

digunakan dalam Perkuliahan

di Universitas Mercu Buana

   

       

  Fakultas  Program Studi  Tatap Muka  Kode MK  Disusun Oleh   

  Ilmu Komputer Teknik Informatika

03

  Tim Dosen      

 

             

 

 

 

(24)

Pengertian Enkripsi 

Kalau kamu berbicara tentang enkripsi, ini adalah sebuah metode yang digunakan

untuk mengirim pesan rahasia. Enkripsi memiliki sejarah yang panjang, bermula saat

orang-orang Yunani dan Romawi saling mengirim pesan rahasia.

Mengapa repot-repot melakukan enkripsi?

Sekarang, dan dapat dipastikan kedepannya akan makin bertambah, Anda memiliki

nomor kartu kredit, nomor rekening, dan lain-lain yang bersifat sensitif. Yang

mengatakan bahwa informasi tersebut harus ada di suatu tempat jika tidak anda

tidak akan pernah bisa menggunakannya. Anda dapat menghafal angka, tetapi Anda

tidak dapat mengandalkan memori Anda sebagai satu-satunya sumber untuk

menyimpan angka dalam jumlah banyak.

Dengan menuliskan angka-angka tersebut menimbulkan resiko mereka bisa dibaca

oleh orang lain. Dengan menggunakan enkripsi adalah cara yang efektif. Dengan

cara itu Anda dapat menuliskan data tersebut setelah mengalami pengkodean dan

tidak perlu khawatir apabila orang lain membacanya.

Contoh skema enkripsi umum

Untuk lebih memberikan gambaran tentang pengertian enkripsi, berikut contoh

skema enkripsi paling sederhana yang sudah lama diketahui umum, enkripsi

alphanumeric. enkripsi ini adalah merubah abjad menjadi angka, contoh kata Happy

Birthday diubah menjadi 81161625 29182084125.

Sejarah Singkat Enkripsi

Jaman dahulu orang Yunani menggunakan tool yang disebut Scytale untuk

(25)

‘15

3

Kriptografi Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id  

kertas, menulis pesan dan mengirimkannya.

Metode enkripsi ini sangat mudah dipecahkan, tidak mengherankan karena ini

adalah enkripsi pertama di dunia yang digunakan di dunia nyata.

Julius Caesar menggunakan metode yang agak mirip dengan ini, menggeser setiap

huruf alfabet ke kanan atau ke kiri berdasarkan angka dan posisi. Tekni enkripsi ini

disebut juga Caesar cipher. Sebagai contoh kamu bisa melihat cipher di bawah ini,

ketika ingin menuliskan WINPOIN maka dituliskan ZLQSRLQ.

Plain: ABCDEFGHIJKLMNOPQRSTUVWXYZ Cipher: DEFGHIJKLMNOPQRSTUVWXYZABC

Hanya para penerima pesan memiliki cipher akan tahu maksut pesan tersebut, akan

sulit orang berikutnya untuk memecahkan kode pesan.

Contoh cipher enkripsi sederhana lainnya adalah Polybius

square menggunakan cipher polyalphabetic yang alfabetnya tertulis di setiap sisi

angka.

Dengan menggunakan metode engkripsi di atas, kalau kamu ingin

menuliskanWINPOIN, berarti enrkipsinya adalah 15 34 52 12 53 34 52.

(26)

Kamu udah nonton Imitation Game?? Kamu pasti udah tahu tentang mesin Enigma.

Saat perang dunia ke-2, Jerman menggunakan mesin Enigma untuk bisa lolos dari

transmisi enkripsi bolak balik, butuh waktu bertahun-tahun sebelum Polandia

mampu memecahkan pesan, dan memberikan solusi untuk Sekutu. Membuat mereka

menang dari perang dunia ini.

Sejarah Enkripsi di Era Modern

Hari ini orang orang tidak memiliki metode enkripsi yang baik untuk mengamankan

komunikasi di dunia elektronik.

Lucifer adalah nama yang diberikan beberapa orang block cipher saat awal-awal,

dikembangkan oleh Horst Feistel bersama teman-temannya di IBM.

Data Encryption Standard (DES) adalah sebuah block cipher (bentuk dari enkripsi

rahasia yang dibagikan) dipilih oleh National Bureau of Standards sebagai Federal

Information Processing Standard (FIPS) di Amerika pada tahun 1976 yang kemudian

digunakan secara luas dan mendunia.

(27)

‘15

5

Kriptografi Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id  

membuat peneliti software termotivasi untuk mengusulkan berbagai alternatif desain

dari block cipher, muncul pada akhir tahun 1980an dan awal 1990an. Sebagai contoh

ada RC5, Blowfish, IDEA, NewDES, SAFER, CAST5 dan FEAL.

Algoritma enkripsi Rijndael digunakan oleh pemerintahan Amerika sebagai standar

enkripsi sysmmetric-key, atau Advanced Encryption Standard (AES). AES diumumkan

secara resmi oleh National Institute of Standards and Technology (NIST) sebagai U.S.

FIPS PUB 197 (FIPS 197) pada 26 November 2001, setelah 5 tahun proses standarisasi

dimana ada 15 desain block cipher bersaing untuk terpilih menjadi algoritma enkripsi

yang cocok.

Algoritma Adalah Kekuatan untuk Enkripsi

Banyak algoritma enkripsi yang terkenal dan mereka semua memiliki fungsi yang

berbeda-beda. Mereka memiliki dua karakteristik yaitu mengidentifikasi dan yang

membedakan algoritma enkripsi antara satu dengan yang lain adalah kemampuan

untuk melindungi data dari serangan dan kecepatan dan efisiensi dalam melakukan

enkripsi.

Sebagai contoh yang mudah dipahami adalah perbedaan kecepatan antara berbagai

jenis enkripsi, kamu bisa menggunakan tool benchmarking yang ada di TrueCrypt’s

volume creation wizard. Seperti yang kamu lihat, AES sejauh ini adalah tipe enkripsi

tercepat dan terkuat.

(28)

Ada metode enkripsi yang cepat dan lambat, dan mereka semua memiliki fungsi

yang berbeda. Jika kamu ingin mencoba untuk melakukan dekripsi data kecil, kamu

bisa menggunakan enkripsi yang kuat atau bahkan melakukan enkripsi dua kali

dengan berbagai jenis enkripsi. Kalau kamu butuh sesuatu yang cepat, kamu bisa

menggunakan AES.

Untuk perbandingan atau benchmark tipe enkripsi, kamu bisa melihat Washington

University of St. Louis, dimana kamu bisa melakukan berbagai test pada rutinitas

yang berbeda dan memiliki penjelasan yang sangat geek.

Jenis-Jenis Enkripsi di Era Modern

Semua algoritma enkripsi yang sudah kita bahas tadi sebagian besar menggunakan

dua jenis enkripsi, yaitu:

Algoritma Symmetric key menggunakan kunci enkripsi yang terkait atau identik

untuk enkripsi dan dekripsi.

Algoritma Asymmetric key menggunakan kunci berbeda untuk enkripsi dan

(29)

‘15

7

Kriptografi Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id  

Untuk menjelaskan konsep enkripsi ini, kita akan menggunakan sedikit penjelasan

dariWikipedia untuk memahami bagaimana cara kerja algoritma Symmetric.

Alice menaruh sebuah pesan rahasia di dalam kotak dan mengunci kotak

menggunakan gembok dan ia memiliki kuncinya. Kemudian dia mengirimkan kotak

ke Bob melalui surat biasa. Ketika Bob menerima kotak, ia menggunakan kunci

salinan sama persis yang dimiliki Alice untuk membuka kotak dan membaca pesan.

Bob kemudian dapat menggunakan gembok yang sama untuk membalasa pesan

rahasia.

Dari contoh itu, algoritma sysmmetric-key dapat dibagikan kepada stream cipher dan

block cipher. Stream cipher mengenkripsi satu per satu bit dari pesan, dan block

cipher mengamil beberapa bit, biasanya 64bit dan mengenkripsi mereka menjadi

satu bagian. Ada banyak algoritma berbeda dari symmetric termasuk Twofish,

Serpent, AES (Rijndael), Blowfish, CAST5, RC4, TDES, and IDEA.

Enkripsi Asymmetric key

Pada metode asymmetric key, Bob dan Alice memiliki gembok yang berbeda, bukan

satu gembok dengan beberapa kunci seperti contoh symmetrick key di atas. Tentu

(30)

saja contoh ini lebih sederhana daripada yang seharusnya, tapi sebenarnya jauh lebih

rumit.

Pertama Alice meminta Bob untuk mengirim gembok yang terbuka melalui surat

biasa, sehingga ia tidak membagikan kuncinya. Ketika Alice menerimanya, ia

menggunakannya untuk mengunci sebuah kota yang berisi pesan dan mengirimkan

kotak dengan gembok terkunci tadi ke Bob. Bob kemudian membuka kotak dengan

kunci yang ia pegang karena itu gembok miliknya untuk membaca pesan Alice.

Untuk membalasnya, Bob harus meminta Alice untuk melakukan hal yang sama.

Keuntungan dari metode asymmetric key adalah Bob dan Alice tidak pernah berbagi

kunci mereka. Hal ini untuk mencegah pihak ketiga agar tidak menyalin kunci atau

memata-matai pesan Alice dan Bob. Selain itu, jika Bob ceroboh dan membiarkan

orang lain untuk menyalin kuncinya, pesan Alice ke Bob akan terganggu, namun

pesan Alice kepada orang lain akan tetap menjadi rahasia, karena orang lain akan

memberikan gembok milik mereka ke Alice untuk digunakan.

Enkripsi asymmetric menggunakan kunci yang berbeda untuk enkripsi dan dekripsi.

Penerima pesan memiliki sebuah kunci pribadi dan kunci publik. Kunci publik

(31)

‘15

9

Kriptografi Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id  

pesan enrkipsi yang telah dienkripsi menggunakan kunci publik si penerima.

Ada satu keuntungan melakukan enkripsi dengan menggunakan metode ini. Kita

tidak perlu mengirim sesuatu yang rahasia (seperti kunci enkripsi kita atau password)

melalui saluran yang tidak aman. Kunci publik kamu akan leihat ke dunia dan itu

bukan rahasia. Kunci rahasia kamu akan tetap aman di komputer kamu, dimana itu

tempatnya.

Bagaimana Keamanan Enkripsi di Bidang Web??

Selama bertahun-tahun, protokol SSL (Secure Sockets Layer) telah mengamankan

transaksi web menggunakan enkripsi antara web browser dan web server,

melindungi kamu dari siapa pun yang mengintai kamu.

SSL sendiri memiliki konsep yang sederhana. Dimulai ketika browser meminta

halaman yang aman (biasanya https://).

Web server mengirimkan kunci publik dengan sertifikat.

Browser memeriksa sertifikat yang dikeluarkan oleh pihak terpercaya (biasanya CA),

bahwa sertifikat tersebut masih berlaku dan sertifikat masih berkaitan dengan web

tersebut.

Browser kemudian menggunakan kunci publik untuk mengenkripsi kunci symmetric

secara acak dan mengirimkannya ke server dengan URL terkenkripsi,membutuhkan

juga enkripsi http data.

Web server mendekripsi enkripsi symmetric key menggunakan kunci pribadi dan

menggunakan kunci sysmmetric untuk mendekripsi URL dan http data.

(32)

Web server mengirimkan kembali permintaan dokumen html dan enkripsi http data

dengan browser symmetric key. Browser mendekripsi http data dan dokumen html

mengg unakan symmetric key dan menampilkan informasi.

Perlu pemahaman yang panjang untuk tahu tentang enkripsi dan sedikit cara

kerjanya. Dimulai dari memahami awal mula enkripsi di era Yunani dan Romawi,

kemunculan Lucifer dan sekarang SSL yang menggunakan enkripsi asymmetric dan

symmetric untuk mengamankan kamu dari transaksi apa pun.

 

Referensi : 

http://www.slideshare.net/kyucute/kriptografi‐42572702 

Ir. Rinaldi Munir, M.T. 

http://winpoin.com/winexplain‐apa‐itu‐enkripsi‐dan‐bagaimana‐cara‐kerjanya/ 

 

 

(33)

     

MODUL PERKULIAHAN

   

Kripto

grafi

     

Modul Standar untuk

digunakan dalam Perkuliahan

di Universitas Mercu Buana

 

 

       

  Fakultas  Program Studi  Tatap Muka  Kode MK  Disusun Oleh   

  Ilmu Komputer Teknik Informatika

04

  Tim Dosen      

 

             

 

 

 

(34)

Pembagian Jenis Metode Algoritma Kriptografi 

Berawal dari membaca diskusi menarik di sebuah forum programmer web, kemudian 

muncul kembali di sebuah forum komunitas linux. Saya memposting pernyataan saya 

tentang keheranan saya terhadap orang‐orang yang menyatakan bahwa MD5 bisa di‐

decrypt. Tentunya hanya sebuah status di jejaring sosial Google+. Ternyata postingan 

tersebut mendapat respon ketidak‐setujuan beberapa mahasiswa saya terhadap pernyataan 

saya. Ya sudahlah, tidak apa‐apa, mereka kan belum pernah dapat kuliah keamanan. 

 

Kali ini saya akan sedikit menjelaskan tentang beberapa jenis metode algoritma enkripsi 

atau kriptografi. Setidaknya ada 3 jenis, yakni Symmetric, asymmetric, dan hash function. 

Apa perbedaannya? 

 

Algoritma enkripsi symmetric adalah sebuah algoritma di mana kunci pengaman untuk 

melakukan enkripsi dan dekripsi adalah satu. Kekurangannya adalah, kita tidak bisa 

mengobral kunci pengaman sembarangan. Tapi bagaimanapun, algoritma ini masih dipakai 

untuk memproteksi file yang dikompresi, semisal file zip, karena biasanya orang yang 

menggunakannya sengaja untuk berbagi di internet, tapi tidak ingin mudah dicari oleh 

search engine agar tidak dihapus oleh orang yang melaporkan. 

 

Berbeda dengan metode asymmetric, kunci pengamannya ada 2, yang satu untuk disebar ke 

umum, biasa disebut Public Key, yang satunya dirahasiakan, disebut Private Key. Salah satu 

kelebihannya adalah bisa digunakan untuk tanda tangan digital, juga bisa digunakan untuk 

memastikan bahwa file hanya bisa dibuka oleh orang yang berhak. 

 

Kedua kunci pengaman pada Metode Asymmetric, baik Public Key maupun Private Key bisa 

digunakan untuk mengenkripsi maupun mendekripsi file. Jika enkripsi dilakukan dengan 

menggunakan Public Key, maka dekripsi hanya bisa dilakukan dengan Private Key, begitu 

pula sebaliknya, jika enkripsi dilakukan dengan Private Key, maka hanya bisa dibuka dengan 

Public Key. 

 

Sebagai contoh kasus dalam Metode Asymmetric, saya akan menggambarkan pengiriman 

data, dari A ke B. Kasus pertama sebagai tanda tangan digital. Maka, A akan mengenkripsi 

(35)

‘15

3

Kriptografi Pusat Bahan Ajar dan eLearning   Tim Dosen http://www.mercubuana.ac.id  

membukanya dengan Public Key A. Jika bisa dibuka, maka bisa dipastikan itu dari A. 

 

Adapun penggunaan enkripsi untuk memastikan yang menerima B, maka A akan 

mengenkripsi dengan Public Key B. Setelah itu, baru B akan membukanya dengan Private 

Key B. 

 

Apabila kedua permasalahan di atas digabung, yakni agar pesan dari A ke B bisa dipastikan 

dari A dan bahwa hanya B yang bisa membaca pesan, maka pesan bisa dienkripsi dengan 

Private Key A terlebih dahulu, baru kemudian dienkripsi dengan Public Key B. Setelah B 

menerima, maka B akan membukanya dengan Private Key B terlebih dahulu, kemudian 

mendekripnya lagi dengan Public Key A. 

 

Namun, Metode Asymmetric ini jarang digunakan untuk umum, kecuali dalam kasus 

perbankan, dikarenakan begitu kompleknya algoritmanya. 

 

Nah, yang terakhir adalah Hash Function. Hash Function adalah algoritma dimana, 

berapapun karakter yang anda masukkan akan dirubah ke dalam susunan karakter sebesar 

bit tertentu. Bingung? Saya akan berusaha memberikan permisalan semudah mungkin. 

Sebagai misal, sebuah password berupa angka akan diubah ke dalam angka senilai 0‐9. 

Password hanya berupa angka. Coba gunakan fungsi berikut: 

F = Sum ( Input [0 .. n] ) 

Hash = F %10 

Rumusan di atas bisa dikatakan fungsi Hash sederhana. Katakanlah kita gunakan input 

"123", maka nilai Hash‐nya adalah 

Hash = ( 1 + 2 + 3 ) % 10 = 6 

OK, bagaimana dengan input "1234564"? 

Hash = ( 1 + 2 + 3 + 4 + 5 + 6 + 4 ) % 10 = 6 

Jadi, begitu banyak macam input, hasilnya bisa memiliki nilai Hash yang sama. Fungsi Hash 

biasanya digunakan untuk menyimpan password. Mengapa passwordnya tidak langsung di 

simpan saja sebagai teks plain tanpa enkripsi. Tentunya berbahaya, karena administrator 

dapat membaca password dengan mudah. Meskipun secara otomatis, admin bisa saja 

(36)

membaca data yang ada di servernya, tapi ada kecenderungan seorang user menggunakan 

password yang sama di tempat lain. Sehingga bisa saja admin membuka login user di luar 

wilayah kekuasaanya dengan mencoba password yang terdaftar di servernya. 

 

Mengapa tidak menggunakan enkripsi Symmetric atau Asymmetric? Untuk pengamanan 

yang kuat, penggunaan kedua enkripsi tersebut sangat menghabiskan resource server. Lagi 

pula, melakukan dekripsi pada password juga tidak terlalu penting. Selain itu, kalau 

menggunakan metode Symmetric, admin yang iseng bisa saja melakukan brute force diam‐

diam ke data yang dimilikinya. Jadi, kalau bisa malah dekripsi itu jangan sampai bisa 

dilakukan. 

 

Jenis-Jenis Kriptografi

1. Pengertian Kriptografi Hybrid

Sistem ini mengggabungkan chiper simetrik dan asimetrik. Proses ini dimulai dengan negosiasi menggunakan chiper asimetrik dimana kedua belah pihak setuju dengan private key/session key yang akan dipakai. Kemudian session key digunakan dengan teknik chiper simetrik untuk mengenkripsi conversation ataupun tukar-menukar data selanjutnya. Suatu session key hanya dipakai sekali sesi. Untuk sesi selanjutnya session key harus dibuat kembali.

Pendistribusian Key

Dalam pendistribusian suatu key dapat dilakukan dengan bermacam cara misalnya download, diberikan secara langsung dsb. Untuk mencegah pemalsuan key oleh pihak ketiga maka diperlukan adanya certificate.

Protokol penyetujuan key

Atau disebut juga protokol pertukaran key adalah suatu sistem dimana dua pihak bernegosiasi untuk menentukan secret value. Contohnya adalah SSL (secure socket layer).

(37)

‘15

5

Kriptografi Pusat Bahan Ajar dan eLearning   Tim Dosen http://www.mercubuana.ac.id  

2. Pengertian Kriptografi Simetris

Disebut sebagai algoritma simetris, karena dalam proses enkripsi dan dekripsinya menggunakan kunci yang sama. Algoritma enkripsi dan deskripsi bias merupakan algoritma yang sudah umum diketahui, namun kunci yang dipakai harus terjaga kerahasiaanya, dan hanya diketahui oleh pihak pengirim dan penerima saja. Kunci ini disebut sebagai private key. Sebelum berkomunikasi

kedua pihak harus bersepakat lebih dahulu tentang kunci yang dipergunakan. Pendistribusian kunci dari satu pihak ke pihak lainnya memerlukan suatu kanal tersendiri yang terjagaan kerahasiaannya. Adapun proses kriptografi simetris dapat kita lihat pada Gambar

Algoritma kunci simetris memiliki beberapa kelebihan dan kekurangan, yakni: Kelebihan :

1. Waktu proses untuk enkripsi dan dekripsi relatif cepat, hal ini disebabkan karena efisiensi yang terjadi pada pembangkit kunci.

2. Karena cepatnya proses enkripsi dan dekripsi, maka algoritma ini dapat digunakan pada sistem secara real-time seperti saluran telepon digital.

Kekurangan :

3. Untuk tiap pasang pengguna dibutuhkan sebuah kunci yang berbeda, sedangkan sangat sulit untuk menyimpan dan mengingat kunci yang banyak secara aman, sehingga akan menimbulkan kesulitan dalam hal manajemen kunci.

(38)

4. Perlu adanya kesepakatan untuk jalur yang khusus untuk kunci, hal ini akan menimbulkan masalah yang baru karena tidak mudah u menentukan jalur yang aman untuk kunci, masalah ini sering disebut dengan “Key Distribution Problem”.

5. Apabila kunci sampai hilang atau dapat ditebak maka kriptosistem ini tidak aman lagi. Contoh skema enkripsi kunci simetrik adalah :

a. DES (Data Encryption Standard)

b. IDEA (International Data Encryption Algorithm) c. FEAL

3. Pengertian Kriptografi Asimetris

Algoritma asimetrik disebut juga algoritma kunci publik. Disebut kunci publik karena kunci yang digunakan pada proses enkripsi dapat diketahui oleh orang banyak[1] tanpa membahayakan kerahasiaan kunci dekripsi, sedangkan kunci yang digunakan untuk proses dekripsi hanya diketahui oleh pihak yang tertentu (penerima). Mengetahui kunci publik semata tidak cukup untuk menentukan kunci rahasia. Pasangan kunci publik dan kunci rahasia menentukan sepasang transformasi yang merupakan invers satu sama lain, namun tidak dapat diturunkan satu dari yang lain. Dalam sistem kriptografi kunci publik ini, proses enkripsi dan dekripsi menggunakan kunci yang berbeda, namun kedua kunci tersebut memiliki hubungan matematis (karena itu disebut juga sistem asimetris). Adapun proses kriptografi asimetris secara umum dapat kita lihat pada Gambar

Gambar 2.3 Proses Kriptografi Asimetris

Algoritma kunci asimetris memiliki beberapa kelebihan dan kekurangan, yakni: Kelebihan :

a. Masalah keamanan pada distribusi kunci dapat diatasi.

b. Manajemen kunci pada suatu sistem informasi dengan banyak pengguna menjadi lebih mudah, karena jumlah kunci yang digunakan lebih sedikit.

c. Kekurangan :

a. Kecepatan proses algoritma ini tergolong lambat bila dibandingkan dengan algoritma kunci simetris.

b. Untuk tingkat keamanan yang sama, rata-rata ukuran kunci harus lebih besar bila dibandingkan dengan ukuran kunci yang dipakai pada algoritma kunci simetris.

Contoh skema enkripsi kunci asimetrik adalah [1]: a. DSA (Digital Signature Algorithm)

(39)

‘15

7

Kriptografi Pusat Bahan Ajar dan eLearning   Tim Dosen http://www.mercubuana.ac.id  

c. Diffie-Hellman (DH)

Daftar Pustaka:

http://surfwithadi.blogspot.com/2011/03/k-r-i-p-t-o-g-r-f-i.html

Ada banyak sekali cara mendistribusikan kunci, salah satunya adalah melalui

teknikKriptografi Simetris. Dalam teknik ini, maka dibutuhkan orang lain yang terpercaya, mungkin dia adalah Trent. Agar anda dapat mengirim kunci kepada Alice dengan sangat rahasia, maka anda bergantung pada Trent ini.

Inilah prosedur bagaimana algoritma simetris dapat membantu anda: 1. Trent meminta kunci random Anda

2. Trent mengirim kunci “A” yang dienkripsi dengan algoritma tertentu berdasarkan kunci random anda kepada anda.

3. Trent mengirim kunci “B” kepada yang tidak dienrkipsi kepada anda dan kepada Alice 4. Anda mendekripsi kunci “A” dengan kunci random anda, anda mempercayai trent. 5. Anda menuliskan kunci simetris anda yang dienkripsi dengan kunci “B” dan mengirim

kepada Alice

6. Alice mendekripsi kunci simetris dengan kunci “B” dari Trent (yang sudah dipercayai oleh anda)

7. Anda dan Alice dapat berkomunikasi dengan kriptografi simetris.

Jika mungkin anda bertanya: “Kenapa Trent harus membuat kunci “A” padahal kunci tersebut tidak digunakan sama sekali”. Nyatanya, kunci “A” tersebut adalah kunci penting yang memverifikasi bahwa Trent setidaknya adalah Trent yang asli. Hanya Trent dan anda yang tahu kunci “A” yang dienkripsi dengan kunci Random.

Dengan sistem ini pula, maka si Interceptor (orang yang ingin tahu kunci-kunci anda) akan bingung. Dia tidak akan bisa membedakan antara kunci A, kunci B, kunci random, atau kunci simetris yang benar-benar merupakan kunci simetris, ingat, dia tidak tahu bahwa kunci simetris anda adalah kunci simetris. Sehingga, disini akan terdapat sedikit permainan ‘probabilitas’ di pelajaran SMA =D.

Lagian, jika sebuah sistem dapat menggenerate 1000-kunci acak, ini ide yang lebih bagus. Si Interceptor akan kebingungan menggunakan kunci yang mana untuk mendapatkan kunci asli anda,

(40)

belum lagi, kunci tersebut didekripsi, sehingga membutuhkan waktu banyak untuk mendekripsi si kunci.

Satu hal yang mengkhawatirkan: jika ternyata Trent adalah orang bermulut besar, dia bisa membobol kunci simetris anda. Karena, dia tahu kunci “B”. Kunci simetris yang anda kirim kepada alice dienkripsi menggunakan kunci “B” bukan? Lha, itulah masalahnya. Are you understand? If not, you can ask here, NOW!

Permasalahan yang menarik pada bidang kemanan informasi adalah adanya trade off antara kecepatan dengan kenyamanan. Semakin aman semakin tidak nyaman, berlaku juga sebaliknya semakin nyaman semakin tidak aman. Salah satu contohnya adalah bidang kriptografi. Tetapi hal ini dapat diatasi dengan penggunaan kriptografi hibrida. Kriptografi hibrida sering dipakai karena memanfaatkan keunggulan kecepatan pemrosesan data oleh algoritma simetrik dan kemudahan transfer kunci menggunakan algoritma asimetrik. Hal ini mengakibatkan peningkatan kecepatan tanpa mengurangi kenyamanan serta keamanan. Aplikasi kriptografi hibrida yang ada saat ini pada

umumnya ditujukan untuk penggunaan umum atau mainstream yang merupakan pengguna komputer. Aplikasi pada umumnya mengikuti perkembangan hardware komputer yang semakin cepat dari waktu ke waktu. Sehingga hardware yang sudah lama tidak dapat difungsikan sebagaimana mestinya. Selain itu banyak perangkat embedded dengan kekuatan pemrosesan maupun daya yang terbatas. Terutama dengan trend akhir akhir ini, hampir semua orang memiliki handheld device yang mempunyai kekuatan terbatas, seperti telepon seluler.

Dalam tugas akhir ini dibahas mengenai perancangan sebuah aplikasi kriptografi hibrida yang ditujukan untuk kalangan tertentu, terutama pemakai hardware dengan kekuatan pemrosesan yang terbatas. Aplikasi yang ingin dicapai adalah aplikasi yang sederhana, ringan dan cepat tanpa mengurangi tingkat keamanan menggunakan hash.

Sistem ini mengggabungkan chiper simetrik dan asimetrik. Proses ini dimulai dengan

negosiasi menggunakan chiper asimetrik dimana kedua belah pihak setuju dengan private key/session key yang akan dipakai. Kemudian session key digunakan dengan teknik chiper simetrik untuk

mengenkripsi conversation ataupun tukar-menukar data selanjutnya. Suatu session key hanya dipakai sekali sesi. Untuk sesi selanjutnya session key harus dibuat kembali.

(41)

‘15

9

Kriptografi Pusat Bahan Ajar dan eLearning   Tim Dosen http://www.mercubuana.ac.id  

Dalam pendistribusian suatu key dapat dilakukan dengan bermacam cara misalnya download, diberikan secara langsung dsb. Untuk mencegah pemalsuan key oleh pihak ketiga maka diperlukan adanya certificate.

Protokol penyetujuan key

Atau disebut juga protokol pertukaran key adalah suatu sistem dimana dua pihak bernegosiasi untuk menentukan secret value. Contohnya adalah SSL (secure socket layer).

 

(42)

Referensi : 

http://www.slideshare.net/kyucute/kriptografi‐42572702 

http://winpoin.com/winexplain‐apa‐itu‐enkripsi‐dan‐bagaimana‐cara‐kerjanya/

 

[1] Childs, Lindsay N. A Concrete Introduction to Higher Algebra. Undergraduate Texts in Mathematics. Springer-Verlaag: New York, 2000.

[2] Schneier, B. Applied Cryptography, 2nd Ed. John Wiley & Sons, Inc: Canada, 1996.

[3] Rivest R.L., Shamir A., Adleman L. "A Method for Obtaining Digital Signatures and Public-Key Cryptosystems. MIT: Massachusetts. 1977.

 

 

(43)

     

MODUL PERKULIAHAN

   

Kripto

grafi

     

Modul Standar untuk

digunakan dalam Perkuliahan

di Universitas Mercu Buana

 

 

       

  Fakultas  Program Studi  Tatap Muka  Kode MK  Disusun Oleh   

  Ilmu Komputer Teknik Informatika

05

  Tim Dosen      

 

             

 

 

 

(44)

 

 

 

(45)

‘15

3

Kriptografi Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

 

 

 

 

 

(46)

Pembagian Algoritma Kriptografi 

• Algoritma Kunci Simetris 

• Algoritma Kunci Asimetris 

 

Algoritma Simetris 

 

Ada dua teknik dalam kriptografi enkripsi simetris: stream cipher dan block cipher. 

Stream cipher mengenkripsi satu per satu bit pesan dalam satu waktu, sedangkan block 

cipher mengambil sejumlah bit dan mengenkripsi mereka sebagai satu unit. 

 

Algoritma kunci simetris umumnya lebih cepat untuk dijalankan daripada algoritma kunci 

simetris  

Kerugian untuk algoritma kunci simetris adalah persyaratan menggunakan kunci rahasia 

bersama. Kunci rahasia harus dipertukarkan antar pihak melalui saluran yang aman sebelum 

enkripsi dapat terjadi. 

 

Data Encryption Standard 

DES dikembangkan IBM pada tahun 1975, dan telah bertahan sangat baik terhadap 

kriptoanalisis selama bertahun‐tahun. 

DES adalah algoritma enkripsi simetris dengan panjang kunci yang tetap 56 bit. 

(47)

‘15

5

Kriptografi Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

serangan brute force yang memiliki sumber daya yang cukup. 

 

DES biasanya beroperasi dalam modus blok, di mana mengenkripsi data dalam blok 

64‐bit. Algoritma dan kunci yang sama digunakan untuk enkripsi dan dekripsi. 

Karena DES didasarkan pada fungsi‐fungsi matematika sederhana, maka dapat 

dengan mudah diimplementasikan dalam hardware. 

 

Triple Data Encryption Standard (3DES) 

Salah satu cara efektif untuk meningkatkan panjang kunci DES tanpa mengubah 

algoritma itu sendiri adalah dengan menggunakan algoritma yang sama dengan 

kunci yang berbeda beberapa kali berturut‐turut. 

Menerapkan teknik DES tiga kali berturutturut ke blok teks biasa disebut Triple DES 

(3DES) 

 

 

 

Ketika sebuah pesan yang akan dienkripsi dengan 3DES, sebuah metode yang disebut EDE 

(Encrypt Decrypt Encrypt) digunakan. 

EDE metode yang dijelaskan dalam daftar berikut :  

1.

Pesan dienkripsi dengan 56‐bit kunci pertama, K1. 

(48)

2.

Data didekripsi dengan kunci kedua 56‐bit, K2. 

3.

Data dienkripsi lagi dengan kunci ketiga 56‐bit, K3. 

 

Prosedur EDE menyediakan enkripsi dengan panjang kunci yang efektif 168 bit. Jika kunci K1 

dan K3 adalah sama (seperti dalam beberapa implementasi), enkripsi yang kurang aman  

dengan panjang kunci 112 bit tercapai. 

 

Untuk mendekripsi pesan, harus menggunakan prosedur sebagai berikut,  yang merupakan 

kebalikan dari metode EDE: 

1.

Mendekripsi ciphertext dengan kunci K3 

2.

Mengenkripsi data dengan kunci K2 

3.

Akhirnya, mendekripsi data dengan kunci K1 

 

Mengenkripsi data tiga kali dengan tiga kunci yang berbeda tidak secara signifikan 

meningkatkan keamanan. 

Metode EDE harus digunakan Mengenkripsi turut dengan 56‐bit yang berbeda sama dengan 

panjang kunci yang efektif 58 bit dan bukan 128 bit, seperti yg diharapkan. 

 

 

 

(49)

‘15

7

Kriptografi Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

 

 

 

 

(50)

 

 

 

 

 

Referensi : 

http://www.slideshare.net/kyucute/kriptografi‐42572702 

Ir. Rinaldi Munir, M.T. 

http://winpoin.com/winexplain‐apa‐itu‐enkripsi‐dan‐bagaimana‐cara‐kerjanya/ 

 

 

(51)

     

MODUL PERKULIAHAN

   

Kripto

grafi

     

Modul Standar untuk

digunakan dalam Perkuliahan

di Universitas Mercu Buana

   

       

  Fakultas  Program Studi  Tatap Muka  Kode MK  Disusun Oleh   

  Ilmu Komputer Teknik Informatika

06

  Tim Dosen      

 

             

 

 

 

(52)

DES ‐Data Encryption Standard‐ 

 

Kriptografi  merupakan  ilmu  dan  seni  untuk  menjaga  kerahasiaan  pesan  dengan 

cara menyandikannya  kebentuk  yang  tidak  dapat  dimengerti  lagi  maknanya.  DES  (Data 

Encryption  Standard) merupakan  salah  satu  algoritma  standar  yang  ada.  DES  merupakan 

block cipher 16 ronde yang memiliki struktur Feistel dan memiliki masukan/keluaran 64 bit, 

serta  memiliki  kunci  sepanjang  56  bit.  Dengan struktur  Feistel,  algoritma  enkripsi  memiliki 

struktur yang sama dengan yang untuk dekripsi. Perbedaannya hanya terletak pada urutan 

subkey yang dimasukkan. 

APA ITU DES? 

 

DES  merupakan  salah  satu  algoritma  kriptografi  cipher  block  dengan  ukuran  blok  64  bit 

dan ukuran  kuncinya  56  bit.  Algoritma  DES  dibuat  di  IBM,  dan  merupakan  modifikasi 

daripada algoritma  terdahulu  yang  bernama  Lucifer.  Lucifer  merupakan  algoritma  cipher 

block  yang  beroperasi pada  blok  masukan  64  bit  dan  kuncinya  berukuran  28  bit. 

Pengurangan jumlah bit kunci pada DES dilakukan dengan alasan agar mekanisme algoritma 

ini bisa diimplementasikan dalam satu chip.  

DES  pertama  kali  dipublikasikan  di  Federal  Register  pada  17  Maret  1975.  Setelah 

melalui banyak  diskusi,  akhirnya  algortima  DES  diadopsi  sebagai  algoritma  standar  yang 

digunakan oleh NBS (National Bureau of Standards) pada 15 Januari 1977. Sejak saat itu, DES 

banyak digunakan pada dunia penyebaran informasi untuk melindungi data agar tidak bisa 

dibaca  oleh  orang  lain. Namun  demikian,  DES  juga  mengundang  banyak  kontroversi  dari 

para  ahli  di  seluruh  dunia.  Salah satu  kontroversi  tersebut  adalah  S‐Box  yang  digunakan 

pada DES. S‐Box merupakan bagian vital dari DES karena merupakan bagian yang paling sulit 

dipecahkan.  Hal  ini  disebabkan  karena  S‐Box merupakan  satu  –  satunya  bagian  dari  DES 

yang  komputasinya  tidak  linear.  Sementara  itu, rancangan  dari  S‐Box  sendiri  tidak 

diberitahukan  kepada  publik.  Karena  itulah,  banyak  yang  curiga bahwa  S‐Box  dirancang 

sedemikian  rupa  sehingga  memberikan  trapdoor  kepada  NSA  agar  NSA bisa  membongkar 

semua ciphertext yang dienkripsi dengan DES kapan saja.  

(53)

‘15

3

Kriptografi Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id  

Kontroversi yang kedua adalah jumlah bit pada kunci DES yang dianggap terlalu kecil, hanya 

56  bit.  Akibatnya  DES  rawan  terhadap  serangan  brute  force.  Walaupun  terdapat 

kerawanan tersebut,  DES  tetap  digunakan  pada  banyak  aplikasi  seperti  pada  enkripsi  PIN 

(Personal Identification  Numbers)  pada  mesin  ATM  (Automatic  Teller  Machine)  dan 

transaksi  perbankan lewat  internet.  Bahkan,  organisasi  –  organisasi  pemerintahan  di 

Amerika  seperti  Department  of Energy,  Justice  Department,  dan  Federal  Reserve  System 

menggunakan DES untuk melindungi penyebaran data mereka. 

SKEMA GLOBAL DES 

Pada  sekitar  akhir  tahun  1960,  IBM  melakukan  riset  pada  bidang  kriptografi  yang  pada 

akhirnya disebut Lucifer. Lucifer dijual pada tahun 1971 pada sebuah perusahaan di London. 

Lucifer  merupakan algoritma  berjenis  Block  Cipher  yang  artinya  bahwa  input  maupun 

output dari algoritma tersebut merupakan 1 blok yang terdiri dari banyak bit seperti 64 bit 

atau 128 bit. Lucifer beroperasi pada blok input 64 bit dan menggunakan key sepanjang 128 

bit. Lama kelamaan Lucifer semakin dikembangkan agar bisa lebih kebal terhadap serangan 

analisis  cypher  tetapi  panjang  kuncinya  dikurangi  menjadi  56  bit dengan  maksud  supaya 

dapat masuk pada satu chip. Di tempat yang lain, biro standar amerika sedang mencari‐cari 

sebuah 

algoritma 

enkripsi 

untuk 

dijadikan 

sebagai 

standar 

nasional.IBM 

mencoba mendaftarkan  algoritmanya  dan  di  tahun  1977  algoritma  tersebut  dijadikan 

sebagai DES (Data Encryption Standard). Algoritma ini telah disetujui oleh National Bureau 

of  Standard  (NBS)  setelah  penilaian kekuatannya  oleh  National  Security  Agency  (NSA) 

Amerika  Serikat.  DES  termasuk  ke  dalam  sistem kriptografi  simetri  dan  tergolong  jenis 

cipher  blok.  DES  beroperasi  pada ukuran  blok  64  bit  dan mengenkripsikan  64  bit  plainteks 

menjadi 64 bit cipherteks dengan menggunakan 56 bit kunci internal (internal key) atau sub‐

kunci  (subkey).  Kunci  internal  dibangkitkan  dari  kunci  eksternal  (external  key) yang 

panjangnya 64 bit. Skema global dari algoritma DES adalah sebagai berikut: 

 

 

(54)

 

1.

Blok  plainteks  dipermutasi  dengan  matriks  permutasi  awal  (initial 

permutation atau IP). 

2.

Hasil permutasi awal kemudian di‐enciphering‐ sebanyak 16 kali (16 putaran). 

Setiap putaran menggunakan kunci internal yang berbeda. 

3.

Hasil  enciphering  kemudian  dipermutasi  dengan  matriks  permutasi  balikan 

(invers initial permutation atau IP‐1 ) menjadi blok cipherteks. 

 

ENKRIPSI DES 

Di dalam proses enciphering, blok plainteks terbagi menjadi dua bagian, kiri (L) dan kanan 

(R), yang  masing‐masing  panjangnya  32  bit.  Kedua  bagian  ini  masuk  ke  dalam  16  putaran 

DES.  Pada  setiap putaran  i,  blok  R  merupakan  masukan  untuk  fungsi  transformasi  yang 

disebut f. Pada fungsi f, blok R dikombinasikan dengan kunci internal Ki. Keluaran dai fungsi f 

di‐XOR‐kan dengan blok L untuk mendapatkan blok R yang baru. Sedangkan blok L yang baru 

langsung  diambil  dari  blok  R  sebelumnya. Ini  adalah  satu  putaran  DES.  Secara  lengkap 

proses Enkripsi dengan menggunakan DES ditunjukan pada skema berikut : 

(55)

‘15

5

Kriptografi Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id  

 

 

(56)

Algoritma  DES  memerlukan  sebuah  kunci  yang  panjang  bloknya  64  bit  di  setiap  blok 

DES digunakan untuk mengamankan data pada perangkat lunak dan keras negara tersebut. 

Berikut desain input‐output algoritma DES 

 

 

 

(57)

‘15

7

Kriptografi Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id  

bit dan  kunci  dengan  panjang  56‐bit.  Untuk  mengenkripsi  data  dengan  menggunakan 

algoritma  DES,  dimulai dengan  membagi  bit  dari  teks  tersebut  kedalam  blok‐blok  dengan 

ukuran  blok  sebesar  64‐bit,  yang kemudian  disebut  blok  plaintext.  Adapun  penjelasan 

langkah‐langkah enkripsi DES dijelaskan sebagai berikut : 

A. Permutasi Awal 

 

 

 

 

Sebelum  putaran  pertama,  terhadap  blok  plainteks  dilakukan  permutasi  awal  (initial 

permutation atau  IP).  Tujuan  permutasi  awal  adalah  mengacak  plainteks  sehingga  urutan 

bit‐biit  di  dalamnya  berubah. Pengacakan  dilakukan  dengan  menggunakan  matriks 

permutasi awal berikut ini: 

 

 

(58)

 

 

 

B. Pembangkitan Kunci Internal 

 

Pada  proses  enchipering  akan  dilakukan  proses  pemutaran  sebanyak  16  kali,  oleh  karena 

itu dibutuhkan  16  buah  kunci.  16  buah  kunci  tersebut  dibangkitkan  dari  kunci  eksternal. 

Masukan  kunci (input  key)  K  dispesifikasikan  sebagai  64‐bit  kunci  (key),  kunci  eksternal  ini 

akan  menjadi  masukan untuk  permutasi  dengan  menggunakan  matriks  permutasi  choice 

one (PC‐1) berikut ini: 

 

 

 

 

 

(59)

‘15

9

Kriptografi Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id  

 

 

8  buah  bit  yaitu  bit  8,  16,  24,  32,  40,  48,  56,  dan  64  digunakan  sebagai  parity  bit.  Parity 

bit tersebut  akan  mereduksi  ukuran  efektif  key  dari  64‐bit  menjadi  56‐bit.  Selanjutnya,  56 

bit yang tersisa ini dibagi menjadi dua bagian, yaitu bagian kiri (C0) dan bagian kanan (D0). 

Selanjutnya  kedua  bagian digeser  ke  kiri  (left  shifting)  sepanjang  satu  atau  dua  bit  sesuai 

tabel pergeseran berikut ini : 

 

Setelah  pergeseran  bit,  maka  masing‐masing  Ci  dan  Di  akan  dipermutasi  kembali 

dengan menggunakan matriks PC‐2 berikut : 

 

Berikut  ini  merupakan  skema  yang  menjelaskan  proses  pembangkitan  kunci‐kunci  internal 

DES : 

Gambar

Tabel  diatas  menunjukkan  bahwa  untuk  DES  dengan  putaran  penuh  (16  putaran),  differential crypatanalisis jauh lebih sukar daripada exhaustive search atau brute force.  LINEAR CRYPTANALYSIS 
Gambar 2.6 Enkripsi Kunci Publik 
Gambar 5. Permutasi Dengan menggunakan aturan diatas, maka proses enkripsi dengan permutasi dari plaintext adalah  sebagai berikut : Gambar 6. Proses Enkripsi dengan Permutasi Ciphertext yang dihasilkan dengan teknik permutasi ini adalah &#34;N ETK5 SKD AI

Referensi

Dokumen terkait

Untuk setiap anggota himpunan A dikaitkan dengan satu dan hanya satu anggota himpunan B disebut suatu fungsi dari A ke B!. Himpunan A disebut domain atau ramah dan himpunan B

 Jika kunci enkripsi tidak sama dengan kunci dekripsi, maka sistem kriptografinya disebut sistem nirsimetri (asymmetric system).  Nama lain: sistem

Menurut Polak (1976) dan Soekanto (1986) yang disebut suatu organisasi adalah suatu kelompok yang sengaja dibentuk atau dibuatkan struktur, yang mengatur hubungan

Internet dapat diartikan sebagai jaringan komputer luas dan besar yang mendunia, yaitu menghubungkan pemakai komputer dari suatu negara ke negara lain

Suatu sistem kriptografi yang terdiri atas kumpulan transformasi enkripsi dan dekripsi disebut dengan sistem kriptografi kunci publik atau suatu sistem kriptografi asimetrik

Secara sederhana e-learning dapat difahami sebagai suatu proses pembelajaran yang memanfaatkan teknologi informasi berupa komputer yang dilengkapi dengan sarana telekomunikasi

Pada tahun 1960, Massachusetts Institute of Technology, AT&amp;T Bell Labs, and General Electric bekerja dalam sebuah sistem operasi eksprimental yang disebut Multics

Suatu sistem kriptografi yang terdiri atas kumpulan transformasi enkripsi dan dekripsi disebut dengan sistem kriptografi kunci publik atau suatu sistem kriptografi asimetrik