• Tidak ada hasil yang ditemukan

Lampiran A Listing Program

N/A
N/A
Protected

Academic year: 2019

Membagikan "Lampiran A Listing Program"

Copied!
26
0
0

Teks penuh

(1)
(2)

Listing UMain.pas

unit UMain;

interface uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, Menus, StrUtils;

type

TMain = class(TForm)

(3)

TabSheet2: TTabSheet;

procedure btBrowseClick(Sender: TObject); procedure btEncryptClick(Sender: TObject); procedure btGenClick(Sender: TObject); procedure btBrowse1Click(Sender: TObject); procedure DecryptClick(Sender: TObject); procedure Exit1Click(Sender: TObject); procedure About1Click(Sender: TObject); procedure TabSheet1Show(Sender: TObject); procedure TabSheet2Show(Sender: TObject);

(4)

{$R *.dfm}

uses xtea, RSATools, Tools, UAbout;

procedure TMain.btBrowseClick(Sender: TObject); begin

if OpenDlg.Execute then begin

edPath.Text:=OpenDlg.FileName;

RPlain.Lines.LoadFromFile(OpenDlg.FileName); end; temp:Xtea.TTeaMsgBlock; Read:Integer;

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

(5)

Buffer[i]:=0; Signature”,”Pesan”,MB_OK) = IDOK then

(6)

n : Longint; //p * q

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

(7)

ulang:

//select e that is prime

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

edPath1.Text:=OpenDlg.FileName;

RCipher.Lines.LoadFromFile(OpenDlg.FileName); end; temp:Xtea.TTeaMsgBlock; Read:Integer;

(8)

s,p:Longint; begin

if edPass1.Text = ““ then

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

if RCipher.Text = ““ then

(9)
(10)

edDuration.Clear;

OpenDlg.FileName := ““; SaveDlg.FileName := ““; OpenDlgV.FileName := ““; SaveDlgV.FileName := ““; end;

procedure TMain.TabSheet2Show(Sender: TObject); begin

edPath1.Clear; edPass1.Clear; RCipher.Clear; PubE1.Clear; PubN1.Clear; edStart1.Clear; edEnd1.Clear; edDuration1.Clear; OpenDlg.FileName := ““; SaveDlg.FileName := ““; OpenDlgV.FileName := ““; SaveDlgV.FileName := ““; end;

(11)

Listing Uxtea.pas unit xtea;

interface

type

TTeaMsgBlock = array[0..1] of LongWord; TTeaKeyBlock = array[0..3] of LongWord;

procedure XTeaCrypt(var V: TTeaMsgBlock; const K: TTeaKeyBlock); procedure XTeaDecrypt(var V: TTeaMsgBlock; const K: TTeaKeyBlock); function XTeaCryptStr(const Msg, Pwd: string): string;

function XTeaDecryptStr(const Msg, Pwd: string): string;

function XTeaCryptBin(const Msg : TTeaMsgBlock; const Pwd : String; Len : Integer): TTeaMsgBlock;

function XTeaDeCryptBin(const Msg : TTeaMsgBlock; const Pwd : String; Len : Integer): TTeaMsgBlock;

procedure XTeaCrypt(var V: TTeaMsgBlock; const K: TTeaKeyBlock); var

procedure XTeaDecrypt(var V: TTeaMsgBlock; const K: TTeaKeyBlock); var

(12)

begin

function XTeaCryptStr(const Msg, Pwd: string): string; var

(13)

V[0] := 0; V[1] := 0;

function XTeaCryptBin(const Msg : TTeaMsgBlock; const Pwd : String; Len : Integer): TTeaMsgBlock;

Move(V[0], Result, SizeOf(V)); end;

function XTeaDeCryptBin(const Msg : TTeaMsgBlock; const Pwd : String; Len : Integer): TTeaMsgBlock;

Move(V[0], Result, SizeOf(V)); end;

{

========================================================== =============== }

(14)

Listing Uabout.pas

unit UAbout; interface uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;

type

TfrmAbout = class(TForm) Panel1: TPanel;

Label1: TLabel; Label5: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label6: TLabel; Label7: TLabel; Button1: TButton;

procedure Button1Click(Sender: TObject); private

{ Private declarations } public

{ Public declarations } end;

var

frmAbout: TfrmAbout;

implementation {$R *.dfm}

