Производительность открытого SSL на большом тексте - PullRequest
0 голосов
/ 26 апреля 2011

В настоящее время я использую openSSL в Linux c. Я хотел бы спросить, всегда ли размер блока шифра установлен на 16 беззнаковых символов? Причина этого в том, что я шифрую огромные данные. Проблема основана на описании SSL, зашифрованный блок шифра предыдущего блока является XOR для следующего блока простого текста при шифровании. Есть ли способ уменьшить размер блока шифра?

Например, если бы у меня был гигабайт данных для шифрования, это заняло бы гигабайт / 16-байтовое время шифрования. Существует ли стандартный способ заставить вызов метода AES_cbc_encrypt использовать vi, который не является 16-байтовым? Чем еще следует стандарт? Причина этого в том, что зашифрованный текст будет прочитан другой программой в другой системе, которая использует другую стандартную библиотеку CGC.

Ответы [ 2 ]

2 голосов
/ 26 апреля 2011

Нет, стандарт AES предписывает 16-байтовый размер блока.Исходный алгоритм, на котором он основывался, Rijndael, позволял большую гибкость, но вы не можете полагаться на другую реализацию AES для поддержки этого.

1 голос
/ 26 апреля 2011

Для блочных шифров размер блока является свойством рассматриваемого алгоритма.Например, DES использовал 8 байтов.Потоковые шифры (например, RC4) не используют фиксированные размеры блоков, они фактически являются псевдослучайными генераторами, засеянными ключом.

Но в любом случае производительность шифров публикуется с учетом размера блоков.и AES делает около 160 Мбайт / с на недавнем процессоре.Вы можете измерить это, используя «openssl speed aes».

Итак, если вы хотите зашифровать 1 Гб данных, я бы больше интересовался перемещением всех этих данных с диска, в память и обратно, а нескорость шифрования самой AES.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...