• Tidak ada hasil yang ditemukan

Modifikasi Playfair Cipher dengan Pembangkitan Kunci yang Dienkripsi dengan Vigenere Cipher

N/A
N/A
Protected

Academic year: 2021

Membagikan "Modifikasi Playfair Cipher dengan Pembangkitan Kunci yang Dienkripsi dengan Vigenere Cipher"

Copied!
7
0
0

Teks penuh

(1)

Modifikasi Playfair Cipher dengan Pembangkitan Kunci

yang Dienkripsi dengan Vigenere Cipher

Wico Chandra - 13509094

Program Studi Teknik Informatika

Sekolah Teknik Elektro dan Informatika

Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia

13509094@std.stei.itb.ac.id

Abstract—Playfair Cipher merupakan metoda enkripsi klasik yang sangat sulit untuk dikriptanalisis secara manual. Meskipun demikian Playfair dapat dipecahkan dengan menggunakan informasi frekuensi kemunculan bigram. Makalah ini menyajikan modifikasi dari playfair cipher dengan memanfaatkan metoda vigenere cipher pada kunci yang akan digunakan pada tiap bigram dengan harapan dapat menghilangkan frekensi kemunculan bigram. Hasil eksperimen menunjukkan keunggulan hasil modifikasi dibandingkan dengan yang sebelumnya dan kelemahan dari hasil modifikasi terhadap serangan yang terjadi pada hasil modifikasi.

Index Terms—Playfair cipher, vigenere Cipher

I.

P

ENDAHULUAN

Sekarang ini banyak jenis kriptografik klasik, salah satunya adalah playfair cipher. Dulunya, playfair cipher digunakan dalam pengiriman pesan pada saat peperangan. Algoritma playfair cipher dipilih karena sangat mudah digunakan dan tidak membutuhkan mesin tertentu untuk mengenkripsi atau mendekripsi, cukup secara manual saja untuk mendekripsi pesan. Sayangnya karena perkembangan jaman playfair sudah tidak digunakan lagi akbiat munculnya teknologi digital yang dapat memecahkan hasil enkripsi playfair cipher. Oleh karena itu, sekarang ini, playfair cipher digunakan hanya untuk pengenalan terhadapa kriptografi klasik atau permainan puzzle.

Hasil enkripsi playfair cipher dapat didekripsi dengan memanfaatkan frekuensi kemunculan bigram. Dengan mendapatkan informasi tersebut maka kriptanalisis dapat menduga-duga subusitusi yang dilakukan untuk mendapatkan kunci yang ada. Ditambah dengan kunci hanya terdiri dari 25 huruf yang berada pada tabel 5x5.

Oleh karena itu, pada makalah ini dibuat modifikasi dari playfair cipher dengan menggabungkan dengan vigenere cipher sehingga tidak frekuensi kemunculan bigram tidak dapat digunakan lagi untuk mendekripsi pesan.

II.

PLAYFAIR CIPHER

Playfair cipher merupakan teknik kriptografi klasik yang memanfaatkan subsitusi bigram. Plainteks yang

akan dienkripsi dipecah menjadi dua huruf (bigram) dengan aturan sebagai berikut:

Apabila dalam bigram terdapat dua huruf yang sama maka huruf kedua diganti dengan huruf Z dan huruf yang diganti dipindahkan ke bigram selanjutnya Apabila terdapat huruf ‘I’ maka diganti dengan huruf ‘J’.

Apabila hanya terdiri dari satu huruf maka ditambahkan huruf ‘Z’ setelah huruf tersebut. Contoh:

POSSIBLE  PO SZ SJ BL EZ

Plainteks tersebut akan dienkripsi dengan menggunakan kunci yang akan dimasukkan dalam tabel 5x5, yang berisi huruf ‘A’ hingga huruf ‘Z’ kecuali huruf ‘I’, yang memiliki aturan sebagai berikut:

Tidak boleh ada huruf yang berulang Huruf ‘I’ pada kunci akan dihilangkan

Apabila masih terdapat sisa pada table maka maukkan huruf secara berurut sesuai dengan ke-dua aturan sebelumnya. Contoh: Kunci: wicochandra Tabel 5x5:

W

C

O

H

A

N

D

R

B

E

F

G

J

K

L

M

P

Q

S

T

U

V

X

Y

Z

