Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Алгоритм шифрования TEA (http://forum.oszone.net/showthread.php?t=92805)

fossil 25-10-2007 06:46 666785

Алгоритм шифрования TEA
 
Привет гуру.
Есть программка реализующая шифрование на TEA. Дело в том что, препод там нашел какую-то логическую ошибку.
При всех моих напряжениях я ничего не нашел. Если кто-то сталкивался с такой ситуацией, плз хелп.

Код:

Program tea;
Uses crt;
type TLong2=array[0..1] of longint;
    TLong2x2=array[0..1] of TLong2;
const Delta=$9E3779B9;
var key:TLong2x2;
    text:string;

procedure EnCrypt(var data);
var y,z,sum:longint;
    a:byte;
begin
y:=TLong2(data)[0];
z:=TLong2(data)[1];
sum:=0;
      for a:=0 to 31 do
      begin
      inc(sum,Delta);
      inc(y,((z shl 4)+key[0,0]) xor (z+sum) xor ((z shr 5)+key[0,1]));
      inc(z,((y shl 4)+key[1,0]) xor (y+sum) xor ((y shr 5)+key[1,1]));
      end;
TLong2(data)[0]:=y;
TLong2(data)[1]:=z;
end;

procedure DeCrypt(var data);
var y,z,sum:longint;
    a:byte;
begin
y:=TLong2(data)[0];
z:=TLong2(data)[1];
sum:=Delta shl 5;
          for a:=0 to 31 do
          begin
          dec(z,((y shl 4)+key[1,1]) xor (y+sum) xor ((y shr 5)+key[1,0]));
          dec(y,((z shl 4)+key[0,1]) xor (z+sum) xor ((z shr 5)+key[0,0]));
          dec(sum,Delta);
          end;
TLong2(data)[0]:=y;
TLong2(data)[1]:=z;
end;

Begin
clrscr;
write('Введите текст: ');
read(text);
EnCrypt(text);
writeln('Зашифрованный текст: ',text);
DeCrypt(text);
write('Расшифрованный текст: ',text);
end.


Coutty 25-10-2007 07:35 666799

Думаю, что приложить и сам алгоритм было бы не лишним ;))

fossil 25-10-2007 11:38 666891

Да в интернете полно статей в принципе.
Если кто не знает и ему лень искать http://www.citforum.ru/internet/infs...s2000_19.shtml


Время: 09:39.

Время: 09:39.
© OSzone.net 2001-