русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Как спрятать один шифртекст в другом


Дата добавления: 2014-11-28; просмотров: 636; Нарушение авторских прав


 

Антон и Борис несколько месяцев обменивались шифрованными сообщениями. Контрразведка перехватила все эти сообщения, но так и не смогла прочесть ни единого слова. Контрразведчикам надоело коллекционировать переписку Антона и Бориса, не зная ее содержания, и они решили арестовать подозрительную парочку. Первый же допрос начался словами: “Где ключи к шифру?” “К какому такому шифру?!” — в один голос воскликнули Антон и Борис, но тут же осеклись и побледнели, заметив на столе у следователя зловещего вида клещи, покрытые пятнами то ли ржавчины, то ли крови.

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

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

 

P ⊕ K = C

 

Поскольку у Бориса имеется копия ключа К, он может без проблем расшифровать сообщение Антона:

 

С ⊕ К= Р

 

Если контрразведчики попытаются заставить Антона и Бориса выдать используемый ими ключ, то вместо К они могут сообщить в контрразведку:

 

К' = C ⊕ D

 

В результате контрразведчики смогут прочитать невинный открытый текст:

 

С ⊕ К'= D

 

Так как Антон и Борис пользуются одноразовым блокнотом, то К является полностью случайным и доказать, что К' является подставным ключом, практически невозможно (не прибегая к пыткам).



Антон мог бы зашифровать Р не с помощью одноразового блокнота, а пользуясь любым из своих самых любимых криптографических алгоритмов и ключом К. Сложив С с фрагментом какого-либо общеизвестного произведения (например, с отрывком из второй главы “Идиота”) по модулю 2, Антон получит К'. Теперь если к Антону пристанут злые “дяденьки” из контрразведки, он предъявит им С вместе с К' и скажет, что К' — это одноразовый блокнот для С и что он просто захотел попрактиковаться в криптографии, зашифровав для этой цели отрывок из первой попавшейся книги. РГ пока контрразведчики не получат в свое распоряжение ключ К, доказать, что Антон занимался чем-то противозаконным, они не смогут.

 



<== предыдущая лекция | следующая лекция ==>
Программное шифрование | Почему криптосистемы ненадежны


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.85 сек.