Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.02;
Скачать: CL | DM;

Вниз

Шифрование   Найти похожие ветки 

 
nokk9   (2003-05-13 00:52) [0]

Как в дельфи использовать алгоритмы шифровани. Есть ли какие-либо компоненты для этого.


 
Модж   (2003-05-13 01:23) [1]

А причем тут Делфи и проч?
Ну, вот например, даю алгоритм (де-)шифрования TEA (128-битный).
Но учти, его использование в конечном продукте незаконно :)) из-за длины ключа

procedure EnCrypt(var y,z:longword; k0,k1,k2,k3:longword);
var a,sum:longword;
begin
sum:=0;
for a:=0 to 31 do
begin
inc(sum,Delta);
inc(y,((z shl 4)+k0) xor (z+sum) xor ((z shr 5)+k1));
inc(z,((y shl 4)+k2) xor (y+sum) xor ((y shr 5)+k3));
end;
end;

procedure DeCrypt(var y,z:longword; k0,k1,k2,k3:longword);
var a,sum:longword;
begin
sum:=Delta shl 5;
for a:=0 to 31 do
begin
dec(z,((y shl 4)+k2) xor (y+sum) xor ((y shr 5)+k3));
dec(y,((z shl 4)+k0) xor (z+sum) xor ((z shr 5)+k1));
dec(sum,Delta);
end;
end;

шифруемые (расшифровываемые) данные передаются парой по 64-бит в переменных y,z, ключ, соответственно, бъется в k0,k1,k2,k3 (128 бит).
Радуйся. Алгоритм общедоступен, но расшифровка только перебором и оччч-ень долгая из-за длины ключа.


 
nokk9   (2003-05-13 03:09) [2]

Модж, спасибо.
На счёт незаконности... Что требуется разрешение ФАПСИ?
И ёще на счёт применения:
Если я правильно понял:
EnCrypt(edit1.text)- зашифровать.
DeCrypt(edit1.text) -рассшифровать?




 
NightAngel   (2003-05-13 03:20) [3]

В Windows, начиная с Windows 95, обеспечивается реализация шифрования, генерации ключей, создания и проверки цифровых подписей и других криптографических задач. Помимо базовых операций, в настоящее время в CryptoAPI 2.0 поддерживается работа с сертификатами, шифрованными сообщениями в формате PKCS #7 и пр. Функции CryptoAPI можно вызвать из программы, написанной на любимом языке. Код функций криптографической подсистемы содержится в нескольких динамически загружаемых библиотеках Windows (advapi32.dll, crypt32.dll). Для обращения к такой функции из прикладной программы следует объявить ее как внешнюю. Появилась и Delphi-версия (wcrypt2.pas). Ее можно найти нa ftp://delphi-jedi.org/api/CryptoAPI2.zip. Подключив модуль к проекту, вы сможете использовать не только функции CryptoAPI, но и мнемонические константы режимов, идентификаторы алгоритмов и прочих параметров, необходимых на практике.



 
nokk9   (2003-05-13 03:34) [4]

Спасибо за ответы.
И всётаки поправте если первый ответ я не правильно понял:EnCrypt(edit1.text)- зашифровать.
DeCrypt(edit1.text) -рассшифровать?





 
mrcat ©   (2003-05-13 09:16) [5]

>Есть ли какие-либо компоненты для этого.

Для начала определитесь с логикой шифрования, что нужно --- симметричное/асимметричное шифрование, аппаратная/программная реализация, длина ключа.


 
nokk9   (2003-05-14 01:30) [6]

Нужно просто зашифровать, расшифровать текст например находящийся в Edit1
Длинна ключа Spinedit1.value.
На счёт procedure EnCrypt(var y,z:longword; k0,k1,k2,k3:longword);
var a,sum:longword;
begin
sum:=0;
for a:=0 to 31 do
begin
inc(sum,Delta);
inc(y,((z shl 4)+k0) xor (z+sum) xor ((z shr 5)+k1));
inc(z,((y shl 4)+k2) xor (y+sum) xor ((y shr 5)+k3));
end;
end;
Я плохо понял, как применять.
При компиляции ругается на Delta
Подскажите пожалуста как эту процедуру применить на практике.


 
nokk9   (2003-05-14 04:23) [7]

NightAngel! Подскажите, пожалуйста, как пользоваться CryptoAPI2.zip. Еслиможно простой приме.
С уважением.
Эд.



Страницы: 1 вся ветка

Текущий архив: 2003.06.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.021 c
7-3182
Logru$
2003-04-01 22:20
2003.06.02
Новый тип файла


7-3185
Pavel111
2003-04-02 11:23
2003.06.02
Timer


6-3032
A.R.T.K.O.
2003-04-01 08:28
2003.06.02
Нужно сканировать доступность расшаренного ресурса в ЛВС. Как?


1-2909
bloodman
2003-05-18 20:59
2003.06.02
Материал про


14-3177
Ronin
2003-05-14 22:34
2003.06.02
Как убить процесс?