Dengan memanfaatkan table 5x5 tersebut, masing-masing bigram dari plainteks disubsitusi dengan aturan-aturan tertentu sehingga terbentuk bigram baru yang merupakan hasil enkripsi. Aturan-aturan subsitusi yang diterapkan adalah sebagai berikut:

Apabila huruf pertama dan huruf kedua bigram berada pada kolom yang sama maka huruf pertama disubsitusi dengan huruf yang ada disebelah bawahnya dan huruf kedua disubsitusi dengan huruf disebelah bawahnya

(2)

Gambar 1 Plainteks ED disubsitusi menjadi DO

Apabila huruf pertama dan huruf kedua bigram berada pada baris yang sama maka huruf pertama disubsitusi dengan huruf yang ada disebelah kanannya dan huruf kedua disubsitusi dengan huruf disebelah kanannya

Gambar 2 Plainteks EX disubsitusi menjadi XM

Apabila huruf pertama dan huruf kedua bigram tidak berada pada baris dan kolom yang sama maka huruf pertama disubsitusi dengan huruf yang berada pada baris yang sama dan kolom dari huruf kedua, dan huruf kedua disubsitusi dengan huruf yang berada pada baris yang sama dan kolom dari huruf pertama yang belum subsitusi.

Gambar 3 Plainteks HI disubsitusi menjadi BM Contoh:

kunci yang digunakan adalah wicochandra Plainteks : PO SZ SJ BL EZ

Hasil subsitusi: QC TY QK EK LA

Proses dekripsi playfair cipher adalah hampir sama dengan proses enkripsi, yang berbeda adalah semua aturan yang digunakan pada enkripsi dibalikkan kecuali aturan ke-tiga.

III.

V

IGENERE

C

IPHER

Vigenere Cipher merupakan metoda kriptografi klasik yang memanfaatkan subsitusi polialpabetik. Vigenere cipher hanya dapat mengenkripsi huruf alfabetik dan tidak membedakan antara huruf hapital dan huruf

kecil. Oleh karena itu, plainteks dari vigenere cipher tidak boleh terdapat spasi ataupun tanda baca lainnya, karena tidak dapat dienkripsi, jika ada, maka algoritma vigenere cipher harus dimodifikasi sedemikian sehingga dapat menhiraukan spasi atau tanda baca lainnya.

Kunci yang digunakan dalam algoritma vigenere cipher biasanya adalah satu kata atau satu kalimat agar mudah diingat. Apabila kunci lebih pendek dari panjang plainteks maka kunci akan diulang hingga kunci memiliki panjang yang lebih besar atau sama dengan panjang plainteks.

Pada jaman dulu proses enkripsi vigenere cipher masih mengguanakan tabel subsitusi alpabet seperti pada

Gambar 4 karena masih belum ditemukan mesin digital

yang dapat mengoperasikannya. Dengan menggunakan tabel tersebut orang-orang dapat menenkripsi suatu plainteks dengan mudah.

Gambar 4 tabel subsitusi alpabet

Untuk meperjelas penggunaan tabel tersebut maka lihat contoh berikut :

Plainteks : ATTACKATDAWN Kunci : LEMONLEMONLE Cipherteks : LXFOPVEFRNHR

Proses dekripsi untuk vigenere cipher menggunakan tabel yang sama. Dengan baris pertama adalah plainteks dan kolom pertama adalah kunci.

Sekarang ini tabel yang digunakan sebelumnya dapat diganti dengan menggunakan rumus yang ada yaitu

Dengan memanfaatkan rumus tersebut maka untuk melakukan enkripsi dan dekripsi vigenere cipher semakin cepat .

IV.

M

ODIFIKASI

A

LGORITMA

P

LAYFAIR Algoritma menerima plainteks yang dapat terdiri dari apapun termasuk bilangan. Kemudian plainteks tersebut dibuat kumpulan bigram yang mengabaikan karakter yang bukan huruf dan memilah-milah plainteks sesuai dengan aturan-aturan yang ada pada playfair cipher.

(3)

Kunci yang digunakan pada bigram bergantung pada bigram plainteks sebelumnya, yaitu dengan mengambil huruf dari bigram tersebut kemudian melakukan algoritma enkripsi vigenere cipher pada masing-masing isi tabel dengan kunci adalah huruf yang diambil, aturan dalam pengambilan huruf untuk dijadikan kunci vigenere cipher adalah apabila huruf kedua adalah huruf ‘A’ maka huruf yang diambil adalah huruf yang pertama dari bigram plainteks, jika tidak maka diambil huruf kedua dari bigram plainteks.

