• Tidak ada hasil yang ditemukan

Metode Proses XOR Dalam Pembentukan Kunci Simetris Pada Algoritma MARS

N/A
N/A
Protected

Academic year: 2016

Membagikan "Metode Proses XOR Dalam Pembentukan Kunci Simetris Pada Algoritma MARS"

Copied!
66
0
0

Teks penuh

(1)

METODE PROSES XOR DALAM PEMBENTUKAN KUNCI

SIMETRIS PADA ALGORITMA MARS

TESIS

Oleh MARIADI 097038023

PROGRAM STUDI MAGISTER ( S2 ) TEKNIK INFORMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA M E D A N

(2)

METODE PROSES XOR DALAM PEMBENTUKAN KUNCI

SIMETRIS PADA ALGORITMA MARS

TESIS

Diajukan sebagai salah satu syarat untuk memperoleh gelar Magister Komputer dalam Program Studi Magister Teknik Informatika pada Program Pascasarjana

Fakultas MIPA Universitas Sumatera Utara

Oleh MARIADI 097038023

PROGRAM STUDI MAGISTER ( S2 ) TEKNIK INFORMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA M E D A N

(3)

PERNYATAAN ORISINALITAS

METODE PROSES XOR DALAM PEMBENTUKAN KUNCI

SIMETRIS PADA ALGORITMA MARS

TESIS

Dengan ini saya menyatakan bahwa saya mengakui semua karya tesis ini adalah hasil kerja saya sendiri kecuali kutipan dan ringkasan yang tiap bagiannya telah dijelaskan

sumbernya dengan benar

Medan, 24 Juni 2011

(4)

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH

UNTUK KEPENTINGAN AKADEMIS

Sebagai sivitas akademika Universitas Sumatera Utara, saya yang bertanda tangan dibawah ini :

Nama : MARIADI NIM : 097038023

Program : Magister ( S2 ) Teknik Informatika Jenis Karya Ilmiah

Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Sumatera Utara Hak bebas Royalti Non Eksklusif ( Non- Exclusive Royalty free Right ) atas Tesis saya yang berjudul :

METODE PROSES XOR DALAM PEMBENTUKAN KUNCI SIMETRIS PADA ALGORITMA MARS

Beserta perangkat yang ada ( jika diperlukan ). Dengan Hak Bebas Royalti Non Eksklusif ini, Universitas Sumatera Utara berhak menyimpan, mengalih media,memformat,mengelola dalam bentuk database, merawat dan mempublikasikan Tesis saya tanpa minta ijin dari saya selama tetap mencantumkan nama saya sebagai penulis dan sebagai pemegang dan atau sebagai pemilik hak cipta.

Demikian pernyataan ini dibuat dengan sebenarnya.

Medan, 24 Juni 2011

(5)

Telah di uji pada

Tanggal : 24 juni 2011

Panitia Penguji Tesis

Ketua : Prof. Dr . Muhammad Zarlis Anggota : 1. Prof . Dr . Herman Mawengkang

(6)

RIWAYAT HIDUP

DATA PRIBADI

Nama Lengkap : Mariadi, ST

Tempat / Tanggal Lahir : Medan , 17 September 1973

Alamat : Jln. Gaharu No.188, Binjai

Telepon : 081362161700

Email

DATA PENDIDIKAN

SD NEGERI : Tamat 1986

SMP NEGERI 20 : Tamat 1989

SMA SWASTA : Tamat 1992

(7)

KATA PENGANTAR

Pertama-tama kami panjatkan puji syukur kehadirat Allah SWT Tuhan yang Maha Esa atas segala limpahan rahmad dan karunia Nya sehingga Tesis ini dapat diselesaikan. Dengan selesainya Tesis ini, perkenankanlah kami mengucapkan terima kasih yang sebesar besarnya kepada : Rektor Universitas Sumatera Utara, Prof. Dr. dr. Syahril Pasaribu, DTM&H, M.Sc ( CTM ), Sp. A(K) atas kesempatan yang diberikan kepada kami untuk mengikuti dan menyelesaikan pendidikan Program Magister. Dekan Fakultas MIPA Universitas Sumatera Utara, Dr.Sutarman atas kesempatan menjadi mahasiswa Program Magister pada program Pasca sarjana FMIPA Universitas Sumatera Utara. Dan Ketua program Studi Magister Teknik Informatika, Prof.Dr. Muhammad Zarlis, dan sekretaris Program Studi Magister Teknik Informatika, Muhammad Andri Budiman, ST, M.Comp. Sc. M.EM

Beserta seluruh staff pengajar pada Program Studi Magister Teknik Informatika Program Pasca sarjana Fakultas MIPA Universitas Sumatera Utara. Terima kasih yang tidak terhingga dan penghargaan yang setinggi tingginya kami ucapkan kepada bapak Prof.Dr.Muhammad Zarlis selaku dosen pembimbing utama yang dengan penuh perhatian dan telah memberikan dorongan dan motivasi. Demikian juga kepada bapak Syahril Effendi SSi.MIT selaku pembimbing anggota yang dengan penuh kesabaran menuntun dan membimbing kami hingga selesainya penelitian ini.

(8)

DAFTAR ISI

Halaman

KATA PENGANTAR i

DAFTAR ISI ii

DAFTAR GAMBAR iii

ABSTRAK iv

ABSTRACT v

BAB I PENDAHULUAN

1.1 Latar Belakang 1

1.2 Perumusan Masalah 3

1.3 Batasan Masalah 3

1.4 Tujuan Penelitian 3

1.5 Manfaat Penelitian 3

BAB II TINJAUAN PUSTAKA

2.1 Latar Belakang Kriptografi 4

2.1.1 Sejarah Kriptografi 4

2.1.2 Definisi Kriptografi 5

2.1.3 Tujuan kriptografi 5

2.1.4 Algoritma Enkripsi dengan Xor 9

(9)

2.2 System Teknik Kriptografi 12 2.2.1 Identifikasi dan Autentifikasi 12 2.2.2 Kriteria Pada Sistem Kriptografi 13

2.3 Teknik Kunci Rahasia 13

2.3.1 Block Cipher 14

2.3.1.1 Teknik Kriptografi yang di

Gunakan pada Cipher Block 15 2.3.1.2 Mode Operasi Cipher Block 16

2.3.1.3 Stream Cipher 18

2.4 Matematis Kriptografi 14

2.4.1 Pengantar Matematis Pada Kriptografi 19

2.4.2 Penjumlahan 20

2.4.3 Perkalian 20

2.4.4 Operasi XOR 21

2.4.5 S-Box 22

2.4.6 Kriptografi Secret Key dan Public Key 22 2.5 Metoda MARS

2.5.1 Sejarah Algoritma MARS 25

2.5.2 Algoritma Enkripsi MARS 26

2.5.2.1 Struktur Cipher Algoritma Mars 27

2.5.2.2 Perluasan Kunci 31

2.5.2.3 Panjang Kunci 32

(10)

BAB III METODE PENELITIAN

3.1 Pendahuluan 36

3.2 Lokasi dan Waktu Penelitian 37

3.3 Konseb Pengembangan 38

3.4 Presentasi Data 38

BAB IV HASIL DAN PEMBAHASAN

4. Pendahuluan 39

4.1 Unit Kriptografi 40

4.2 MARS Menerima Ukuran kunci Variabel yang

Disediakan Pengguna berkisar 4 – 14 kata 41

4.3 Ekspansi Kunci MARS 42

4.4 Perluasan Kunci 44

4.5 Hasil Proses Pembentuk Kunci 45

BAB V KESIMPULAN DAN SARAN

5.1

Kesimpulan

51

5.2

Saran

51

DAFTAR PUSTAKA

(11)

DAFTAR GAMBAR

Nomor Judul Halaman

1. Skema Enkripsi Dan dekripsi dengan

Cipher Block 15

2. Elektronic Code Book ( ECB ) 16

3. Skema Enkripsi dengan Mode CBC 17

4. Kriptografi simetri 22

5. Kriptografi asimetris 24

(12)

PENGESAHAN TESIS

Judul Tesis : METODE PROSES XOR DALAM PEMBENTUKAN

KUNCI SIMETRIS PADA ALGORITMA MARS

Nama Mahasiswa : MARIADI

Nomor Induk Mahasiswa : 097038023

Program Studi : Magister Teknik Informatika

Fakultas : Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara

Menyetujui Komisi Pembimbing

Syahril Effendi, SSi. MIT

Anggota Ketua

Prof. Dr. Muhammad Zarlis

Ketua Program Studi, Dekan

Prof. Dr. Muhammad Zarlis Dr. Sutarman M.Sc

(13)

METODE PROSES XOR DALAM PEMBENTUKAN KUNCI SIMETRIS PADA ALGORITMA MARS

ABSTRAK

(14)

XOR PROCESS METHOD IN THE FORMATION OF THE SYMMETRIC KEY ALGORITHM MARS

ABSTRACT

This study discusses the block cipher encryption algorithm that a

candidate MARS Advanced Encryption Standard (AES). MARS is a symmetric

