Существует ли алгоритм шифрования с открытым ключом размером 8 битов? - PullRequest
2 голосов
/ 08 марта 2010

Я проверил TripleDES. Размер блока составляет 64 бита.

Есть ли алгоритм для блока размером 8 бит?

Спасибо

РЕДАКТИРОВАТЬ: Я намерен не использовать это для идеальной защиты, но для ситуации на случай, когда тот, кто видит код, не должен найти открытый текст. Так что 8 бит для меня нормально.

Ответы [ 2 ]

6 голосов
/ 08 марта 2010

Блочный шифр с 8-битными блоками означает, что каждый входной блок может быть зашифрован до 256 возможных значений - это означает, что у злоумышленника есть шанс 1/256 угадать входное значение. Оказывается, очень трудно безопасно использовать такой алгоритм. Тем не менее, возможно определить блочный шифр для 8-битных блоков и сделать это "идеально"; только не ожидайте, что это будет вообще полезно.

Существуют также «блочные» шифры, известные как «потоковые шифры», которые шифруют данные «побайтно» (или даже «побитово»); большинство из них являются просто псевдослучайными генераторами, которые вырабатывают произвольное количество байтов из ключа. Этот сгенерированный поток просто нужно объединить с данными для шифрования с помощью XOR. Традиционный потоковый шифр - RC4; но были разработаны новые и лучшие потоковые шифры.

Блочный шифр сам по себе является математическим инструментом. Чтобы фактически зашифровать данные, блочный шифр должен использоваться правильно. Ключевые слова: сцепление и заполнение . Цепочка - это определение того, что на самом деле входит в блочный шифр и что делать с выводом. Заполнение - это добавление нескольких байтов к данным обратимым образом, чтобы длина дополненного сообщения соответствовала выбранному режиму цепочки. Традиционный режим цепочки называется CBC . Более новым (и, возможно, лучшим) режимом цепочки является CTR (та же ссылка), который имеет дополнительный бонус, позволяющий избежать необходимости заполнения (CTR просто превращает блочный шифр в потоковый шифр).

Что касается блочных шифров, вы должны использовать AES вместо TripleDES. Это быстрее, безопаснее и соответствует американским стандартам.

2 голосов
/ 08 марта 2010

RSA с 8-битным ключом:)

Если серьезно, то основанные на блоках шифры не имеют состояния - шифротекст блока зависит только от открытого текста блока, а не от предыдущих блоков (в противном случае это будет потоковый шифр). Блочный шифр, действующий на 8-битных блоках, может быть легко взломан, так что нет никакого смысла.

...