Вопрос

Какое минимальное количество битов необходимо для представления одного символа зашифрованного текста.

например, если бы я хотел зашифровать букву «а», сколько бит мне потребовалось бы.(предположим, что существует множество отдельно зашифрованных символов, использующих один и тот же ключ.)

Прав ли я, думая, что это будет размер ключа.например 256 бит?

Это было полезно?

Решение

Боюсь, все ответы, которые вы получили до сих пор, совершенно неверны!Кажется, я не могу им ответить, но спросите, нужна ли вам дополнительная информация о том, почему они неправы.Вот правильный ответ:

Около 80 бит.

Вам понадобится несколько битов для «nonce» (иногда называемого IV).При шифровании вы объединяете ключ, открытый текст и одноразовый номер для создания зашифрованного текста, и вы никогда не должны использовать один и тот же одноразовый номер дважды.Итак, насколько большим должен быть nonce, зависит от того, как часто вы планируете использовать один и тот же ключ;если вы не будете использовать ключ более 256 раз, вы можете использовать 8-битный одноразовый номер.Обратите внимание, что только шифрующая сторона должна гарантировать, что она не использует одноразовый номер дважды;дешифрующей стороне нужно позаботиться только о том, чтобы предотвратить атаки повторного воспроизведения.

Для полезной нагрузки вам понадобится 8 бит, поскольку именно столько бит у вас есть в открытом тексте.

Наконец, вам понадобится около 64 бит для тега аутентификации.При такой длине злоумышленнику приходится в среднем попробовать минимум 2^63 фиктивных сообщения, прежде чем одно из них будет принято удаленной стороной.Не думайте, что без тега аутентификации можно обойтись;это важно для безопасности всего режима.

Объедините их, используя AES в режиме цепочки, например EAX или GCM, и вы получите 80 бит зашифрованного текста.

Размер ключа не имеет значения.

Другие советы

Хотя вопрос несколько размыт, в первую очередь он будет зависеть от того, используете ли вы поточный шифр или блочный шифр.

Для потокового шифра вы получите то же количество бит, что и ввели, поэтому двоичный логарифм размера вашего входного алфавита будет иметь смысл.Блочный шифр требует входных блоков фиксированного размера, поэтому вы можете дополнить букву «а» нулями и зашифровать ее, эффективно имея минимальный размер блока, как вы уже предлагали.

Вы можете иметь то же количество бит, что и открытый текст, если используете одноразовый блокнот.

Трудно ответить.Вам определенно следует сначала прочитать некоторые основы.Вы можете «зашифровать» «а» с помощью одного бита (стиль кодирования Хаффмана), и, конечно, вы также можете использовать больше битов.Число вроде 256 бит без какого-либо контекста бессмысленно.

Вот кое-что для начала:Теория информации -- особенно.ознакомьтесь с основополагающей статьей ШеннонОдноразовый блокнот -- печально известная безопасная, но непрактичная схема шифрования.Кодирование Хаффмана -- не шифрование, но демонстрирует вышеуказанный пункт

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top