key algorithm with 128-bit block cipher and a key length variations between the (128 up to 1248 bits). MARS is made to meet the needs of data security,

especially as one of the less satisfying answer to the DES (Data Encryption Standard). Both of these algorithms have a number of engineering and operations that are similar in principle, due basically to the symmetry key algorithm has a number of standard operations, such as substitution and transposition. Modern classical cryptographic algorithms generally operate in character mode, while the modern cryptographic operation in bits mode. Operating in that mode bits means all data and information (both the key, plaintext, or ciphertext) is expressed in the series (string) of binary bits, 0 and 1. Encryption and decryption process all data and information in the form of a series of bits. The series of bits that states encrypted plaintext into ciphertext in the form of a series of bits, and vice versa. In general, modern cryptographic algorithms process the data in the form of blocks of a series of bits that are broken into blocks of bits can be written in a number of ways depending on the length of the block.

(15)

METODE PROSES XOR DALAM PEMBENTUKAN KUNCI SIMETRIS PADA ALGORITMA MARS

ABSTRAK

(16)

XOR PROCESS METHOD IN THE FORMATION OF THE SYMMETRIC KEY ALGORITHM MARS

ABSTRACT

This study discusses the block cipher encryption algorithm that a

candidate MARS Advanced Encryption Standard (AES). MARS is a symmetric

key algorithm with 128-bit block cipher and a key length variations between the (128 up to 1248 bits). MARS is made to meet the needs of data security,

especially as one of the less satisfying answer to the DES (Data Encryption Standard). Both of these algorithms have a number of engineering and operations that are similar in principle, due basically to the symmetry key algorithm has a number of standard operations, such as substitution and transposition. Modern classical cryptographic algorithms generally operate in character mode, while the modern cryptographic operation in bits mode. Operating in that mode bits means all data and information (both the key, plaintext, or ciphertext) is expressed in the series (string) of binary bits, 0 and 1. Encryption and decryption process all data and information in the form of a series of bits. The series of bits that states encrypted plaintext into ciphertext in the form of a series of bits, and vice versa. In general, modern cryptographic algorithms process the data in the form of blocks of a series of bits that are broken into blocks of bits can be written in a number of ways depending on the length of the block.

(17)

BAB I

PENDAHULUAN

1.1. Latar Belakang Masalah.

Perkembangan teknologi saat ini telah mengubah cara masyarakat baik itu

perusahaan militer dan swasta dalam berkomunikasi. Dengan adanya internet,

pertukaran informasi sudah tidak terhambat lagi oleh aspek jarak dan waktu.

Namun perkembangan teknologi informasi ini juga memiliki kelemahan

dalam hal keamanan data. Penyadapan data dapat saja dilakukan oleh pihak-pihak

yang tidak bertanggung jawab. Oleh karena itu aspek keamanan dalam

pertukaran informasi menggunakan teknologi informasi menjadi sangat penting

untuk diperhatikan.

Kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan.

Kriptografi menyediakan aspek kerahasiaan (menjaga isi pesan dari siapapun

yang tidak berhak mengakses), integritas data (menjamin pesan belum pernah

dimanipulasi selama pengiriman), otentikasi ( identifikasi kebenaran pihak

yang berkomunikasi dan sumber pesan ), dan nir penyangkalan (mencegah

pihak yang berkomunikasi melakukan penyangkalan).

Semua aspek tersebut sangat diperlukan dalam hal keamanan data pada

teknologi informasi. Mengingat aspek keamanan data merupakan hal yang

penting dalam pertukaran informasi, maka perkembangan teknologi informasi

juga berimbas pada meningkatnya kebutuhan atas algoritma dan teknik

kriptografi yang handal. DES (Data Encryption Standard) yang diumumkan

oleh NIST (National Institute of Standards and Technology) pada tahun 1972 sebagai standard algoritma kriptografi sudah dianggap tidak aman lagi. Dengan

menggunakan perangkat keras tertentu, kunci dari DES dapat dipecahkan hanya

dalam waktu yang relatif singkat. Oleh karena itu, pada tahun 1997 NIST

mengumumkan adanya pemilihan standard baru sebagai pengganti DES yang

(18)

oleh NIST dalam pemilihan algoritma standar enkripsi, sebagai pengganti

standar DES adalah sebagai berikut:

1. Merupakan algoritma kriptografi simetri chipher blok.

2. Seluruh rancangan algoritma harus publik (tidak dirahasiakan).

3. Panjang kunci fleksibel, yaitu sebesar 128 bit, 192 bit dan 256 bit.

4. Ukuran blok sebesar 128 bit.

5. Algoritma memungkinkan untuk diimplementasikan baik sebagai perangkat lunak maupun sebagai perangkat keras. Ada lima

algoritma yang ditetapkan sebagai standar enkripsi yang

dipilih oleh NIST, kelima algoritma tersebut adalah:

1) MARS, dari Team IBM.

2) RC6, dari tim Laboratorium RSA.

3) Rijndael, dari tim Vincent Rijmen dan Joan Daemen.

4) Serpent, dari tim Ross Anderson, Eli Biham, dan Lars Knudsen.

5) Twofish, dari tim Bruce Schneie.

Penelitian ini membahas tentang algoritma enkripsi cipher blok MARS yang menjadi kandidat Advanced Encryption Standard (AES). MARS merupakan algoritma kunci simetri dengan 128-bit cipher block dan memiliki variasi panjang

kunci diantara (128 s.d. 1248 bit). MARS dibuat untuk memenuhi kebutuhan

dalam keamanan data, terutama sebagai salah satu jawaban atas kurang

memuaskannya DES (Data Encryption Standard). Kedua algoritma ini memiliki sejumlah teknik dan operasi yang hampir sama secara prinsip, karena pada

dasarnya untuk algoritma kunci simetri memiliki sejumlah operasi yang standard,

seperti substitusi dan transposisi.

Algoritma kriptografi klasik modern umumnya beroperasi dalam mode

karakter , sedangkan kriptografi modern beroperasi pada mode bit. Operasi dalam

