|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Скремблер на Pascal |
|
Скремблер на Pascal
|
Ветеран Сообщения: 637 |
Профиль | Сайт | Отправить PM | Цитировать Привет! По заданию нужно организовать шифрование данных при помощи скремблера на Pascal.
http://www.bnti.ru/scripts/showart.a...=&tbl=&aid=521 |
|
------- Отправлено: 09:09, 09-12-2005 |
Ветеран Сообщения: 637
|
Профиль | Сайт | Отправить PM | Цитировать Кстати, еще надо прогу использующая алгоритм шифрования TEA.
В инете ничего так и не нашел толкового. |
------- Отправлено: 15:07, 12-12-2005 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 637
|
Профиль | Сайт | Отправить PM | Цитировать Нашел процедуру для реализации алгоритма TEA:
type TLong2=array[0.. 1] of longint; TLong2x2=array[0.. 1] of TLong2; const Delta=$9E3779B9; var key:TLong2x2; procedure EnCryptRouting(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; |
------- Отправлено: 14:14, 14-12-2005 | #3 |
Ветеран Сообщения: 637
|
Профиль | Сайт | Отправить PM | Цитировать Полная программа использующая криптоалгоримт 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. |
------- Отправлено: 07:28, 28-12-2005 | #4 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - Всё о TURBO PASCAL (обсуждение, помощь в написание программ, ошибки, Pascal ABC) | Loading | Программирование и базы данных | 41 | 20-05-2015 15:28 | |
Разное - Pascal | Mishqa | Программирование и базы данных | 1 | 16-12-2009 20:37 | |
Разное - Pascal | ManHack | Программирование и базы данных | 2 | 01-09-2009 22:50 | |
C/C++ - Pascal | c++ | Snake750 | Программирование и базы данных | 2 | 06-04-2009 21:59 | |
C/C++ vs Pascal | idLe | Программирование и базы данных | 21 | 18-04-2003 23:23 |
|