Криптология и криптография

Автор: Пользователь скрыл имя, 15 Февраля 2012 в 16:12, реферат

Описание работы

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

Работа содержит 1 файл

Криптология.doc

— 284.00 Кб (Скачать)

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

   Шифр (от араб. صِفْر ‎‎, ifr «ноль», откуда фр. chiffre «цифра»; родственно слову цифра) — какая-либо система преобразования текста с секретом (ключом) для обеспечения секретности передаваемой информации. Шифры применяются для тайной переписки дипломатических представителей со своими правительствами, в вооруженных силах для передачи текста секретных документов по техническим средствам связи, банками для обеспечения безопасности транзакций, а также некоторыми интернет-сервисами по различным причинам.

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

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

   Не  стоит путать шифр с кодированием - фиксированным преобразованием информации из одного вида в другой. В последнем отсутствует понятие ключа и не выполняется принцип Керкгоффса. В наше время кодирование практически не используется для защиты информации от несанкционированного доступа, а лишь от ошибок при передаче данных (помехоустойчивое кодирование) и других целях, не связанных с защитой.

   Ключ — секретная информация, используемая криптографическим алгоритмом при шифровании/расшифровке сообщений, постановке и проверке цифровой подписи, вычислении кодов аутентичности (MAC). При использовании одного и того же алгоритма результат шифрования зависит от ключа. Для современных алгоритмов сильной криптографии утрата ключа приводит к практической невозможности расшифровать информацию.

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

   Количество информации в ключе, как правило, измеряется в битах.

   Для современных симметричных алгоритмов (AES, CAST5, IDEA, Blowfish, Twofish) основной характеристикой криптостойкости является длина ключа. Шифрование с ключами длиной 128 бит и выше считается сильным, так как для расшифровки информации без ключа требуются годы работы мощных суперкомпьютеров. Для асимметричных алгоритмов, основанных на проблемах теории чисел (проблема факторизацииRSA, проблема дискретного логарифмаElgamal) в силу их особенностей минимальная надёжная длина ключа в настоящее время — 1024 бит. Для асимметричных алгоритмов, основанных на использовании теории эллиптических кривых (ECDSA, ГОСТ Р 34.10-2001, ДСТУ 4145-2002), минимальной надёжной длиной ключа считается 163 бит, но рекомендуются длины от 191 бит и выше.

   Классификация ключей

   Криптографические ключи различаются согласно алгоритмам, в которых они используются.

  • Секретные (Симметричные) ключи — ключи, используемые в симметричных алгоритмах (шифрование, выработка кодов аутентичности). Главное свойство симметричных ключей: для выполнения как прямого, так и обратного криптографического преобразования (шифрование/расшифровывание, вычисление MAC/проверка MAC) необходимо использовать один и тот же ключ (либо же ключ для обратного преобразования легко вычисляется из ключа для прямого преобразования, и наоборот). С одной стороны, это обеспечивает более высокую конфиденциальность сообщений, с другой стороны, создаёт проблемы распространения ключей в системах с большим количеством пользователей.
  • Асимметричные ключи — ключи, используемые в асимметричных алгоритмах (шифрование, ЭЦП); вообще говоря, являются ключевой парой, поскольку состоят из двух ключей:
    • Закрытый ключ (en:Private key) — ключ, известный только своему владельцу. Только сохранение пользователем в тайне своего закрытого ключа гарантирует невозможность подделки злоумышленником документа и цифровой подписи от имени заверяющего.
    • Открытый ключ (en:Public key) — ключ, который может быть опубликован и используется для проверки подлинности подписанного документа, а также для предупреждения мошенничества со стороны заверяющего лица в виде отказа его от подписи документа. Открытый ключ подписи вычисляется, как значение некоторой функции от закрытого ключа, но знание открытого ключа не дает возможности определить закрытый ключ.

   Главное свойство ключевой пары: по секретному ключу легко вычисляется открытый ключ, но по известному открытому ключу практически невозможно вычислить секретный. В алгоритмах ЭЦП подпись обычно ставится на секретном ключе пользователя, а проверяется на открытом. Таким образом, любой может проверить, действительно ли данный пользователь поставил данную подпись. Тем самым асимметричные алгоритмы обеспечивают не только целостность информации, но и её аутентичность. При шифровании же наоборот, сообщения шифруются на открытом ключе, а расшифровываются на секретном. Таким образом, расшифровать сообщение может только адресат и больше никто (включая отправителя). Использование асимметричных алгоритмов снимает проблему распространения ключей пользователей в системе, но ставит новые проблемы: достоверность полученных ключей. Эти проблемы более-менее успешно решаются в рамках инфраструктуры открытых ключей (PKI).

  • Сеансовые (сессионные) ключи — ключи, вырабатываемые между двумя пользователями, обычно для защиты канала связи. Обычно сеансовым ключом является общий секрет — информация, которая вырабатывается на основе секретного ключа одной стороны и открытого ключа другой стороны. Существует несколько протоколов выработки сеансовых ключей и общих секретов, среди них, в частности, алгоритм Диффи — Хеллмана.
  • Подключи — ключевая информация, вырабатываемая в процессе работы криптографического алгоритма на основе ключа. Зачастую подключи вырабатываются на основе специальной процедуры развёртывания ключа.

