51329

Шифрование текста по ключу аддитивными методами (гаммированием)

Лабораторная работа

Информатика, кибернетика и программирование

Цель работы: Научиться составлять программы шифрования текста, основываясь на методах замены. Вывод: научился составлять программы шифрования текста, основываясь на методах замены.

Русский

2014-02-09

57.94 KB

14 чел.

Цель работы: Научиться составлять программы шифрования текста, основываясь на  методах замены.

Изм.

Лист

№ докум.

Подпись

Дата

Лист

1

Лабораторная работа №4

Разраб.

Карецкий

Пров.

Смулаковский

Н. Контр.

Утв.

Шифрование текста по ключу аддитивными методами (гаммированием).

Лит.

Листов

4

КОГУ 59П-3

 

Ход работы:  

unit Unit1;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, StdCtrls, XPMan, jpeg, ExtCtrls;

type

 TForm1 = class(TForm)

   Edit1: TEdit;

   Edit2: TEdit;

   Label1: TLabel;

   Label2: TLabel;

   Button1: TButton;

   XPManifest1: TXPManifest;

   Edit3: TEdit;

   Label3: TLabel;

   Button2: TButton;

   Image1: TImage;

   procedure Button1Click(Sender: TObject);

   procedure Button2Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var

 i:integer;

Изм.

Лист

№ докум.

Подпись

Дата

Лист

2

Лабораторная работа №4

 TextCount, GammCount:integer;

 Text, gamma, ProtectText:string;

 s1, s2, s3:string[1];

begin

 Text := Edit1.Text;

 Gamma := Edit2.Text;

 TextCount := Length(Text);

 GammCount := Length(Gamma);

   {Сравниваем длинну гаммы с длиной текста}

 while GammCount < TextCount do

 begin

   Gamma := Gamma + Edit2.Text;

   GammCount := Length(Gamma);

 end;

 if GammCount > TextCount then

 delete(Gamma, TextCount+1, (GammCount-TextCount));

 Edit2.Text := Gamma;

   {Шифрование текста}

 for i:=1 to TextCount do

 begin

   s1 := copy(Text, i, 1);

   s2 := copy(Gamma, i, 1);

     {Сложение текста с гаммой}

   s3 := Chr((Ord(S1[1])+Ord(S2[1])) mod 255);

   ProtectText := ProtectText + s3;

 end;

 Edit3.Text := ProtectText;

end;

//==============================================================================

procedure TForm1.Button2Click(Sender: TObject);

var

 i:integer;

 ProtectTextCount, GammCount:integer;

 Text, gamma, ProtectText:string;

 s1, s2, s3:string[1];

begin

 ProtectText := Edit3.Text;

 Gamma := Edit2.Text;

 ProtectTextCount := Length(ProtectText);

 GammCount := Length(Gamma);

Изм.

Лист

№ докум.

Подпись

Дата

Лист

3

Лабораторная работа №4

   {Сравниваем длинну гаммы с длиной текста}

 while GammCount < ProtectTextCount do

 begin

   Gamma := Gamma + Edit2.Text;

   GammCount := Length(Gamma);

 end;

 if GammCount > ProtectTextCount then

   delete(Gamma, ProtectTextCount+1, (GammCount-ProtectTextCount));

 Edit2.Text := Gamma;

   {Шифрование текста}

 for i:=1 to ProtectTextCount do

 begin

   s1 := copy(ProtectText, i, 1);

   s2 := copy(Gamma, i, 1);

     {Сложение текста с гаммой}

   if Ord(S1[1])-Ord(S2[1])<0 then

     s3 := Chr((Ord(S1[1])-Ord(S2[1]))+255)

   else

     s3 := Chr((Ord(S1[1])-Ord(S2[1])));

   Text := Text + s3;

 end;

 Edit1.Text := Text;

    showmessage(Gamma);

end;

end.

Изм.

Лист

№ докум.

Подпись

Дата

Лист

4

Лабораторная работа №4

Вывод: научился составлять программы шифрования текста, основываясь на  методах замены.


 

А также другие работы, которые могут Вас заинтересовать

62023. Учет особенностей местной художественной культуры и народных традиций при разработке национально-регионального компонента в типовых программах по изобразительному искусству 19.27 KB
  Конспект открытого занятия по Методике преподавания изобразительного искусства в школе. Воспитание интереса к урокам изобразительного искусства. Лекция: Сегодня как никогда активизировался процесс развития системы художественного образования и воспитания...