Кpиптогpафия от папиpуса до компьютеpа

       

Доказательство при нулевом знании


На основании описанных алгоритмов шифрования, распределения ключей и электронной подписи можно организовывать более сложные протоколы взаимодействия пользователей криптографической сети, реализующие подтверждение подлинности и доказательство при нулевом знании. Так называемые системы "доказательства при нулевом знании" не являются собственно криптографическими системами. Они служат для передачи сообщений типа "Я знаю эту информацию" без раскрытия самого сообщения.
     Общая идея этих протоколов заключается в том, что обладатель секретного ключа доказывает, что он может вычислять некоторую функцию, зависящую как от секретного ключа, так и аргументов, задаваемых проверяющим. Проверяющий, даже зная эти аргументы, не может по данному ему значению функции восстановить секретный ключ. При этом функция должна быть такой, чтобы проверяющий мог удостовериться в правильности ее вычисления, например, представляла цифровую подпись выбранных им аргументов. Действие такой системы рассмотрим на приведенном ниже алгоритме, где подтверждение подлинности при использовании алгоритма RSA организовано следующим образом:

     1. Доказывающий А и контролер В оба знают идентификатор I и открытый ключ (N, Е), но А кроме того знает еще, секретное число S=I**D MOD N, сформированное по секретному ключу D. Сначала А генерирует случайное число Х и вычисляет Y=X**E MOD N. Затем он отсылает [I, Y] к В.
     2. После этого В генерирует и передает А случайное число V.
     3. Затем А вычисляет и передает В число
     W=X*(Y**V) MOD N. 4. Контролер В проверяет принадлежность идентификатора I к А, контролируя тождество
     W**E=Y*(I**V) MOD P.

Случайный запрос обычно представлен вектором, координаты которого принимают значения 0 или 1, но он может быть любым вектором, координаты которого вычисляются по модулю числа Е.
     На этом можно подвести итоги краткого рассмотрения криптографических систем с открытым ключом. Их изобретение, похоже, лишь добавило головную боль криптографам по следующим веским причинам:

     1. Вместо одного ключа стало два и то обстоятельство, что только один из них секретен, лишь усугубляет проблему. А ну как по ошибке в открытый каталог будет помещен не общедоступный, а секретный ключ? Чтобы исключить такого рода казусы нужна полностью автоматизированная система, плохо контролируемая в своих действиях человеком-наблюдателем.
    


2. Как неоднократно упоминалось выше, и секретные ключи, и их рассылку по закрытому каналу (топ-топ-топ курьеры!) отменить нельзя. Свойство же обладания одним секретным ключом для всех абонентов тоже сомнительно - в принципе нет большой разницы между переправкой единственного ключа или тысячи, если только они представлены информационно, а не физически.
    

3. Наконец, принципиальная возможность криптоаналитической атаки на шифровку несимметричных систем, содержащую несмысловую информацию в виде ключа, указывает слабое место гибридных систем. Итак, приобретя новые возможности, криптографы получили еще и несколько новых источников угроз.
    

4. Системы шифрования с открытым ключом не решают всех проблем, которые стоят перед критографами. Например, нечестному пользователю ничего не стоит под своей настоящей подписью поставить фальшивую дату. Для финансовых документов это может быть катастрофой. Поэтому цифровая подпись с датой обязательно должна заверяться третьим лицом, как нотариусом. Без его участия цифровая подпись недействительна.
    


Содержание раздела