Традиционные  симметричные криптосистемы

Симметричные  системы шифрования информации подразделяются на блочные и поточные системы.

В блочной  системе шифрования информации сообщение  разбивается на информационные блоки  фиксированной длины  бит и весь блок шифруется одновременно. Такие системы получили название блочных шифров; они представляют собой семейство обратимых преобразований блоков исходного текста. Фактически блочный шифр это система подстановки блоков. В настоящее время блочные шифры наиболее распространены на практике. Российский и американский стандарты шифрования относятся именно к этому классу.

К элементарным блочным шифрам относятся шифры  подстановки и перестановки. В  шифре подстановки каждый символ сообщения заменяется символом, определяемым функцией подстановки . Вид функции подстановки задается ключом . Каждый символ сообщения является информационным блоком фиксированной длины  бит. Символы сообщений принадлежат алфавиту  объемом : .

Шифр  моноалфавитной подстановки 

  Шифр  моноалфавитной подстановки - один из самых старых. Частным случаем  этого шифра для зашифрования секретных со-общений пользовался еще Гай Юлий Цезарь.

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

  Прежде  всего выбирается алфавит открытого текста, т.е. набор символов, которые будут использоваться при составле-нии сообщений, требующих зашифровки. Допустим, это будут прописные буквы руского алфавита (исключая буквы «Ё» и «Ъ») и пробел. Таким образом, наш алфавит открытого текста со-стоит из 32 символов. Затем выбирается алфавит шифротекста и устанавливается взаимно однозначное соответствие между символами алфавита открытого текста и символами алфавита шифротекста. Алфавит шифротекста может состоять из произ-вольных символов, в том числе и из символов алфавита откры-того текста.

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

Таблица 1.1 Алфавит откры-того текста А Б В Г Д Е Ж З И Й К Л ...
Алфавит шифро-текста Н К А Л З Т П И О Р Б Г ...

Зашифруем, например, слово «звезда». Если использовать алфавиты,  приведенные в табл.1.1,  то получится следующее:

Открытый  текст: З        В        Е        З        Д        А

Криптограмма: И       А       Т       И       З      Н

Метод моноалфавитной подстановки можно  представить как числовые преобразования символов открытого текста. Для этого  каждой букве алфавита открытого  текста ставится в соответствие некоторое  число, называемое числовым эквивалентом этой буквы. Например, для букв русского алфавита и пробела это выглядит,  как показано в табл.1.2.

Таблица 1.2

Алфавит открытого текста А Б В Г Д Е Ж З И Й К Л М Н О П
Числовые  эквиваленты 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Таблица 1.2   ( продолжение) 
 
Алфавит открытого текста Р С Т У Ф Х Ц Ч Ш Щ Ы Ь Э Ю Я _
Числовые  эквиваленты 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Информация о работе Криптология и криптография