русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Асимметричные криптосистемы


Дата добавления: 2013-12-23; просмотров: 3532; Нарушение авторских прав


Симметричные криптосистемы

Симметричные и асимметричные криптосистемы

Симметричное шифрование, которое часто называют шифрованием с помощью секретного ключа, в основном используется для обеспечения конфиденциальности данных.

Два человека, которые хотят установить между собой конфиденциальную связь, выбирают единый математический алгоритм, который будет использоваться для шифрования и дешифрования данных. Они исходят из предположения, что алгоритм известен и другим людям, поэтому договариваются об общем ключе – секретной части алгоритма.

 

А Б В Г Д Е Э Ю Я
Г Д Е Ж З И А Б В

Рис. 13.1. Пример шифра Цезаря

 

Весьма упрощенным примером алгоритма секретного ключа является так называемый шифр Цезаря. Этот метод шифрования заключается в том, что каждая буква в тексте заменяется на другую букву, находящуюся на определенном расстоянии от нее в алфавите. При шифровании или расшифровке этот алгоритм как бы сдвигает буквы вверх и вниз по алфавиту. Величина сдвига и является ключом. Для примера – это число +3.

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

Более эффективным является отечественный стандарт шифрования данных ГОСТ 28147-89. Он рекомендован к использованию для защиты любых данных, представленных в виде двоичного кода.

С методом симметричного шифрования (секретных ключей) связаны следующие проблемы:

· Необходимо часто менять секретные ключи, поскольку всегда существует риск их случайного раскрытия.



· Трудно обеспечить безопасное генерирование и распространение секретных ключей.

· Для безопасного распространения секретных ключей обычно нужно использовать методы асимметричного шифрования.

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

Для решения этой проблемы на основе результатов, полученных классической и современной алгеброй, были предложены асимметричные криптосистемы (системы с открытым ключом).

Суть их состоит в том, что каждым участником обмена генерируются два ключа, связанные между собой по определенному правилу. Один ключ объявляется открытым (общим), а другой закрытым (частным, секретным). Открытый ключ публикуется и доступен любому, кто желает послать сообщение адресату. Секретный ключ сохраняется в тайне.

Исходный текст шифруется открытым ключом адресата и передается ему. Зашифрованный текст в принципе не может быть расшифрован тем же открытым ключом. Дешифрование сообщение возможно только с использованием закрытого ключа, который известен только самому адресату.

Таким образом, асимметричное шифрование часто называют шифрованием с помощью общего ключа, при котором используются разные, но взаимно дополняющие друг друга ключи и алгоритмы шифрования и расшифровки.

Чтобы гарантировать надежную защиту информации, к асимметричным системам с открытым ключом предъявляются два важных и очевидных требования:

· Преобразование исходного текста должно быть необратимым и исключать его восстановление на основе открытого ключа.

· Определение закрытого ключа на основе открытого также должно быть невозможным на современном технологическом уровне. При этом желательна точная нижняя оценка сложности (количества операций) раскрытия шифра.

Алгоритмы криптосистемы с открытым ключом можно использовать в трех назначениях.

1. Как самостоятельные средства защиты передаваемых и хранимых данных, в целях обеспечения конфиденциальности данных.

2. Как средства для распределения ключей, обеспечивающее получение общих ключей для совместного использования. Алгоритмы с открытым ключом более трудоемки, чем традиционные криптосистемы.

3. Средства аутентификации пользователей.

Важным аспектом асимметричного шифрования является то, что частный ключ должен храниться в тайне. Если частный ключ будет раскрыт, то человек, знающий этот ключ, сможет выступать от вашего имени, получать ваши сообщения и отправлять сообщения так, будто это делаете вы.

Механизмы генерирования пар общих/частных ключей являются достаточно сложными, но в результате получаются пары очень больших случайных чисел, одно из которых становится общим ключом, а другое – частным. Генерирование таких чисел требует больших процессорных мощностей, поскольку эти числа, а также их произведения должны отвечать строгим математическим критериям. Однако этот процесс генерирования абсолютно необходим для обеспечения уникальности каждой пары общих/частных ключей. Алгоритмы шифрования с помощью общих ключей редко используются для поддержки конфиденциальности данных из-за ограничений производительности. Вместо этого их часто используют в приложениях, где аутентификация проводится с помощью цифровой подписи и управления ключами.

Среди наиболее известных алгоритмов общих ключей можно назвать RSA, который стал мировым стандартом де-факто для открытых систем.



<== предыдущая лекция | следующая лекция ==>
Вопросы лекции | Понятие цифровой подписи и цифрового сертификата


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.