Enkripsi Playfair Pi-1 Keyi-0 Ci-1 Enkripsi Vigenere Enkripsi Playfair Pi Ci Enkripsi Vigenere

Gambar 5 Skema enkripsi algoritma modifikasi

Dekripsi Playfair Ci-1 Keyi-0 Pi-1 Enkripsi Vigenere Dekripsi Playfair Pi Ci Enkripsi Vigenere

Gambar 6 Skema dekripsi algoritma modifikasi

a. Enkripsi

Masukkan : plainteks, key

Keluaran : teks yang sidah dienkripsi

Langkah 1: Ambil satu bigram dari plainteks

Langkah 2: Subsitusi bigram tersebut dengan key, kemudian masukkan dalam teks keluaran

Langkah 3: Perikasa apakah huruf kedua dari bigram yang belom terenkripsi tersebut adalah ‘A’, jika benar maka ambil huruf pertama untuk dijadikan kunci vigenere cipher, jika tidak ambil huruf kedua

Langkah 4: Enkripsi tiap-tiap isi tabel pada key menggunakan algoritma vigenere cipher dengan kunci huruf yang diambil pada langkah 3

Langkah 5: Lakukan langkah 2 hingga langkah 4 untuk sisa bigram yang ada pada plainteks

Langkah 6: Hasil terakhir pada teks keluaran adalah plainteks yang sudah terenkripsi

b. Dekripsi

Masukkan : teks, key

Keluaran : teks yang sidah didekripsi

Langkah 1: Ambil satu bigram dari teks

Langkah 2: Subsitusi bigram tersebut dengan key, kemudian masukkan dalam teks keluaran

Langkah 3: Perikasa apakah huruf kedua dari bigram yang sudah didekripsi terakhir adalah ‘A’, jika benar maka ambil huruf pertama untuk dijadikan kunci vigenere cipher, jika tidak ambil huruf kedua

Langkah 4: Enkripsi tiap-tiap isi tabel pada key menggunakan algoritma vigenere cipher dengan kunci huruf yang diambil pada langkah 3

Langkah 5: Lakukan langkah 2 hingga langkah 4 untuk sisa bigram yang ada pada teks

Langkah 6: Hasil terakhir pada teks keluaran adalah plainteks yang sudah terenkripsi

V.

H

ASIL

E

XPERIMEN

Untuk mengetahui perbandingan antar algoritma sebelum modifikasi dengan algoritma setelah modifikasi maka dilakukan ujicoba untuk teks yang memiliki pengulangan bigram. Kunci yang digunakan pada semua ujicoba adalah PLAYFAIR.

Plainteks untuk masing-masing algoritma adalah sebagai berikut Plainteks: TO EN CR YP TA TA BL EO FA LP HA BE TS CA NB EU SE DT ER ME DA TA BU LA RE CT AV JG EN ÈR ES QU AR EO RV JG EN ÈR ET AB LE JT CO NS JS TS OF TH EA LP HA BE TW RJ TZ TE NO UT TJ ME SJ ND JF FE RE NT RO WS EA CH AL PH AB ET SH JF TE DC YC LJ CA LZ LY TO TH EL EF TC OM PA RE DT OT HE PR EV JO US AL PH AB ET CO RZ RE SP ON DJ NG TO TH EP OS SJ BL EC AE SA RC JP HE RS AT DJ FZ FE RE NT PO JN TS JN TH EZ EN CR YP TJ ON PR OC ES ST HE CJ PH ER US ES AD JF FE RE NT AL PH AB ET FR OM ON EO FT HE RO WS TH EA LP HA BE TU SE DA TE AC HP OJ NT DE PE ND SO NA RE PE AT JN GK EY WO RD

Plainteks tersebut banyak memiliki pengulangan bigram sehingga dapat dibandingkan dengan hasil enkripsinya. Bigram yang akan diperhatikan adalah TO.

Hasil enkripsi untuk algorima biasa adalah sebagai berikut :

Cipherteks:

NQ RT DB FL QF QF HB BT PY AL JL CR NT JC OR RZ TD ES RB TM CY QF RV AY BR EQ LW KH

(4)

