Крипто-форум crprogram.16mb.com

Програмування, Delphi, криптографія, криптоаналіз, шифри, вихідні коди, вирішення задач, приклади програм

Часовий пояс: UTC десь + 2 години




Розпочати нову тему Відповісти  [ 5 повідомлень ] 
Автор Повідомлення
 Заголовок повідомлення: Програми для шифрування текстових повідомлень, інтерфейс
СообщениеДодано: 09 гру 2014, 20:48 
Не в мережі

Повідомлень: 502
Далі розглянемо приклади програм, які використовуються для передачі текстових повідомлень.

Розглянемо приклад написання такої програми для шифру простої підстановки та xor.

Особоливістю даних програм є:
- нам тепер не потрібно працювати з національними алфавітами, а достатньо таблиці ASCII.
- шифртекст кодується, у кодуванні, яке дозволяє перетворити його у набір друкованих символів.


Повернутися наверх
  
 
 Заголовок повідомлення: Re: Програми для шифрування текстових повідомлень, інтерфейс
СообщениеДодано: 09 гру 2014, 20:48 
Не в мережі

Повідомлень: 502
Можливостей реалізації таких програм безліч.

Розглянемо найпростіший випадок:

2 memo - відкритий текст /шифротекст
2 button - зашифрувати / розшифрувати
1 edit - введення пароля

Код:
const
  HexValues='0123456789ABCDEF';
var
  Form1: TForm1;
  Ctxt,Ptxt:array[0..1000] of byte;
  Key:array[0..63]of byte;
  ntxt,Lkey:integer;

де
ntxt - довжина тексту
Lkey - довжина пароля
Ctxt,Ptxt - шифр текст, відкритий текст відповідно.


Повернутися наверх
  
 
 Заголовок повідомлення: Re: Програми для шифрування текстових повідомлень, інтерфейс
СообщениеДодано: 09 гру 2014, 20:48 
Не в мережі

Повідомлень: 502
Задаємо пароль:
Код:
procedure TForm1.Edit1Change(Sender: TObject);
var
i:integer;
s:string;
begin
s:=edit1.text;
Lkey:=length(s);
for i:=1 to Lkey do
Key[i-1]:=ord(s[i]);
end;


Повернутися наверх
  
 
 Заголовок повідомлення: Re: Програми для шифрування текстових повідомлень, інтерфейс
СообщениеДодано: 09 гру 2014, 20:48 
Не в мережі

Повідомлень: 502
Власне, шифрування:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
s,rez:string;
begin

s:=memo1.text;
ntxt:=length(s);
for i:=1 to ntxt do
Ptxt[i]:=ord(s[i]);

CipherZ;

rez:='';
for i:=1 to ntxt do
rez:=rez+inttohex(Ctxt[i],2);

memo2.Text:=rez;

end;



та дешифрування:

Код:
procedure TForm1.Button2Click(Sender: TObject);
var
i,j:integer;
s0,s,rez:string;
begin

s:=memo1.text;
ntxt:=length(s);
ntxt:=(ntxt div 2);
j:=1;
for i:=1 to ntxt do
begin
  s0:=s[j]+s[j+1];
  Ptxt[i]:=hextoint(s0);
  j:=j+2;
end;


CipherZ;

rez:='';
for i:=1 to ntxt do
rez:=rez+char(Ctxt[i]);

memo2.Text:=rez;
end;


Повернутися наверх
  
 
 Заголовок повідомлення: Re: Програми для шифрування текстових повідомлень, інтерфейс
СообщениеДодано: 09 гру 2014, 20:48 
Не в мережі

Повідомлень: 502
У якості шифру візьмемо шифр Ксор.


Повернутися наверх
  
 
Показати повідомлення за:  Сортувати по:  
Розпочати нову тему Відповісти  [ 5 повідомлень ] 

Часовий пояс: UTC десь + 2 години



cron
Роwеrеd bу рhрВB® аnd Hostinger web hosting