mode bit berarti semua data dan informasi (baik kunci, plainteks, maupun

(19)

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. Pada umumnya algoritma

kriptografi modern memproses data dalam bentuk blok-blok rangkaian bit yang

dipecahkan menjadi blok-blok bit dapat ditulis dalam sejumlah cara bergantung

pada panjang blok.

Contoh : Plainteks 100111010110

Bila dibagi menjadi blok 4-bit

1001 1101 0110

maka setiap blok menyatakan 0 sampai 15:

9 13 6

Bila plainteks dibagi menjadi blok 3-bit:

100 111 010 110

maka setiap blok menyatakan 0 sampai 7:

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: bit-bit tambahan jika ukuran blok terakhir tidak mencukupi panjang blok. 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 agar

ukurannya menjadi 5 bit. Padding bits dapat mengakibatkan ukuran cipherteks hasil enkripsi lebih panjang 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

(20)

Contoh : plainteks 111001010001 dibagi menjadi blok 4-bit:

1110 0101 0001 dalam notasi HEX adalah E 5 1

Operasi biner yang sering digunakan dalam cipher yang beroperasi dalam

mode bit adalah XOR. Notasi matematis untuk operator XOR adalah ⊕. Operator

XOR dioperasikan 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 = 0 ⇔ 0 + 0 (mod 2) = 0

0 ⊕ 1 = 1 ⇔ 0 + 1 (mod 2) = 1

1 ⊕ 0 = 1 ⇔ 0 + 1 (mod 2) = 1

1 ⊕ 1 = 1 ⇔ 1 + 1 (mod 2) = 0

Hukum-hukum yang terkait dengan operator XOR:

(i) aa = 0

(ii) ab = ba

(iii) a⊕ (bc) = (ab) ⊕c

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

(21)

Berdasarkan uraian pada latar belakang dan permasalahan maka penelitian

ini akan membuat suatu modifikasi pengembangan matematika dalam proses

enkripsi dan dekripsi. Dalam sistem pengamanan data dengan melakukan

perubahan pada rumusan matematika yang telah diterapakan pada sistem ini.

1.2. Perumusan Masalah.

Berdasarkan latar belakang masalah yang diuraikan pada sub bab sebelumnya,

maka terdapat dua masalah utama dalam penulis yang dapat dirumuskan sebagai

berikut, apakah penggunaan algoritma yang sudah dimodifikasi nilai

matematikanya mampu mengatasi masalah keamanan data serta apakah penerapan

algoritma ini mampu mengurangi masalah penyalahgunaan dan penyusupan.

1.3. Batasan Masalah.

Berdasarkan uraian dari rumusan masalah serta kegiatan yang telah dilakukan,

maka batasan yang dapat dibuat peneliti, yaitu, melakukan pengembangan

matematika dan perhitungan secara matematika dalam proses pembentukan kunci

pengamanan, guna menjamin dalam penggunaan algoritma MARS dalam

pengamanan data.

1.4. Tujuan Penelitian.

Berdasarkan uraian pada latar belakang masalah dan perumusan masalah diatas,

maka tujuan yang ingin dicapai dalam penelitian ini adalah :

1. Untuk mengetahui bagaimana mengubah bentuk teoritis dari penelitian

yang pernah dibuat ke dalam bentuk perhitungan matematika

dengan menggunakan proses XOR.

2. Untuk mengetahui bagaimana hasil yang didapat jika formula Kunci

yang ada dikembangkan dengan menerap metode XOR perhitungan matematikanya sedemikian rupa.

3. Untuk mendapatkan hasil yang maksimal tentanperhitungan

matemamatika dalam algoritma untuk menentukan kunci Simetris pada

(22)

1.5. Manfaat Penelitian.

Hasil penelitian ini diharapkan bermanfaat untuk digunakan sebagai berikut :

1. Bahan pertimbangan bagi institusi suatu perusahaan baik militer maupun swasta ataupun perguruan tinggi dalam rangka menjaga

kerahasiaan data berdasarkan level kepentingan.

2. Sumbangan pemikiran bagi berbagai pihak yang berminat dan ingin melakukan penelitian dan sebagai kontribusi bagi dunia

(23)

BAB II

TINJAUAN PUSTAKA

2.1. Latar Belakang Kriptografi. 2.1.1 Sejarah Kriptografi.

Kriptografi berasal dari dua kata Yunani, yaitu Crypto yang berarti rahasia dan

Grapho yang berarti menulis. Secara umum kriptografi dapat diartikan sebagai

ilmu dan seni penyandian yang bertujuan untuk menjaga keamanan dan

kerahasiaan suatu pesan.

Kriptografi pada dasarnya sudah dikenal sejak lama. Menurut catatan

sejarah, kriptografi sudah digunakan oleh bangsa Mesir sejak 4000 tahun yang

lalu oleh raja-raja Mesir, pada saat perang untuk mengirimkan pesan rahasia

kepada panglima perangnya melalui kurir-kurinya. Orang yang melakukan

penyandian ini disebut kriptografer, sedangkan orang yang mendalami ilmu dan

seni dalam membuka atau memecahkan suatu algoritma kriptografi tanpa harus

mengetahui kuncinya disebut kriptanalis. Seiring dengan perkembangan

teknologi, algoritma kriptografi pun mulai berubah menuju ke arah algoritma

kriptografi yanglebih rumit dan kompleks.

Kriptografi mau tidak mau harus diakui mempunyai peranan yang paling

penting dalam peperangan sehingga algoritma kriptografi berkembang cukup

pesat pada saat Perang Dunia I dan Perang Dunia II.

Menurut catatan sejarah, terdapat beberapa algoritma kriptografi yang

pernah digunakan dalam peperangan, diantaranya adalah ADFVGX yang dipakai

oleh Jerman pada Perang Dunia I, Sigaba/M-134 yang digunakan oleh Amerika

Serikat pada Perang Dunia II, Typex oleh Inggris, dan Purple oleh Jepang. Selain

itu Jerman juga mempunyai mesin legendaris yang dipakai untuk memecahkan

sandi yang dikirim oleh pihak musuh dalam peperangan yaitu, Enigma. Algoritma

yang baik tidak ditentukan oleh kerumitan dalam mengolah data atau pesan yang

(24)

2.1.2 Definisi Kriptografi.

Teknik Kriptografi berasal dari bahasa Yunani yakni kriptos yang artinya tersembunyi dan graphia yang artinya sesuatu yang tertulis, maka kriptografi dapat diibaratkan sesuatu yang tercatat secara rahasia.

Teknik kriptografi adalah sesuatu disiplin ilmu yang mempelajari tentang

teknik merahasiakan suatu data rahasia yang penting ke dalam suatu bentuk yang

tidak dapat dibaca oleh siapapun serta dapat mengembalikannya kembali menjadi

data seperti semula dengan menggunakan berbagai macam teknik yang telah ada

sehingga data tersebut tidak dapat diketahui oleh pihak manapun yang bukan

pemilik atau yang tidak berkepentingan, makna lain dari kriptografi ialah

kriptanalisis (Cryptanalysis) yang merupakan ilmu tentang teknik bagaimana memecahkan mekanisme kriptografi.

Dalam suatu institusi baik militer dan swasta, kriptografi lebih diutamakan

dalam menjaga keamanan data agar tetap terjaga kerahasiaannya secara khusus.

Seperti yang telah diketahui dan disetujui bahwa perlindungan (proteksi) terhadap

komunikasi yang sensitif telah menjadi penekanan kriptografi selama ini.

2.1.3 Tujuan Kriptografi.

Algoritma yang baik tidak ditentukan oleh kerumitan dalam mengolah data atau

pesan yang disampaikan. Yang penting, algoritma tersebut harus memenuhi 4

persyaratan berikut :

1. Kerahasiaan.

Pesan (plaintext) hanya dapat dibaca oleh pihak yang memiliki kewenangan.

2. Autentikasi.

Pengirim pesan harus dapat diidentifikasi dengan pasti, penyusup

harus dipastikan tidak bisa berpura-pura menjadi orang lain.

3. Integritas.

Penerima pesan harus dapat memastikan bahwa pesan yang dia

terima tidak dimodifikasi ketika sedang dalam proses transmisi

(25)

4. Non-Repudiation.

Pengirim pesan harus dapat menyangkal pesan yang dia

kirimkan,kriptografi pada dasarnya terdiri dari dua proses, yaitu

proses enkripsi dan proses dekripsi.

2.1.4

Algoritma Enkripsi Dengan XOR Sederhana.

Algoritma enkripsi sederhana yang menggunakan XOR adalah dengan meng-XOR

kan plainteks (P) dengan kunci (K) menghasilkan cipherteks :

C = P ⊕ K, Karena meng XOR kan nilai yang sama dua kali berturut-turut

menghasilkan nilai semula, maka dekripsi menggunakan persamaan :

P = C ⊕ K

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.

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 :

1. Cari panjang kunci dengan prosedur counting concidence sbb :

XOR kan cipherteks terhadap dirinya sendiri setelah digeser sejumlah byte, dan hitunglah jumlah byte yang sama. Jika pergeseran itu kelipatan dari panjang kunci (yang tidak diketahui),

(26)

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.

2.1.5.

Kriptografi Kunci Simetri.

Algoritma kunci-simetri mengacu pada metode enkripsi yang dalam hal ini

pengirim maupun penerima memiliki kunci yang sama. Algoritma kunci-simetri

modern beroperasi dalam mode bit dan dapat dikelompokkan menjadi dua

kategori:

1. Cipher aliran ( stream cipher) 2. Cipher blok ( block cipher)

2.1.5.1. Stream Cipher.

Algoritma kiptografi beroperasi pada plainteks/cipherteks dalam bentuk bit tunggal, yang dalam hal ini rangkaian bit dienkripsikan/didekripsikan bit per bit.

Cipher aliran mengenkripsi satu bit setiap kali tranformasi atau byte per byte (1 karakter = 1 byte). Nama lain untuk cipher stream adalah cipher status sebab

enkripsi tiap bit bergantung pada status saat ini (current state).

Cipher aliran pertama kali diperkenalkan oleh Vernam melalui algoritmanya yang dikenal dengan nama Vernam cipher. Vernam cipher diadopsi

dari one-time pad cipher, yang dalam hal ini karakter diganti dengan bit (0 dan 1). Cipherteks diperoleh dengan melakukan penjumlahan modulo 2 satu bit plainteks

(27)

Plainteks diperoleh dengan melakukan penjumlahan modulo 2 satu bit

cipherteks dengan satu bit kunci : pi = (ci + ki) mod 2, oleh karena itu kita dapat menyatakan bahwa cipher aliran merupakan aproksimasi dari unbreakable cipher

yaitu on-time pad cipher.

Mengingat operasi penjumlahan modulo 2 identik dengan operasi bit

dengan operator XOR, maka pada cipher aliran, bit hanya mempunyai dua buah nilai, sehingga proses enkripsi hanya menyebabkan dua keadaan pada bit tersebut

: berubah atau tidak berubah. Dua keadaan tersebut ditentukan oleh kunci enkripsi

yang disebut aliran kunci (keystream). Aliran kunci dibangkitkan dari sebuah pembangkit yang dinamakan pembangkit aliran-kunci (keystream generator). Aliran kunci di XOR kan dengan aliran bit-bit plainteks pi, p2, …,pi, untuk

menghasilkan aliran bit-bit cipherteks. ci = pi ⊕ ki, disisi penerima, bit-bit

cipherteks di XOR-kan dengan aliran kunci yang sama untuk menghasilkan bit-bit

plainteks : pi = ci ⊕ ki

Contoh :

Plainteks : 1100101

Aliran kunci : 1000110

Maka cipherteks didapatkan dengan meng XOR kan bit-bit plainteks dengan aliran kunci pada posisi yang berkoresponden, sehinga didapatkan :

0100011

2.2 System Teknik Kriptografi.

Ilmu Kriptografi telah banyak dimamfaatkan di dalam Teknik pengamanan baik

data maupun informasi, dibidang teknik computer dalam pengamanan data pada

masa kini. Teknik yang sering dipakai dari kriptografi adalah sistem yang

dikembangkan dengan teknik dasar. Sistem pengamanan data ini, dapat memiliki

tingkat keragaman yang khas.

Beberapa aplikasi yang lebih sederhana antara lain , komunikasi data yang

(28)

mail yang aman, penemuan kunci dan akses komputer yang aman. Secara umum, makin sederhana aplikasi makin cepat menjadi realita.

2.2.1 Identifikasi dan Otentikasi.

Identifikasi dan otentikasi merupakan dua sarat mutlak dari teknik kriptografi

yang sangat banyak digunakan saat ini. Identifikasi adalah suatu proses verifikasi

identitas suatu objek. Sebagai contoh, ketika mengambil dana dari suatu bank

dengan menggunakan kartu, yang dilengkapi dengan saatu password yang rahasia

tersebut, demikian juga dengan rekening yang bersangkutan.

Ketika kartu dimasukkan ke dalam mesin , maka mesin tersebut akan

meminta pengguna kartu untuk memasukkan password. Jika Password yang

dimasukkan benar, mesin akan mengidentifikasikan orang tersebut benar sebagai

pemilik kartu sehingga kepada orang tersebut akan diberikan tanda bahwa yang

bersangkutan dapat melanjutkannya. Sehingga teknik penting lainnya dari

kriptografi adalah otentikasi.

Otentikasi sama juga dengan indetifikasi, diantara keduanya memberikan

kemampuan dalam mengakses ke dalam teknik tertentu pula, tetapi otentikasi

memiliki jangkauan yang lebih luas sehingga tidak perlu mengidentifikasikan

objeknya.

2.2.2 Kriteria Pada Sistem Kriptografi.

Teknik kunci suatu sistem kriptografi (cryptosystems) dapat dikatagorikan atas 2 jenis teknik yakni teknik kriptografi dengan kunci publik (public key cryptography) dan teknik kriptografi dengan kunci rahasia (secret key cryptography). Dalam teknik kriptografi kunci rahasia yang juga dikenal dengan

symmetric cryptosystems.

Pengirim dan penerima bersama-sama sepakat dalam suatu kunci rahasia

yang akan digunakan dalam proses enkripsi dan dekripsi suatu data tanpa

diketahui oleh pihak lain. Sedangkan dalam teknik kriptografi kunci publik atau

(29)

key) dan kunci rahasia (private key) dimana kunci publik dipublikasikan dan kunci rahasia tetap dirahasiakan. Enkripsi dilakukan dengan menggunakan kunci publik

