4. muhammad iqbal batubara

32
PERANCANGAN PERANGKAT LUNAK PEMBELAJARAN KRIPTOGRAFI UNTUK PENGAMANAN RECORD DENGAN METODE GOST Muhammad Iqbal Batubara 1 Abstrak Tujuan penelitian ini adalah membuat aplikasi pembelajaran yang mampu untuk menjelaskan secara terperinci prosedur kerja dari metode GOST dalam pengamanan record, sehingga aplikasi yang dirancang dapat digunakan sebagai fasilitas pendukung dalam proses pembelajaran. Hasil penelitian menunjukkan bahwa pembuatan modul pembelajaran kriptografi metode GOST memerlukan teknik CAI (Computer Attitude Instruction) yaitu dua komponen penting yaitu MSFlexGrid (Microsoft FlexGrid) yang digunakan sebagai tabel dan Common Dialog Control yang digunakan untuk membuka kotak dialog Open atau Save. Perangkat lunak ini dapat membantu pemahaman cara kerja atau algoritma kriptografi khususnya metode GOST. Proses pembentukan kunci pada metode GOST sangat sederhana sedangkan proses enkripsi dan dekripsi cukup panjang dan rumit. Kata kunci : perangkat lunak, perancangan, kriptografidan metode gost 1. Pendahuluan 1.1. Latar Belakang Sekarang ini, sering ditemukan berbagai macam perangkat lunak pembelajaran. Perangkat lunak yang penulis ingin rancang adalah mengenai kriptografi. Kriptografi merupakan ilmu yang mempelajari tentang pengamanan data atau informasi, dalam kriptografi banyak ditemukan metode-metode kriptografi. Salah satunya adalah metode GOST, GOST ini merupakan singkatan dari Gosudarstvennyi Standard” atau “Government Standard”. Algoritmanya merupakan algoritma enkripsi sederhana yang memiliki jumlah 1 Dosen STMIK Budidarma, Medan

Upload: acca-chalu

Post on 03-Jan-2016

73 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 4. Muhammad Iqbal Batubara

PERANCANGAN PERANGKAT LUNAK PEMBELAJARAN KRIPTOGRAFI UNTUK PENGAMANAN RECORD DENGAN METODE GOST

Muhammad Iqbal Batubara1

Abstrak

Tujuan penelitian ini adalah membuat aplikasi pembelajaran yang mampu untuk menjelaskan secara terperinci prosedur kerja dari metode GOST dalam pengamanan record, sehingga aplikasi yang dirancang dapat digunakan sebagai fasilitas pendukung dalam proses pembelajaran. Hasil penelitian menunjukkan bahwa pembuatan modul pembelajaran kriptografi metode GOST memerlukan teknik CAI (Computer Attitude Instruction) yaitu dua komponen penting yaitu MSFlexGrid (Microsoft FlexGrid) yang digunakan sebagai tabel dan Common Dialog Control yang digunakan untuk membuka kotak dialog Open atau Save. Perangkat lunak ini dapat membantu pemahaman cara kerja atau algoritma kriptografi khususnya metode GOST. Proses pembentukan kunci pada metode GOST sangat sederhana sedangkan proses enkripsi dan dekripsi cukup panjang dan rumit.

Kata kunci : perangkat lunak, perancangan, kriptografidan metode gost

1. Pendahuluan

1.1. Latar Belakang

Sekarang ini, sering ditemukan berbagai macam perangkat lunak pembelajaran.

Perangkat lunak yang penulis ingin rancang adalah mengenai kriptografi. Kriptografi merupakan

ilmu yang mempelajari tentang pengamanan data atau informasi, dalam kriptografi banyak

ditemukan metode-metode kriptografi. Salah satunya adalah metode GOST, GOST ini

merupakan singkatan dari “Gosudarstvennyi Standard” atau “Government Standard”.

Algoritmanya merupakan algoritma enkripsi sederhana yang memiliki jumlah proses sebanyak

32 round dan menggunakan 64 bit block cipher dengan 256 bit key. Metode GOST juga

menggunakan 8 buah S-Box yang permanen dan operasi XOR serta Rotate Left Shift.

Penulis memilih topik perangkat lunak pembelajaran karena penulis ingin membuat

bagaimana cara user (pengguna) lebih memahami serta menambah minat user terhadap

pembelajaran tersebut, dengan menampilkan teori-teori serta animasi yang mendukung. Jenis

perangkat lunak pembelajaran yang penulis singgung tentunya adalah pembelajaran kriptografi

metode GOST. Perangkat lunak pembelajaran ini dirancang supaya metode GOST dapat lebih

1 Dosen STMIK Budidarma, Medan

Page 2: 4. Muhammad Iqbal Batubara

mudah dipahami baik algoritma maupun operasi-operasi yang terkandung dalam metode GOST

ini.

Computer Assisted Instucion (CAI) adalah metode yang hampir sama dengan tipe

Computer Based Intrucion (CBI) yang dapat digunakan sendiri atau digunakan bersama dengan

sistem instruksional lain, tetapi perbedaan yang mendasar terdapat pada penggunaan multimedia

pembelajaran. Pada Computer Assisted Instucion (CAI) peran dosen tidak semuanya dihilangkan

dan komputer hanya berperan sebagai pendamping dosen dalam menyampaikan materi. Metode

Computer Assisted Instucion (CAI) lebih cocok digunakan karena pembelajaran kriptografi

sangat rumit dilakukan dengan perhitungan manual.

