• Tidak ada hasil yang ditemukan

Algoritma Kunci Simetris Camellia.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Algoritma Kunci Simetris Camellia."

Copied!
48
0
0

Teks penuh

(1)

1 ABSTRACT

Nowadays in the age of information, many people using internet for

communication and transferring data. The security aspect in data transaction is one

of the most important aspects. One of the solutions to handle this is with data

encoding or encryption.

The encryption method encodes the data, so anyone can not read the

information of data except the owner. There are two general types of encryption

algorithm, symmetric algorithm and asymmetric algorithm. The Algorithm which

used in this book is symmetric algorithm. Symmetric algorithm encodes and decodes

with the same key.

In this project has successfully built an encryption software using Camellia

(2)

2 ABSTRAK

Pada saat ini penggunaan jaringan internet sudah merupakan suatu kebutuhan

yang cukup vital. Jaringan internet sangat rawan tingkat keamanannya, sehingga data

tidak hanya diterima oleh penerima data tetapi orang lain yang ingin mengetahui data

tersebut dapat mengambilnya juga.

Salah satu solusi untuk mengamankan data yang dikirimkan adalah dengan

melalukan enkripsi (penyandian) pada data. Enkripsi dibagi menjadi dua bagian yaitu

algoritma simetrik dan algoritma asimetrik. Pada tugas akhir ini algoritma yang

dipakai adalah algoritma simetrik, yaitu penyandian dengan menggunakan kunci yang

sama. Data yang dikirimkan adalah data hasil penyandian atau disebut juga

ciphertext, setelah data diterima maka data akan diolah kembali menjadi data

sebenarnya atau disebut juga plaintext.

Tugas akhir ini telah berhasil merealisasikan perangkat lunak pengaman data

dengan algoritma simetrik metoda Camellia menggunakan bahasa pemrograman

(3)

DAFTAR ISI

ABSTRACT...i

ABSTRAK...ii

KATA PENGANTAR...iii

DAFTAR ISI. ...v

DAFTAR GAMBAR...ix

DAFTAR TABEL...xi

BAB 1 PENDAHULUAN...1

1.1 Latar Belakang...1

1.2 Identifikasi Masalah...2

1.3 Tujuan...2

1.4 Pembatasan Masalah...2

1.5 Spesifikasi Hardware...2

1.6 Sistematika Pembahasan...3

BAB II TEORI PENUNJANG...4

2.1 Kriptografi...4

2.1.1 Teori Kriptografi...4

2.2 Algoritma Simetris dan Asimetris...6

2.2.1 Algoritma Simetris...6

2.2.2 Algoritma Asimetris...7

2.2.3 Block Cipher dan Stream Cipher...8

(4)

2.3.1 Electronic Codebook (ECB) ...9

2.3.2 Cipher Block Chaining (CBC) ...10

2.4 Teori Matematika...11

2.4.1 Bilangan Prima...11

2.4.2 Operasi Modulus...12

2.4.3 Algoritma Euclidean...12

2.4.4 Algoritma Extended Euclidean...13

2.4.5 Exponensial Modulus...14

2.4.6 Fungsi XOR...15

2.5 Enkripsi dan Dekripsi Dengan Algoritma Camellia...15

2.5.1 Enkripsi Dengan Algoritma Camellia...15

2.5.2 Dekripsi Dengan Algoritma Camellia...16

2.5.3 Panjang dari Kunci yang Bervariasi...17

2.5.4 Penjadwalan Kunci...17

2.6 Komponen-Komponen Camellia...21

2.6.1 Fungsi – F...21

2.6.2 Fungsi – P...21

2.6.3 Fungsi – S...22

2.6.4 S – box...22

2.6.5 Fungsi FL...25

2.6.6 Fungsi FL-1...25

2.7 Algoritma Validasi Data...26

(5)

2.8.1 Algoritma Pembangkit Kunci Tanda Tangan Digital ... 27

2.8.2 Algoritma Tanda Tangan Digital...27

2.8.3 Algoritma Verifikasi Tanda Tangan Digital...27