procedure TfrmAbout.Button1Click(Sender: TObject); begin

frmAbout.Close; end;

(15)

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; procedure XorBlock(I1, I2, O1: PByteArray; Len: integer); procedure IncBlock(P: PByteArray; Len: integer);

function StrToDWord(s : string) : DWord; function DWordToStr(wo : DWord) : string;

implementation

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

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

(16)

mov ecx, edx rol eax, cl end;

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

mov ecx, edx ror eax, cl end;

procedure XorBlock(I1, I2, O1: PByteArray; Len: integer); var

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

Inc(P[Len-1]);

if (P[Len-1]= 0) and (Len> 1) then IncBlock(P,Len-1);

end;

function StrToDWord(s : string) : DWord; var cely : Dword;

(17)

var vysl : string; rr,ll : word;

Si1,Si2,Si3,Si4 : byte; begin

rr:=(wo shl 16) shr 16; ll:=(wo shr 16); Si2:=(ll shl 8) shr 8; Si1:=(ll shr 8); Si4:=(rr shl 8) shr 8; Si3:=(rr shr 8);

vysl:=chr(Si1)+chr(Si2)+chr(Si3)+chr(Si4); DWordToStr:=vysl;

(18)

Listing RSATools

unit RSATools; interface

uses SysUtils, StrUtils, IdGlobal, Math;

Function Euclid(nilai1 : Longint; nilai2 : Longint) : Longint ; Function gcd(p : longint; q : longint) : Longint;

Function RdmPrime() : Longint;

Function pangkatmod(num1 : longint;num2 : longint;num3 : longint) : longint;

implementation

Function Euclid(nilai1 : Longint; nilai2 : Longint) : Longint ; var mex,bex,A1,A2,A3,Qex,T1,T2,T3,B1,B2,B3,hasil:Longint; label itung, selesai;

begin

mex := nilai1; bex := nilai2;

A1 := 1; B1 := 0; A2 := 0; B2 := 1; A3 := mex; B3 := bex; itung:

if B3 = 0 then begin hasil := 0; GoTo selesai; end;

if B3 = 1 then begin

hasil := B2; GoTo selesai; end;

(19)

A1 := B1; B1 := T1;

Function gcd(p : longint; q : longint) : Longint; var A11,B11,R11 : Longint;

label balik;

Function RdmPrime() : Longint;

var iRandom : integer; // holds random long result i2 : longint; // checkprime loop counter

(20)

//trap handler

Function pangkatmod(num1 : longint;num2 : longint;num3 : longint) : longint; var a22,b22,n22,nilaimod,nilaic,nilaid,nilaii,nilaik,naik : longint;

(21)

end; end;

pangkatmod := nilaid; End;

(22)
(23)
(24)
(25)
(26)

Gambar

Gambar Tampilan Program Enkripsi
Gambar Tampilan Program Dekripsi
Gambar Tampilan About

Referensi

Dokumen terkait

untuk menemukan hakikat anak sebagai manusia yang baik dan bebas sesuai. ciptaan di

Penulis menganalisis bahwa pembelajaran PAI yang dilaksanakan SMA N 1 Pati sebagai Rintisan Sekolah Bertaraf Internasional telah melaksanakan perencanaan

Bumi Sarimas Indonesia tentang penggunaan bahan baku yang efisien dapat dilakukan dengan planning (perencanaan) terhadap kebutuhan penggunaan bahan baku, organizing

Berangkat dari masalah yang diungkapkan di atas bahwa berpikir tidak dapat dipisahkan dari isi materi pelajaran, karena kenyataannya berpikir merupakan sebuah cara untuk

Coffee bean physical quality: The effect of climate change adaptation behavior of shifting up cultivation area to a higher elevation.. SAMSUL BAKRI 1,2, ♥ , AGUS SETIAWAN 1,2 ,

Salah satu faktor yang berperan penting dalam hal kelancaran PNPM Mandiri Perkotaan adalah Sumber Daya Manusia, termasuk di dalamnya adalah pelaku manajemen data dan informasi,

7 Maklumat di atas merujuk kepada peranan pembesar dalam Sistem Pembesar Empat Lipatan di Melaka.Siapakah pembesar tersebut.. A

Yang menjadi perumusan masalah yaitu bagaimana perspektif hukum positif tentang pengembalian aset hasil tindak pidana korupsi dengan studi putusan nomor: 01/