Форум: "WinAPI";
Текущий архив: 2007.04.08;
Скачать: [xml.tar.bz2];
Внизиспользование 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 вся ветка
Форум: "WinAPI";
Текущий архив: 2007.04.08;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.039 c