sedangkan dekripsi dilakukan dengan menggunakan kunci rahasia.

2.3 Teknik Kunci Rahasia.

Teknik pada kriptografi dengan kunci rahasia merupakan suatu teknik pada

kriptografi yang lebih sederhana, sedangkan pada kunci satu dapat digunakan

untuk enkripsi dan dekripsi suatu data.

Teknik kunci rahasia bukan hanya digunakan untuk proses enkripsi,

namun juga dapat digunakan untuk proses otentikasi. Proses data dengan

menggunakan teknik kriptografi kunci rahasia membuat pengirim dan penerima

pesan atau informasi setuju atas kunci rahasia yang digunakan tanpa orang lain

mampu mendapatkan dan mengetahuinya.

Atau dengan kata lain bagaimana memilih kunci rahasia yang benar-benar

aman. Proses ini membutuhkan suatu teknik dimana kedua pihak dapat

berkomunikasi tanpa keraguan akan bocornya kunci tersebut. Akan tetapi,

keuntungan dari kriptografi kunci rahasia adalah biasanya lebih cepat

dibandingkan dengan kriptografi kunci publik. Teknik yang paling umum untuk

kriptografi kunci rahasia adalah block ciphers, stream ciphers, dan message authentication codes.

2.3.1 Block Cipher.

Simetri Cipher Blok Algoritma kriptografi akan disebut simetri apabila ber

pasangan kunci untuk proses enkripsi dan dekripsinya sama. Algoritma enkripsi

simetri inipun dibagi lagi menjadi dua kelas, yaitu block-cipher dan stream-cipher. Karena AES harus merupakan cipher blok, maka cipher stream tidak akan

dibahas pada makalah ini.

Pada algoritma kriptografi simetri cipher blok, rangkaian bit-bit plainteks

dibagi menjadi blok-blok bit dengan panjang sama. Enkripsi dilakukan terhadap

blok bit plainteks menggunakan bit-bit kunci (yang ukurannya sama dengan

(30)

berukuran sama dengan blok plainteks. Dekripsi dilakukan dengan cara yang serupa seperti enkripsi. Skema enkripsi dan dekripsi dengan cipher blok dapat dilihat pada Gambar 1. Fungsi E dan D dideskripsikan sendiri oleh kriptografer.

Gambar 2.1 . Enkripsi dan Dekripsi dengan Cipher Block

2.3.1.1 Teknik Kriptografi.

Yang Digunakan Pada Chiper Blok. Algoritma blok cipher menggabungkan beberapa teknik klasik dalam proses enkripsi. Teknik kriptografi yang

digunakan adalah :

1). Substitusi. Teknik ini mengganti satu atau sekumpulan bit pada

blokc plainteks menjadi cipherteks tanpa mengubah urutannya.

2). Transposisi atau Permutasi. Teknik ini memindahkan posisi bit

pada blok plainteks untuk ditempatkan pada blok cipherteks berdasarkan aturan tertentu.

3). Ekspansi. Teknik ini memperbanyak jumlah bit pada block

(31)

4). Kompresi. Teknik ini kebalikan dari ekspansi, di mana jumlah bit pada plainteks dikompresi (diperkecil) berdasarkan aturan

2.3.1.2 Mode Operasi Cipher Block.

Plainteks dibagi menjadi beberapa blok yang dengan panjang yang tetap. Beberapa mode operasi dapat diterapkan untuk melakukan enkripsi terhadap

keseluruhan blok plainteks, Empat mode operasi yang lazim diterapkan pada sistem blok cipher adalah .

1) Electronic Code Book(ECB).

Setiap blok plainteks Pi dienkripsi secara individual dan independen menjadi blok cipherteks Ci. Secara matematis, enkripsi

dengan mode ECB dinyatakan sebagai Ci = Ek(Pi) dan dekripsi

sebagai Pi = Dk(Ci), yang dalam hal ini, Pi dan Ci masing masing block plainteks dan cipherteks ke- I Skema enkripsi.

(32)

2). Cipher Block Chaining ( CBC ).

Mode ini menerapkan mekanisme umpan balik (feedback) pada sebuah blok, yang dalam hal ini hasil enkripsi blok sebelumnya

diumpan balikkan ke dalam enkripsi blok yang current. Secara

matematis, enkripsi dengan mode CBC dinyatakan sebagai Ci

= Ek(P1 = Cií1) dan dekripsi sebagai Pi = Dk(Ci) = Ci-1 Yang

dalam hal ini, C0 = IV ( initialization vector ). IV dapatdiberikan oleh pengguna atau dibangkitkan secara acak oleh program.

gambar enkripsi dengan mode CBC dapat dilihat pada Gambar 2.3 .

Gambar 2.3 Enkripsi dengan Mode CBC

2.3.1.3 Stream Cipher .

Adalah type algoritma proses enkripsi simetri yang merupakan model

mentransformasikan data secara karakter per karakter. Stream ciphers dapat

dibuat sangat cepat sekali, jauh lebih cepat dibandingkan dengan algoritma block

(33)

Sementara algoritma block cipher secara umum digunakan untuk unit

plaintext yang berukuran besar sedangkan stream cipher digunakan pada blok

data yang ukurannya kecil, biasanya ukuran bit. Suatu Proses enkripsi terhadap

plaintext tertentu dengan algoritma block cipher akan menghasilkan ciphertext

yang sama jika kunci yang sama digunakan. Dalam proses stream cipher,

transformasi dari unit plaintext yang lebih kecil ini berbeda antara satu dengan

lainnya, tergantung pada kapan unit tersebut ditemukan selama proses enkripsi.

Stream cipher menghasilkan apa yang disebut dengan keystream yaitu suatu barisan bit yang digunakan sebagai kunci. Proses enkripsi dicapai dengan

menggabungkan keystream dengan plaintext biasanya dengan operasi bitwise XOR. Proses keystream dapat dibuat independen terhadap plaintext dan ciphertext,

menghasilkan apa disebut dengan proses synchronous stream cipher, dan dapat dibuat tergantung pada data dan enkripsinya, dalam metode ini stream cipher

disebut sebagai self-synchronizing, bentuk stream cipher ialah synchronous stream cipher.

Penunjukan proses dalam stream ciphers pada umumnya berkaitan dengan sifat-sifat teoritis yang menarik dari one-time pad. Suatu one-time pad, kadang-kadang disebut Vernam cipher, dalam menggunakan sebuah string dari bit yang dihasilkan murni secara acak. Keystream memiliki panjang sama dengan pesan