Berdasarkan uraian di atas, penulis bermaksud untuk mengambil tesis dengan judul

“Perancangan Perangkat Lunak Pembelajaran Kriptografi Untuk Pengamanan Record

Dengan Metode GOST”.

1.2. Perumusan Masalah

Berdasarkan latar belakang pemilihan judul, maka yang menjadi permasalahan adalah:

1. Bagaimana proses enkripsi dan dekripsi metode GOST?

2. Bagaimana merancang aplikasi pembelajaran dapat menampilkan algoritma proses enkripsi

dan dekripsi?

3. Bagaimana merancang aplikasi pembelajaran kriptografi untuk pengamanan record metode

GOST?

1.3. Batasan Masalah

Dalam melakukan penelitian ini dibatasi oleh hal-hal berikut :

1. Perangkat lunak akan menampilkan tahap-tahap penghitungan dalam bilangan biner dan

heksadesimal.

2. Melakukan enkripsi dan dekripsi metode GOST terhadap record.

3. Merancang aplikasi pengamanan record dengan metode GOST.

4. Merancang aplikasi pembelajaran dengan metode CAI (Computer Assisted Instucion).

1.4. Tujuan Penelitian

Adapun tujuan penelitian ini adalah membuat aplikasi pembelajaran yang mampu untuk

menjelaskan secara terperinci prosedur kerja dari metode GOST dalam pengamanan record,

Page 3: 4. Muhammad Iqbal Batubara

sehingga aplikasi yang dirancang dapat digunakan sebagai fasilitas pendukung dalam proses

pembelajaran.

2. Uraian Teoritis2.1. Pengenalan Kriptografi

Secara etimologi (ilmu asal usul kata), kata kriptografi berasal dari gabungan dua kata dalam

bahasa Yunani yaitu “kriptos” dan “graphia”. Kata kriptos digunakan untuk mendetesiskan sesuatu

yang disembunyikan, rahasia atau misterius. Sedangkan kata graphia berarti tulisan. Kriptografi

didefinisikan sebagai ilmu dan pelajaran untuk tulisan rahasia dengan pertimbangan bahwa

komunikasi dan data dapat dikodekan untuk mencegah dari mata-mata atau orang lain yang ingin

mengetahui isinya, dengan menggunakan kode-kode dan aturan-aturan tertentu dan metode lainnya

sehingga hanya orang yang berhak yang dapat mengetahui isi pesan sebenarnya.

Dalam menjaga kerahasiaan data, kriptografi mentransformasikan data jelas (plaintext) ke

dalam bentuk data sandi (ciphertext) yang tidak dapat dikenali. Ciphertext inilah yang kemudian

dikirimkan oleh pengirim (sender) kepada penerima (receiver). Setelah sampai di penerima,

ciphertext tersebut ditranformasikan kembali ke dalam bentuk plaintext agar dapat dikenali.

Dalam arti lain, cryptography adalah seni dan ilmu dalam mengamankan pesan. Dalam dunia

kriptografi, pesan disebut plaintext atau cleartext. Proses untuk menyamarkan pesan dengan cara

sedemikian rupa untuk menyembunyikan isi aslinya disebut enkripsi. Pesan yang telah dienkripsi

disebut ciphertext. Proses pengembalian sebuah ciphertext ke plaintext disebut dekripsi(kurniawan

J,2004).

Cryptographer adalah orang yang mempraktekkan ilmu kriptografi, sedangkan

cryptoanalysts adalah orang yang mempraktekkan kriptanalisis, seni dan ilmu dalam memecahkan

ciphertext.

Aturan fundamental kriptografi yaitu seseorang harus mengasumsikan bahwa seorang

kriptoanalis menguasai algoritma umum enkripsi yang digunakan. Dengan kata lain, kriptanalis

mengetahui cara kerja algoritma enkripsi. Jumlah usaha yang diperlukan untuk menemukan,

menguji, dan memasang algoritma baru yang selalu berkompromi atau berfikir untuk berkompromi

dengan algoritma lama, akan menyebabkan algoritma baru itu menjadi tidak berguna untuk menjaga

kerahasiaan. Sistem kriptografi atau Algoritma Kriptografi adalah sebuah algoritma kriptografi

ditambah semua kemungkinan plaintext, ciphertext dan kunci.

Page 4: 4. Muhammad Iqbal Batubara

Dalam perkembangannya, kriptografi juga digunakan untuk identifikasi pengirim pesan

dengan tanda tangan digital dan keaslian pesan dengan sidik jari digital (fingerprint). Kriptografi

mempunyai sejarah yang sangat panjang. Sejak jaman Romawi, Julius Caesar telah menggunakan

teknik kriptografi yang sekarang dianggap kuno dan sangat mudah dibobol untuk keperluan

komunikasi militernya. Namun sekutu dapat menembus Enigma, kriptografi produk Jerman dan

Purple, kriptografi produk Jepang, sekutu akhirnya dapat memenangkan perang dunia kedua karena

dapat mengetahui beberapa langkah dan strategi militer lawan.

2.2. Algoritma Kriptografi

Kriptografi merupakan bentuk algoritma untuk mengacak pesan dan mengembalikan acakan

pesan tersebut, dimana pembuatan algoritma kriptografi tersebut mempergunakan perhitungan

dan formula-formula matematika. Algoritma kriptografi adalah fungsi matematika yang

digunakan untuk enkripsi dan dekripsi. Untuk mengenkrip sebuah pesan plaintext, terapkan

