ENKRIPSI DAN DEKRIPSI (II)

  MATERI

  1. Metode enkripsi DES (Data Encryption Standar)

  2. Metode enkripsi RSA (Rivest, Shamir, Adleman)

  3. Penggunaan public key D ATA E NCRYPTION S TANDARD (DES)

  Standard ini dibuat oleh National Beraue of Standard USA pada taun 1977. DES menggunakan 56 bit kunci, algoritma enkripsi ini termasuk yang kuat dan tidak mudah diterobos. Cara enkripsi ini telah dijadikan standar oleh pemerintah Amerika Serikat sejak tahun 1977 dan menjadi standar ANSI tahun 1981. DES seharusnya terdiri dari algoritma enkripsi data yang diimplementasikan dalam peralatan elektronik untuk tujuan tertentu. Peralatan ini dirancang menurut cara yang mereka gunakan dalam system atau jaringan computer untuk melengkapi perlindungan cryptographyc pada data biner. Algoritma DES adalah sesutu yang kompleks dan signifikan yang merupakan kombinasi dari 2 model enkripsi dasar yaitu substitusi dan permutasi (transposisi).

  Metode implementasi akan tergantung pada aplikasi dan lingkungan di sekitar system itu. Peralatan itu diimplementasikan tetapi sebelumnya diuji dan divalidkan secara akurat untuk menampilkan transformasi dalam bentuk algoritma.

  Input Initial Permutasi L R

  Cycle1 Key Substitusi

  Permutasi L (=R ) R 1 1 Key

  Substitusi Cycle2 Permutasi

  L (=R ) R 2 1 2 Key Substitusi

  L (=R ) R 15 14 15 Permutasi L (=R ) R 16 15 16 Inverse Inisial Permutasi Output

  Permutasi Data Left Half Right Half Key Shifted Permutasi Key

  New Left Half (Old Right Half) New Right Half A cycle in the DES

  L i -1 R i – 1

  28

  28 32 bits 32 bits

Expansi

Permuta

  28

  28

si 48 bits

  56 S-Box Substitusi Permutasi Choice P – Box

  Permutasi L i R i Detail of a Cycle

  Expansion Permutation

Each right half is expanded from 32 to 48 bits by means of the

expansion permutation. The expansion permutes the order of the

bits and also repeats certain bits. The expansion has two purposes:

to make the intermediate halves of the ciphertext comparable in

size to the key, and to provide a longer result that can later be

compressed.

  Tabel Expansion Permutation Bit

  1

  2

  3

  4

  5

  6

  7

  8 Moves to 2,48

  3 4 5,7 6,8

  9 10 11,13 Bit

  9

  10

  11

  12

  13

  14

  15

  16 Moves to 12,14

  15 16 17,19 18,20

  21 22 23,25 Bit

  17

  18

  19

  20

  21

  22

  23

  24 Moves to 24,26

  27 28 29,31 30,32

  33 34 35,37 Bit

  25

  26

  27

  28

  29

  30

  31

  32

  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Pattern of Expansion Permutation

  Key Transformation As just describe, the 64-bit key immediately becomes 56-bit key by deletion of every eighth bit. At each step in the cycle, the key is split into two 28-bit halves, the halves are shifted left by a specified number of digits, the halves are pasted together again, and 48 of these 56 bit are permuted to use as a key during this cycle. The key for the cycle is combined by an exclusive-or function with the expanded right half from the section above. That result moves into the S-boxes described in the next step.

  At each cycle, the halves of the key are independently shifted left circularly by a specified number of bit positions. The number of bits shifted is given in table 1. Table 1. Number of bits of Circular Shifts for each cycle.

  Cycle Number Bits Shifted 1 1 2 1 3 2 4 2 5 2

  7 2 8 2 9 1 10 2

  11 2 12 2 13 2 14 2 15 2

  16

  1 Table 2. Choice Permutation To Select 48 Key Bits

  Key bit

  1

  2

  3

  4

  5

  6

  7

  

8

  9

  10

  11

  12

  13

  14 For position

  5 24 -

  7

  16

  6

  10

  20

  

18

  12

  3

  15

  23

  1 Key bit

  15

  16

  17

  18

  19

  20

  21

  

