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

Вниз

использование CyptoAPI   Найти похожие ветки 

 
pirate ©   (2006-11-17 08:11) [0]

Здраствуйте, уважаемые.
Пишем программу для электронного тестирования абитуриентов.
Требуется зашифровать базу данных с тестами и подписать ее.
В общем, не подскажете ли какой нибудь модуль для криптографии средствами CyptoAPI?


 
Сергей М. ©   (2006-11-17 08:16) [1]

Обязательно CryptoAPI ?
Самостоятельные компоненты, реализующие широкораспространенные криптоалгоритмы никак не подойдут ?

Например,
http://www.cityinthesky.co.uk/cryptography.html


 
pirate ©   (2006-11-17 08:19) [2]

Может и подойдут.
Значит, требуется:
1) Несимметричное шифрование\дешифрование, с открытым и закрытым ключем.
2) Создание и проверка электронных подписей.


 
Сергей М. ©   (2006-11-17 08:30) [3]


> pirate ©   (17.11.06 08:19) [2]


Почитай ссылку.
Уверен - найдешь там все что тебе нужно.


 
pirate ©   (2006-11-17 08:35) [4]

Большое спасибо.


 
Rouse_ ©   (2006-11-17 09:43) [5]

Для тестирования абитуриентов ассиметричное шифрование?
Мдяя... Ксора с головой хватило бы :)


 
Eraser ©   (2006-11-17 13:14) [6]

> [2] pirate ©   (17.11.06 08:19)


> 1) Несимметричное шифрование\дешифрование, с открытым и
> закрытым ключем.

http://kladovka.net.ru/index.cgi?pid=board&rid=347

> [1] Сергей М. ©   (17.11.06 08:16)

а вы пользовались на практике данным пакетом компонентов, какова скорость генерации пар ключей, по сравнению с CryptoAPI?


 
Сергей М. ©   (2006-11-17 13:26) [7]


> Eraser ©   (17.11.06 13:14) [6]


> генерации пар ключей


??

Какая такая "генерация .. ключей" ?


 
Rouse_ ©   (2006-11-17 13:48) [8]

По всей видимости речь о RSA и иже с ним - открытый, закрытый ключ. Скорость такая-же. Там что-то революционное придумать нельзя - алгоритмы же одни и теже используются :)


 
Anatoly Podgoretsky ©   (2006-11-17 13:53) [9]

> Сергей М.  (17.11.2006 13:26:07)  [7]

Для безопасности ключи генерируются на регулярной основе, при том для сессии


 
Сергей М. ©   (2006-11-17 13:57) [10]


> Anatoly Podgoretsky ©   (17.11.06 13:53) [9]
> Для безопасности ключи генерируются на регулярной основе,
>  при том для сессии


То-то я смотрю, что это вдруг аладдины в свои HL E-Y-E жестко прошивают AES-128 -ключ) ... а уж они как никто другие заботятся о безопасности)


 
Германн ©   (2006-11-17 14:01) [11]

А ещё есть библиотека от Turbo Power. TpLockBox. С исходниками и документацией. Зря что-ли ребята старались.
http://sourceforge.net/projects/tplockbox/


 
Anatoly Podgoretsky ©   (2006-11-17 15:51) [12]

> Сергей М.  (17.11.2006 13:57:10)  [10]

Так Алладин - это еще и 40 разбойников.
Я говорил про сессии в Интернет.

> а уж они как никто другие заботятся о безопасности)

Это точно)


 
Eraser ©   (2006-11-17 17:35) [13]

> [7] Сергей М. ©   (17.11.06 13:26)


> Какая такая "генерация .. ключей" ?

см. [8] :)

> [8] Rouse_ ©   (17.11.06 13:48)


> Скорость такая-же. Там что-то революционное придумать нельзя
> - алгоритмы же одни и теже используются :)

да какой там та же!
попробуй сгенерировать 2048 битный RSA с пом. компонентов Turbo Power (о которых в  [11]). Несколько минут эта операция будет производиться, на CryptoAPI - секунда-пара секунд.


 
Rouse_ ©   (2006-11-17 23:43) [14]


> да какой там та же!
> попробуй сгенерировать 2048 битный RSA с пом. компонентов
> Turbo Power (о которых в  [11]). Несколько минут эта операция
> будет производиться, на CryptoAPI - секунда-пара секунд.
>

Попробовал, только не Turbo Power а через свои наработки, лень лить сторонние юниты... 12-14 секунд. И там и там. Что я делаю не так? :)


 
Eraser ©   (2006-11-17 23:50) [15]