algoritma enkripsi ke pesan plaintext tersebut. Untuk mendekrip sebuah pesan ciphertext,

terapkan algoritma dekripsi ke pesan ciphertext tersebut.

Algoritma tidak dapat diandalkan kerahasiaannya. Dengan menggunakan algoritma yang

dipublikasikan, cryptographer bebas melakukan konsultasi dengan sejumlah cryptologis

akademis yang berkeinginan untuk menembus sistem sehingga mereka dapat mempublikasikan

tulisan yang menunjukkan bagaimana cerdiknya mereka. Bila setelah algoritma itu

dipublikasikan selama 5 tahun dan tidak ada seorang ahlipun yang berhasil memecahkannya,

maka mungkin algoritma tersebut cukup solid.

Kerahasiaan sebenarnya terletak pada kunci dan panjang kunci itu merupakan masalah

penting dalam rancangan. Ambil suatu kunci kombinasi yang sederhana. Prinsip umumnya

adalah di mana seseorang memasukkan digit secara berurutan. Setiap orang mengetahui hal ini,

namun kunci merupakan rahasia. Dengan panjang kunci yang dua digit berarti bahwa terdapat

seratus kemungkinan. Panjang kunci tiga digit mempunyai seribu kemungkinan, dan panjang

kunci enam digit mempunyai sejuta kemungkinan. Semakin panjang kunci, semakin tinggi faktor

kerja yang harus dilakukan cryptanalyst. Faktor kerja untuk menembus sistem dengan pencarian

kunci yang melelahkan merupakan eksponensial terhadap panjang kuncinya. Kerahasiaan berasal

dari adanya algoritma yang kuat dan dipublikasikan dengan kunci yang panjang.

Syarat-syarat algoritma kriptografi yang baik antara lain,

Page 5: 4. Muhammad Iqbal Batubara

1. Keamanan sistem terletak pada kerahasiaan kunci dan bukan pada kerahasiaan algoritma

yang digunakan.

2. Algoritmanya memiliki ruang kunci (keyspace) yang besar.

3. Menghasilkan ciphertext yang terlihat acak dalam seluruh tes statistik yang dilakukan

terhadapnya.

4. Mampu menahan seluruh serangan yang telah dikenal sebelumnya.

Namun demikian perlu diperhatikan bahwa bila suatu algoritma kriptografi berhasil

memenuhi seluruh karakteristik di atas belum tentu merupakan sistem yang baik. Banyak

algoritma kriptografi lemah yang terlihat baik pada awalnya. Kadang kala untuk menunjukkan

bahwa suatu algoritma kriptografi kuat atau baik dapat dilakukan dengan menggunakan

pembuktian matematika.

Hingga saat ini masih banyak yang menggunakan algoritma Kriptografi yang relatif

mudah dibuka, alasannya adalah mereka tidak mengetahui sistem lain yang lebih baik serta

kadang kala terdapat motivasi yang kurang untuk menginvestasikan seluruh usaha yang

diperlukan untuk membuka suatu sistem.

2.3. Landasan Matematis Kriptografi

Aritmatika modular merupakan operasi matematika yang banyak diimplementasikan pada

metode kriptografi. Pada metode GOST, operasi aritmetika modular yang dipakai adalah operasi

penjumlahan modulo 232. Operasi modulo ini ditujukan untuk mengontrol panjang bit data agar tidak

lebih dari 32 bit. Operasi modulo ini melibatkan bilangan 0 dan 1 saja sehingga identik dengan bit

pada komputer.

2.4. Metode GOST

GOST merupakan singkatan dari “Gosudarstvennyi Standard” atau “Government

Standard”. Metode GOST merupakan suatu algoritma block cipher yang dikembangkan oleh

seorang berkebangsaan Uni Soviet. Metode ini dikembangkan oleh pemerintah Uni Soviet pada

masa perang dingin untuk menyembunyikan data atau informasi yang bersifat rahasia pada saat

komunikasi. Algoritma ini merupakan suatu algoritma enkripsi sederhana yang memiliki jumlah

proses sebanyak 32 round (putaran) dan menggunakan 64 bit block cipher dengan 256 bit key.

Metode GOST juga menggunakan 8 buah S-Box yang berbeda-beda dan operasi XOR serta Left

Circular Shift.

Page 6: 4. Muhammad Iqbal Batubara

Kelemahan GOST yang diketahui sampai saat ini adalah karena key schedule-nya yang

sederhana sehingga pada keadaan tertentu menjadi titik lemahnya terhadap metode kriptanalisis

seperti Related-key Cryptanalysis. Tetapi hal ini dapat diatasi dengan melewatkan kunci kepada

fungsi hash yang kuat secara kriptografi seperti SHA-1, kemudian menggunakan hasil hash

untuk input inisialisasi kunci. Kelebihan dari metode GOST ini adalah kecepatannya yang cukup

baik, walaupun tidak secepat Blowfish tetapi lebih cepat dari IDEA.

Komponen dari metode GOST antara lain:

1. Key Store Unit (KSU) menyimpan 256 bit string dengan menggunakan 32 bit register (K0,

K1, …, K7).

2. Dua buah 32 bit register (R1, R2).

3. 32 bit adder modulo 232 (CM1).

4. Bitwise Adder XOR (CM2).

5. Substitusion block (S) yaitu berupa 8 buah 64 bit S-Box.

6. Rotasi Left shift register (R) sebanyak 11 bit.

2.5. Perangkat Lunak Pembelajaran