22

  23

  24

  25

  26

  27

  28

  19

  2 - - For position

  14

  22

  11

  13

  4

  • 9

  17

  21

  8 Key bit

  29

  30

  31

  32

  33

  34

  35

  

36

  37

  38

  39

  40

  41

  42

  47

  31 27 -

  48

  35

  41 - For position

  

46

  28

  39

  32

  25

  44 Key bit

  43

  44

  45

  46

  47

  48

  49

  

50

  51

  52

  53

  54

  55

  56 For position -

  37

  34

  43

  29 36 -

  38

  

45

  33

  26

  42

  30

  40 Algoritma Enkripsi Data

  Algoritma DES dirancang untuk menulis dan membaca berita blok data yang terdiri dari 64 bit di bawah control kunci 64 bit. Dalam pembacaan berita harus dikerjakan dengan menggunakan kunci yang sama dengan waktu menulis berita, dengan penjadwalan alamat kunci bit yang diubah sehingga proses membaca adalah kebalikan dari proses menulis. Sebuah blok ditulis dan ditujukan pada permutasi dengan inisial IP, kemudian melewati perhitungan dan perhitungan tersebut sangat tergantung pada kunci kompleks dan pada akhirnya melewati

  • 1

  permutasi yang invers dari permutasi dengan inisial IP Perhitungan yang tergantung pada kunci tersebut dapat didefinisikan sebagai fungsi f, yang disebut fungsi cipher dan

  Sebuah dekripsi perhitungan diberikan pada awal, sepanjang algoritma yang digunakan dalam penulisan berita. Berikutnya, penggunaan algoritma untuk pembacaan berita didekripsikan. Akhirnya, definisi dari fungsi cipher f menjadi fungsi seleksi Si dan fungsi permutasi adalah P.

  Perhatikan contoh berikut ini : Diberikan 2 blok yaitu L dan R dari bit. LR merupakan blok yang terdiri dari bit L dan diikuti oleh bit R. Kemudian menyusul urutan bit yang saling berhubungan, yaitu : B1, B2, … B8. Artinya, bit yang terdiri dari B1 diikuti B2 dan akhirnya diikuti B8.

  S-Boxes

  Substitutions are performed by eight S-boxes. An- S-box is a table by which six bits of data are repaced by four bits. The 48-bit input is divided into eight 6-bit blocks, identified as B1B2…B8; block Bi is operated on by S-box Si, as shown in figure 1. Bi 1-6 7-12 13-18 19-24 25-30 31-36 37-42 43-48

  S1 S2 S3 S4 S5 S6 S7 S8 Bits 1-4 5-8 9-12 13-16 17-20 21-24 25-28 29-32

  Penulisan berita

  (1) L’=R R’=L(+)f(R,K) (2) Kn=KS(n,KEY)

  n-1

  (3) Ln=R R n=L (+) f(R K )

  n n-1 n-1, n

  K adalah Kn, yaitu ketika n dalam jangkauan bilangan 1 sampai bilangan 16. Blok preoutput dari persamaan di atas adalah R L .

  16

  (1). R’=L, L’=R(+)f(L’,K’) (2). R =Ln, L =Rn(+)f(Ln,Kn)

  S-Box table for the DES

  0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7

1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8

2 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0

3 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13 0 15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10

1 3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5

2 0 14 7 11

  10 4 13 1 5 8 12 6 9 3 2 15

3 13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9

0 10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8

1 13 7 0 9 3 4 6 10 2 8 5 14 12

  11 15 1

2 13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7

3 1 10 13 0 6 9 8 7 4 45 14 3 11 5 2 12 0 7 13

  

14 3 0 6 9 10 1 2 8 5 11

12 4 15

1 13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9

2 10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4

3 3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14

0 2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9

1 14

  11 2 12 4 7 13 1 5 0 15 10 3 9 8 6 2 4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14

3 11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3

  0 12 1 10 15 9 2 6 8 0 13 3 4 13 7 5 11 1 10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8 2 9 14

  15 5 2 8 12 3 7 0 4 10 1 13 11 6 3 4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13 0 4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1

1 13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6

2 1 4 11

  13 12 3 7 14 10 15 6 8 0 5 9 2 3 6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12

0 13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7

  1 1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2

2 7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8

3 2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11

  Table Permutasi Box P

  Bit

  1

  2

  3

  4

  5

  6

  7

  8

  9

  1

  1

  1

  1

  1

  1

  1 positio

  1

  7

  2

  2

  2

  1

  2

  

