Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгоритм RSA.doc
Скачиваний:
25
Добавлен:
27.10.2018
Размер:
453.12 Кб
Скачать

Достоинства госТа

  • бесперспективность силовой атаки (XSL-атаки в учёт не берутся, так как их эффективность на данный момент полностью не доказана);

  • эффективность реализации и соответственно высокое быстродействие на современных компьютерах.

  • наличие защиты от навязывания ложных данных (выработка имитовставки) и одинаковый цикл шифрования во всех четырех алгоритмах ГОСТа.

Критика госТа

Основные проблемы ГОСТа связаны с неполнотой стандарта в части генерации ключей и таблиц замен. Тривиально доказывается, что у ГОСТа существуют «слабые» ключи и таблицы замен, но в стандарте не описываются критерии выбора и отсева «слабых». Также стандарт не специфицирует алгоритм генерации таблицы замен (S-блоков). С одной стороны, это может являться дополнительной секретной информацией (помимо ключа), а с другой, поднимает ряд проблем:

  • нельзя определить криптостойкость алгоритма, не зная заранее таблицы замен;

  • реализации алгоритма от различных производителей могут использовать разные таблицы замен и могут быть несовместимы между собой;

  • возможность преднамеренного предоставления слабых таблиц замен лицензирующими органами РФ;

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

Возможные применения

  • Использование в S/MIME (PKCS#7, Cryptographic Message Syntax).[4]

  • Использование для защиты соединений в TLS (SSL, HTTPS, WEB).[5]

  • Использование для защиты сообщений в XML Encryption.[6]

9. Схема Deffie-Hellmana

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

Алгоритм Диффи-Хелмана (1976 год) использует функцию дискретного возведения в степень и похож на метод Эль-Гамаля.

Сначала генерируются два больших простых числа n и q. Эти два числа не обязательно хранить в секрете. Далее один из партнеров P1 генерирует случайное число x и посылает другому участнику будущих обменов P2значение

A = qx mod n

По получении А партнер P2 генерирует случайное число у и посылает P2 вычисленное значение

B = qy mod n

Партнер P1, получив В, вычисляет Kx = Bx mod n, а партнер P2 вычисляет Ky = Ay mod n. Алгоритм гарантирует, что числа Ky и Kx равны и могут быть использованы в качестве секретного ключа для шифрования. Ведь даже перехватив числа А и В, трудно вычислить Kx или Ky.

Алгоритм Диффи-Хелмана, обеспечивая конфиденциальность передачи ключа, не может гарантировать того, что он прислан именно тем партнером, который предполагается. Для решения этой проблемы был предложен протокол STS (station-to-station). Этот протокол для идентификации отправителя использует технику электронной подписи. Подпись шифруется общим секретным ключом, после того как он сформирован. 

10. Основные принципы несимметричных алгоритмов. Алгоритм упаковки рюкзака

Принцип несимметричных алгоритмов шифрования применяется для создания электронной цифровой подписи (ЭЦП). Электронно-цифровая подпись позволяет: - подтвердить авторство электронного документа; - подтвердить подлинность и время подписи электронного документа.

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

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

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

Основные понятия:

{KO,KR} – пара ключей (открытый и секретный);

M – исходное (нешифрованное) сообщение (число);

ЕKO(.) – алгоритм шифрования;

DKR(.) – алгоритм дешифрования;

А --------->???>----------> B

KOB {KOB, KRB}

M

C=EKOB(M)-> C >-->P= DKRB(C)

C = ЕKO(M) – зашифрованное сообщение (по открытому каналу).

Алгоритмы ЕKO(.), DKR(.) и открытый ключ KO – известны (!).

Секретом является только закрытый ключ KR !

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

Характеристика несимметричных алгоритмов (НА )по сравнению с симметричными (СА):

  • Относительно бо’льшая вычислительная трудоемкость НА

  • Бо’льшая длина ключа НА (~ в 10 раз)

Практическое применение:

    1. цифровая подпись (в дальнейшем).

    2. передача секретного ключа СА, вместо шифрования всего текста (использование в комбинации с СА, например, в системе PGP)

Алгоритм Рюкзака

 Первым алгоритмом для обобщенного шифрования с открытым ключом стал алгоритм рюкзака, разработанный Ральфом Мерклом и Мартином Хеллманом.

Проблема рюкзака несложна. Дана куча предметов различной массы, можно ли положить некоторые из этих предметов в рюкзак так, чтобы масса рюкзака стала равна определенному значению? Более формально, дан набор значений M1, М2,. . ., Мn и сумма S, вычислить значения bi, такие что

S = b1М1 + b2М2 +...+ bпМп

bi может быть либо нулем, либо единицей. Единица показывает, что предмет кладут в рюкзак, а ноль - что не кладут.

  Например, массы предметов могут иметь значения 1, 5, 6, 11, 14 и 20. Вы можете упаковать рюкзак так, чтобы его масса стала равна 22, использовав массы 5, 6 и 11.

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

  В основе алгоритма рюкзака Меркла-Хеллмана лежит идея шифровать сообщение как решение набора проблем рюкзака. Предметы из кучи выбираются с помощью блока открытого текста, по длине равного количеству предметов в куче (биты открытого текста соответствуют значениям b), а шифротекст является полученной суммой. Пример шифротекста, зашифрованного с помощью проблемы рюкзака.

Шифрование с рюкзаками

Открытый текст   

111001

010110

000000

011000

Рюкзак

1 5 6 11 14 20        

1 5 6 11 14 20        

1 5 6 11 14 20        

1 5 6 11 14 20

Шифротекст

1+5+6+20=32        

5+11+14=30         

0=0

5+6=11

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