Инструменты сайта


§

Вспомогательная страница к разделу КРИПТОГРАФИЯ


Протоколы с комбинированием открытых и секретных ключей

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

Отправитель $A$ создает одноразовый секретный ключ шифрования $ \mathfrak e $. Для простоты предположим, что ключ дешифрования совпадает с ключом шифрования. Функцию шифрования посредством этого ключа обозначим $ \varepsilon ( \cdot ) $. Отправитель знает открытый ключ получателя $ (\mathbf E_B, M_B ) $. С открытым текстом $ x $ он действует по следующей схеме

1. Параллельно шифруется $ x $ ключом $ \mathfrak e $, а сам ключ $ \mathfrak e $ — открытым ключом получателя.

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

Действия получателя по получению шифровки.

1. Она разбивается на блоки, и второй блок подвергается дешифрованию с помощью секретного ключа получателя. Устанавливается секретный ключ дешифрования $ \mathfrak e $.

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

Теперь вставляем в эту схему блокировку от возможной подделки сообщения. Считаем, что оба корреспондента — отправитель $ A $ и получатель $ B $ — пользуются одной и той же стойкой функцией хеширования $ h (\cdot) $ (например SHA256).

Отправитель

1. Параллельно

  • шифрует открытый текст $ x $ секретным ключом $ \mathfrak e $: $ \varepsilon (x) $ и
  • вычисляет значение функции хеширования $ h(x) $;

2. Производит конкатенацию блоков $ h(x) $ и $ \mathfrak e $ $$ \widetilde{x}:= [h(x) \mid \mathfrak e] \ ; $$

3. Шифрует $ \widetilde{x} $ открытым ключом получателя: $$ \widetilde{c}:= \widetilde{x}^{\mathbf E_B} \pmod{M_B} \, ; $$

4. Производит конкатенацию блоков $ \varepsilon (x) $ и $ \widetilde{c} $.

Результат $ c:= [\varepsilon (x) \mid \widetilde{c}] $ и отправляется адресату.


Симметричный алгоритм шифрования — AES (или Rijndael).

crypto/pgp.txt · Последние изменения: 2024/11/21 11:08 — au