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
[email protected]
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. PENDAHULUAN 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
Makalah IF3058 Kriptografi – Sem. II Tahun 2011/2012
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 N F M U
C D G P V
O R J Q X
H B K S Y
A E L T Z
Dengan memanfaatkan table 5x5 tersebut, masingmasing bigram dari plainteks disubsitusi dengan aturanaturan 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
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
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 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 4 tabel subsitusi alpabet
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. VIGENERE CIPHER 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
Makalah IF3058 Kriptografi – Sem. II Tahun 2011/2012
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. MODIFIKASI ALGORITMA PLAYFAIR 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.
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. Pi-1
Keyi-0
Enkripsi Playfair
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
Pi
Enkripsi Vigenere
Ci-1
Enkripsi Playfair
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 Enkripsi Vigenere
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
Ci
Gambar 5 Skema enkripsi algoritma modifikasi
Langkah 6: Hasil terakhir pada teks keluaran adalah plainteks yang sudah terenkripsi
Ci
Ci-1
V. HASIL EXPERIMEN
Keyi-0
Dekripsi Playfair
Enkripsi Vigenere
Pi-1
Dekripsi Playfair
Enkripsi Vigenere
Pi
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
Makalah IF3058 Kriptografi – Sem. II Tahun 2011/2012
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 NB EU SE DT EN ÈR ES QU CO NS JS TS NO UT TJ ME AL PH AB ET TH EL EF TC AL PH AB ET OS SJ BL EC RE NT PO JN OC ES ST HE AL PH AB ET LP HA BE TU SO NA RE PE
TA ER AR OF SJ SH OM CO AE TS CJ FR SE AT
TA ME EO TH ND JF PA RZ SA JN PH OM DA JN
BL DA RV EA JF TE RE RE RC TH ER ON TE GK
EO TA JG LP FE DC DT SP JP EZ US EO AC EY
FA BU EN HA RE YC OT ON HE EN ES FT HP WO
LP LA ÈR BE NT LJ HE DJ RS CR AD HE OJ RD
HA RE ET TW RO CA PR NG AT YP JF RO NT
BE CT AB RJ WS LZ EV TO DJ TJ FE WS DE
TS AV LE TZ EA LY JO TH FZ ON RE TH PE
CA JG JT TE CH TO US EP FE PR NT EA ND
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
RT BQ OQ YA OM YA QT BR QB YA AL TQ
UE OT ZN LG BF LG QK ON DT LG JL QP
DT KQ QM LC ME LC HB LN TN LC CR BR
NW NT TM MZ QE MZ RD GQ MB MZ NZ FR
PC TL QK OK TH BQ FC NT JQ PE TD FQ
BT OM SR MA LY EU QY GQ LG TH CY GQ
BU CF MA ZM BR BR BD OM RB QO ZM HM
KH AL EM ED ES NY GA MF XN BT CJ DF
RT JL BR AD QN QO MB RT DT EZ GL VQ
UE CR ON AH MB CK DN DB YC MB QH BE
MZ QZ BN JC RG UN FQ FL MA BN ON
LC CG XQ FV BZ NQ CK QM EM XQ ER
FB ZF CF AF HQ OM EF QO BR OM FR
MQ ZM BJ NQ XN RF EM RG ON CF SR
Hasil endkripsi untuk algoritma hasil modifikasi adalah sebagai berikut: Cipherteks: NQ HK DP CA UD BO WZ MJ RX LG MF RQ PC GU AH MD OE DZ KT GJ VS HM BV LO PT HJ BY DV ZP WM WM JS JO MU KR TW CD WR GX WH FM AV GM NY MT LY YP MF SJ GL TS FD DN UM TN GL
AG KA PT FZ LS TF JS PW YA OP HO CK EX FR
HF UQ JF KN SN FU NQ PS OM AJ JZ GF CY HL
RG CR MC US FG RF SA EZ XN XV RO EL SQ LE
CN NX MZ PO VD OW SO FY BZ JX YC TE GV JN
TJ UO WP RP DZ ZX AU DM UR ZK JC YV JG KT
EQ TO XX CP ZD QT BT YB JK ZD DT PO XC CJ
CH LK PF FM VP XH VQ CX ZP PJ XP NG DH
TU XP SV AW QV MN YA OM XV AO EP DX OX
BW FQ ZG WG KR XN RA DX UX TC CU FA KO
DC WH WV ZP DS FT OK QM OR YB TL AB JZ
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:
Makalah IF3058 Kriptografi – Sem. II Tahun 2011/2012
Cipherteks: OV ET GV TF NH RH TY UB CQ UA VB JF AF VE GF MX SB XJ AM CL YF OJ OQ KN NB EJ NB QB NW FN CD JH FQ SR JF EF LR CE SM LN GH WM GM JB OG UN OV ET XH JL NH RH JW WT CQ UA KQ SB AF VE RB OD SB XJ
OK JH JK MQ DB BD CK AC JK JM BQ GV TY VB GF AM
SA XN NL UQ OM ON WS CT WB CQ RM TF UB JF MX CL
XB KN GB XR JM OQ CH SK BQ NV GW OK JH JK MQ DB
CH NW MX KM AQ OJ JH NW MQ QF AH SA XN NL UQ OM
FB YM FS MW JT AV BH YV RD GM CY XB KN GB XR JM
BX UN EQ JX JV BG OW RT QM DX UB CH NW MX KM AQ
GQ FQ LT JQ BN GV AD FS XW JN OJ FB YM FS MW JT
CH KX AL WN RG RH QH DM JR WA CG BX UN EQ JX JV
XH JW KQ RB TD AQ DF GN KY OD GK GQ FQ LT JQ BN
JL WT SB OD OV MJ QR WJ AF LD JN CH KX AL WN 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. ANALISIS KELEMAHAN 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 HE PL AJ NT FJ RS TL ET AN DC OL UM EN AM EL YL
LE EX TE NA SJ
TH TA RO OF MJ
EF JS FT TH LA
JR PA HE EV RL
ST JR KE JG YF
LE ED YS EN OR
TZ WJ OU ÈR TH
TE TH SE ES ES
RO LT RO QU EC
FT HE WL AR ON
Hasil enkripsi dengan algoritma hasil modifikasi dapat dilihat sebagai berikut: cipherteks: LT QG HR LN XY JH BH AS YB ER JE OD UH AV LD DP TL GA QE EW
NP FB JT WU QR
ND ZH BS TM HV
UC GA PH QY YG
SC GU GU XM LS
RG GE PR PB HY
QF UE ER UO LB
XJ LZ VQ XX UG
QM KM ZY ZA VM
VC EQ YU WB KP
WM LX FO RZ AK
Apabila bigram pertama, LT, diubah menjadi LZ, maka hasil dekripsi yang dihasilkan adalah sebagai berikut: Plainteks: FV JQ FU WL MQ LJ HK FA MX RW FD NQ OY TA WP FG
UD HC ZG CD
GZ HM WU PK
PB YS BF UH
PF JM ZG QY
BR YJ TW ND
RD YD BW VW
KW QR CV QH
LO SJ PN SX
LY QK DL XO
ZJ TF WV 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
adalah hasil dekripsi dengan algoritma biasa dengan bigram pertama dari hasil enkripsi diubah. cipherteks: FV RE XA MP HE PL AJ NT FJ RS TL ET AN DC OL UM EN AM EL YL
LE EX TE NA SJ
TH TA RO OF MJ
EF JS FT TH LA
JR PA HE EV RL
ST JR KE JG YF
LE ED YS EN OR
TZ WJ OU ZR TH
TE TH SE ES ES
RO LT RO QU EC
FT HE WL AR ON
PERNYATAAN 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
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. Wico Chandra – 1350909
VII. KESIMPULAN 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. UCAPAN TERIMA KASIH 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.
REFERENCES [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
Makalah IF3058 Kriptografi – Sem. II Tahun 2011/2012
LAMPIRAN 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; } }
Makalah IF3058 Kriptografi – Sem. II Tahun 2011/2012
d. substitute 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; }
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
Makalah IF3058 Kriptografi – Sem. II Tahun 2011/2012