plaintext; string acak digabungkan dengan menggunakan bitwise XOR dengan

plaintext untuk menghasilkan ciphertext.

Karena keystream seluruhnya adalah acak, walaupun dengan sumber daya komputasi tak terbatas seseorang hanya dapat menduga plaintext jika dia melihat

ciphertext. Metode cipher seperti ini disebut memberikan kerahasiaan yang sempurna (perfect secrecy), dan analisis terhadap one-time pad dipandang sebagai

salah satu landasan kriptografi modern.

Sementara one-time pad yang digunakan semasa perang melalui saluran diplomatik membutuhkan tingkat keamanan yang sangat tinggi, fakta bahwa kunci

(34)

memperkenalkan masalah manajemen kunci yang strict. Sedangkan keamanan sempurna, one-time pad secara umum adalah tidak praktis. Metode Stream ciphers dikembangkan sebagai satu pola terhadap tindakan dari one-time pad.

Sedangkan stream cipher modern tidak mampu menyediakan tingkat keamanan one-time pad yang memadai secara teori, tetapi setidaknya praktis. Sampai saat ini belum ada stream cipher sebagai standard . Metode stream cipher

yang umum digunakan. Satu hal yang menarik bahwa mode operasi tertentu dari

suatu block cipher dapat mentransformasikan secara efektif hasil operasi tersebut ke dalam satu keystream generator dan dalam, block cipher, suatu stream cipher.

2.4 Matematis Kriptografi.

2.4.1 Pengantar Matematis Pada Kriptografi.

Seluruh byte dalam algoritma Mars diinterprestasikan sebagai elemen dalam

finite field. Element finite field ini dapat dikalikan dan dijumlahkan, tetapi hasil

dari penjumlahan dan perkalian elemen finite field sangat berbeda dengan hasil dari penjumlahan dan perkalian bilangan biasa.

2.4.2 Penjumlahan.

Penjumlahan dari dua elemen dalam suatu finite field tersebut dilakukan dengan menjumlahkan koefisien dari pangkat polinom yang bersesuaian dari dua elemen

tersebut. Penjumlahan dilakukan dengan operasi XOR dan dinotasikan dengan ⊕.

Dengan operasi ini, maka :

1 ⊕ 1 = 0, 1 ⊕ 0 = 1, 0 ⊕ 1 = 1, dan 0 ⊕ 0= 1.

Pengurangan dari polynomial identik dengan penjumlahan polynomial.

Sebagai alternative, penjumlahan elemen-elemen pada finite field dapat dijelaskan sebagai penjumlahan modulo 2 dari bit yang bersesuaian dalam byte.

Untuk 2 byte { a7a6a5a4a3a2a1a0 } dan { b7b6b5b4b3b2b1b0 }, hasil

penjumlahannya adalah { c7c6c5c4c3c2c1c0 } dimana setiap ci = ai ⊕ bi.

Contoh dari operasi penjumlahan adalah sebagai berikut : (

(35)

{01010111 } ⊕ {11010100 } ini disebut ( Notasi Biner ) dan { 57 } ⊕ { 83 } = { d4 } ini disebut notasi hexadecimal.

2.4.3 Perkalian.

Dalam representasi polynomial, perkalian dalam GF ( 28 ) yang dinotasikan

dengan * mengacu pada perkalian modulo polynomial sebuah irreducible

polynomial yang berderajat 8. Sebuah polynomial bersifat irreducible jika satu

satunya pembagi adalah dirinya dan 1, untuk algoritma Mars, irreducible polynomial ini adalah,

m(x) = x8+x4+x3+x+1 , atau dalam notasi hexadecimal adalah { 01 } {1b }.

Sebagai contoh, {57}*{83}={c}, karena :

(X6+X4+X2+X+1)*(X7+X+1=X13+X11+X9+X8+X7+X7+X5+X3+X2+X+X6+X4+X2

+1=X13+X11+X9+X8+X6+X5+X4+X3+1dan X13+X11+X9+X8+X6+X5+X4+X3+X+1

modulo ( X8+X4+X3+X+1 ) = X7+X6+ 1.

Pengurangan modulo oleh m(x) memastikan bahwa hasilnya akan berupa

polynomial biner dengan derajat kurang dari 8, sehingga dapat dipresentasikan dengan 1 byte.

2.4.4 Operasi XOR.

MARS cipher menggunakan berbagai macam pada operasi ( pada 32-bit word). MARS mengkombinasikan: Exclusive-or (XOR), penjumlahan, pengurangan, perkalian, fixed rotation dan data dependent rotation. antara lain adalah :

1) Penjumlahan, Pengurangan, Perkalian dan XOR.

Ini merupakan operasi yang sangat sederhana, yang digunakan

untuk menggabungkan nilai data dan nilai kunci.

2) Fixed Rotation.

Rotasi berdasarkan nilai tertentu yang sudah ditetapkan. Dalam hal

ini nilai rotasi untuk transformasi kunci adalah 13 posisi dengan

(36)

dengan pergerakan rotasi ke kin, 24 posisi untuk forward mixing

dengan pergerakan rotasi ke kin dan 24 posisi untuk backward mixing dengan pergerakan rotasi ke kanan.

3) Data Dependent Rotation.

Rotasi berdasarkan nilai yang ditentukan berdasarkan 5 bit terendah (berkisar antara 0 dan 31) dari word data, misalkan nilai

rotasi r = 5 bit terendah dari M maka nilai rotasi r akan sangat tergantung dengan nilai 5 bit terendah dari M.

2.4.5 S-Box.

Tabel look-up atau S-box merupakan suatu tabel substitusi yang digunakan sebagai dasar untuk menjamin keamanan data pada DES, dan juga digunakan untuk beberapa cipher yang lain seperti MARS.

MARS menggunakan tabel tunggal yang terdiri dari 512, 32 bit word,

yang disebut dengan S-box. Tabel S box ini merupakan fixed tabel yang nilainya sudah tetap, kekurangan dari penggunaan S-box adalah agak lambat untuk

diimplementasi pada software.

2.4.6 Kriptografi Secret Key dan Public Key.

Pada dasarnya terdapat dua jenis algoritma kriptografi berdasarkan kunci

yang digunakan. Yang pertama adalah kriptografi dengan menggunakan

secret key dan yang kedua adalah kriptografi yang menggunakan public key. Kriptografi public key menggunakan dua kunci yang berbeda dimana satu kunci digunakan untuk melakukan enkripsi dan kunci yang lain digunakan untuk

(37)

Gambar 2.4 Kriptografi kunci simetri.

1. CryptographiSecret Key.

Kriptografi secret key adalah kriptografi yang hanya melibatkan satu kunci dalam proses enkripsi dan dekripsi. Proses dekripsi dalam kriptografi secret key ini adalah kebalikan dari proses enkripsi.

Kriptografi secret key seringkali disebut sebagai kriptografi konvensional atau kriptografi simetris (Symmetric Cryptography) dimana proses dekripsi adalah kebalikan dari proses enkripsi dan menggunakan kunci

yang sama. Kriptografi simetris dapat dibagi menjadi dua, yaitu penyandian

blok dan penyandian alir. Penyandian blok bekerja pada suatu data yang

terkelompok menjadi blok-blok data atau kelompok data dengan panjang data

yang telah ditentukan.

Pada penyandian blok, data yang masuk akan dipecah-pecah menjadi

blok data yang telah ditentukan ukurannya. Penyandian alir bekerja pada suatu

data bit tunggal atau terkadang dalam satu byte. Jadi format data yang mengalami proses enkripsi dan dekripsi adalah berupa aliran bit-bit data.

Algoritma yang ada pada saat ini kebanyakan bekerja untuk

(38)

menggunakan blok-blok data yang telah ditentukan ukurannya untuk

kemudian dikirim melalui saluran komunikasi.

2. Kriptografi Public Key.

Kriptografi public key sering disebut dengan kriptografi asimetris .Berbeda dengan kriptografi secret key, kunci yang digunakan pada proses enkripsi dan proses dekripsi pada kriptografi public key ini berbeda satu sama lain. Jadi dalam kriptografi public key, suatu key generator akan menghasilkan dua kunci berbeda dimana satu kunci digunakan untuk melakukan proses

enkripsi dan kunci yang lain digunakan untuk melakukan proses dekripsi. Kunci

yang digunakan untuk melakukan enkripsi akan dipublikasikan kepada umum

untuk dipergunakan secara bebas. Oleh sebab itu, kunci yang digunakan

untuk melakukan enkripsi disebut juga sebagai public key. Sedangkan kunci yang digunakan untuk melakukan dekripsi akan disimpan.

(39)

2.5 Metoda MARS.

2.5.1 Sejarah Algoritma MARS.

MARS adalah cipher block yang didesain oleh tim dari IBM Corporation, yaitu Carolynn Burwick, Don Coppersmith, Edward D.Avignon, Rosario Gennaro, Shai

Halevi, Charanjit Jutla, Stephen M.Matyas, Jr., Luke O’Connor, Mohammad

Peyravian, David Safford, dan Nevenko Zunic. MARS merupakan block cipher