Seiring dengan perkembangan peradaban manusia dan kemajuan pesat di bidang

teknologi, tanpa disadari komputer telah ikut berperan dalam dunia pendidikan terutama

penggunaannya sebagai alat bantu pengajaran. Percobaan penggunaan komputer untuk proses

belajar dimulai di Amerika Serikat pada akhir tahun 1950-an dan awal tahun 1960-an. Kemudian

penelitian selanjutnya dilakukan oleh Harvard University bekerja sama dengan IBM pada tahun

1965. Setelah munculnya komputer mikro, sistem pengajaran dengan komputer menjadi semakin

meluas pada pengembangan aplikasi perangkat lunak ajar yang dikenal dengan istilah perangkat

lunak pembelajaran. Perangkat lunak pembelajaran dengan komputer muncul dari sejumlah

disiplin ilmu, terutama ilmu komputer dan psikologi. Dari ilmu komputer dan matematika

muncul program – program yang membuat semua perhitungan dan fungsi lebih mudah dan

bermanfaat. Sedangkan dari ilmu psikologi muncul pengetahuan mengenai teori belajar, teknik

belajar, serta motivasi yang baik.

2.6. Computer Assisted Instruction (CAI)

Menurut Kaput dan Thompson (1994), CAI adalah sebagai bentuk-bentuk pembelajaran

yang menempatkan komputer dalam peran guru. Sedangkan menurut Hinich (Said, 2000), CAI

Page 7: 4. Muhammad Iqbal Batubara

adalah suatu program pembelajaran yang dibuat dalam sistem komputer, dimana dalam

menyampaikan suatu materi sudah diprogramkan langsung kepada pengguna. Materi pelajaran

yang sudah terprogram dapat disajikan secara serentak antara komponen gambar, tulisan, warna

dan suara.

Dalam tesis ini penulis menggunakan metode Computer Assisted Instruction (CAI). CAI

adalah suatu sistem penyampaian materi pelajaran yang berbasis mikroposesor yang

pelajarannya dirancang dan diprogram kedalam sistem tersebut. CAI merupakan program

pembelajaran dengan memanfaatkan komputer yang memiliki struktur program diantaranya:

desain bentuk (aplikasi perangkat lunak), isi (pesan pembelajaran) dan pendukung (perangkat

lunak yang dibutuhkan dalam pengoperasian program, teks, grafis dan sebagainya). Keseluruhan

komponen terintegrasi dalam sebuah program dengan memperhatikan kemudahan pegoperasian,

interaktivitas, menarik dan dukungan perangkat evaluasi untuk mengukur tingkat pemahaman

mahasiswa seperti multiple choise system atau perangkat lunak sejenisnya (Subrata, Heru, 2008).

Computer Assisted Instruction (CAI) hakekatnya merupakan penawaran baru dalam cara

pembelajaran. Komputer sebagai media akan lebih banyak membantu mahasiswa menemukan

hal-hal baru yang lebih menarik dengan cara konvensional yang lebih berpusat pada guru/dosen.

Walaupun cara-cara belajar dan mengajar serta pemerolehan informasi pembelajaran tiap

individu berbeda.

Secara keseluruhan CAI hendaknya memiliki beberapa kriteria, diantaranya dari sudut

pandang guru/dosen adalah mudah digunakan (baik pembuatan maupun pemanfaatannya), hanya

memerlukan pelatihan minimal, memungkinkan pembelajaran dengan cara mahasiswa sendiri,

memungkinkan pengendali pembelajaran sesuai dengan lingkungan. Sedangkan dari sudut

pandang mahasiswa: fleksibilitas, bahan belajar lebih kaya dibandingkan melalui kelas

konvensional, berjalan pada komputer yang telah tersedia, memungkinkan kolaborasi yang

memadai, mencakup pengembangan materi lanjutan melalui diskusi kelas dan kerja kelompok.

Dengan demikian struktur program CAI harus dapat terus dikembangkan. Bentuk pembelajaran

CAI yang diberikan adalah bentuk tutorial bercabang.

Pemanfaatan komputer sebagai sarana pembelajaran dapat memberikan pengaruh yang

sangat positif karena selain baru bagi perkembangan teknologi pembelajaran juga memiliki sifat

yang representatif dan interaktif. Komputer dapat menjadi sarana pembelajaran yang inovatif

dari tradisi papan tulis dan kapur. Dengan PowerPoint misalnya para guru dapat menyulut minat

Page 8: 4. Muhammad Iqbal Batubara

anak-anak terhadap pelajaran lewat penyertaan foto-foto, potongan film dan bahkan berhubungan

dengan internet (Gates, 2000).

Berdasarkan definisi diatas menurut penulis, CAI merupakan cara atau metode

pembelajaran/pengajaran melalui media komputer yang disusun melalui tahapan-tahapan berupa

tutorial, simulasi.

3. Pembahasan3.1. Implementasi Sistem

Implementasi sistem proses enkripsi dan proses dekripsi dalam program ini mencakup

spesifikasi kebutuhan perangkat keras (hardware) dan spesifikasi perangkat lunak (software).

3.1.1. Spesifikasi Perangkat Keras Dan Perangkat Lunak

Program ini dijalankan dengan menggunakan perangkat keras (hardware) yang

mempunyai spesifikasi minimal sebagai berikut :

1. Prosesor Intel Pentium IV 2.0 Ghz ke atas.

2. Memory 64 MB.

3. VGA card 1 MB.

