Реферат: Отправка сообщения в будущее

Используемые понятия

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

· Криптография с открытым ключом. В схеме с открытым ключом имеется два ключа, открытый [public] и секретный [private, secret], выбранные таким образом, что их последовательное применение к массиву данных оставляет этот массив без изменений. Шифрующая процедура использует открытый ключ, дешифрующая - секретный. Дешифрование кода без знания секретного ключа практически неосуществимо; в частности, практически неразрешима задача вычисления секретного ключа по известному открытому ключу. Основное преимущество криптографии с открытым ключом – упрощенный механизм обмена ключами. При осуществлении коммуникации по каналу связи передается только открытый ключ, что делает возможным использование для этой цели обычного канала и устраняет потребность в специальном защищенном канале для передачи ключа.

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

· Односторонняя хеш функция . Такая функция не поддаётся обращению - нельзя узнать её аргумент, зная результат. Также существует односторонняя функция с потайным ходом ("лазейкой"). Идея состоит в том, чтобы построить функцию, обратить которую можно только зная некоторую "лазейку" - секретный ключ.

· RC5 . RC5 это довольно-таки быстрый блочный шифр разработанный Ривестом для RSA Data Security. Этот алгаритм параметричен, т.е. с пременным размером блока, длинной ключа и переменным числом проходов. Размер блока может быть 32, 64, или 128 битов. Количество проходов в промежутке от 0 до 2048 бит. Параметричность такого рода дает гибкость и эффективность шифрования. RC5 состоит из ввода ключа (key expansion), шифрования и дешифрования. При вводе ключа вводятся также количество проходов, размер блока и т.д. Шифрование состоит из 3 примитвных операций : сложения, побитового XOR и чередования (rotation). Исключительная простота RC5 делает его простым в использовании, RC5 текст, также как и RSA, может быть дописан в конец письма в зашифрованном виде. Безопасность RC5 основывается на зависящем от данных чередованием и смешиванием результатов различных операций. RC5 с размером блока 64 бита и 12 или более проходов обеспечивает хорошую стойкость против дифференциального и линейного криптанализов.

· Схема разделения секрета. Математика разделения секрета достаточно сложна, и является темой отдельного разговора, поэтому дадим неформальное определение данного понятия. Схемой разделения секрета называется такая схема, которая позволяет «распределить» секрет между n участниками таким образом, чтобы заранее заданные разрешённые множества ( множества “теней секрета” ) участников могли однозначно восстановить секрет, а неразрешённые - не получили никакой дополнительной информации о возможном значении секрета. Пороговая схема разделения секрета, (n , θ ) – схема, позволяет восстанавливать секрет, если разрешённым множеством является любое множество из θ или более “теней секрета”.

Схема с использованием доверенных агентов .

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

Итак, подход данного метода заключается в использовании доверенных агентов для хранения сообщения М в течение заданного интервала времени t . Для большей надёжности схемы шифрования , ключ К , на котором собираемся зашифровать сообщение М поделим на d “теней”, воспользовавшись техникой разделения секрета предложенной А.Шамиром, и распределим “ тени “ секретного ключа среди нескольких агентов, заручившись с их стороны обязательством, что соответствующие фрагменты будут предъявлены по истечении времени t . Заметим, что используемая техника разделения секрета обладает избыточностью и позволяет восстанавливать секретный ключ в случае, когда некоторые агенты не в состоянии выполнять свои функции. Тогда криптограмма С ( К,М ) может быть помещена в общедоступное место с тем, чтобы можно было получить сообщение М (воостановив ключ К и дешифровав сообщение С ) по истечении времени t .

Итак Райвист, Шамир и Вагнер предложили альтернативный метод со следующими свойствами:

· Агенты не хранят ключи, применяемые в схеме шифрования.. Каждый агент хранит “тень” ключа, получаемую с помощью техники разделения секрета. Необходимый объём памяти, выделенной под “тень” ключа, фиксирован и не зависит от числа секретных компонент, доверенных агенту.

· Сначала, каждый агент формирует свой секретный ключ, который он раскроет в момент времени t . Далее, с помощью этого ключа, агент должен будет подтверждать своё существование и свою личность.

· Основная задача агента : периодически ( например, в начале каждого часа ) раскрывать ранее секретное значение - S i ,t ( получать новое значение хеш-функции) и заверять раскрытый секрет цифровой подписью на своём секретном ключе, который раскрывается в заданный момент времени. Под выражением ранее секретное значение - S i ,t понимается старый результат хеш-функции.

· Также, агент должен отвечать на вопросы вида : “Для заданных значений у и t возвратите значение функции E( y , S i ,t ) – результат шифрования у на секретном ключе S i ,t , который Вы предполагаете раскрыть в момент времени t ”. Предполагается, что используемая для шифрования криптосистема устойчива к атаке на открытом тексте, то есть злоумышленник не сможет восстановить секретный ключ S i ,t , располагая результатами шифрования различных у –ов на фиксированном ключе S i ,t . Сформировать сообщение, подписать его на открытом ключе пользователя и на закрытом агента. Сформированное сообщение должно содержать номер агента, текущее время, время t, раскрытый и подписаный секрет S i ,t и значение функции E( y , S i ,t ) .

· каждый агент всегда подписывает свои секретный и открытый ключи.

Итак, схема с использованием доверенных агентов выглядит так : сначала на случайно выбраном ключе К при помощи симметричной криптосистемы пользователь шифрует сообщение М , и получает

С=( К, М ) .

Далее, выбрав d агентов i 1 , [М2] i 2 , ,i d пользователь публикует :

( С, i 1 , [М3] i 2 , , i d . , r 1 , r [М4] rrRRg Ккпрпл 2 , , r d ) ,

где r 1 , r [М5] rrRRg Ккпрпл 2 , , r d - d криптограмм “теней” ключа К . “Тени” получены по схеме разделения секрета, позволяющие восстанавливать ключ К в момент времени t ,после того, как агенты раскроют свои секреты. Размер “тени” ключа фиксирован и не зависит от числа секретных компонент, доверенных агенту. Также пользователь может установить порог θ (0 < θ d ) такой, что восстановление ключа К будет возможно только при θ или большем числе “теней” ключа К . Для этого пользователь просто разбивает ключ К на d “теней” по любой схеме разделения секрета с порогом θ .

После шифрования ключ К удаляется.

Далее пользователь просит агента возвратить ему криптограмму, соответствующей агенту, «тени» ключа на секрете агента . Тогда

r j = E( y j , S i ,t ) ,

где (y 1 , y 2 , …. ,y d ) d “теней” ключа К .

После, пользователь генерирует составной модуль

n = pq ,

как произведение двух простых случайно выбранных чисел p и q . После чего вычисляет

f(n) = (p-1) (q-1) и

e = 2 t (mod f(n)) .

Пара чисел (e, n) и будет являться открытым ключём пользователя.

К-во Просмотров: 1530
Бесплатно скачать Реферат: Отправка сообщения в будущее