BAB III PERANCANGAN DAN REALISASI PERANGKAT LUNAK...28

3.1 Realisasi Perangkat Lunak...28

3.2 Program Utama ...31

3.3 Program Enkripsi...31

3.4 Program Dekripsi...36

3.5 Program Timer...41

3.6 Program Pembangkit Tanda Tangan Digital...41

3.6.1 Sub Program rdmprime...43

3.6.2 Sub Program gcd...44

3.6.3 Sub Program Euclid...44

3.6.4 Sub Program Validasi...46

3.6.5 Program Pencocokan Tanda Tangan Digital...46

BAB IV HASIL PENGAMATAN...48

4.1 Hasil Pengamatan Sederhana Program Enkripsi dan Dekripsi Camellia...48

4.1.1 Pengamatan Enkripsi Camellia Dengan Plain Text Berbeda dan Kunci Yang Sama. ... ...48

4.1.2 Pengamatan Enkripsi Camellia Dengan Plain Text Yang Sama dan Berbeda Dengan Kunci Yang Berbeda...49

(6)

4.2.1 Proses Enkripsi dan Dekripsi Camellia Terhadap File Text Dengan

Kunci Yang Pertama “elektromarnat” ...49

4.2.2 Proses Enkripsi dan Dekripsi Camellia Terhadap File Text Dengan Kunci Yang Kedua “ukm” ...51

4.3 Hasil Pengamatan Waktu Dan Ukuran File Proses Enkripsi dan Dekripsi Camellia...52

4.3.1Pengamatan Waktu Enkripsi dan Dekripsi Dengan Kunci Yang Sama....52

4.4 Pengamatan Enkripsi dan Dekripsi Dengan Kunci Yang Salah...53

4.5 Hasil Pengamatan Proses Enkripsi dan Dekripsi Camellia Dalam Proses Validasi... ...54

4.6 Hasil Pengamatan Proses Tanda Tangan Digital...56

4.6.1 Pengamatan Proses Tanda Tangan Digital Dengan Public Key Yang Sama... ...56

4.6.2 Pengamatan Proses Tanda Tangan Digital Dengan Public Key Yang Salah... ...56

4.7 Analisa Hasil Pengamatan...57

BAB V KESIMPULAN DAN SARAN...58

5.1 Kesimpulan...58

5.2 Saran... ...58

Daftar Pustaka... ...59

Lampiran A Listing Program ...A-1

Lampiran B Subtitution Box...B-1

(7)

DAFTAR GAMBAR

Gambar 2.1 Diagram Proses Enkripsi dan Dekripsi...5

Gambar 2.2 Diagram Proses Enkripsi dan Dekripsi Algoritma Simetris...6

Gambar 2.3 Diagram Proses Enkripsi dan Dekripsi Algoritma Asimetris...7

Gambar 2.4 Skema Mode Operasi ECB...9

Gambar 2.5 Skema Mode Operasi CBC...10

Gambar 2.6 Penjadwalan Kunci...19

Gambar 2.7 Fungsi – F...21

Gambar 2.8 Fungi FL... ...25

Gambar 2.9 Fungi FL-1... ...26

Gambar 3.1 Tampilan Program Membuat Plain Text...28

Gambar 3.2 Tampilan Program Enkripsi...29

Gambar 3.3 Tampilan Program Dekripsi...30

Gambar 3.4 Diagram Alir Program Pengaman Data...30

Gambar 3.5 Diagram Alir Pengolahan Plain Text...31

Gambar 3.6 Prosedur Enkripsi Camellia Untuk Kunci 128 - bit...33

Gambar 3.7 Prosedur Enkripsi Camellia Untuk Kunci 192/256 – bit...34

Gambar 3.8 Diagram Alur Program Enkripsi ...35

Gambar 3.9 Prosedur Dekripsi Camellia Untuk Kunci 128 - bit...38

Gambar 3.10 Prosedur Dekripsi Camellia Untuk Kunci 192/256 – bit...39

Gambar 3.11 Diagram Alur Program Dekripsi ...35

