Предположу, что многие слыщали про правило Керкгоффса, которое упрощенно часто звучит как "стойкость криптографической системы должна зависеть только от секретности ключа, а не от секретности алгоритма". На самом же деле Керкгоффс сформулировал в конце 19-го века 6 принципов, которые должны соблюдаться при создании криптографических систем:
Данные шесть принципов были впервые опубликованы в журнале "Военная наука" в 1883-м году (издается до сих пор). Две статьи, в январском и февральском выпусках, описывали существующие в 19-м веке системы шифрования и способы их криптоанализа. Там же Огюст Керкгоффс сформулировал и основы создания надежных криптографических систем, упомянутые выше.
Позже вышла одноименная книга - "Военная криптография", отличающаяся от статей большим объема материала. В ней автор высказал две важных идеи:
Кстати, второй принцип Керкгоффса также упоминался и в известной работе Клода Шеннона "Теория связи в секретных системах", но немного в ином виде, получившим название максимы Шеннона - "противнику известна используемая система". Именно второй принцип и стал наиболее известным, что не умаляет важности и остальных, актуальных до сих пор. И это несмотря на то, что Керкгоффс формулировал свои идеи, опираясь на стратегию ведения войн, принятую еще до Первой мировой.
Я эту заметку написал после некоторой дискуссии, которая возникла на днях у меня с одним из стартаперов, который решил разработать систему защиты, опираясь на принцип "security through obscurity", который как раз и противоречит второму правилу Керкгоффса. Кроме того, я пробежался глазами по десятку отечественных учебников по криптографии и ни в одном, что удивительно, не упоминаются все шесть принципов, ограничиваясь только вторым.
ЗЫ. Кстати, не стоит путать Керкгоффса и Кирхгофа. Первый предложил принципы создания криптографических систем, актуальные до сих пор. И звали его Огюст. А второй был великим физиком, который сформулировал правила (часто именуемые законами) в области электричества. И звали его Густав. Но это так, из области общих знаний.
- Система должна быть практически, если не математически, невзламываемый.
- Система не должна требовать сохранения ее в тайне и попадание ее в руки врагов не должно вызывать проблем.
- Хранение и передача ключа должны быть осуществимы без помощи бумажных записей; участники должны располагать возможностью легко менять ключ по своему усмотрению.
- Система должна быть совместима с телеграфной связью (напомню, что речь идет о конце 19-го века, когда единственным способом связи был телеграф).
- Система должна быть портативной и работа с ней не должна требовать более одного человека.
- Наконец, от системы требуется, учитывая возможные обстоятельства ее использования, чтобы она была проста в использовании и не требовала значительного напряжения ума или соблюдения большого количества правил.
Данные шесть принципов были впервые опубликованы в журнале "Военная наука" в 1883-м году (издается до сих пор). Две статьи, в январском и февральском выпусках, описывали существующие в 19-м веке системы шифрования и способы их криптоанализа. Там же Огюст Керкгоффс сформулировал и основы создания надежных криптографических систем, упомянутые выше.
Позже вышла одноименная книга - "Военная криптография", отличающаяся от статей большим объема материала. В ней автор высказал две важных идеи:
- Не бывает универсальных шифровальных средств. Система для нечастой переписки узкого круга лиц и система для массового применения - это разные системы с разными требованиями.
- Надежность криптографического решения может быть оценена только с помощью криптоанализа.
Я эту заметку написал после некоторой дискуссии, которая возникла на днях у меня с одним из стартаперов, который решил разработать систему защиты, опираясь на принцип "security through obscurity", который как раз и противоречит второму правилу Керкгоффса. Кроме того, я пробежался глазами по десятку отечественных учебников по криптографии и ни в одном, что удивительно, не упоминаются все шесть принципов, ограничиваясь только вторым.
ЗЫ. Кстати, не стоит путать Керкгоффса и Кирхгофа. Первый предложил принципы создания криптографических систем, актуальные до сих пор. И звали его Огюст. А второй был великим физиком, который сформулировал правила (часто именуемые законами) в области электричества. И звали его Густав. Но это так, из области общих знаний.