4. Monitor dengan resolusi 800 600 pixel.

5. Keyboard dan Mouse

Adapun perangkat lunak (software) yang digunakan untuk menjalankan aplikasi ini adalah

lingkungan sistem operasi Microsoft-Windows 98 atau Microsoft-Windows NT/2000/XP

3.2. Pengujian Sistem

3.2.1 Proses Pengujian Pembentukan Kunci

Sebagai contoh, penulis meng-input data sebagai berikut.

1. Kunci : ‘KRIPTOGRAFI GOST UPI YPTK PADANG’.

2. Proses input kunci dan proses pembentukan kunci dalam bentuk biner dapat dilihat pada

gambar 1 dan gambar 2 berikut.

Page 9: 4. Muhammad Iqbal Batubara

Gambar 1. Input Kunci

Gambar 2. Proses Pembentukan Kunci Enkripsi Dan Dekripsi

3.2.2 Proses Pengujian Enkripsi GOST

Sebagai contoh proses enkripsi dalam bentuk biner, penulis meng-input data sebagai

berikut :

1. Plainteks : ‘Text’ dan Kunci : ‘KUNCI KRIPTO 123’.

2. Proses input plainteks dan kunci dapat dilihat pada gambar 3.

3. Proses enkripsi dapat dilihat pada gambar 4 dan gambar 5.

Gambar 3. Input Plainteks Dan Kunci

Page 10: 4. Muhammad Iqbal Batubara

Gambar 4. Proses Enkripsi Putaran Ke-0 Sampai Putaran Ke-29

Gambar 5. Proses Enkripsi Putaran Transformasi Output

Hasil Eksekusi Untuk Enkripsi:

Input Plainteks : UPI YPTK

Input Kunci : KRIPTOGRAFI GOST UPI YPTK

Untuk melakukan proses enkripsi pesan asli (plainteks) akan digabungakan dengan kunci

untuk menjaga kerahasian dari pesan di mana pesan dan kunci tersebut dikonverikan ke bilangan

biner dan mengerjakan proses sebanyak 32 putaran dan 1 transformasi output. Setiap putaran

akan melakukan 6 langkah, prosesnya adalah sebagai berikut :

PROSES ENKRIPSI - PUTARAN 0

(1) PLAIN TEXT = 'UPI YPTK'

Konversi ke biner = 01010101010100000100

Page 11: 4. Muhammad Iqbal Batubara

1001001000000101100101010000010101000100

1011

L(0) = 11010010001010100000101010011010

R(0) = 00000100100100100000101010101010

(2) R(0) + K(0) mod 2^32

R( 0) = 76679850

K( 0) = 177359570 -------------------------------- + Hasil = 254039420 mod 2^32

= 254039420

= 00001111001001000101010101111100

(3) Pecah menjadi 8 kelompok dan masukkan ke

SBox.

0000 = 0 -> SBOX(0) -> 4 = 0100

1111 = 15 -> SBOX(1) -> 9 = 1001

0010 = 2 -> SBOX(2) -> 1 = 0001

0100 = 4 -> SBOX(3) -> 0 = 0000

0101 = 5 -> SBOX(4) -> 15 = 1111

0101 = 5 -> SBOX(5) -> 2 = 0010

0111 = 7 -> SBOX(6) -> 9 = 1001

1100 = 12 -> SBOX(7) -> 6 = 0110

(4) Hasil digabungkan kembali dan lakukan

Rotate Left Shift sebanyak 11 kali.

RLS( 1)=10010010001000011110010100101100

RLS( 2)=00100100010000111100101001011001

Page 12: 4. Muhammad Iqbal Batubara

RLS( 3)=01001000100001111001010010110010

RLS( 4)=10010001000011110010100101100100

RLS( 5)=00100010000111100101001011001001

RLS( 6)=01000100001111001010010110010010

RLS( 7)=10001000011110010100101100100100

RLS( 8)=00010000111100101001011001001001

RLS( 9)=00100001111001010010110010010010

RLS(10)=01000011110010100101100100100100

RLS(11)=10000111100101001011001001001000

(5) R(1) = R(0) XOR L(0)

R( 0) = 10000111100101001011001001001000

L( 0) = 11010010001010100000101010011010 ---------------------------------------------------------- XOR R( 1) = 01010101101111101011100011010010

(6) L(1) = R(0) sebelum proses.

L(1) = 00000100100100100000101010101010

PROSES ENKRIPSI - PUTARAN 1

(1) L(1) = 00000100100100100000101010101010

R(1) = 01010101101111101011100011010010

(2) R(1) + K(1) mod 2^32

R( 1) = 1438562514

K( 1) = 1256387114 -------------------------------- + Hasil = 2694949628 mod 2^32

= 2694949628

= 10100000101000011010101011111100

(3) Pecah menjadi 8 kelompok dan masukkan ke

Page 13: 4. Muhammad Iqbal Batubara

SBox.

1010 = 10 -> SBOX(0) -> 1 = 0001

0000 = 0 -> SBOX(1) -> 14 = 1110

1010 = 10 -> SBOX(2) -> 12 = 1100

0001 = 1 -> SBOX(3) -> 13 = 1101

1010 = 10 -> SBOX(4) -> 9 = 1001

1010 = 10 -> SBOX(5) -> 8 = 1000

1111 = 15 -> SBOX(6) -> 12 = 1100

1100 = 12 -> SBOX(7) -> 6 = 0110

(4) Hasil digabungkan kembali dan lakukan

