Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
85) Под ключом понимается секретная информация, определяющая, какое преобразование из множества возможных шифрующих преобразований выполняется в данном случае над открытым текстом.
Современный криптографический ключ это последовательность чисел определенной длины, созданная по определенным правилам на основе последовательности случайных чисел. Следует отметить, что для каждого ключа последовательность случайных чисел создается заново, ни одна последовательность не используется более одного раза. Для генерации последовательностей случайных чисел используются специальные программные объекты или устройства, называемые датчиками случайных чисел.
При оценке эффективности шифра обычно руководствуются правилом голландца Огюста Керкхоффа (1835-2903), согласно которому стойкость шифра определяется только секретностью ключа, т.е. криптоаналитику известны все детали алгоритма шифрования и дешифрования, но не известно, какой ключ использован для шифрования данного текста.
Важно отметить, что современные алгоритмы шифрования представляют собой сложную математическую задачу, для решения которой без знания дешифрующего ключа требуется выполнить гигантский объем вычислений и получить ответ, возможно, через несколько лет.
Криптостойкостью называется характеристика шифра, определяющая его стойкость к дешифрованию без знания ключа (т.е. криптоанализу). Имеется несколько показателей криптостойкости, укажем лишь основные:
В общем случае методы криптоанализа используют для решения следующих задач:
86)) Для выработки и проверки электронной подписи, а также шифрования и дешифрования различных документов используются определенные последовательности действий, называемые криптографическими алгоритмами. Следует отметить, что на криптографические алгоритмы существуют стандарты, то есть официально оформленные совокупности требований, которым эти алгоритмы должны отвечать. Эти стандарты различны в разных странах и изменяются со временем.
Каждый криптографический алгоритм предъявляет собственные требования к ключам, поэтому любой криптографический ключ создается для определенного алгоритма и используется только с этим алгоритмом.
По характеру использования ключа алгоритмы шифрования делятся на два типа: симметричные и асимметричные.
При симметричном шифровании для шифрования и дешифрования данных применяют один и тот же секретный ключ. При этом сам ключ должен быть передан безопасным способом участникам взаимодействия до начала передачи зашифрованных данных.
В симметричном шифровании применяются два типа шифров: блочные и поточные.
В первом случае исходное сообщение делится на блоки постоянной длины, каждый из которых преобразуется по определенным правилам в блок зашифрованного текста. В качестве примера блочного шифра можно привести алгоритм DES (Digital Encryption Standard), являющийся национальным стандартом шифрования США. Алгоритм DES оперирует блоками длиной 64 бита и для шифрования использует 56-битовый ключ. В нашей стране для блочного шифрования рекомендован симметричный алгоритм, предложенный в ГОСТ 28.147-89 «Системы обработки информации. Защита криптографическая».
Заметим, что для симметричных алгоритмов, используемых в настоящее время, как правило, используется ключ, имеющий не менее 128 двоичных разрядов, найти который перебором кодов практически невозможно (в этом случае, чтобы угадать ключ методом проб и ошибок нужно перебрать возможных значений ключей).
Поточные шифры оперируют с отдельными битами и байтами исходного сообщения и ключа. Следует заметить, что поточные шифры имеют более высокую криптостойкость, но должны использовать длинные ключи, обычно равные длине передаваемого сообщения. В качестве примеров таких алгоритмов можно назвать алгоритмы RC корпорации RSA Data Security (США) и алгоритмы ВЕСТА фирмы «ЛАН Крипто» (Россия).
Асимметричное шифрование основано на том, что для шифрования и дешифрования используются разные ключи. На самом деле это как бы две «половинки» одного целого ключа, связанные друг с другом. Ключи устроены так, что сообщение, зашифрованное одной половинкой, можно расшифровать только другой половинкой (не той, которой оно было закодировано). Один ключ свободно распространяется и является открытым (public), второй ключ известен только его владельцу и является закрытым (private). Такой алгоритм позволяет передать зашифрованную информацию по компьютерным сетям. Для этого отправитель должен сначала получить от адреса его открытый ключ, а затем переслать зашифрованную открытым ключом информацию. Адресат расшифровывает ее своим закрытым ключом.
В отличие от алгоритмов симметричного шифрования, которых много, существует лишь несколько алгоритмов шифрования с открытым ключом. Мы отметим лишь алгоритм RSA. Описание этого алгоритма было опубликовано в 1977 году Рональдом Райвестом (Ronald Linn Rivest), Ади Шамиром (Adi Shamir) и Леонардом Адлеманом (Leonard Adleman) из Массачусетского Технологического Института. Система была названа по первым буквам их фамилий. Ключи для надежной защиты информации при использовании алгоритма RSA имеют от 768 до 2048 двоичных разрядов.
Поскольку все асимметричные криптосистемы являются объектом атак путем прямого перебора ключей, поэтому в них должны использоваться гораздо более длинные ключи, чем те, которые используются в симметричных криптосистемах, для обеспечения эквивалентного уровня защиты. Например, по расчетам криптографов взломать защиту с 2048-разрядным открытым ключом так же трудно, как найти 128-разрядный симметричный ключ методом проб и ошибок.
Рассмотрим еще одну классификацию шифров.
Все современные методы шифрования можно разделить на пять групп:
Заметим, что каждый из этих способов может иметь несколько разновидностей.
Кратко рассмотрим основные перечисленные методы шифрования.
Шифрование подстановкой (заменой). В этом наиболее простом методе символы шифруемого текста заменяются другими символами, взятыми из одного или нескольких алфавитов.
Шифрование методом перестановки. Этот метод заключается в том, что все символы открытого текста остаются без изменения, но переставляются по определенным правилам внутри шифруемого блока символов.
Шифрование с помощью аналитических преобразований. Этот метод шифрования предполагает использование для шифрования некоторых аналитических преобразований. Для этого можно использовать методы алгебры матриц, например умножение матрицы на вектор по правилу: . Если матрицу A использовать в качестве ключа, а вместо элементов вектора B подставить цифры, соответствующие, например порядковым номерам символов открытого текста в алфавите, то элементы вектора C будут представлять собой цифровые эквиваленты символов зашифрованного текста. Дешифрование осуществляется с использованием того же правила умножения матрицы на вектор, только в качестве ключа берется матрица, обратная той, с помощью которой осуществляется шифрование, а в качестве вектора соответствующие цифровые эквиваленты символов закрытого текста. Тогда значениями вектора-результата будут цифровые эквиваленты символов открытого текста.
Шифрование методом гаммирования. Суть этого метода заключается в том, что символы шифруемого текста вначале заменяются числами, а затем последовательно складываются с числами некоторой секретной псевдослучайной числовой последовательности, которая называется гаммой. Состав гаммы меняется в зависимости от использованного ключа. Обычно для шифрования используется логическая операция «Исключающее ИЛИ». При дешифровании та же гамма накладывается на зашифрованные данные. Стойкость этого метода главным образом определяется свойствами гаммы.
Комбинированные методы шифрования. Эти методы предполагают использование для шифрования сообщения сразу нескольких методов.
Вообще говоря, комбинировать можно любые методы, однако на практике наибольшее распространение получили следующие комбинации методов:
Примером комбинированного шифра является стандарт криптографического закрытия данных DES.
87))Это из домашнего задания № 4
88) Необходимо заметить, что защита публичным ключом не является абсолютно надежной. Поскольку каждый желающий может получить и использовать чей-то публичный ключ, то он может сколь угодно подробно изучить алгоритм работы механизма шифрования и пытаться установить метод расшифровки сообщения, то есть реконструировать закрытый ключ.
Это настолько справедливо, что алгоритмы кодирования публичным ключом обычно не скрывают. Обычно к ним есть доступ, а часто они просто широко публикуются. Однако знание алгоритма еще не означает возможности провести реконструкцию ключа, в разумно приемлемые сроки.
Защиту информации принято считать достаточной, если затраты на ее преодоление превышают ожидаемую ценность самой информации. В этом состоитпринцип достаточности защиты, которым руководствуются при использовании несимметричных средств шифрования данных. Он предполагает, что защита не абсолютна и приемы ее снятия известны, но она все же достаточна для того, чтобы сделать это мероприятие нецелесообразным.
Разумеется, не всегда реконструкцию закрытого ключа производят методами простого перебора комбинаций. Для этого существуют специальные методы, основанные на исследовании особенностей взаимодействия открытого ключа с определенными структурами данных
89) Электронная цифровая подпись это последовательность символов, полученная в результате криптографического преобразования исходной информации с использованием закрытого ключа и позволяющая подтверждать целостность и неизменность этой информации, а также ее авторство путем применения открытого ключа.
Рассмотрим принцип создания цифровой электронной подписи. Если вам необходимо создать себе электронную подпись, то следует с помощью специальной программы (полученной, например, от банка) создать два ключа: закрытый и публичный. Публичный ключ затем передается банку. Если теперь вам надо отправить поручение банку на операцию со своим расчетным счетом, то оно кодируется публичным ключом банка, а ваша подпись под ним кодируется собственным закрытым ключом. Банк поступает наоборот. Он читает поручение с помощью своего закрытого ключа, а подпись с помощью публичного ключа клиента. Если подпись читаема, то банк может быть уверен, что поручение ему отправили именно вы, и никто другой.
90) Основной недостаток систем шифрования с открытым ключом низкая скорость. Самая «быстрая» реализация алгоритма RSA намного медленнее любого стандартного алгоритма симметричного шифрования. Поэтому для шифрования длинных сообщений, а также в системах реального времени предпочитают использовать симметричное шифрование. На практике же используются оба типа алгоритмов, скомбинированные так, чтобы нейтрализовать их недостатки. Такая схема называется цифровым конвертом. Ее основная идея состоит в следующем:
1. Сначала генерируется ключ, который будет использован для симметричного шифрования. Такой ключ называется ключом сессии, так как он создается для каждой сессии пересылки сообщений заново и не может быть использован повторно.
2. Исходное сообщение шифруется с использованием ключа сессии.
3. Ключ сессии шифруется с помощью публичного ключа получателя, полученное сообщение и называется цифровым конвертом.
4. Зашифрованное сообщение и цифровой конверт отправляются по нужному адресу.
Получатель сначала дешифрирует цифровой конверт с помощью своего секретного ключа. Затем с помощью ключа сессии он дешифрирует само сообщение.
91) С помощью различных криптографических алгоритмов можно пересылать секретную информацию по открытым каналам связи, но как можно быть уверенным, что сообщение не было модифицировано в процессе передачи? На этот вопрос помогут ответить так называемые цифровые дайджесты.
Алгоритмы-дайджесты похожи (в некоторой степени) на алгоритмы шифрования тем, что используют на входе «читаемое» сообщение, а на выходе дают некоторый «нечитаемый» набор байтов: короткие (фиксированной длины) дайджест-сообщения (также называемые хешами) обычно намного короче исходного сообщения. Дайджесты выступают в роли своеобразных «контрольных сумм» сообщения, поскольку если в исходном сообщении изменить хотя бы один бит, то дайджест измененного сообщения будет отличаться от исходного дайджеста.
Например, в стандарте цифровой подписи DSS (Digital Signature Standard) используется следующий механизм:
1. Получают дайджест исходного сообщения.
2. Зашифровывают дайджест с помощью секретного ключа («подписывают» дайджест).
3. Посылают «подписанный» дайджест и исходное сообщение получателю.
Таким образом, достигаются две цели.
Во-первых, получатель может проверить, что полученное сообщение не было модифицировано в процессе передачи. Для этого нужно дешифровать «подписанный» дайджест с помощью публичного ключа отправителя, получить дайджест полученного сообщения и сравнить эти два дайджеста. Совпадение означает, что исходное сообщение не было изменено.
Во-вторых, подтверждается подлинность отправителя информации.
92) Сертификация даты. Системой асимметричного шифрования обеспечивается делопроизводство в Интернете. Однако здесь возникает еще ряд проблем, например проблема регистрации даты отправки сообщения. Сертификация даты выполняется при участии третьей, независимой стороны. Например, это может быть сервер организации, авторитет которой в данном вопросе признают оба партнера. В этом случае документ, зашифрованный открытым ключом одного из партнеров и снабженный своей электронной подписью, отправляется сначала на сервер сертифицирующей организации. Там он получает «приписку» с указанием точной даты и времени, зашифрованную закрытым ключом этой организации. Второй партнер декодирует содержание документа, электронную подпись отправителя и отметку о дате с помощью своих «половинок» ключей.