Автор: Пользователь скрыл имя, 15 Февраля 2012 в 16:12, реферат
Криптоло́гия — наука, занимающаяся методами шифрования и дешифрования. Криптология состоит из двух частей — криптографии и криптоанализа. Криптография занимается разработкой методов шифрования данных, в то время как криптоанализ занимается оценкой сильных и слабых сторон методов шифрования, а также разработкой методов, позволяющих взламывать криптосистемы.
Бандитский криптоанализ считается очень мощным способом взлома системы, а зачастую и наилучшим путём вскрытия шифров.
Шифр (от араб. صِفْر , ṣifr «ноль», откуда фр. chiffre «цифра»; родственно слову цифра) — какая-либо система преобразования текста с секретом (ключом) для обеспечения секретности передаваемой информации. Шифры применяются для тайной переписки дипломатических представителей со своими правительствами, в вооруженных силах для передачи текста секретных документов по техническим средствам связи, банками для обеспечения безопасности транзакций, а также некоторыми интернет-сервисами по различным причинам.
Шифр может представлять собой совокупность условных знаков (условная азбука из цифр или букв) либо алгоритм преобразования обычных цифр и букв. Процесс засекречивания сообщения с помощью шифра называется шифрованием. Наука о создании и использовании шифров называется криптографией. Криптоанализ — наука о методах получения исходного значения зашифрованной информации.
Важным параметром любого шифра является ключ — параметр криптографического алгоритма, обеспечивающий выбор одного преобразования из совокупности преобразований, возможных для этого алгоритма. В современной криптографии предполагается, что вся секретность криптографического алгоритма сосредоточена в ключе, но не деталях самого алгоритма (принцип Керкгоффса).
Не стоит путать шифр с кодированием - фиксированным преобразованием информации из одного вида в другой. В последнем отсутствует понятие ключа и не выполняется принцип Керкгоффса. В наше время кодирование практически не используется для защиты информации от несанкционированного доступа, а лишь от ошибок при передаче данных (помехоустойчивое кодирование) и других целях, не связанных с защитой.
Ключ — секретная информация, используемая криптографическим алгоритмом при шифровании/расшифровке сообщений, постановке и проверке цифровой подписи, вычислении кодов аутентичности (MAC). При использовании одного и того же алгоритма результат шифрования зависит от ключа. Для современных алгоритмов сильной криптографии утрата ключа приводит к практической невозможности расшифровать информацию.
Согласно принципу Керхгоффса, надёжность криптографической системы должна определяться сокрытием секретных ключей, но не сокрытием используемых алгоритмов или их особенностей.
Количество информации в ключе, как правило, измеряется в битах.
Для современных симметричных алгоритмов (AES, CAST5, IDEA, Blowfish, Twofish) основной характеристикой криптостойкости является длина ключа. Шифрование с ключами длиной 128 бит и выше считается сильным, так как для расшифровки информации без ключа требуются годы работы мощных суперкомпьютеров. Для асимметричных алгоритмов, основанных на проблемах теории чисел (проблема факторизации — RSA, проблема дискретного логарифма — Elgamal) в силу их особенностей минимальная надёжная длина ключа в настоящее время — 1024 бит. Для асимметричных алгоритмов, основанных на использовании теории эллиптических кривых (ECDSA, ГОСТ Р 34.10-2001, ДСТУ 4145-2002), минимальной надёжной длиной ключа считается 163 бит, но рекомендуются длины от 191 бит и выше.
Криптографические ключи различаются согласно алгоритмам, в которых они используются.
Главное свойство ключевой пары: по секретному ключу легко вычисляется открытый ключ, но по известному открытому ключу практически невозможно вычислить секретный. В алгоритмах ЭЦП подпись обычно ставится на секретном ключе пользователя, а проверяется на открытом. Таким образом, любой может проверить, действительно ли данный пользователь поставил данную подпись. Тем самым асимметричные алгоритмы обеспечивают не только целостность информации, но и её аутентичность. При шифровании же наоборот, сообщения шифруются на открытом ключе, а расшифровываются на секретном. Таким образом, расшифровать сообщение может только адресат и больше никто (включая отправителя). Использование асимметричных алгоритмов снимает проблему распространения ключей пользователей в системе, но ставит новые проблемы: достоверность полученных ключей. Эти проблемы более-менее успешно решаются в рамках инфраструктуры открытых ключей (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 |