Rotate Left Shift sebanyak 11 kali.

RLS( 1)=00111101100110110011000110001100

RLS( 2)=01111011001101100110001100011000

RLS( 3)=11110110011011001100011000110000

RLS( 4)=11101100110110011000110001100001

RLS( 5)=11011001101100110001100011000011

RLS( 6)=10110011011001100011000110000111

RLS( 7)=01100110110011000110001100001111

RLS( 8)=11001101100110001100011000011110

RLS( 9)=10011011001100011000110000111101

RLS(10)=00110110011000110001100001111011

RLS(11)=01101100110001100011000011110110

(5) R(2) = R(1) XOR L(1)

R( 1) = 01101100110001100011000011110110

L( 1) = 00000100100100100000101010101010

Page 14: 4. Muhammad Iqbal Batubara

----------------------------------------------------------XOR R( 2) = 01101000010101000011101001011100

PROSES ENKRIPSI - PUTARAN 31

(1) L(31) = 10110011110110011011011001110100

R(31) = 11110100000001111010010001001011

(2) R(31) + K(0) mod 2^32

R(31) = 4094141515

K( 0) = 177359570 -------------------------------- + Hasil = 4271501085 mod 2^32

= 4271501085

= 11111110100110011110111100011101

(3) Pecah menjadi 8 kelompok dan masukkan ke

SBox.

1111 = 15 -> SBOX(0) -> 3 = 0011

1110 = 14 -> SBOX(1) -> 5 = 0101

1001 = 9 -> SBOX(2) -> 15 = 1111

1001 = 9 -> SBOX(3) -> 4 = 0100

1110 = 14 -> SBOX(4) -> 11 = 1011

1111 = 15 -> SBOX(5) -> 14 = 1110

0001 = 1 -> SBOX(6) -> 11 = 1011

1101 = 13 -> SBOX(7) -> 11 = 1011

(4) Hasil digabungkan kembali dan lakukan

Rotate Left Shift sebanyak 11 kali.

RLS( 1)=01101011111010010111110101110110

Page 15: 4. Muhammad Iqbal Batubara

RLS( 2)=11010111110100101111101011101100

RLS( 3)=10101111101001011111010111011001

RLS( 4)=01011111010010111110101110110011

RLS( 5)=10111110100101111101011101100110

RLS( 6)=01111101001011111010111011001101

RLS( 7)=11111010010111110101110110011010

RLS( 8)=11110100101111101011101100110101

RLS( 9)=11101001011111010111011001101011

RLS(10)=11010010111110101110110011010111

RLS(11)=10100101111101011101100110101111

(5) R(32) = R(31) sebelum proses.

R(32) = 11110100000001111010010001001011

(6) L(32) = R(31) XOR L(31)

R(31) = 10100101111101011101100110101111

L(31) = 10110011110110011011011001110100 ------------------------------------- XOR L(32) = 00010110001011000110111111011011

(7) L(32) = b(32), b(31), ... b(1)

R(32) = a(32), a(31), ... a(1)

Hasil = a(1), ... a(32), b(1), ... b(32)

Hasil dalam biner =

110100100010010111100000001011111101101111110110001101000110

1000 -> ubah ke ascii

CIPHER TEXT = Ò%à/Ûö4h

Page 16: 4. Muhammad Iqbal Batubara

Dari hasil pengujian di atas, pesan asli yang di inputkan bersamaan dengan kunci akan

diperoleh pesan yang sudah dikodekan (cipherteks). Pesan yang dihasilkan sangat sulit untuk

diterjemahkan oleh sembarang orang.

3.2.3 Proses Pengujian Dekripsi GOST

Sebagai contoh proses dekripsi dalam bentuk biner, penulis meng-input data sebagai

berikut.

1. Kunci : ‘KRIPTOGRAFI GOST UPI YPTK’.

2. Chiperteks : ‘Ò%à/Ûö4h’

3. Proses input chiperteks dan kunci dapat dilihat pada gambar 5.6. sedangkan untuk proses

dekripsi untuk input chiperteks dan kunci dapat dilihat pada gambar 5.7 dan gambar 5.8.

Gambar 6. Input Cipherteks Dan Kunci

Gambar 7. Proses Dekripsi Putaran Ke-0 Sampai Putaran Ke-30

Page 17: 4. Muhammad Iqbal Batubara

Gambar 8. Proses Dekripsi Putaran Transformasi Output

Hasil Eksekusi Dekripsi :

Untuk melakukan proses dekripsi pesan yang sudah dikodekan (cipherteks) akan

digabungakan dengan kunci yang sama seperti kunci pada proses enkripsi. Pesan ini akan

dikembalikan seperti semula, prosesnya sebagai berikut :

Putaran - 1

Input Kunci : KRIPTOGRAFI GOST UPI YPTK

chiperteks : Ò%à/Ûö4h

Langkah prosesnya sama seperti pada proses enkripsi :

PROSES DEKRIPSI - PUTARAN 0

(1) CIPHER TEXT = 'Ò%à/Ûö4h'

Konversi ke biner = 11010010001001011110

0000001011111101101111110110001101000110

1000

L(0) = 00010110001011000110111111011011

R(0) = 11110100000001111010010001001011

(2) R(0) + K(0) mod 2^32

R( 0) = 4094141515

Page 18: 4. Muhammad Iqbal Batubara

K( 0) = 177359570

-------------------------------- +

Hasil = 4271501085 mod 2^32

= 4271501085

= 11111110100110011110111100011101

