Принцип Керкгоффса и максима Шеннона
Правила Керкгоффса (не путать с законами Кирхгофа)
Алексей Лукацкий https://www.securitylab.ru/blog/personal/Business_without_danger/344752.php
13 Сентября, 2018
Предположу, что многие слышали про правило Керкгоффса, которое упрощенно часто звучит как "стойкость криптографической системы должна зависеть только от секретности ключа, а не от секретности алгоритма". На самом же деле Керкгоффс сформулировал в конце 19-го века 6 принципов, которые должны соблюдаться при создании криптографических систем:
- Система должна быть практически, если не математически, не взламываемой.
- Система не должна требовать сохранения ее в тайне и попадание ее в руки врагов не должно вызывать проблем.
- Хранение и передача ключа должны быть осуществимы без помощи бумажных записей; участники должны располагать возможностью легко менять ключ по своему усмотрению.
- Система должна быть совместима с телеграфной связью (напомню, что речь идет о конце 19-го века, когда единственным способом связи был телеграф).
- Система должна быть портативной и работа с ней не должна требовать более одного человека.
- Наконец, от системы требуется, учитывая возможные обстоятельства ее использования, чтобы она была проста в использовании и не требовала значительного напряжения ума или соблюдения большого количества правил.
Данные шесть принципов были впервые опубликованы в журнале "Военная наука" в 1883-м году (издается до сих пор).
Две статьи, в январском и февральском выпусках, описывали существующие в 19-м веке системы шифрования и способы их криптоанализа. Там же Огюст Керкгоффс сформулировал и основы создания надежных криптографических систем, упомянутые выше.
Позже вышла одноименная книга - "Военная криптография", отличающаяся от статей большим объемом материала. В ней автор высказал две важных идеи:
- Не бывает универсальных шифровальных средств. Система для нечастой переписки узкого круга лиц и система для массового применения - это разные системы с разными требованиями.
- Надежность криптографического решения может быть оценена только с помощью криптоанализа.
Кстати, второй принцип Керкгоффса также упоминался и в известной работе Клода Шеннона "Теория связи в секретных системах", но немного в ином виде, получившим название максимы Шеннона - "противнику известна используемая система".
Именно второй принцип и стал наиболее известным, что не умаляет важности и остальных, актуальных до сих пор. И это несмотря на то, что Керкгоффс формулировал свои идеи, опираясь на стратегию ведения войн, принятую еще до Первой мировой.
Я эту заметку написал после некоторой дискуссии, которая возникла на днях у меня с одним из стартаперов, который решил разработать систему защиты, опираясь на принцип "security through obscurity", который как раз и противоречит второму правилу Керкгоффса. Кроме того, я пробежался глазами по десятку отечественных учебников по криптографии и ни в одном, что удивительно, не упоминаются все шесть принципов, ограничиваясь только вторым.
ЗЫ. Кстати, не стоит путать Керкгоффса и Кирхгофа. Первый предложил принципы создания криптографических систем, актуальные до сих пор. И звали его Огюст. А второй был великим физиком, который сформулировал правила (часто именуемые законами) в области электричества. И звали его Густав. Но это так, из области общих знаний.
От репостера, т.е. меня))
Возникает вопрос, а были созданы такие системы, которые удовлетворяли всем требованиям Керкгоффса? Ответ положительный – Да! На пример: Diana Cryptosystem.
Этим шифром первоначально пользовались агенты ЦРУ в странах социалистического лагеря, потом во время Вьетнамской войны, начиная с конца 1965 года, АНБ обеспечила им «зеленых беретов» и РДГ. В 80-х этим шифром пользовалась Береговая охрана США.
В чем особенность этой криптосистемы – в таблице Бофорта (Бофора) с конечным числом триграмм (126) и одноразовом буквенном шифроблокноте (OTP).
Как это работает можно посмотреть в этом ролике:
https://www.youtube.com/watch?v=Gw1-0X0Ffm0
Более подробно здесь http://militaryradio.com/spyradio/otp.html
и здесь http://www.vietnamgear.com/Article.aspx?Art=47
PS Не путайте таблицу Бофорта (Бофора) с таблицей Виженера, они очень похожи, но разные. Таблица Бофора позволяет шифровать на лету, а Вижинера - нет.
Комментарии