(8)

Gambar 3.13 Diagram Alir Sub Program RdmPrime...43

Gambar 3.14 Diagram Alir Sub Program gcd...44

Gambar 3.15 Diagram Alir Sub Program Euclid...45

Gambar 3.16 Diagram Alir Sub Program Data Validasi...46

Gambar 3.17 Diagram Alir Sub Program Pencocokan Tanda Tangan Digital...46

Gambar 3.18 Diagram Alir Sub Program Pangkatmod...47

Gambar 4.1 Pengecekan Dengan menggunakan Kunci Yang Berbeda...54

Gambar 4.2 Pengecekan Validasi...55

Gambar 4.3 Pengecekan Tanda Tangan Digital...57

(9)

DAFTAR TABEL

Tabel 2.1 Nilai Extended Euclidean ...13

Tabel 2.2 Penjadwalan Kunci Yang Konstan...18

Tabel 2.3 Kunci Rahasia Untuk Subkey 128-bit dan 182/256-bit...20

Tabel 2.4 S – Box1...23

Tabel 2.5 S – Box2...23

Tabel 2.6 S – Box3...24

Tabel 2.7 S – Box4...24

Tabel 4.1 Enkripsi dan Dekripsi Dengan Kunci Yang Sama,PlainText Berbeda...48

Tabel 4.2 Enkripsi dan Dekripsi Dengan PlainText Yang Sama dan Berbeda Dengan Kunci Yang Berbeda...49

Tabel 4.3 Hasil Pengamatan Proses Enkripsi Camellia...52

(10)
(11)

Listing UMain.pas

unit UMain;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Menus, ComCtrls, Buttons, ShellAPI;

type

TMain = class(TForm)

(12)

edPass1: TEdit;

OpenDlgDec: TOpenDialog; OpenDlgEnc: TOpenDialog; SaveDlgEnc: TSaveDialog; SaveDlgDec: TSaveDialog; SaveDlgV: TSaveDialog; BtnViewCipherFiles: TBitBtn; BitBtn1: TBitBtn;

procedure btSimpanClick(Sender: TObject); procedure btBrowseClick(Sender: TObject); procedure btBrowse1Click(Sender: TObject); procedure btGenClick(Sender: TObject); procedure About1Click(Sender: TObject); procedure btEncryptClick(Sender: TObject); procedure btDecryptClick(Sender: TObject);

procedure BtnViewCiphrFilesClick(Sender: TObject); procedure Exit1Click(Sender: TObject);

(13)

implementation

uses Camellia, RSATools, Tools, UAbout;

{$R *.dfm}

procedure TMain.btSimpanClick(Sender: TObject); begin

if SaveDlgP.Execute then begin

CreateP.Lines.SaveToFile(SaveDlgP.FileName); end;

edPath.Text:=OpenDlgEnc.FileName; RPlain.Clear;

RPlain.Lines.LoadFromFile(OpenDlgEnc.FileName); end;

edPath1.Text:=OpenDlgDec.FileName; RCipher.Clear;

RCipher.Lines.LoadFromFile(OpenDlgDec.FileName); end;

temp2 : array of Longint; // temp dynamic array handler that hand selection of e

(14)

temp4 : Longint;

//random selection of e ulang:

//select e that is prime

For i1 := 2 To Round(Sqrt(temp4)) do begin

(15)

GoTo ulang;

awal,akhir,lama:TDateTime; i,d,n:Integer;

s,x:longint; begin

if edPass.Text = '' then

MessageDlg('Kata Kunci Belum Diisi',mtError,mbOKCancel,0) else

if RPlain.Text = '' then

MessageDlg('Document masih kosong',mtError,mbOKCancel,0) else

if PrivD.Text = '' then

(16)

repeat Signature','Pesan',MB_OK) = IDOK then

(17)

valid:TextFile;

Buffer: array[0..15] of byte; temp:Byte128;

Read:Integer;

awal,akhir,lama:TDateTime; i,e,n:Integer;

s,p:Longint; begin