dengan panjang blok 128 bit dan panjang kunci fleksible dari 128 bit sampai 499 bit. Algoritma ini bekerja dengan word 32 bit, dan menggunakan

jaringan Feistel (Feistel network) tipe-3.

MARS menerima input dan menghasilkan output empat word 32 bit.

Cipher ini berorientasi pada word, di mana semua operasi internalnnya bekerja

pada word 32 bit, sehingga struktur internal dari MARS adalah endian-neutral

(code yang sama dapat bekerja pada mesin little - endian maupun big - endian). Jika input (atau output) cipher adalah byte stream, maka digunakan pengurutan

little - endian byte untuk menginterpretasi masing masing empat byte sebagai sebuah word 32 bit. Gambar 4, memperlihatkan skema dari MARS yang dibagi

menjadi 3 fase. Fase pertama, Forward Mixing berisi pengacakan besar besaran dan hujan kunci untuk membuat frustasi serangan chosen-plaintext.

Di dalam fase ini dilakukan penambahan word kunci ke word data, diikuti dengan delapan putaran berbasis S-Box. Fase kedua merupakan Cryptographic Core (inti kriptografi) dari cipher ini, yang berisi 16 putaran transformasi dengan jaringan Feistel. Untuk memastikan enkripsi dan dekripsi

memiliki kekuatan yang sama, maka 8 putaran pertama dilakukan dengan forward mode sedangakan sisanya dengan backward mode. Fase terakhir, Backward Missing operasi yang dilakukan hampir sama seperti fase pertama, namun merupakan kebalikan dari fase pertama. Fase ini bertujuan melindungi

(40)

Gambar 2.6 Algoritma MARS

2.5.2 Algoritma EnkripsiMARS.

Penelitian ini menggambarkan dan menganalisis MARS algoritma enkripsi simetris-key yang merupakan blok baru cipher diserahkan kepada NIST untuk dipertimbangkan sebagai Advanced Encryption Standard(AES).

MARS mendukung blok 128-bit dan ukuran kunci variabel. Hal ini

dirancang untuk mengambil keuntungan dari kuat operasi didukung dalam

komputer saat ini, menghasilkan banyak peningkatan keamanan / trade off kinerja Khususnya, dalam MARS kami menggunakan kombinasi yang unik dari

lookup S-box, perkalian dan rotasi data-dependent. MARS memiliki struktur heterogen, dengan kriptografi putaran inti yang dibungkus oleh putaran

pencampuran sederhana. Putaran inti kriptografi memberikan kuat perlawanan

terhadap semua serangan cryptanalytical dikenal, sedangkan putaran pencampuran

memberikan guguran baik dan menawarkan margin keamanan yang sangat luas

(41)

2.5.2.1 Struktur Cipher Algoritma MARS.

Struktur cipher pada MARS dibagi dalam 3 tahap yakni :

1) Tahap Pertamaadalah Forward Mixing.

Berfungsi untuk mencegah serangan terhadap chosen plainlext. Terdiri dari penambahan sub kunci pada setiap word data atau

plaimezr, diikuti dengan delapan iterasi mixing tipe-3 feitsal

(dalam forward mode) dengan berbasis S- box.

2) Tahap Kedua adalah Cryptographic Coredan “ Cipher ”.

Terdiri dari enam belas iterasi tranformasi kunci tipe-3 feistal.

Untuk menjamin bahwa proses enkripsi dan dekripsi mempunyai

kekuatan yang sama, delapan iterasi pertama ditunjukkan

dalam forward mode dan delapan iterasi terakhir ada dalam “

backward mode”.

3) Tahap Terakhir AdalahBackward Mixing.

Berfungsi untuk melindungi serangan kembali terhadap chosen chipertext. Tahap ini merupakan invers dari tahap pertama,

terdiri dari delapan iterasi mixing tipe-3 feistel (dalam backward mode) dengan berbasis s-box, diikuti dengan pengurangan sub

kunci dari word data. Hasil pengurangan inilah yang disebut

dengan ciphertext. Notasi yang digunakan dalam cipher:

1. D[ ] adalah sebuah array untuk 4 32-bit data. Inisial D

berisi plaintext dan pada akhir proses enkripsi berisi

ciphertext.

2. K[ ] adalah array untuk expanded key, terdiri dari 40 32 bit

word.

3. S [ ] adalah sebuah S-box, terdiri dari 512 32-bit word.

3 (1) Tahap Pertama : Forward Mixing.

Dalam tahap ini, pertama-tama sebuah sub kunci ditambahkan pada setiap

(42)

Dalam setiap iterasi digunakan sebuah word data (source word) untuk memodifikasi tiga word data (target word).

Keempat byte source word digunakan sebagai indeks untuk S-box, kemudian nilai S-box entri akan di-XOR-kan, atau ditambahkan pada ketiga word data yang lain. Keempat byte dari source word dinotasikan dengan b0, b1, b2, b3 (dimana b0 adalah byte terendah dan b3 adalah byte

tertinggi) dan digunakan sebagai indeks untuk S-box. S-box[b0] di-XOR -kan dengan target word pertama, dan S box[b1+256] ditambah-kan dengan

target word yang sama.

S box[b2] ditambahkan dengan target word kedua dan S

box[b3+256] di-XOR-kan dengan target word ketiga. Terakhir source word dirotasikan sebanyak 24 posisi ke kanan. Untuk iterasi berikutnya keempat word data dirotasikan, sehingga target word pertama saat ini

menjadi source word berikutnya, target word kedua saat ini menjadi target

word pertama berikutnya, target word ketiga saat ini menjadi target word

kedua berikutnya dan source word saat ini menjadi target word ketiga

berikutnya.

(3.2) Tahap Kedua: Transformasi Kunci Utama.

Cryptographic core pada MARS cipher menggunakan tipe 3 –feistal Network yang terdiri dari enam belas iterasi. Dalam setiap iterasi digunakan E-function (E untuk expansion) yang mengkombinasikan penjumlahan, perkalian, fixed rotation data dependent rotation dan S _box lookup.

Fungsi ini menerima input satu word data dan menghasilkan tiga

(43)

Dalam delapan iterasi pertama, output pertama dan kedua dari E- function ditambahkan dengan target word pertama dan kedua, output ketiga di-XOR-kan dengan target word ketiga. Dalam delapan iterasi terakhir, output pertama dan kedua dari E –function ditambahkan dengan target word ketiga dan kedua, output ketiga di-XOR-kan dengan target word pertama.

(3.3) E-Function.

E -function menerima input satu word data dan menggunakan dua atau

lebih sub kunci untuk menghasilkan tiga word data sebagai output. Dalam

fungsi ini digunakan tiga variabel sementara, yang dinotasikan dengan L, M

dan R ( left, middle, dan right ).

R berfungsi untuk menampung nilai source word yang dirotasikan sebanyak 13 posisi ke kiri. M berfungsi untuk menampung nilai source word yang dijumlahkan dengan sub kunci pertama. Sembilan bit terendah dari M digunakan sebagai indeks untuk S-box. L berfungsi untuk menampung nilai yang sesuai dengan S box entry.

Sub kunci kedua akan dikalikan dengan R dan kemudian R

dirotasikan sebanyak S posisi ke kiri. L di-XOR-kan dengan R, lima bit terendah dari R digunakan untuk nilai rotasi r dengan nilai antara 0 dan 31,

dan M dirotasikan ke kiri sebanyak r posisi. R dirotasikan sebanyak 5 posisi

ke kiri dan di-XOR-kan dengan L. Terakhir, lima bit terendah dari R diambil sebagai nilai rotasi r dan L dirotasikan kekiri sebanyak r posisi. Output word

pertama dari E -function adalah M kedua adalah M dan ketiga adalah R.

(3.4) Tahap Ketiga : Backward Mixing.

Tahap ini merupakan invers dari tahap forward mixing, word data yang

diproses dalam urutan yang berbeda dalam backward mode. Sama halnya

(44)

Keempat byte dari source word dinotasikan dengan b0, bl, b2, b3 (dimana b0 adalah byte terendah dan b3 adalah byte tertinggi) dan digunakan sebagai indeks untuk S box. S box [b0+256] di-XOR-kan dengan target word pertama, dan S box[b3] dikurangkan dengan target

word kedua. S box [b2+256] dikurangkan dengan target word ketiga dan S box[b1] di-XOR-kan dengan target word ketiga juga.

Terakhir source word dirotasikan sebanyak 24 posisi ke kiri. Untuk iterasi berikutnya keempat word data dirotasikan sehingga target word

pertama saat ini menjadi source word berikutnya, target word kedua saat ini menjadi target word pertama berikutnya, target word ketiga saat ini

menjadi target word kedua berikutnya dan source word saat ini menjadi

target word ketiga berikutnya.

2.5.2.2 Perluasan Kunci.

Perluasan kunci berfungsi untuk membangkitkan sub kunci dari kunci yang

diberikan oleh pemakai yakni k[ ] yang terdiri dari n 32-bit (word). Kunci

