Как известно, в США долгое время существовали ограничения на размер ключа шифрования, используемого в программах, экспортируемых из страны. Несмотря на то, что эти ограничения уже давно не действуют, последствия воздействия старых правил до сих пор очень сильны и, похоже, будут ощущаться еще довольно долго. Огромное количество популярных продуктов, так или иначе использовавших шифрование, были вынуждены применять ключи не длиннее 40 бит. За время существования ограничений было создано огромное количество документов с такой защитой, и многие из них продолжают использоваться до сих пор. С появлением новых версий программ, поддерживающих более длинные ключи, далеко не все пользователи стали использовать новые настройки. Ведь обновление программного обеспечения не происходит одновременно у всех пользователей. Значит, если всегда создавать документы с самыми новыми настройками защиты, некоторые пользователи, все еще использующие предыдущие версии программ, не смогут работать с такими документами. А период времени, по истечении которого у подавляющего большинства пользователей будет установлена версия программы, поддерживающая длинные ключи, иногда исчисляется годами.
В некоторых странах, например во Франции, были свои ограничения, отмененные позже, чем в США, и документы, созданные версиями программ, которые были предназначены для таких стран, гораздо дольше не защищались длинными ключами. Ну и, разумеется, далеко не все разработчики после снятия экспортных ограничений (окончательно произошедшего в октябре 2000 года) оперативно выпустили обновленные версии своих продуктов. Как следствие всего перечисленного выше, сейчас (на конец 2003 года) документы, защищенные 40-битовыми ключами, встречаются гораздо чаще, чем документы, при зашифровании которых использовались более длинные ключи. Если рассматривать все форматы представления данных, поддерживающих защиту шифрованием, то грубо можно выделить три уровня защиты (по максимальному времени, затрачиваемому на получение расшифрованных данных). 1. Моментальные — пользователю придется ждать менее минуты. 2. Гарантированные — ключ может быть найден на современной технике за время, соизмеримое со временем жизни человека. 3. Стойкие — невозможно дать гарантию, что данные когда-либо удастся расшифровать.
Учитывая развитие вычислительной техники, некоторые зашиты со временем могут переходить в более низкий (по номеру и стойкости) уровень. На настоящий момент к первому уровню можно отнести защиты, в которых применяются нестойкие алгоритмы, а также алгоритмы с ключами длиной до 32 бит. Алгоритмы второго уровня работают с ключами, длина которых лежит в диапазоне от 32 до 64 бит, хотя даже 56-битовый ключ на персональном компьютере будет подбираться очень долго. Несколько лет назад соотношение этих трех уровней было примерно следующим. Основная масса защит попадала на первый уровень. Правильно реализованные защиты (использовавшие стойкое шифрование с 40-битовьш ключом) попадали на третий уровень, и совсем уж редкие экземпляры оказывались между ними — на втором уровне. Сейчас основная масса защит с третьего уровня перешла на второй, и именно он теперь является самым наполненным. Зато появились и новые представители третьего уровня, использующие 128-битовые ключи. И им переход на второй уровень в обозримом будущем не грозит. Ну а общие тенденции таковы, что в скором будущем основная масса защит, которые сейчас находятся на втором уровне, будет обновлена и прочно обоснуется на третьем уровне. Второй уровень практически исчезнет, а на первом будут либо новые защиты, авторы которых еще ничего не знают о криптографии, либо очень старые защиты, которые больше не обновляются, но продолжают использоваться.