if edPass1.Text = '' then

MessageDlg('Kata Kunci Belum Diisi',mtError,mbOKCancel,0) else

if RCipher.Text = '' then

(18)

AssignFile(Dest,SaveDlgDec.FileName);

if FileExists(SaveDlgEnc.FileName) then

(19)

edPass.Clear; PrivD.Clear; PrivN.Clear; PubE.Clear; PubN.Clear; RPlain.Clear; end;

procedure TMain.TabSheet2Show(Sender: TObject); begin

OpenDlgDec.FileName:=''; SaveDlgDec.FileName:=''; OpenDlgV.FileName:=''; edPath1.Clear;

edPass1.Clear; edStart1.Clear; edDuration1.Clear; edEnd1.Clear; PubE1.Clear; PubN1.Clear; RCipher.Clear; end;

procedure TMain.BitBtn1Click(Sender: TObject); begin

if FileExists(SaveDlgDec.FileName) then

ShellExecute(Handle, nil, PChar('NotePad.exe'), PChar(SaveDlgDec.FileName), nil, sw_ShowNormal);

end;

procedure TMain.TabSheet3Show(Sender: TObject); begin

SaveDlgP.FileName:=''; CreateP.Clear;

end;

(20)

Listing Tools.pas

function LRot16(X: word; c: integer): word; assembler; function RRot16(X: word; c: integer): word; assembler; function LRot32(X: dword; c: integer): dword; assembler; function RRot32(X: dword; c: integer): dword; assembler; function SwapDWord(X: DWord): DWord; register; assembler;

procedure XorBlock128(const I1: Byte128; const I2: Byte128; var O1: Byte128);

procedure XorBlock64(const I1: Byte64; const I2: Byte64; var O1: Byte64); procedure IncBlock(P: PByteArray; Len: integer);

procedure SwapHalf(var x: Byte128);

procedure ByteDword(const x: PByteArray; var y: Word128); procedure DWordByte(const x: Word128; var y: PByteArray); function RotBlock128(const x: Byte128; const n: integer): Byte128; procedure split128(const x: Byte128; var L: Byte64; var R: Byte64); procedure merge128(const L: Byte64; const R: Byte64; var z: Byte128);

implementation

function LRot16(X: word; c: integer): word; assembler; asm

(21)

asm

function LRot32(X: dword; c: integer): dword; register; assembler; asm

mov ecx, edx rol eax, cl end;

function RRot32(X: dword; c: integer): dword; register; assembler; asm

mov ecx, edx ror eax, cl end;

function SwapDWord(X: DWord): DWord; register; assembler; asm

xchg al,ah rol eax,16 xchg al,ah end;

procedure XorBlock128(const I1: Byte128; const I2: Byte128; var O1: Byte128);

procedure XorBlock64(const I1: Byte64; const I2: Byte64; var O1: Byte64); var

procedure IncBlock(P: PByteArray; Len: integer); begin

Inc(P[Len-1]);

(22)

end;

procedure SwapHalf(var x: Byte128); var t:byte;

procedure ByteDword(const x: PByteArray; var y: Word128); var i: Integer;

procedure DWordByte(const x: Word128; var y: PByteArray); var i: integer;

function pangkat(const x: integer; const y: integer): integer; var res,i : integer;

(23)

result:=1

function RotBlock128(const x: Byte128; const n: integer): Byte128; var y:Byte128;

procedure split128(const x: Byte128; var L: Byte64; var R: Byte64); var i:integer;

(24)

for i:=0 to 7 do begin

Le[i]:=x[i]; Ri[i]:=x[i+8]; end;

move(Le,L,sizeof(Le)); move(Ri,R,sizeof(Ri)); end;

procedure merge128(const L: Byte64; const R: Byte64; var z: Byte128); var i:integer;

begin

for i:=0 to 7 do begin

z[i]:=L[i]; z[i+8]:=R[i]; end;

end;

(25)

* Program Pembangkit Kunci

(26)

// preschedule ktemp:=RotBlock128(KA,111); split128(ktemp,Kw[3],Kw[4]);