diperluas menjadi 40 32-bit (word) sub kunci K[ ]. Dalam prosedur ini dibutuhkan 7 word data yang diambil dari S box[0…6] dan digunakan untuk transformasi

linier. Tabel temporer T yang terdiri dari 47 word data digunakan untuk menampung nilai 7 word data dari S box[0..6] dan nilai hasil transformasi linier,

dimana 7 word pertama berisikan nilai S box(0..6] dan 40 word terakhir akan

diisikan melalui transformasi linier yang selanjutnya digunakan dalam iterasi

untuk perluasan kunci.

Dalam transformasi linier untuk T[0..38] diisikan dengan ketentuan T[i-7] di-XOR-kan dengan T[i-2] dan hasilnya dirotasikan sebanyak 3 posisi ke kin kemudian di-XOR-kan dengan k[i mod n], di-XOR-kan dengan i. Untuk T[39] diisikan dengan n. Perluasan kunci dilakukan sebanyak 7 iterasi dan pada iterasi

terakhir nilai temperori T[0..39] disubstitusikan menjadi nilai sub kunci K[0…39].

Dalam setiap iterasi T[1..39] didapat dengan cara menambahkan S box[9 bit terendah dari T[i-1]] dengan T[i] dan kemudian dirotasikan sebanyak 9 posisi

(45)

kemudian dirotasikan sebanyak 9 posisi ke kiri. Dari hasil iterasi terakhir

T[0…39] disubtitusikan ke sub kunci K[0…39] dengan cara : K[(7i) mod 40]

diisikan dengan T[i].Untuk nilsi K5 K7... K33 diubah dengan ketentuan: u