> [14] Rouse_ ©   (17.11.06 23:43)


> 12-14 секунд

хм.. странная цифра )
а какой процессор/ОЗУ ?

вот примерно такой код

           pchProvName := nil;
           dwProvType := PROV_RSA_AES;
           dwContextFlags := CRYPT_VERIFYCONTEXT;
           dwKeySize := 2048;

     bReturn := CryptAcquireContext(@hProvParty1, nil,
       pchProvName, dwProvType, dwContextFlags);
     bReturn := CryptGenKey(hProvParty1, AT_KEYEXCHANGE,
       dwKeySize shl 16,
       @hPublicKey1);

выполняется около секунды (Athlon64 3000+, 1 GB ОЗУ).

может я что не так делаю? )


 
BiN ©   (2006-11-18 00:20) [16]

Насколько я знаю, основное время при генерации RSA-ключей уходит на формирование списка простых чисел. Так вот, может MS хранит их в файле после первой генерации, и потому при повторной генерации может быть разница в скорости.


 
Eraser ©   (2006-11-18 01:12) [17]

> [16] BiN ©   (18.11.06 00:20)

ну не знаю.. у меня хоть при перовой, хоть при второй генерации одинакого.. возможно система генерирует эти исла при запуске.


 
SlymRO   (2006-11-20 05:22) [18]

LockBox оперирует байтами, а CryptoAPI  полноценным хардваре integer - вот и вся разница спидап в разы :)
Rouse_ ©   (17.11.06 13:48) [8]
алгоритмы же одни и теже используются

Алгоритмов множество: мат оптимизированные построение простых чисел из простых малых, и тупое while not Simple do +2;
где not Simple тоже разными алгоритмами реализовать можно

ИМХО LockBox тормоз


 
Alex Konshin ©   (2006-11-20 10:21) [19]

> выполняется около секунды (Athlon64 3000+, 1 GB ОЗУ).
> может я что не так делаю? )

В моей реализации генерация ключа 2048bit занимает около полсекунды. Причем последующие вызовы будут еще несколько быстрее.
Я заявляю, что моя реализация существенно быстрее того, что в общеизвестном RSAeuro. Дело даже не в том, что у меня многое написано на ассемблере. У них есть (и немало) существенно неоптимальные места. У меня же помимо длинных арифметических операций есть набор операций длинного с 32битным, которые намного эффективнее (особенно деление) и есть очень много мест, где их можно(и нужно) задействовать. А еще умиляет, как они уможают на степени двойки в тесте Ферма.
Кстати, у меня еще есть резервы оптимизации. Например, я знаю как в несколько раз ускорить проверку на делимость на маленькие простые (у мемя, кстати, проверяются все 16-ти битные простые, таблица которых генерится при первом запуске).

Правда, у меня еще собственно сам RSA не реализован, но это уже не так сложно, ведь сложное-то было в реализации и отладки длинной арифметики.
Я, кстати, для генерации тестов для отладки REXX использовал, который умеет работать с длинными числами.


 
Eraser ©   (2006-11-20 14:43) [20]

> [19] Alex Konshin ©   (20.11.06 10:21)

А когда работа над библиотекой будет звершена, будет ли она доступна для общего скачивания, или это библиотека для личных проектов?


 
Alex Konshin ©   (2006-11-20 15:05) [21]

Вообще-то она для комерческого проекта, но я подумаю, может и выложу.


 
Eraser ©   (2006-11-20 15:08) [22]

> [21] Alex Konshin ©   (20.11.06 15:05)

ну что ж если получится выложить, сообщите на этом сайте, если не трудно.. многие оценят по-достоинству.


 
ORMADA ©   (2006-11-20 15:14) [23]

2 Alex Konshin
ну раз такая крутая скорость то тоже присоединяюсь к Eraser
выложи плз как доделаешь



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

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

Наверх




Память: 0.53 MB
Время: 0.029 c
6-1161536281
-=Germe$=-
2006-10-22 20:58
2007.04.08
....


2-1173987499
Востоковед
2007-03-15 22:38
2007.04.08
Таблица <-> Delphi - Новичок запутался...


1-1171344040
алексей с.
2007-02-13 08:20
2007.04.08
вывод содржимого Tcanvc на печать.


2-1174254147
Norfolk
2007-03-19 00:42
2007.04.08
Кнопка в TStringGrid или TDrawGrid


15-1174117021
Riply
2007-03-17 10:37
2007.04.08
Скорость и местоположение данных.