RT UE DT NW PC BT BU KH RT UE MZ LC FB MQ BQ OT KQ NT TL OM CF AL JL CR QZ CG ZF ZM OQ ZN QM TM QK SR MA EM BR ON BN XQ CF BJ YA LG LC MZ OK MA ZM ED AD AH JC FV AF NQ OM BF ME QE TH LY BR ES QN MB RG BZ HQ XN YA LG LC MZ BQ EU BR NY QO CK UN NQ OM RF QT QK HB RD FC QY BD GA MB DN FQ CK EF EM BR ON LN GQ NT GQ OM MF RT DB FL QM QO RG QB DT TN MB JQ LG RB XN DT YC MA EM BR ON YA LG LC MZ PE TH QO BT EZ MB BN XQ OM CF AL JL CR NZ TD CY ZM CJ GL QH ON ER FR SR TQ QP BR FR FQ GQ HM DF VQ BE

Hasil endkripsi untuk algoritma hasil modifikasi adalah sebagai berikut:

Cipherteks: NQ HK DP CA AG HF RG CN TJ EQ CH TU BW DC UD BO WZ MJ KA UQ CR NX UO TO LK XP FQ WH RX LG MF RQ PT JF MC MZ WP XX PF SV ZG WV PC GU AH MD FZ KN US PO RP CP FM AW WG ZP OE DZ KT GJ LS SN FG VD DZ ZD VP QV KR DS VS HM BV LO TF FU RF OW ZX QT XH MN XN FT PT HJ BY DV JS NQ SA SO AU BT VQ YA RA OK ZP WM WM JS PW PS EZ FY DM YB CX OM DX QM JO MU KR TW YA OM XN BZ UR JK ZP XV UX OR CD WR GX WH OP AJ XV JX ZK ZD PJ AO TC YB FM AV GM NY HO JZ RO YC JC DT XP EP CU TL MT LY YP MF CK GF EL TE YV PO NG DX FA AB SJ GL TS FD EX CY SQ GV JG XC DH OX KO JZ DN UM TN GL FR HL LE JN KT CJ

Berdasarkan hasil enkripsi kedua algoritma dapat dilihat bahwa algoritma biasa, untuk bigram yang sama akan menghasilkan bigram yang sama juga dan untuk bigram yang berbeda akan menghasilkan bigram yang berbeda juga. Sedangkan untuk algoritma hasil modifikasi, untuk bigram yang sama akan menhasilkan bigram yang berbeda satu sama lain, dan untuk bigram yang berbeda dapat menhasilkan bigram yang sama.

Untuk menunjukan kapan algoritma hasil modifikasi tersebut mengalami pengulangan digunakan kunci

PLAYFAIR dan plainteks sebagai berikut:

Plainteks: HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO HO

Hasil dari enkripsi dengan algoritma haisl modifikasi dapat dilihat sebagai berikut:

Cipherteks: OV ET GV TF OK SA XB CH FB BX GQ CH XH JL NH RH TY UB JH XN KN NW YM UN FQ KX JW WT CQ UA VB JF JK NL GB MX FS EQ LT AL KQ SB AF VE GF MX MQ UQ XR KM MW JX JQ WN RB OD SB XJ AM CL DB OM JM AQ JT JV BN RG TD OV YF OJ OQ KN BD ON OQ OJ AV BG GV RH AQ MJ NB EJ NB QB CK WS CH JH BH OW AD QH DF QR NW FN CD JH AC CT SK NW YV RT FS DM GN WJ FQ SR JF EF JK WB BQ MQ RD QM XW JR KY AF LR CE SM LN JM CQ NV QF GM DX JN WA OD LD GH WM GM JB BQ RM GW AH CY UB OJ CG GK JN OG UN OV ET GV TF OK SA XB CH FB BX GQ CH XH JL NH RH TY UB JH XN KN NW YM UN FQ KX JW WT CQ UA VB JF JK NL GB MX FS EQ LT AL KQ SB AF VE GF MX MQ UQ XR KM MW JX JQ WN RB OD SB XJ AM CL DB OM JM AQ JT JV BN RG

Dari hasil enkripsi dapat dilihat bahwa pengulangan mulai terjadi apabila bigram yang berulang terjadi minimal sebanyak 157 kali. Dan sebelum pengulangan tersebut terjadi ada bigram yang berulang juga.

VI.

A

NALISIS

K

ELEMAHAN

Untuk mengetahui kelemahan dilakukan percobaan perusakan satu bigram pada cipherteks untuk melihat apa yang terjadi. Percobaan ini menggunakan kunci

PLAYFAIR dan plainteks sebagai berikut:

Plainteks: FO RE XA MP LE TH EF JR ST LE TZ TE RO FT HE PL AJ NT EX TA JS PA JR ED WJ TH LT HE FJ RS TL ET TE RO FT HE KE YS OU SE RO WL AN DC OL UM NA OF TH EV JG EN ÈR ES QU AR EN AM EL YL SJ MJ LA RL YF OR TH ES EC ON

Hasil enkripsi dengan algoritma hasil modifikasi dapat dilihat sebagai berikut:

cipherteks: LT QG HR LN NP ND UC SC RG QF XJ QM VC WM XY JH BH AS FB ZH GA GU GE UE LZ KM EQ LX YB ER JE OD JT BS PH GU PR ER VQ ZY YU FO UH AV LD DP WU TM QY XM PB UO XX ZA WB RZ TL GA QE EW QR HV YG LS HY LB UG VM KP AK

Apabila bigram pertama, LT, diubah menjadi LZ, maka hasil dekripsi yang dihasilkan adalah sebagai berikut: Plainteks: FV JQ FU WL UD GZ PB PF BR RD KW LO LY ZJ MQ LJ HK FA HC HM YS JM YJ YD QR SJ QK TF MX RW FD NQ ZG WU BF ZG TW BW CV PN DL WV OY TA WP FG CD PK UH QY ND VW QH SX XO ZE

Dapat dilihat dari tiga bigram terakhir hasil dekripsi, SX XO ZE, berbeda dengan tiga bigram terakhir plainteks sebenarnya, ES EC ON. Hal ini disebabkan karena hasil enkripsi bergantung pada plainteks sebelumnya sehingga apabila plainteks sebelumnya diubah maka hasil enkripsi untuk bigram selanjutnya akan berbeda dari sebelumnya.

Jika dibandingkan dengan algoritma sebelumnya yang berubah hanya satu bigram pertama saja. Berikut

(5)

adalah hasil dekripsi dengan algoritma biasa dengan bigram pertama dari hasil enkripsi diubah.

cipherteks: FV RE XA MP LE TH EF JR ST LE TZ TE RO FT HE PL AJ NT EX TA JS PA JR ED WJ TH LT HE FJ RS TL ET TE RO FT HE KE YS OU SE RO WL AN DC OL UM NA OF TH EV JG EN ZR ES QU AR EN AM EL YL SJ MJ LA RL YF OR TH ES EC ON

Dapat dilihat bahwa yang berubah hanya satu bigram pertama saja. Jadi, serangan yang merusak cipherteks merupakan kelemahan algoritma hasil modifikasi jika dibandingakan dengan algoritma biasa.

VII.

K

ESIMPULAN

Berdasarkan hasil eksperimen dapat disimpulkan bahwa algoritma hasil modifikasi dapat menghilangkan penggunakan frekuensi kemunculan bigram pada teks bahasa inggris, yang biasa digunakan oleh kriptanalisis untuk mendekripsi pesan yang dienkripsi dengan algoritma playfair biasa. Hasil eksperimen menujukkan bahwa bigram akan mulai berulang apabila memiliki bigram yang sama sebanyak 157 kali.

Algoritma hasil modifikasi memiliki keunggulan sehingga menghilangkan penggunaan frekuensi kemunculan bigram, tetapi memiliki kelemahan yaitu apabila bigram pertama dari hasil enkripsi diubah maka pada saat didekripsi, seluruh plainteks akan hancur dan tidak dapat dibaca lagi oleh penerima.

VIII.

U

CAPAN

T

ERIMA

K

ASIH

Saya mengucapakan terima kasih kepada Tuhan Yang Maha Esa atas berkat-Nya sehingga saya dapat menyelesaikan makalah ini, saya juga mengucapkan terima kasih kepada dosen IF3058-Kriptografi karena sudah memberi kesempatan sehingga saya dapat menulis makalah ini. Saya berterima kasih kepada teman-teman saya yang membantu saya dalam proses penyelesaian makalah ini, sehingga makalah ini dapat selesai dengan tepat waktu.

R

EFERENCES

[1] Munir, Rinaldi. 2006. Kriptografi. Bandung: Informatika.

[2] http://en.wikipedia.org/wiki/Playfair_cipher Diakses tanggal 18 maret 2012 pukul 08.00 WIB [3] http://en.wikipedia.org/wiki/Vigenere_cipher

Diakses tanggal 18 maret 2012 pukul 09.00 WIB