digunakan untuk menampung nilai S_box[265+2 bit terendah dari K[1], j

digunakan untuk menampung nilai 5 bit terendah dari K[i+3].

Kemudian nilai 2 bit terendah dari K[i] diset menjadi 1 dan ditampung

dalam w. Bit mask M diset menjadi 1 jika dalam w1 terdapat 10 bit 1 atau bit 0 yang berurutan. U dirotasikan sebanyak j posisi ke kiri dan hasilnya ditampung

dalam p. Terakhir p di-XOR-kan dengan w di bawah kontrol M dan disimpan dalam K[i].

2.5.2.3 Panjang Kunci.

Keamanan data sebuah strategi penyandian yang tergantung dari dua hal :

algoritma penyandian dan panjang kuncinya ( key ). Algoritma sangat menentukan kekuatan dari sebuah teknik penyandian, tetapi panjang kunci juga

sangat berguna dalam menentukan suatu kekuatan teknik penyandian.

Suatu contoh, apabila seorang kriptanalis mengetahui algoritma yang

dipakai untuk melakukan teknik penyandian terhadap suatu pesan, makanya

kriptanalis tersebut harus mendapatkan kunci yang dipakai terlebih dahulu

sebelum dapat melakukan dekripsi terhadap semua ciphertext yang dia miliki. Satu satunya cara sebelum mendapatkan kunci yang akan dipaki adalah

dengan cara mencoba semua variasi kunci yang ada, teknik serangan ini disebut

dengan istilah brute force.

Adalah mudah untuk menghitung banyaknta variasi kunci yang ada.

Apabila panjang kunci adalah 8 bit, maka ada 28 atau 256 kemungkinan kunci

yang akan dicoba Dari 256 percobaan ini maka peluang untuk mendapatkan kunci

yang benar adalah 50 persen setelah melalui setengah usaha percobaan. Bila

panjang kunci 56 bit, maka ada 256 kemungkinan variasi kunci.

Dengan menganggap sebuah super computer dapat mencoba satu juta

kunci perdetik, maka diperkirakan sekitar 2285 tahun untuk menemukan kunci

(46)

yang sama akan membutuhkan 585 ribu tahun. Dengan jangka waktu yang

relative lama maka dapat dipastikanbahwa pesan yang disandikan tersebut tidak

mempunyai arti lagi apabila telah berhasil dibuka oleh orang lain.

Dengan melihat situasi ini, maka kriptografi yang baik akan memilih

untuk menggunakan sepanjang mungkin kunci yang akan digunakan, namun hal

ini tidak dapat diterapkan begitu saja, semakin panjang kunci maka semakin lama

pula waktu yang dibutuhkan computer untuk melakukan proses enkripsi. Oleh sebab itu,panjang kunci yang akan digunakan hendaknya memperhatikan dalam 3

hal, yakni seberapa penting data yang akan dirahasiakan, berapa lama waktu yang

dibutuhkan agar data tersebut tetap aman, dan berapa kuat kemampuan kriptanalis

dalam memecahkan teknik penyandian. Saat ini yang paling banyak dipakai

adalah kunci dengan panjang 128 bit karena panjang kunci ini dianggap paling

optimal untuk saat ini.

2.5.2.4 Proses Enkripsi Data.

Proses dari enkripsi Algoritma data 128 bit ini terdiri dari langkah-langkah

sebagai berikut :

1. Ambil blok data sebanyak 128 bit. Apabila dalam mengambil

blok data kurang dari 128 bit, maka perlu adanya penambahan

supaya dalam penggunaannya sesuai dengan jumlah datanya

atau dengan proses padding.

2. Blok data 128 bit dipermutasikan dengan Initial Permutation (IP).

3. Blok data 128 bit yang telah dipermutasikan tersebut dibagi

menjadi dua bagian, yaitu bit pertama disebut L[0] dan 32

bit kedua disebut R[0].

4. Ke-16 sub kunci dioperasikan dengan blok data, dimulai dari j=1

dan terbagi menjadi cara-cara berikut ini: R[j] = L[j-1] XOR

f(R[j-1], K[j])L[j] = R[j-1].

5. Permutasi akhir dilakukan kembali dengan tabel permutasi yang

(47)

2.5.2.5 Proses Dekripsi Data.

Proses dekripsi sama persis dengan proses enkripsi. Perbedaannya hanya terletak

pada aturan dari subkey-nya. Urutan subkey terbalik dengan proses enkripsi dan

subkey-nya di-inverse-kan.

Subkey pada langkah transformasi output pada proses enkripsi di-inverse -kan dan diguna-kan sebagai subkey pada putaran 1 pada proses dekripsi. Subkey

(48)

BAB III

METODOLOGI PENELITIAN

3.1. Pendahuluan.

Tujuan dari tesis ini adalah untuk mengetahui dan membuktikan kekuatan suatu

kunci simetris pada algoritma algoritma MARS melalui pendekatan perhitungan

matematis. MARS menggunakan prosedur ekspansi kunci untuk "memperluas"

kunci user-disediakan (terdiri dari kata-kata n 32-bit, dimana n adalah jumlah

apapun antara 4 dan 14) ke dalam array kunci K [ ] dari 40 kata-kata untuk

enkripsi / dekripsi operasi.

MARS cipher menggunakan berbagai operasi untuk menyediakan

kombinasi keamanan yang tinggi, kecepatan tinggi, dan pelaksanaan fleksibilitas.

Secara khusus, menggabungkan eksklusif-atau (xor), penambahan, pengurangan,

perkalian, dan baik tetap dan data-tergantung rotasi. MARS juga menggunakan

meja (S-box) tunggal 512 32-bit untuk memberikanbaik perlawanan terhadap

serangan linear dan diferensial, serta longsor yang baik data dan bit kunci. Ini

S-kotak juga digunakan oleh prosedur ekspansi kunci. Kadang-kadang S-box

dipandang sebagai dua tabel, masing-masing dari 256 entri, dilambangkan dengan

S0 dan S1.

Dalam desain dari kotak-S, kami menghasilkan masukan dalam sebuah

"mode pseudo acak" dan diuji bahwa S-box yang dihasilkan memiliki diferensial yang baik dan sifat linier. The MARS S-box ditunjukkan pada lampiran diakhir dari kertas. Pseudo-code pada Gambar 2.1 menunjukkan operasi enkripsi MARS secara rinci. Operasi digunakan dalam cipher diterapkan untuk kata-kata 32-bit,

yang dipandang sebagai unsigned integer.

Dalam code-pseudo kita gunakan sebagai berikutnotasi. Kami beri nomor bit dalam setiap kata dari 0 sampai 31, di mana bit 0 adalah yang paling signifikan

(atau terendah) bit, dan bit 31 adalah bit (atau tertinggi) yang paling signifikan.

(49)

Kami menyatakan dengan c + d Selain pengurangan modulo modulo oleh

cd 232, 232, dan dengan perkalian modulo c'd 232. Juga c <<< d dan c >>> d,

rotasi siklik menyatakan dari kata c 32-bit dengan posisi ke kiri dan

kanan,masing-masing.Operasi MARS dekripsi adalah kebalikan dari operasi

enkripsi dan kode untuk dekripsi serupa.

3.2. Lokasi dan waktu Penelitian.

Penelitian ini dilakukan di Medan dan penelitian dilakukan dengan mengambil

dari literatur yang ada di pustaka serta dari data yang ada di internet, dengan dukungan Jurnal, seminar yang dilakukan oleh peneliti lainnya. Adapun hal-hal

yang menjadi inti pembahasan yaitu:

1. Jenis Kunci publik yang menggunakan teori bilangan Mars menggunakan

Logaritma diskrit.

2. Design kunci publik berdasarkan kunci publik dengan perhitungan XOR.

3. Teori mathematic diskret yang memiliki peran sangat luas khususnya dalam permasalahan yang dapat dibawa kemodel permasalahan dalam

pembentukan kunci simetris, untuk itu di gunakan matriks dalam

membantu mengembangkan system kunci publik.

3.3. Konseb Pengembangan.

Penelitian menggunakan metode literatur untuk membuat konseb pengembangan matematika dengan hasil serta Kegiatan dan rancangan ini menggunakan

kumpulan data sebagai berikut:

1. Proses Pembentukan Kunci Simetris dengan proses XOR.

2. Proses Kode Kunci Simetris.

3. Design Kunci.

(50)

3.4. Prensentasi Data.

Input dan output dari algoritma Mars terdiri dari urutan data sebesar 128 bit. Urutan data yang sudah terbentuk dalam satu kelompok 128 bit tersebut

disebut juga sebagai blok data atau plaintext yang nantinya akan dienkripsi menjadi ciphertext. Cipher key dari MARS terdiri dari key dengan panjang 128 bit, 192 bit, atau 256 bit Urutan bit diberi nomor urut dari 0 sampai dengan

n-1 dimana n adalah nomor urutan.

Urutan data 8 bit secara berurutan disebut sebagai byte dimana byte

ini adalah unit dasar dari operasi yang akan dilakukan pada blok data. Dalam

algoritma MARS, data sepanjang 128 bit akan dibagi-bagi menjadi array byte dimana setiap array byte ini terdiri dari 8 bit data input yang saling berurutan. Arraybyte ini di fresentasi kan dalam bentuk :

a0a1a2...a15

Dimana:

a0 = { input0,input1,...,input7 }

a1 = { input8,input9,...,input15 }

a15 = { input120,input121,...,input127 }

(51)

BAB IV

HASIL DAN PEMBAHASAN

4.1 Pendahuluan

Cipher blok Symetric-key telah lama digunakan sebagai elemen kriptografi mendasar untuk memberikan keamanan informasi. Meskipun mereka terutama dirancang untuk menyediakan kerahasiaan data, fleksibilitas mereka memungkinkan mereka untuk melayani sebagai komponen utama dalam pembangunan sistem kriptografi banyak seperti pseudorandom nomor generator, protokol otentikasi pesan, cipher aliran, dan fungsi hash. Ada banyak symmetric-key cipher blok yang menawarkan berbagai tingkat keamanan, fleksibilitas, dan efisiensi.

Diantara banyak symetric key block cipher ada saat ini, beberapa (seperti DES, RC5, CAST, Blowfish, FeAl, aman, dan IDEA) telah menerima kepentingan praktis terbesar. Kebanyakan blok cipher symmetric-key (seperti DES, RC5, CAST, dan Blowfish) didasarkan pada jaringan "Feistel" membangun dan "fungsi bulat". Sebuah cipher Feistel melibatkan membagi plaintext menjadi dua bagian dan berulang-ulang menerapkan fungsi bulat untuk data untuk beberapa jumlah putaran, dimana pada setiap putaran menggunakan fungsi bulat dan kunci, kiri setengah ditransformasikan didasarkan pada bagian kanan dan kemudian kanan setengah ditransformasikan berdasarkan modifikasi kiri setengah.

(52)

data-dependent rotasi bit-bijaksana dan cipher beberapa lainnya (seperti IDEA) menggunakan multiplikasi dalam fungsi putaran mereka untuk difusi. Dalam tulisan ini, kami menyajikan blok cipher symmetric-key novel, yang disebut MARS, dengan ukuran blok 128 bit dan ukuran kunci variabel, mulai 128-448 bit. MARS cipher menggunakan berbagai operasi untuk menyediakan kombinasi keamanan yang tinggi, kecepatan tinggi, dan fleksibilitas implementasi.

Tema utama di balik rancangan MARS adalah untuk mendapatkan keamanan yang terbaik / tradeoff kinerja dengan memanfaatkan teknik yang terkuat saat ini tersedia untuk perancangan cipher blok. Sisa dari makalah ini diorganisasikan sebagai berikut. Kami menyajikan MARS yang meliputi gambaran enkripsi / dekripsi operasi dan key setup. Kinerja dan implementasi MARS dalam perangkat lunak dan hardware tidak dibahas . Dasar pemikiran di balik desain MARS disajikan dalam.Pembacaan sandi dari MARS dan ketahanan terhadap serangan linear dan diferensial dibahas dalam menyediakan beberapa kesimpulan.

4.2 Unit Kriptografi.

Unit kriptografi ini terbagi menjadi tiga bagian :

1. Unit Enkripsi. digunakan untuk mengkode data atau pesan asli

(plaintext) yang terdapat dalam text editor menjadi suatu bentuk data atau pesan (ciphertext). Pengguna dapat langsung mengenkripsi data atau pesan yang dalam bentuk file tersebut dengan cara memilih unit enkripsi file.

2. Unit Dekripsi.

(53)

3. Di Dalam Jaringan. Unit pengiriman file digunakan untuk

mengirim atau menerima suatu pesan yang telah dienkripsi atau didekripsi, dari satu komputer ke komputer lainnya. Hanya saja pengiriman file ini terbatas dalam ruang lingkup Local Area Network (LAN).

4.3 Ukuran Kunci Variabel.

Yang disediakan pengguna berkisar 4-14 kata (yaitu, 128-448 bit),mars menggunakan prosedur ekspansi kunci untuk "memperluas" kunci user-disediakan (terdiri dari kata-kata n 32 bit, dimana n adalah jumlah apapun antara 4 dan 14) ke dalam array kunci K [] dari 40 kata-kata untuk enkripsi / dekripsi operasi. MARS

cipher menggunakan berbagai operasi untuk menyediakan kombinasi keamanan yang tinggi, kecepatan tinggi, dan pelaksanaan fleksibilitas. Secara khusus, menggabungkan eksklusif atau (xor), penambahan, pengurangan, perkalian, dan baik tetap dan data-tergantung rotasi.

MARS juga menggunakan meja (S-box) tunggal 512 32-bit untuk memberikanbaik perlawanan terhadap serangan linear dan diferensial, serta longsor yang baik data dan bit kunci. Ini S-kotak juga digunakan oleh prosedur ekspansi kunci. Kadang-kadang S-box dipandang sebagai dua tabel, masing-masing dari 256 entri, dilambangkan dengan S0 dan S1. Dalam desain dari kotak-S, kami menghasilkan masukan dalam sebuah "mode pseudo acak" dan diuji bahwa S-box yang dihasilkan memiliki diferensial yang baik dan sifat linier. MARS S-box ditunjukkan pada lampiran diakhir dari kertas. Pseudo-code pada gambar menunjukkan operasi enkripsi MARS secara rinci. Operasi digunakan dalam cipher diterapkan untuk kata-kata 32-bit, yang dipandang sebagai unsigned

integer.

Gambar

Gambar 2.1 . Enkripsi dan Dekripsi dengan Cipher Block
Gambar. 2 .2    Electronic Code Book (ECB)
gambar  enkripsi  dengan mode CBC dapat dilihat   pada   Gambar
Gambar 2.4  Kriptografi kunci simetri.
+2

Referensi

Dokumen terkait

Agar pemahaman tentang berbakti kepada orang tua lebih sempurna, maka Khatib akan menyebutkan lawan dari perbuatan ini, yakni durhaka kepada kedua orang tua.. Apa saja amalan

Hasil pengolahan dan interpretasi data diperoleh kedalaman maksimal 10,9 m yang terdiri dari lapisan akuifer endapan lumpur ( alluvial) dengan volume air tawar

Diriwayatkan dari Sufyān Al-Tsauriy bahwa ia berkata : Kalau bukan karena Abu Hāsyim Al-Shūfi, maka aku tidak akan tahu tentang kedalaman riya, dan telah disebutkan dalam buku

Untuk para pendidik dan ketenaga pendidikan dalam pengawasan peserta didik ini perlu tenaga yang ekstra karena dihadapkan dengan karakter peserta didik

Sarung tangan yang kuat, tahan bahan kimia yang sesuai dengan standar yang disahkan, harus dipakai setiap saat bila menangani produk kimia, jika penilaian risiko menunjukkan,

Berdasarkan latar belakang yang telah diuraikan di atas, maka rumusan masalah dalam penelitian ini adalah adakah pengaruh intensitas mengikuti bimbingan agama

Pelaksanaan hukum secara Represif adalah penegakan hukum yang dilakukan pihak Kepolisian Polair Polres Rokan Hilir untuk melakukan penindakan terhadap pelaku

Setidaknya 33,92% dari peserta sosialisasi telah memiliki usaha sampingan yang terbagi menjadi 24,42% usaha budidaya jangkrik dan sisanya tertarik mengembangkan usaha