Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #72, НОЯБРЬ 2006 г.

военная тайна

ДРОЗДОВ АНДРЕЙ AKA SULVERUS

Спецвыпуск: Хакер, номер #072, стр. 072-034-2


Следующим идет очень замысловатый и криптостойкий алгоритм Rijndael, также называемый AES, он поддерживает 3 вида ключей(128, 192 и 256 бит). Кстати, с точки зрения Майкрософт - один из самых лучших алгоритмов, реализованных в .NET. Завершает наше праздничное построение RC2, довольно известный в определенных кругах алгоритм симметричного шифрования, длина ключа которого может достигать 2048 бит. Почему-то компания Майкрософт не отдала предпочтение последнему алгоритму, - это объясняется тем, что в самой последней версии .NET не реализован криптопровайдер для алгоритма RC4. Понятие симметричных алгоритмов представляет собой систему шифрования данных, в которой информация зашифровывается и расшифровывается одним ключом. Подобные системы являются довольно криптостойкими, но используются в основном среди обычных пользователей для обмена информацией. В серьезных организациях, как правило, используются ассиметричные алгоритмы, поскольку они меньше поддаются взлому и перебору. В асимметричных системах все гораздо более серьезно, потому что при шифровке и расшифровке информации используется несколько ключей. В таком случае будет существовать открытый и закрытый ключи. Первым будет шифроваться сообщение, а вторым расшифровываться. В ассиметричных алгоритмах вся сложность заключается в передаче ключей. Смысл такого нагромождения в том, что любой может получить зашифрованную информацию, зашифрованную открытым, т.е. известным ключом, а расшифровать сможет только обладатель закрытого ключа. В .NET реализованы криптопровайдеры для алгоритмов RSA и DSS. RSA - довольно известный в IT-кругах алгоритм с открытым ключом, считается очень безопасным, а длина ключей может меняться в зависимости от возможностей и задач систем. DDS - тоже алгоритм асимметричного шифрования, но вместо открытого ключа он использует цифровую подпись (об этом мы поговорим далее), длина ключа может быть любой.

[поставь себе цель.]

Перейдем к программированию. На примере данной статьи я продемонстрирую работу с криптопровайдерми, работающими с одним из самых безопасных алгоритмов шифрования - RSA, используемом в банковских и платежно-карточных системах, например, в Web Money. Также мы рассмотрим основные принципы работы с сертификатами данных X.509. И под конец разберемся с хэшированием и цифровыми подписями.

Ну что же, пора запускать студию, создавать новый проект и сразу же включать в список пространств имен класс System.Security.Cryptography. О симметричных алгоритмах я уже рассказывал в одной из статьей (http://offbit.1gb.ru/article/read.php?id=24), но все равно немного скажу о работе с алгоритмом DES, а точнее - с его современным аналогом Triple-DES. Для наших исследований мы будем использовать подопытного кролика в роли строки: «Xakep - Super Hypper Rulez!».

Назад на стр. 072-034-1  Содержание  Вперед на стр. 072-034-3