P

ERNYATAAN

Dengan ini saya menyatakan bahwa makalah yang saya tulis ini adalah tulisan saya sendiri, bukan saduran, atau terjemahan dari makalah orang lain, dan bukan plagiasi.

Bandung, 19 Maret 2012

(6)

L

AMPIRAN

1. Tampilan program

2. Source code

a. encriptWithVigenere

public String encriptWithVigenere() {

String result = new String();

for (int i = 0 ; i < plainTeks.length(); i+=3) {

result += substitute(plainTeks.substring(i, i+2)) + " ";

if (plainTeks.charAt(i+1) == 'A') updateKey(plainTeks.charAt(i)); else updateKey(plainTeks.charAt(i+1)); } result = result.substring(0,result.length()); return result; }

b. decriptWithVigenere

public String decriptWithVigenere() {

String result = new String();

for (int i = 0 ; i < plainTeks.length(); i+=3) {

result += substituteDecript(plainTeks.substring(i, i+2)) + " "; if (result.charAt(i+1) == 'A') updateKey(result.charAt(i)); else updateKey(result.charAt(i+1)); } result = result.substring(0,result.length()); return result; }

c. updateKey

protected void updateKey(char in) {

for (int i = 0; i < 5; i++) for (int j = 0; j < 5; j++) {

char temp = (char)((key[j][i] + in - 2*'A')%26 + 'A');

if (temp == 'I') key[j][i] = (char) (('I' + in - 2*'A')%26 + 'A'); else key[j][i] = temp;

} }

(7)

d. substitute

e. substituteDecript

protected String substituteDecript(String in) {

String result = new String();

Point char01 = getPosKey(in.charAt(0)); Point char02 = getPosKey(in.charAt(1)); if (char01.x == char02.x)

{

result += key[char01.x][(char01.y+4)%5]; result += key[char01.x][(char02.y+4)%5]; }

else if (char01.y == char02.y) {

result += key[(char01.x + 4)%5][char01.y]; result += key[(char02.x + 4)%5][char01.y]; } else { result += key[char02.x][char01.y]; result += key[char01.x][char02.y]; } return result; }

f. getPosKey

protected Point getPosKey(char in) {

Point result = new Point(); all:

for (int i = 0; i < 5; i++) for (int j = 0; j < 5; j++)

if (key[result.x = j][result.y = i] == in) break all; return result;

}

g. Varibel Global

private char[][] key; //sebagai tabel 5x5

private String plainTeks; //teks yang akan dienkripsi ataupun didekkripsi protected String substitute(String in)

{

String result = new String();

Point char01 = getPosKey(in.charAt(0)); Point char02 = getPosKey(in.charAt(1));

if (char01.x == char02.x) {

result += key[char01.x][(char01.y+1)%5]; result += key[char01.x][(char02.y+1)%5]; }

else if (char01.y == char02.y) {

result += key[(char01.x + 1)%5][char01.y]; result += key[(char02.x + 1)%5][char01.y]; } else { result += key[char02.x][char01.y]; result += key[char01.x][char02.y]; } return result; }

Gambar

Gambar 5 Skema enkripsi algoritma modifikasi

Referensi

Dokumen terkait

Hasil Analisis Statistik Data Responden SMA N 1 Sewon Bantul Tentang Tingkat Pemahaman Taktik Dan Strategi Siswa Atlet Bola Basket Kelas Khusus Olahraga Tingkat

pembukuan untuk mengklasifikasikan rekening dari setiap transaksi yang terjadi. Proses posting data seharusnya dilakukan sekali untuk setiap transaksi oleh karena itu Fungsi

Terlepas dari keunggulan yang dimiliki, kayu sebagai produk alam memiliki beberapa kelemahan diantaranya bersifat biodegradable terhadap rayap, jamur dan organisme perusak

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

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

Tema yang dipilih dalam Skripsi yang dilaksanakan pada bulan Febuari 2017 sampai Mei 2017 ialah “Pemberian Bahan Pembenah Tanah Pada Lahan Tailing Pasir Pasca Penambangan

Dalam pembuatantabung pendinginpada reaktor sinter menggunakan bahan stainless steel pejal untuk flendes penutup dan flendes bodi reaktor sinter dengan diameter 8 dan

(catatan: peneliti bisa turun lapangan setiap saat bersamaan proses pembuatan desain, misalnya untuk menggali data yang bisa memerkaya kerangka teori. Data di