// k schedule

split128(KA,k[1],k[2]);

ktemp:=RotBlock128(KL,15); split128(ktemp,k[3],k[4]); ktemp:=RotBlock128(KA,15); split128(ktemp,k[5],k[6]); ktemp:=RotBlock128(KL,45); split128(ktemp,k[7],k[8]); ktemp:=RotBlock128(KA,45); split128(ktemp,k[9],d); ktemp:=RotBlock128(KL,60); split128(ktemp,d,k[10]); ktemp:=RotBlock128(KA,60); split128(ktemp,k[11],k[12]); ktemp:=RotBlock128(KL,94); split128(ktemp,k[13],k[14]); ktemp:=RotBlock128(KA,94); split128(ktemp,k[15],k[16]); ktemp:=RotBlock128(KL,111); split128(ktemp,k[17],k[18]);

// K1 schedule

ktemp:=RotBlock128(KA,30); split128(ktemp,k1[1],k1[2]); ktemp:=RotBlock128(KL,77); split128(ktemp,k1[3],k1[4]); end

else

begin

// Kw schedule

(27)

// k schedule

split128(KB,k[1],k[2]);

ktemp:=RotBlock128(KR,15); split128(ktemp,k[3],k[4]); ktemp:=RotBlock128(KA,15); split128(ktemp,k[5],k[6]); ktemp:=RotBlock128(KB,30); split128(ktemp,k[7],k[8]); ktemp:=RotBlock128(KL,45); split128(ktemp,k[9],k[10]); ktemp:=RotBlock128(KA,45); split128(ktemp,k[11],k[12]); ktemp:=RotBlock128(KR,60); split128(ktemp,k[13],k[14]); ktemp:=RotBlock128(KB,60); split128(ktemp,k[15],k[16]); ktemp:=RotBlock128(KL,77); split128(ktemp,k[17],k[18]); ktemp:=RotBlock128(KR,94); split128(ktemp,k[19],k[20]); ktemp:=RotBlock128(KA,94); split128(ktemp,k[21],k[22]); ktemp:=RotBlock128(KL,111); split128(ktemp,k[23],k[24]);

// K1 schedule

ktemp:=RotBlock128(KR,30); split128(ktemp,k1[1],k1[2]); ktemp:=RotBlock128(KL,60); split128(ktemp,k1[3],k1[4]); ktemp:=RotBlock128(KA,77); split128(ktemp,k1[5],k1[6]); end;

(28)

* Program Enkripsi

(29)

end else begin

for i:=1 to round do begin

if (i = 6) or (i = 12) or (i = 18) then

FLayer(N[i-1],k[i],k1[2*(i div 6)-1],k1[2*(i div 6)+1],N[i]) else

Feistel(N[i-1],k[i],N[i]); end;

end;

// post whitening if keylen = 128 then begin

merge128(Kw[3],Kw[4],ktmp); SwapHalf(N[18]);

XorBlock128(N[18],ktmp,c); end

else begin

merge128(Kw[3],Kw[4],ktmp); SwapHalf(N[24]);

XorBlock128(N[24],ktmp,c); end;

(30)

* Program Dekripsi

(31)

FLayerInv(N[i],k[i],k1[(2*(i-1) div 6)],k1[(2*(i-1) div 6)-1],N[i-1]) else

FeistelInv(N[i],k[i],N[i-1]); end;

end else begin

for i:=round downto 1 do begin

if (i = 7) or (i = 13) or (i = 19) then

FLayerInv(N[i],k[i],k1[(2*(i-1) div 6)],k1[(2*(i-1) div 6)-1],N[i-1]) else

FeistelInv(N[i],k[i],N[i-1]); end;

end;

// post whitening

merge128(Kw[1],Kw[2],ktmp); XorBlock128(N[0],ktmp,p);

end;

(32)
(33)

Subtitution Box 1