(3) Pecah menjadi 8 kelompok dan masukkan ke

SBox.

1111 = 15 -> SBOX(0) -> 3 = 0011

1110 = 14 -> SBOX(1) -> 5 = 0101

1001 = 9 -> SBOX(2) -> 15 = 1111

1001 = 9 -> SBOX(3) -> 4 = 0100

1110 = 14 -> SBOX(4) -> 11 = 1011

1111 = 15 -> SBOX(5) -> 14 = 1110

0001 = 1 -> SBOX(6) -> 11 = 1011

1101 = 13 -> SBOX(7) -> 11 = 1011

(4) Hasil digabungkan kembali dan lakukan

Rotate Left Shift sebanyak 11 kali.

RLS( 1)=01101011111010010111110101110110

RLS( 2)=11010111110100101111101011101100

RLS( 3)=10101111101001011111010111011001

RLS( 4)=01011111010010111110101110110011

RLS( 5)=10111110100101111101011101100110

RLS( 6)=01111101001011111010111011001101

RLS( 7)=11111010010111110101110110011010

RLS( 8)=11110100101111101011101100110101

Page 19: 4. Muhammad Iqbal Batubara

RLS( 9)=11101001011111010111011001101011

RLS(10)=11010010111110101110110011010111

RLS(11)=10100101111101011101100110101111

(5) R(1) = R(0) XOR L(0)

R( 0) = 10100101111101011101100110101111

L( 0) = 00010110001011000110111111011011

----------------------------------------- XOR

R( 1) = 10110011110110011011011001110100

(6) L(1) = R(0) sebelum proses.

L(1) = 11110100000001111010010001001011

PROSES DEKRIPSI - PUTARAN 1

(1) L(1) = 11110100000001111010010001001011

R(1) = 10110011110110011011011001110100

(2) R(1) + K(1) mod 2^32

R( 1) = 3017389684

K( 1) = 1256387114

-------------------------------- +

Hasil = 4273776798 mod 2^32

= 4273776798

= 11111110101111001010100010011110

(3) Pecah menjadi 8 kelompok dan masukkan ke

SBox.

1111 = 15 -> SBOX(0) -> 3 = 0011

1110 = 14 -> SBOX(1) -> 5 = 0101

Page 20: 4. Muhammad Iqbal Batubara

1011 = 11 -> SBOX(2) -> 7 = 0111

1100 = 12 -> SBOX(3) -> 11 = 1011

1010 = 10 -> SBOX(4) -> 9 = 1001

1000 = 8 -> SBOX(5) -> 3 = 0011

1001 = 9 -> SBOX(6) -> 10 = 1010

1110 = 14 -> SBOX(7) -> 8 = 1000

(4) Hasil digabungkan kembali dan lakukan

Rotate Left Shift sebanyak 11 kali.

RLS( 1)=01101010111101110010011101010000

RLS( 2)=11010101111011100100111010100000

RLS( 3)=10101011110111001001110101000001

RLS( 4)=01010111101110010011101010000011

RLS( 5)=10101111011100100111010100000110

RLS( 6)=01011110111001001110101000001101

RLS( 7)=10111101110010011101010000011010

RLS( 8)=01111011100100111010100000110101

RLS( 9)=11110111001001110101000001101010

RLS(10)=11101110010011101010000011010101

RLS(11)=11011100100111010100000110101011

(5) R(2) = R(1) XOR L(1)

R( 1) = 11011100100111010100000110101011

L( 1) = 11110100000001111010010001001011

------------------------------------- XOR

R( 2) = 00101000100110101110010111100000

Page 21: 4. Muhammad Iqbal Batubara

(6) L(2) = R(1) sebelum proses.

L(2) = 10110011110110011011011001110100

Untuk proses berikutnya, setiap putaran akan mengerjakan hal yang sama seperti di atas.

Putaran terakhir yaitu trasnformasi output yang nantinya menjadi hasil dari proses akan diperoleh

sebagai berikut :

PROSES DEKRIPSI - PUTARAN 31

(1) L(31) = 01010101101111101011100011010010

R(31) = 00000100100100100000101010101010

(2) R(31) + K(0) mod 2^32

R(31) = 76679850

K( 0) = 177359570

-------------------------------- +

Hasil = 254039420 mod 2^32

= 254039420

= 00001111001001000101010101111100

(3) Pecah menjadi 8 kelompok dan masukkan ke SBox.

0000 = 0 -> SBOX(0) -> 4 = 0100

1111 = 15 -> SBOX(1) -> 9 = 1001

0010 = 2 -> SBOX(2) -> 1 = 0001

0100 = 4 -> SBOX(3) -> 0 = 0000

0101 = 5 -> SBOX(4) -> 15 = 1111

0101 = 5 -> SBOX(5) -> 2 = 0010

0111 = 7 -> SBOX(6) -> 9 = 1001

1100 = 12 -> SBOX(7) -> 6 = 0110

(4) Hasil digabungkan kembali dan lakukan

Page 22: 4. Muhammad Iqbal Batubara

Rotate Left Shift sebanyak 11 kali.

RLS( 1)=10010010001000011110010100101100

RLS( 2)=00100100010000111100101001011001

RLS( 3)=01001000100001111001010010110010

RLS( 4)=10010001000011110010100101100100

RLS( 5)=00100010000111100101001011001001

RLS( 6)=01000100001111001010010110010010

RLS( 7)=10001000011110010100101100100100

RLS( 8)=00010000111100101001011001001001

