Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры_2-й_модуль.docx
Скачиваний:
25
Добавлен:
08.12.2018
Размер:
99.74 Кб
Скачать

Криптография. Открытый текст. Шифрование и дешифрование. Функции криптографии.

Открытый текст – сообщение, которое необходимо передать.

Шифрование – изменение открытого текста (вида сообщения) в шифротекст.

Дешифрование – преобразование шифротекста в открытый текст.

Криптография – наука, которая занимается безопасной передачей сообщений.

Криптоанализ – наука, которая занимается раскрыванием шифротекста.

Кроме обеспечения конфеденциальности криптография используется и для других функций:

  • проверка подлинности - получатель сообщения может проверить его источник, злоумышленник не сможет замаскироваться под кого-то

  • целостность сообщений - получатель сообщения может проверить, не было ли сообщение изменено в процессе доставки, злоумышленник не сможет подменить правильное сообщение ложным

  • неотрицание авторства – отправитель не сможет ложно отрицать отправку сообщения

Криптографический алгоритм. Ключ. Пространство ключей. Криптосистема.

Криптографический алгоритм (шифр) представляет собой математическую функцию для шифрования и дешифрования.

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

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

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

Криптосистема представляет собой алгоритм + все возможные открытые тексты, шифротексты и ключи.

Симметричные алгоритмы и алгоритмы с открытым ключом

Существует 2 основных типа алгоритмов, основанных на ключах:

  • симметричные

  • с открытым ключом

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

Симметричные алгоритмы делятся на 2 категории:

  • потоковые алгоритмы – обрабатывают открытый текст побитно (иногда побайтно)

  • блочные – работают с группами битов открытого текста

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

Криптоанализ. Типы криптоаналитического вскрытия

Смысл криптографии – в сохранении открытого текста (или ключа, или того и другого) от злоумышленников.

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

Раскрытие ключа не криптологическими способами называется компрометация. Попытка криптоанализа называется вскрытием.

Существует основных 4 типа криптоаналитического вскрытия:

  • вскрытие с использованием только шифротекста – у криптоаналитика есть шифротексты нескольких сообщений, зашифрованных одним и тем же алгоритмом шифрования

  • вскрытие с использованием открытого текста – у криптоаналитика есть доступ не только к шифротекстам нескольких сообщений, но и к открытому тексту этих сообщений

  • вскрытие с использованием выбранного текста – у криптоаналитика не только есть доступ к шифротекстам и открытым текстам, но и к открытому тексту этих сообщений

  • адаптивное вскрытие с использованием открытого текста (частный случай 3-го типа) – криптоаналитик не только может выбирать шифруемый текст, но также может строить свой последующий выбор на базе полученных результатов шифрования

неосновные:

  • вскрытие с использованием выбранного шифротекста

  • вскрытие с использованием выбранного ключа

  • бандитский криптоанализ – криптоаналитик угрожает, шантажирует или пытает кого-нить, пока не получит ключ.

Безопасность алгоритмов. Безусловно-безопасный алгоритм. Вычислительно безопасной алгоритм

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

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

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

Сложность вскрытия можно измерить:

  • по сложности данных (объем)

  • по сложности обработки (время)

  • требования к памяти

Стеганография. Имитационные функции

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

На сегодняшний день прячут секреты в графических изображениях, заменяя младший значящий бит изображения битом сообщения. Графическое изображение при этом меняется почти незаметно. Так в черно-белой картинке 1024х1024 пикселя можно спрятать сообщение в 64 Кбайта. Многие общедоступные программы могут проделывать подобное.

Существуют имитационные функции Питера Уэйнера - маскируют сообщения. Эти функции изменяют сообщение так, что его статистический профиль становится похожим на что-нибудь еще.

Подстановочные и перестановочные шифры

Подстановочным шифром называется шифр, который каждый символ открытого текста в шифротексте заменяется другим символом. Получатель инвертирует подстановку шифротекста, восстанавливая открытый текст

Существует 4 типа:

  1. Простой подстановочный (моноалфавитный) – шифр, который каждый символ открытого текста заменяет соответствующим шифром шифротекста. Шифр Цезаря – простой подстановочный шифр. Простые подстановочные шифры легко раскрываются, так как шифр не прячет частоты использования различных символов в открытом тексте.

  2. Однозвучный подстановочный шифр – один символ открытого текста отображается на несколько символов шифротекста

  3. Полиграммный подстановочный шифр – шифр, который блок символов шифрует по буквам (примеры: Flayfair, Hill)

  4. Полиалфавитный подстановочный шифр (используется несколько групп алфавитов. Пример: Vigenere).

В перестановочном шифре меняется не отрытый текст, а порядок символов. В простом столбцовом перестановочном шифре открытый текст пишется горизонтально на разграфленном листе бумаги фиксированной ширины, а шифротекст считывается по вертикали. Дешифрование - наоборот

Простое XOR. Одноразовые блокноты. Компьютерные алгоритмы.

XOR представляет собой исключающее ИЛИ. +

0+0=0 0+1=1 1+0=1 1+1=0

