Трудоемкость разложения
Таблица 6.3. Трудоемкость разложения больших чисел на множители
Количество бит в двоичном представлении числа | Количество мопс-лет для разложения на множители |
768 | 3-10 5 |
1024 | 3-10 7 |
1280 | 3-10 9 |
1536 | 3-10 11 |
2048 | 3-10 14 |
Сделанные предположения позволяют оценить длину стойкого открытого ключа в зависимости от срока, в течение которого необходимо хранить зашифрованные с его помощью данные в секрете (табл. 6.4). При этом необходимо помнить, что криптографические алгоритмы с открытым ключом часто применяются для защиты очень ценной информации на весьма долгий период времени. Например, в системах электронных платежей или при нотариальном заверении электронной подписи. Идея потратить несколько месяцев на разложение большого числа на множители может показаться кому-то очень привлекательной, если в результате он получит возможность рассчитываться за свои покупки по вашей кредитной карточке. Кроме того, я думаю, что вам совсем не улыбается перспектива быть вызванным через 20 лет на заседание суда, на котором рассматривается дело о наследстве, отстаивать невозможность подделать электронную подпись вашего дедушки. использованную им для составления завещания в вашу пользу.
Таблица 6.4. Рекомендуемая длина открытого ключа (в битах)
Год | Хакер | Крупная корпорация | Правительство |
2000 | 1024 | 1280 | 1536 |
2005 | 1280 | 1536 | 2048 |
2010 | 1280 | 1536 | 2048 |
2015 | 1536 | 2048 | 2048 |
С приведенными в табл. 6.4 данными согласны далеко не все авторитетные криптографы. Некоторые из них наотрез отказываются делать какие-либо долгосрочные прогнозы, считая это бесполезным делом. Другие, например, специалисты из АНБ, чересчур оптимистичны, рекомендуя для систем цифровой подписи длину открытого ключа всего 512—1024 бита, что в свете данных из табл. 6.4 является совершенно недостаточным для обеспечения надлежащей долговременной защиты.
Какой длины должен быть ключ
Криптоаналитическая атака против алгоритма шифрования обычно своим острием бывает направлена в самое уязвимое место этого алгоритма.
Например, для организации шифрованной связи часто используются криптографические алгоритмы как с секретным, так и с открытым ключом. Такая криптосистема называется гибридной. Стойкость каждого из алгоритмов, входящих в состав гибридной криптосистемы, должна быть достаточной, чтобы успешно противостоять вскрытию. Например, глупо применять симметричный алгоритм с ключом длиной 128 бит совместно с асимметричным алгоритмом, в котором длина ключа составляет всего 386 бит. И наоборот, не имеет смысла задействовать симметричный алгоритм с ключом длиной 56 бит вместе с асимметричным алгоритмом с ключом /шиной 1024 бита.
В табл. 6.5 перечисляются пары длин ключей для симметричного и асимметричного криптографического алгоритма, при которых стойкость обоих алгоритмов против криптоаналитической атаки методом тотального перебора приблизительно одинакова. Из данных, приведенных в табл. 6.5, например, следует, что если используется симметричный алгоритм со 112-битным ключом, то вместе с ним должен применяться асимметричный алгоритм с 1792-битным ключом. Однако на практике ключ для асимметричного алгоритма шифрования обычно выбирают несколько более стойким, чем для симметричного, поскольку с помощью первого защищаются значительно большие объемы информации и на более продолжительный срок.
Таблица 6.5. Длины ключей для симметричного и асимметричного алгоритмов шифрования с одинаковой стойкостью против криптоаналитической атаки методом тотального перебора
Длина ключа для симметричного алгоритма | Длина ключа для асимметричного алгоритма |
56 | 384 |
64 | 512 |
80 | 768 |
112 | 1792 |
128 | 2304 |