Стало известно, как АНБ «вынуждало» фирмы, производившие сетевое оборудование, вносить в свою продукцию изменения в «шпионских» интересах. К компаниям, которые сотрудничали с АНБ, хотя и не всегда добровольно, относились, например, «Microsoft», «Netscape», «Sun».
Ещё в конце 1990-х годов в сети интернет появилась история о том, как один придирчивый программист, изучая исходные коды подпрограмм в ОС «Microsoft Windows NT», нашёл переменную c выразительным именем «_NSAKEY», то есть «ключ АНБ». Особого скандала из этой истории не вышло, поскольку для присутствия такой переменной нашлись более-менее невинные объяснения, а название ради общего спокойствия изменили на нейтральное «_KEY2».
Кроме того, хорошо известно, что именно АНБ, когда этого требовали американские законы, всегда контролировало снижение криптостойкости программных продуктов, предназначенных для экспортных продаж.
В начале 2005 года в сети интернет появилась статья сингапурского криптолога Хонг-Юн Ву, который исследовал конкретную реализацию алгоритма шифрования документов «Word» и «Excel» в современных версиях «Microsoft Office». Он обнаружил, что и здесь существовала достаточно серьёзная «уязвимость», которая позволяла без особых проблем раскрывать и читать файлы, защищённые шифрованием с длиной ключа до 128 бит. И причиной этому была неправильное применение потокового шифра, а именно, многоразовое использование одной и той же шифрующей последовательности.
Среди фундаментальных основ криптографии есть очень важное правило: если для засекречивания используется потоковый шифр, то никогда одну шифрпоследовательность не налагают на два разных документа. В данном контексте под «одинаковыми» документами понимаются файлы, которые совпадают байт в байт, т.е. полные копии. Любая вставка или удаление знака приводит к сдвигам других байтов на другие места, т. е. к разным файлам.
И если у «взломщика» есть хотя бы два разных документа, зашифрованного одним ключом, то всё шифрование – хотя и очень стойкое – в принципе можно раскрыть простым побитовым сложением двух шифртекстов вместе, даже не зная криптоалгоритма. При таком сложении биты шифрующей последовательности «выпадают» (взаимно уничтожаются), и остаётся сумма 2-х открытых текстов.
Имея базовые криптоаналитические навыки, а еще лучше специальные программы, «взломщик» может оба исходных документа восстановить с помощью известных криптометодов.
Как установил Хонг-Юн Ву, при реализации процесса шифрования в «Microsoft Office» была допущена именно эта криптографическая ошибка. Когда документ «Word» или «Excel» защищают паролем, то сколько бы текст файла не модифицировался, «RCА» всё время генерирует одну и ту же шифрпоследовательность.
Другими словами, если злоумышленнику