RLS( 9)=00100001111001010010110010010010

RLS(10)=01000011110010100101100100100100

RLS(11)=10000111100101001011001001001000

(5) R(32) = R(31) sebelum proses.

R(32) = 00000100100100100000101010101010

(6) L(32) = R(31) XOR L(31)

R(31) = 10000111100101001011001001001000

L(31) = 01010101101111101011100011010010

------------------------------------- XOR

L(32) = 11010010001010100000101010011010

(7) L(32) = b(32), b(31), ... b(1)

R(32) = a(32), a(31), ... a(1)

Hasil = a(1), ... a(32), b(1), ... b(32)

Hasil dalam biner = 01010101010100000100

1001001000000101100101010000010101000100

1011 -> ubah ke ascii

Page 23: 4. Muhammad Iqbal Batubara

PLAIN TEXT = UPI YPTK

Dari hasil proses pengujian di atas, pesan yang dienkripsi dikembalikan ke pesan asli

(plainteks) dengan menggunakan kunci yang sama seperti kunci yang digunakan pada proses

enkripsi. Pesan tersebut akan dipahami oleh manusia.

Untuk proses enkripsi dan dekripsi, kunci sangat berpengaruh untuk menjaga kerahasiaan

dari pesan. Kunci yang dipakai saat proses enkripsi harus sama dengan kunci yang digunakan

pada saat proses dekripsi.

Hasil pengujian dapat disimpan dan dibuka kembali bila perlu, proses tersebut dapat dilihat

pada gambar berikut.

Gambar 9. Open File

Gambar 10. Save File

3.2.4. Pengujian Proses Enkripsi Dan Dekripsi

Page 24: 4. Muhammad Iqbal Batubara

Pengujian sistem yang dilakukan adalah pengujian terhadap pesan dan kunci yang diproses.

Hasil pengujian dapat dilihat pada tabel 2.

Tabel 5.2. Data Hasil Pengujian Pesan Untuk Proses Enkripsi Dan Dekripsi

Plainteks KunciEnkripsi

(Chiperteks)Dekripsi

(Plainteks)

Mh.IqbalKriptografi Gost Upi YPTK Padang

Ç^wÛ¬ Mh.Iqbal

MH.iqbalKriptografi Gost Upi YPTK PADANG

,‡Ñ¾ôõB MH.iqbal

Mh.IQBAL

Kriptografi GOST Upi YPTK PADANG

gòb°±Ú(1 Mh.IQBAL

Mh.IQbalKRIPTOGRAFI GOST Upi YPTK Padang

ËÎñzâ) Mh.Iqbal

Dari hasil pengujian di atas didapat bahwa :

1. Proses enkripsi untuk sebuah isi pesan yang sama menggunakan case yang berbeda dengan

kunci yang sama, memiliki cipherteks yang berbeda.

2. Untuk proses dekripsi plainteksnya sama dengan pesan awal.

4. Kesimpulan dan Saran

4.1. Kesimpulan

Setelah selesai menyusun tesis ini, penulis menarik kesimpulan sebagai berikut :

1. Pembuatan modul pembelajaran kriptografi metode GOST memerlukan teknik CAI

(Computer Attitude Instruction) yaitu dua komponen penting yaitu MSFlexGrid (Microsoft

FlexGrid) yang digunakan sebagai tabel dan Common Dialog Control yang digunakan untuk

membuka kotak dialog Open atau Save.

2. Perangkat lunak ini dapat membantu pemahaman cara kerja atau algoritma kriptografi

khususnya metode GOST.

3. Proses pembentukan kunci pada metode GOST sangat sederhana sedangkan proses enkripsi

dan dekripsi cukup panjang dan rumit.

Page 25: 4. Muhammad Iqbal Batubara

6.2. Saran

1. Dapat dipertimbangkan untuk menambahkan tutorial pada perangkat lunak pembelajaran

agar lebih mudah dipahami.

2. Perangkat lunak pembelajaran ini dapat dikembangkan untuk menampilkan proses enkripsi

dan dekripsi untuk record.

3. Perangkat lunak pembelajaran ini agar ditambahkan beberapa animasi tambahan untuk

menambah daya tarik dari perangkat lunak.

Daftar Pustaka

Andrew Regenscheid, Ray Perlner, Shu-jen Chang, John Kelsey, Mridul Nandi, Souradyuti Paul. “Status Report on the First Round of the SHA-3 Cryptographic Hash Algorithm Competition”. Information Technology Laboratory National Institute of Standards and Technology Gaithersburg, MD 20899-8930.

Arie Pratama Sutiono – Nim 13509007 “ Algoritma RC4 PerkembanganMetode Kriptografi”. Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10. Bandung. E-mail : [email protected]

Ariyus, Dony. “Computer Security”. Yogyakarta. Andi Offest. 2005.

Ariyus, Dony. “Kriptografi Keamanan Data Dan Komunikasi”. Edisi Pertama. Yogyakarta. Graha Ilmu. 2005.

Aryad, Azhar, “Media Pembelajaran”. Jakarta. PT. Raja grafindo Persada, 2007.

B. Schneier, "Applied Cryptography", second edition, John Willey & Sons, 1996.

J. Kelsey, B. Schneier, D. Wagner, "Key-Schedule Cryptanalysis of IDEA, G-DES, GOST, SAFER and Triple DES", 1996.

Stallings, William. “Cryptography and Network Security Principles and Practices”. Fourth Edition. Prentice Hall. 2005.