1

  1

  1

  2

  3

  4

  5

  6 n

  6

  1

  9

  2

  8

  7

  1

  2

  2

  5

  1

  3

  1

  5

  3

  6

  8

  1 Bit

  1

  1

  1

  2

  2

  2

  2

  

2

  2

  2

  2

  2

  2

  3

  3

  3 positio

  7

  8

  9

  1

  2

  3

  4

  5

  6

  7

  8

  9

  1

  2 n

  2

  8

  2

  1

  3

  2

  3

  9

  1

  1

  3

  6

  2

  1

  4

  2

  4

  4

  2

  7

  9

  3

  2

  1

  5 R

  IVEST S HAMIR A DLEMAN (RSA)

  RSA adalah singkatan dari huruf depan 3 orang yang menemukannya pada tahun 1977 di MIT, yaitu Ron Rivest, Adi Shamir, dan Len Adleman. Algoritma ini merupakan cara enkripsi publik yang paling kuat saat ini. Algoritma RSA melibatkan seleksi digit angka prima dan mengalikan secara bersama-sama untuk mendapatkan jumlah, yaitu n. Angka-angka ini dilewati algoritma matematis untuk menentukan kunci publik KU={e,n} dan kunci pribadi KR={d,n} yang secara matematis berhubungan. Ini merupakan hal yang sulit untuk menentukan e dan atau d diberi n. Dasar inilah yang menjadi algoritma RSA.

  Sekali kunci telah diciptakan, sebuah pesan dapat dienkrip dalam blok dan melewati persamaan berikut ini:

  e

  C = M mod n (1) Dimana C adalah ciphertext, M adalah plaintext, sedangkan e adalah kunci publik penerima. Dengan demikian, pesan di atas dapat dienkrip dengan persamaan berikut :

  d

  C = M mod n (2)

  Dimana d adalah kunci pribadi penerima. Sebagai contoh, kita mengasumsikan bahwa M=19 (kita akan menggunakan jumlah yang kecil untuk hal yang sederhana dan nantinya secara normal jumlah-jumlah ini akan menjadi lebih besar). Kita akan menggunakan angka 7 sebagai huruf p dan angka 17 sebagai huruf q. Jadi n=7x17=119. Kemudian, e dihitung menjadi 5 dan dihitung lagi menjadi 77. KU={5,119} dan KR={77,119}. Kita dapat melalui nilai yang dibutuhkan dengan persamaan 1 untuk mencari nilai C. Dalam hal ini C=66, kemudian hasil dekrip C(66) dapat digunakan untuk mendapatkan nilai plaintext yang asli. Untuk persamaan (2) juga mendapat nilai 19 dan plaintext yang asli.

  Seperti yang telah dijelaskan di atas, hanya orang yang mempunyai kunci rahasia yang sesuai yang dapat membuka pesan yang disandi dengan kunci publik tertentu. Algoritma enkripsi inilah yang dipakai sebagai dasar dari system enkripsi PGP (Pretty Good Privacy). PGP adalah system enkripsi yang banyak dipakai secara umum di internet.

  Cara enkripsi dengan kunci publik ini ternyata mempunyai kelebihan lain, yaitu bisa dipakai sebagai semacam tanda tangan digital yang dapat digunakan untuk menjamin keaslian e-mail. Si A yang akan mengirim E-mail kepada si B dapat membubuhkan tanda tangan digitalnya di akhir e-mail tersebut. Tanda tangan digital ini berupa sederetan huruf yang dibentuk dengan rumusan matematis berdasarkan kunci rahasia si A dan isi e-mail yang dikirim. Keaslian ini dapat dicek oleh B dengan menggunakan kunci publik milik si A. Jadi, jika e-mail yang telah dibubuhi tanda tangan digital tersebut diubah isinya, e-mail ini tidak akan lulus proses autentikasi dengan kunci publik si A

  P RETTY G OOD P RIVACY (PGP)

  Setiap orang mempunyai 2 kunci, yaitu kunci publik dan kunci pribadi. Ketika seseorang ingin mengirim sesuatu pada si penerima, pengirim mengenkrip dengan kunci publik si penerima. Namun, cara untuk mendekripnya dengan kunci pribadi si penerima. Salah satu keuntungan lain dari PGP adalah mengizinkan pengirim menandai pesan-pesan mereka. Ini membuktikan bahwa pesan datang dari pengirim dan belum ada perubahan selama perjalanan. Berdasarkan pada teori ini, PGP mengizinkan seseorang untuk mengumumkan kunci publik mereka dan menjaga kunci pribadi yang sifatnya rahasia. Hasilnya, seseorang dapat mengenkrip pesan kepada orang lain sepanjang mereka mempunyai kunci publik.

  PGP adalah suatu metode enkripsi informasi yang bersifat rahasia sehingga jangan sampai diketahui oleh orang yang tidak berhak. Informasi ini bisa berupa e-mail yang sifatnya rahasia, nomor kode kartu kredit, atau pengiriman dokumen rahasia perusahaan melalui internet. PGP menggunakan metode kriptografi yang disebut “public key encryption”; yaitu suatu metode kriptografi yang sangat sophisticated.

  Adapun prinsip kerja PGP adalah sebagai berikut :

  1. PGP, seperti yang telah dijelaskan sebelumnya, menggunakan teknik yang disebut public key encryption dengan dua kode. Kode-kode ini berhubungan secara intrinsic, namun tidak mungkin untuk memecahkan satu sama lain.

  2. Ketika dibuat suatu kunci, maka secara otomatis akan dihasilkan sepasang kunci, yaitu kunci publik dan kunci rahasia. Si a dapat memberikan kunci publik kemanapun pada mesin si A dan menggunakan messager decipher akan dikirimkan ke si A. Jadi, orang lain yang akan menggunakan kunci publik milik A (yang hanya dapat di dekripsi oleh kunci rahasia milik si A), mengirimkan pesan kepada A, dan A akan menggunakan kunci rahasia untuk membacanya.

  3. Mengapa menggunakan dua kunci ? Karena dengan conventional crypto, di saat terjadi transfer informasi kunci, diperlukan suatu secure channel. Jika kita memiliki suatu secure channel, mengapa masih menggunakan crypto ? Dengan public-key system, tidak akan menjadi masalah siapa yang melihat kunci milik kita, karena kunci yang dilihat orang lain adalah yang digunakan hanya untuk enkripsi dan hanya pemiliknya saja yang mengetahui kunci rahasia tersebut. Kunci rahasia merupakan kunci kunci yang berhubungan secara fisik dengan komputer pemilik, kunci rahasia dapat melakukan proses dekripsi dengan kunci publik yang ada dan kemudian dimasukkan lagi passphrase yang kita ketikkan, namun ia hanya dapat membaca jika ia dapat mengakses komputer kita.

  Penerapan PGP dalam jaringan :

  1. Kunci public sangat lambat bila dibandingkan dengan konvensional, jadi PGP akan mengkombinasikan 2 algoritma yaitu RSA dan IDEA untuk melakukan enkripsi plaintext.

  2. Sebagai contoh, Bejon (pemilik PGP) ingin mengenkripsi suatu file yang diberi nama plain.txt sedemikian sehingga hanya si Matangin yang dapat mendekripsinya. Dalam hal ini, Badrun mengirimkan PGP perintah (command line) untuk melakukan enkripsi: pgp –e plain.txt Matangin. Pada command line ini, pgp adalah file executable, -e berarti memberitahukan PGP untuk mengenkripsi file, plain.txt adalah nama plaintext, dan dul merepresentasikan kunci random number generator dalam file randseed.bin untuk menghasilkan suatu kunci (session key) IDEA yang bersifat temporer. Kunci rahasia itu sendiri dienkripsi dengan kunci RSA public yang direpresentasikan oleh Matangin yang ditempelkan pada plaintext.

  3. Kemudian PGP menggunakan kunci sesi untuk mengenkripsi pesan, ASCII-armors, dan menyimpan seluruhnya sebagai cipher.asc. Bila Matangin ingin membaca pesannya , ia mengetikkan command: pgp cipher.asc.

  4. PGP menggunakan kunci rahasia milik Matangin yang merupakan kunci RSA, untuk mendekripsi kunci sesi yang mana, yang jika dipanggil oleh Badrun akan dienkripsi oleh kunci public. Kemudian, conventional crypto digunakan dalam bentuk kunci sesi untuk mendekripsi sisa dari pesan.