a+a=0 a+b+b=a

По сути дела это симметричный алгоритм, потому что открытый текст подвергается операции исключающее ИЛИ вместе с ключевым текстом для получения шифротекста p+k=c, а повторное применение XOR приводит к дешифрованию c+k=p.

Алгоритм взламывания данного шифротекста.

  1. Определить длину ключа с помощью процедуры (подсчет совпадений). Применим операцию XOR к шифротексту, используя в качестве ключа сам шифротекст с различными смещениями и посчитаем совпадающие байты. Если величина смещения кратна длине ключа, то совпадает свыше 6% байтов, если нет – то будут совпадать меньше чем 0,4% - это называется показателем совпадений. Минимальное смещение от одного значения, кратного длине ключа к другому и есть длина ключа.

  2. Сместим шифротекст на эту длину и проведем операцию XOR для смещенного и оригинального шифротекста. Результатом операции будет удалении ключа и получение открытого текста подвергнутого операции XOR с сами собой, смещенным на длину ключа. Так как в английском алфавите на 1 байт приходится 1.3 бита действительной информации существующая значительная избыточность позволяет определить способ шифрования.

Одноразовый блокнот

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

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

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

Компьютерные алгоритмы

Существует 3 часто используемых комп алгоритма

  1. DES (Data Encryption Standard) – самый популярный комп. алгоритм. Он является американским и международным стандартом. Это симметричный алгоритм. Для шифрования и дешифрования используется один и тот же ключ.

  2. RSA (Rivesta Shamira Adleman)– алгоритм с открытым ключом. Зачастую он сейчас используется для цифровой подписи.

  3. DSA (Digital Signature Algorithm) – алгоритм цифровой подписи, алгоритм с открытым ключом.

Криптографические протоколы. Протоколы с посредником. Арбитражный протокол. Самодостаточный протокол. Попытки вскрытия протокола

Протокол это порядок действий, предпринимаемый 2 и более сторонами, направленный на решение определенной проблемы, задачи.

Общие характеристики протоколов:

  1. Каждый участник протокола должен знать протокол и последовательность его действий.

  2. Каждый участник протокола должен согласиться следовать протоколу.

  3. Протокол должен быть непротиворечивым.

  4. Протокол должен быть полным.

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

Игроками криптографического протокола является отправитель и получатель. Существуют неосновные участники – посредники.

Существует 3 типа протоколов:

  1. Протокол с посредником. Роль посредника в том, что он незаинтересованная сторона.

  2. Протокол с арбитром. Контроль правильной передачи сообщения.

  3. Самодостаточный протокол. Не позволяет передать заведомо ложную информацию. Лучший тип протокола

Попытки вскрытия протоколов

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

Активные вскрытия более серьезны. Взломщик не обязательно кто-то совсем посторонний, он может быть зарегестрированным пользователем системы и даже сис. админом. Взломщиком может быть и один из участников протокола. Такой взломщик называется мошенником.

Передача информации с использованием симметричной криптографии. Однонаправленные функции. Функции с люком.

Симметричным криптосистемам присущи следующие проблемы:

  1. Распределение ключей должно проводиться в секрете. Ключи важны также как и сообщение.

  2. Если ключ скомпрометирован (украли, потерян), то кто-то может использовать этот ключ и передавать вместо нас ложные сообщения.

  3. Если каждая пара пользователей сети использует отдельный ключ, то общее число ключей возрастает с числом пользователей. Если в сети n пользователей, то для них необходимо n(n-1)/2.

Однонаправленный функции относительно легко вычисляются, но инвертируются с трудом, т.е. зная х просто рассчитать f(x), но по известному f(x) трудно найти х.

Пример разбитой тарелки. Тарелку легко разбить на 1000 мелких кусочков, но собрать из них тарелку нелегко.

Сообщение, зашифрованное однонаправленной функцией бесполезно, т.к. его невозможно расшифровать.

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

Однонаправленные хэш-функции

У однонаправленной хэш-функции несколько названий:

  1. Функция сжатий

  2. Функция сокращения

  3. Контрольная сумма

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

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

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

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

Цифровые подписи. Типы цифровых подписей

Существует множество алгоритмов цифровой подписи.

Иногда процесс подписи называют шифрование с закрытым ключом, а процесс проверки подписи – дешифрование с открытым ключом (RSA).

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

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

Длина симметричного ключа. Оценка времени и стоимости вскрытия грубой силой. Программное вскрытие.

Безопасность симметричных криптосистем зависит от 2 факторов:

  1. Надежность алгоритма

  2. Длина ключа

Рассчитать сложность вскрытия группы символов не трудно, если имеется 8 битный ключ, то необходимо 28 (256) комбинаций

Важным критерием при вскрытии ключа является оценка времени и стоимость ключа.

Например, при стоимости ключа 100$ 40-битному ключу нужно 2 сек, а 128-битному - 1019

Используется для вскрытия ключей ПО, нейронные сети, вирусы, «китайская лотерея», биотехнологии.

Длина открытого ключа. Сравнение длин симметричных и открытых ключей. Требования к безопасности различной информации.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]