![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
использование CyptoAPI
pirate © (2006-11-17 08:11:00)Здраствуйте, уважаемые.
Пишем программу для электронного тестирования абитуриентов.
Требуется зашифровать базу данных с тестами и подписать ее.
В общем, не подскажете ли какой нибудь модуль для криптографии средствами CyptoAPI?
ORMADA (2006-11-20 15:14:00) [1]2 Alex Konshin
ну раз такая крутая скорость то тоже присоединяюсь к Eraser
выложи плз как доделаешь
Eraser (2006-11-20 15:08:00) [2]> [21] Alex Konshin © (20.11.06 15:05)
ну что ж если получится выложить, сообщите на этом сайте, если не трудно.. многие оценят по-достоинству.
Alex Konshin (2006-11-20 15:05:00) [3]Вообще-то она для комерческого проекта, но я подумаю, может и выложу.
Eraser (2006-11-20 14:43:00) [4]> [19] Alex Konshin © (20.11.06 10:21)
А когда работа над библиотекой будет звершена, будет ли она доступна для общего скачивания, или это библиотека для личных проектов?
Alex Konshin (2006-11-20 10:21:00) [5]> выполняется около секунды (Athlon64 3000+, 1 GB ОЗУ).
> может я что не так делаю? )
В моей реализации генерация ключа 2048bit занимает около полсекунды. Причем последующие вызовы будут еще несколько быстрее.
Я заявляю, что моя реализация существенно быстрее того, что в общеизвестном RSAeuro. Дело даже не в том, что у меня многое написано на ассемблере. У них есть (и немало) существенно неоптимальные места. У меня же помимо длинных арифметических операций есть набор операций длинного с 32битным, которые намного эффективнее (особенно деление) и есть очень много мест, где их можно(и нужно) задействовать. А еще умиляет, как они уможают на степени двойки в тесте Ферма.
Кстати, у меня еще есть резервы оптимизации. Например, я знаю как в несколько раз ускорить проверку на делимость на маленькие простые (у мемя, кстати, проверяются все16-ти битные простые, таблица которых генерится при первом запуске).
Правда, у меня еще собственно сам RSA не реализован, но это уже не так сложно, ведь сложное-то было в реализации и отладки длинной арифметики.
Я, кстати, для генерации тестов для отладки REXX использовал, который умеет работать с длинными числами.
SlymRO (2006-11-20 05:22:00) [6]LockBox оперирует байтами, а CryptoAPI полноценным хардваре integer - вот и вся разница спидап в разы :)
Rouse_ © (17.11.06 13:48) [8]
алгоритмы же одни и теже используются
Алгоритмов множество: мат оптимизированные построение простых чисел из простых малых, и тупое while not Simple do +2;
где not Simple тоже разными алгоритмами реализовать можно
ИМХО LockBox тормоз
Eraser (2006-11-18 01:12:00) [7]> [16] BiN © (18.11.06 00:20)
ну не знаю.. у меня хоть при перовой, хоть при второй генерации одинакого.. возможно система генерирует эти исла при запуске.
BiN (2006-11-18 00:20:00) [8]Насколько я знаю, основное время при генерации RSA-ключей уходит на формирование списка простых чисел. Так вот, может MS хранит их в файле после первой генерации, и потому при повторной генерации может быть разница в скорости.
Eraser (2006-11-17 23:50:00) [9]> [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 ОЗУ).
может я что не так делаю? )
Rouse_ (2006-11-17 23:43:00) [10]
> да какой там та же!
> попробуй сгенерировать 2048 битный RSA с пом. компонентов
> Turbo Power (о которых в [11]). Несколько минут эта операция
> будет производиться, на CryptoAPI - секунда-пара секунд.
>
Попробовал, только не Turbo Power а через свои наработки, лень лить сторонние юниты... 12-14 секунд. И там и там. Что я делаю не так? :)
Eraser (2006-11-17 17:35:00) [11]> [7] Сергей М. © (17.11.06 13:26)
> Какая такая "генерация .. ключей" ?
см. [8] :)
> [8] Rouse_ © (17.11.06 13:48)
> Скорость такая-же. Там что-то революционное придумать нельзя
> - алгоритмы же одни и теже используются :)
да какой там та же!
попробуй сгенерировать 2048 битный RSA с пом. компонентов Turbo Power (о которых в [11]). Несколько минут эта операция будет производиться, на CryptoAPI - секунда-пара секунд.
Anatoly Podgoretsky (2006-11-17 15:51:00) [12]> Сергей М. (17.11.2006 13:57:10) [10]
Так Алладин - это еще и 40 разбойников.
Я говорил про сессии в Интернет.
> а уж они как никто другие заботятся о безопасности)
Это точно)
Германн (2006-11-17 14:01:00) [13]А ещё есть библиотека от Turbo Power. TpLockBox. С исходниками и документацией. Зря что-ли ребята старались.
http://sourceforge.net/projects/tplockbox/
Сергей М. (2006-11-17 13:57:00) [14]
> Anatoly Podgoretsky © (17.11.06 13:53) [9]
> Для безопасности ключи генерируются на регулярной основе,
> при том для сессии
То-то я смотрю, что это вдруг аладдины в свои HL E-Y-E жестко прошивают AES-128 -ключ) ... а уж они как никто другие заботятся о безопасности)
Anatoly Podgoretsky (2006-11-17 13:53:00) [15]> Сергей М. (17.11.2006 13:26:07) [7]
Для безопасности ключи генерируются на регулярной основе, при том для сессии
Rouse_ (2006-11-17 13:48:00) [16]По всей видимости речь о RSA и иже с ним - открытый, закрытый ключ. Скорость такая-же. Там что-то революционное придумать нельзя - алгоритмы же одни и теже используются :)
Сергей М. (2006-11-17 13:26:00) [17]
> Eraser © (17.11.06 13:14) [6]
> генерации пар ключей
??
Какая такая "генерация .. ключей" ?
Eraser (2006-11-17 13:14:00) [18]> [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?
Rouse_ (2006-11-17 09:43:00) [19]Для тестирования абитуриентов ассиметричное шифрование?
Мдяя... Ксора с головой хватило бы :)
pirate (2006-11-17 08:35:00) [20]Большое спасибо.