Отправка сообщения в будущее
Рефераты >> Криптология >> Отправка сообщения в будущее

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

Для этого Алиса :

· генерирует сооставной модуль n = pq как произведение двух простых случайно выбранных чисел pиqи вычисляет f(n) = (p-1) (q-1);

· далее вычисляет t = TS , где S – производительность (число возведений в квадрат по модулю nв секунду ) компьютера, предназначенного для решения шарады;

· генерирует случайный ключ К для симметричной криптосистемы, например RC5 . Ключ должен быть достаточно длинным;

· шифрует М на К с помощью RC5 . C(M) = RC5( K, M ) ;

· случайным образом выбирает а по модулю n(1<a<n), и шифрует секретный ключ К таким бразом:C(К) = K + b, для чего сначала вычисляет e = 2t(modf(n)) (1), и затем b = ae (modn) (2);

· обьявляет “шараду” в виде набора параметров (n, a, t, C(K), C(M) ) и стирает переменные ( такие ,как : p, q, e, b, n), созданные в процессе вычислений.

Таким образом, по построению ключ К не может быть найден при помощи “силовой атаки”. Поэтому самый быстрый способ решения “шарады” – это вычисление

b = ae(modn).

При известном f(n) можно быстро вычислить e, по формуле (1) и затем bпо формуле (2). Однако известно, что вычисление f(n) по nстоль же трудоёмкая задача, что и разложение nна множители. Таким образом, единственный известный в настоящее время способ вычисления b ( при правильно выбранных параметрах p, q, а ) сводится к последовательному возведению а в кврдрат (t раз), причём каждый раз в квадрат возводится предыдущий результат (таким образом исключается распараллеливание вычислений при “силовой атаке” ).

Хотя попытка разложения n на множители представляет собой альтернативный метод решения, но при достаточно больших pиq такой подход менее эффективен, чем последовательное возведение в квадрат.

Число возведений в квадрат tможет контролироваться с точностью до операции, следовательно имеется возможность построения “шарад” с различными уровнями сложности решения.

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

Чтобы, сама Алиса могла расшифровать криптограмму ей не нужно хранить в тайне ключ К , но необходимо знать секрет f(n), чтобы в заданный момент времени вычислить eпо формуле (1) и bпо формуле (2), расшифровать секретный ключ К и дешифровать своё сообщение.

Следует учесть что такую схему стоит применять только в случае, когда Т не превышает 5 лет , при выполнении всех условий построения схемы. Такой вывод можно сделать по результатам представленым в статье Ю. Е. Пудовченко «Когда наступит время подбирать ключи», а именно , что через каждые 5 лет производительность комтьютеров возрастает в 10 раз. То есть, если зашифровать сообщение , используя такую схему , на десять лет, то через пять лет «силовая атака» ( на более мощных, соответствующих своему времени машинах ) займёт времени в 10 раз меньше , в нашем случае это составит 1 год. Таким образом всё время секретности данного сообщения составит 6 лет, что намного меньше требуемого срока.

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

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

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

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

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


Страница: