Мне удалось получить комментарий Дмитрия Склярова по поводу поднимавшегося чуть ранее вопроса о заведомой "дырявости" всех сертифицированных криптоалгоритмов. Я, в том числе, привел цитату
"Наличие "черных ходов" или иных способов быстрого снятия защиты либо расшифровки есть непременное условие получения государственного сертификата в любой стране. К таким средствам приравниваются инженерные пароли. При этом высокая стойкость криптоалгоритма сохраняется" с упоминавшегося здесь форума
http://www.forum.mista.ru/topic.php?id=114731.
Привожу ответ Дмитрия.
==================================
Про "непременное условие получения государственного сертификата в
любой стране" я, если честно, не в курсе. И сомневаюсь, что такое
требование реально существует. Тем не менее, наличие "черного хода" в
некоторых сертифицированных продуктах вполне возможно, потому что
сертификация - это не полная проверка, а всего лишь проверка на
соответствие некоторым формальным требованиям. То есть сертификация не
гарантирует отсутствие ошибок или "черного хода".
С "мастер-ключом" в алгоритме ситуация такая. Алгоритм сам по себе,
как правило, не имеет никаких "черных ходов", известных только
спецслужбам. Про DES почти 30 лет говорят, что раз NSA (National
Security Agency) приложило к нему руку, внесло коррективы в
оригинальный Lucifer, и не объяснило, почему изменения именно такие,
значит у них есть способ очень быстро ломать DES. Однако за те же 30
лет никто этот способ не нашел. Это не гарантирует, что у NSA такого
способа нет, но вероятность IMO очень маленькая...
А вот как алгоритм используется - это другой вопрос. При использовании
PKI (Public Key Infrastructure) для шифрования сообщений обычно
применяется гибридная схема. Сообщение зашифровывается на случайно
выбранном ключе любым стойким симметричным алгоритмом (например AES
или ГОСТ), а случайный ключ зашифровывается на открытом ключе
получателя. Если получателей несколько, то ключ симметричного
алгоритма зашифровывается отдельно для всех получателей, а само
сообщение - только один раз. В такой схеме для получения доступа к
сообщению надо владеть секретным ключом одного из получателей.
Таким образом, если случайный ключ всегда будет зашифровываться на
открытом ключе, принадлежащем спецслужбам, то спецслужбы всегда смогут
быстро расшифровать сообщение, но никому другому это не даст ни
малейшего преимущества.
Была история с WRF (Workfacor Reduction Field) в Lotus Notes. В
экспортных версиях Notes сообщения шифровались на 64-битовом случайном
ключе, эти 64 бита шифровались на открытом ключе получателя, а 24 из
них - на открытом ключе NSA, и помещались в WRF. Если противник хотел
расшифровать сообщение, ему требовалось или перебрать 2^64 возможных
симметричных ключей, или взломать асимметричный секретный ключ (что
было сложнее). А если противником было NSA, то им требовалось
перебрать всего 2^40 ключей. Но в те времена действовали ограничения
правительства США на экспорт сильного крипто, и если бы не применялась
такая схема - было бы 40 бит для всех. Так что конечные пользователи
IMO остались "при своих", если их противником является NSA, и выиграли
во всех остальных случаях.
Резюмируя, можно встроить "черный ход" таким образом, чтобы он давал
преимущество какому-то конкретному противнику, и ничего не давал
всем остальным. Однако мне кажется, что для более-менее популярного
решения наличие "черного хода" не удастся долго скрывать.
==================================