cast_sbox1: array[0..255]of DWord= (

(34)
(35)

Subtitution Box 2

cast_sbox2: array[0..255] of DWord = (

(36)
(37)

Subtitution Box 3

cast_sbox3: array[0..255] of DWord = (

(38)
(39)

Subtitution Box 4

cast_sbox4: array[0..255] of DWord = (

(40)
(41)
(42)

Gambar Tampilan Program Enkripsi

(43)
(44)

1

BAB I

PENDAHULUAN

Pada bab ini akan dijelaskan mengenai latar belakang, perumusan

masalah, tujuan, pembatasan masalah, serta sistematika penulisan laporan tugas

akhir.

1.1 Latar Belakang

Berkat perkembangan teknologi yang begitu pesat memungkinkan

manusia dapat berkomunikasi dan saling bertukar informasi/data secara jarak

jauh. Antar kota antar wilayah antar negara bahkan antar benua bukan merupakan

suatu kendala lagi dalam melakukan komunikasi dan pertukaran data. Seiring

dengan itu tuntutan akan sekuritas (keamanan) terhadap kerahasiaan informasi

yang saling dipertukarkan tersebut semakin meningkat. Begitu banyak pengguna

seperti departemen pertahanan, suatu perusahaan atau bahkan individu-individu

tidak ingin informasi yang disampaikannya diketahui oleh orang lain atau

kompetitornya atau negara lain. Oleh karena itu dikembangkanlah cabang ilmu

yang mempelajari tentang cara-cara pengamanan data atau dikenal dengan istilah

Kriptografi.

Dalam kriptografi terdapat dua konsep utama yakni enkripsi dan dekripsi.

Enkripsi adalah proses dimana informasi/data yang hendak dikirim diubah

menjadi bentuk yang hampir tidak dikenali sebagai informasi awalnya dengan

menggunakan algoritma tertentu. Dekripsi adalah kebalikan dari enkripsi yaitu

mengubah kembali bentuk tersamar tersebut menjadi informasi awal.

Camellia merupakan algoritma kriptografi simetris blok cipher. Dalam

Camellia proses enkripsi dan dekripsi dilakukan pada blok data berukuran 128-bit

dengan kunci yang dapat berukuran 128-bit, 192-bit, 256-bit. Algoritma Camellia

(45)

2

• Kazumaro Aoki (NTT - Nippon Telegraph and Telephone Corp.)

• Tetsuya Ichikawa (Mitsubishi electric Corp.)

• Masayuki Kanda (NTT – Nippon Telegraph and Telephone Corp.)

• Mitsuru Matsui (Mitsubishi electric Corp.)

• Shiho Moriai (NTT – Nippon Telegraph and Telephone Corp.)

• Junko Nakajima (Mitsubishi electric Corp.)

• Toshio Tokita (Mitsubishi electric Corp.)

1.2 Identifikasi Masalah

Bagaimana membuat program enkripsi dan dekripsi menggunakan algoritma

Camellia ?

1.3 Tujuan

Merealisasikan suatu perangkat lunak berdasarkan teknik enkripsi dan

dekripsi Camellia.

1.4 Pembatasan Masalah

1. Perangkat lunak Enkripsi Camellia diimplementasikan dalam bahasa

pemrograman Borland Delphi.

2. Tidak membahas transmisi data.

3. Data masukan berupa teks atau file teks (*.txt).

1.5 Spesifikasi Hardware

Program diuji dengan menggunakan Pentium(R) 4 CPU 2.40 GH Mhz

(46)

3

1.6 Sistematika Pembahasan

Materi pembahasan dalam laporan Tugas Akhir ini adalah

BAB I PENDAHULUAN

Bab ini menjelaskan mengenai latar belakang Tugas Akhir, tujuan Tugas

Akhir, pembatasan masalah dan sistematika pembahasan.

BAB II TEORI PENUNJANG

Bab ini berisi berbagai macam landasan teori yang bersangkutan dengan

enkripsi dan dekripsi algoritma Camellia, yaitu antara lain : teori dasar kriptografi,

algoritma simetrik dan asimetrik, mode enkripsi blok cipher, algoritma Camellia,

dan komponen penyusun Camellia.

BAB III PERANCANGAN DAN REALISASI

Bab ini berisi perancangan dan realisasi dari program enkripsi dan dekripsi

algoritma Camellia.

BAB IV HASIL PENGAMATAN

Bab ini berisi tentang data hasil pengamatan dari proses enkripsi dan

dekripsi algoritma Camellia.

BAB V KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dan saran yang mungkin berguna dalam

(47)

BAB V

Kesimpulan Dan Saran

5.1 Kesimpulan

Berdasarkan hasil pengamatan dapat diambil kesimpulan:

1. Perangkat lunak pengaman data dengan algoritma kunci simetris Camellia

telah berhasil direalisasikan.

2. Program enkripsi mengubah plaintext menjadi ciphertext dengan ukuran bisa

sama besar atau lebih besar dikarenakan penanganan karakter nilstring.

sedangkan program dekripsi mengubah ciphertext menjadi plaintext kembali

dengan ukuran plaintext semula.

3. Perangkat lunak yang direalisasikan telah memenuhi komponen utama

kriptografi yaitu kerahasiaan, keutuhan dan keaslian

4. Keutuhan diperoleh dari proses enkripsi dan validasi data, hasil ciphertext

yang telah diubah,dihilangkan dan ditambahkan tidak dapat didekripsi.

5.2 Saran

Berdasarkan hasil pengamatan dapat diambil saran:

1. Program dapat dikembangkan untuk memproses data masukan selain data

teks, misalnya data gambar.

2. Ukuran file ciphertext yang besar dapat diperkecil dengan menggunakan

(48)

Daftar Pustaka

Daftar pustaka :

1. K. Aoki, T. Ichikawa, M. Kanda, M. Matsui, S.Moriai, J. Nakajima, T.

Tokita. Specification of Camellia – a 128-bit block cipher. NTT and

Mitsubishi Electronic Corporation, 2000. Terdapat di

http://info.isl.ntt.co.jp/camellia/

2. Keating, Brigaud. ‘Reuse Methodology Manual’ Kluwer Academic

Publisher, London 2000.

3. Menezes, A.J, Handbook of Applied Cryptography, CRC Press, 1996.

4. Schneider, Bruce.’Applied Cryptography’ John Wiley & Sons Inc, 1996.

5. Yiqun Lisa Yin. A Note on the Block Cipher Camellia. NTT Multimedia

Gambar

Gambar Tampilan Program Enkripsi
Gambar Tampilan About Box

Referensi

Dokumen terkait

Reseptor dalam kamus kesehatan merupakan sebuahselsensoriskhusus yang meresponjenis stimulus tertentuseperticahaya, suara, ataumolekulbau,

Penelitian ini bermanfaat untuk mencari obat yang yang lebih efektif dalam mengurangi nyeri tenggorok dan suara serak akibat dari pemasangan pipa nafas selama operasi.. Adapun

Pada penelitian ini grafik pertumbuhan bakteri Enterobacter agglomerans pada konsentrasi Pb (ppm) yang berbeda dengan waktu pengamatan, dapat dilihat pada Gambar

Tujuan penelitian ini adalah mendesain aktivitas kreatif untuk meningkatkan minat baca anak- anak di kampung Pondok Pucung RT 005, RW 02, Tangerang Selatan yang dilakukan dengan

Dengan analisa SWOT dan IE-Matrix, disarankan beberapa hal, yaitu: strategi market intensive dilakukan melalui penetrasi pasar dan pengembangan pasar; mengembangkan

Dengan demikian semakin banyak tekanan gas dinaikkan, maka atom gas yang dialirkan dalam tabung sputtering semakin meningkat dan energi ion-ion Ar yang menumbuki target juga

(2010) dalam jurnalnya yang berjudul “The Effect of the Virtual Laboratory on Students’ Achievement and Attitude in Chemistry” meneliti ihwal kegiatan laboratorium pendidikan

Kepala Dinas Penanaman Modal dan pelayanan Terpadu Satu Pintu Kota Banjarmasin3. Se