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

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

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

Спасибо

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


person Jey Geethan    schedule 08.03.2010    source источник
comment
Может быть, вы могли бы добавить некоторую информацию о том, что вы хотели бы сделать с алгоритмом?   -  person Jacco    schedule 08.03.2010


Ответы (2)


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

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

person Seva Alekseyev    schedule 08.03.2010
comment
Можем ли мы реализовать 8-битный RSA в .NET?? - person Jey Geethan; 10.03.2010
comment
Я так не думаю. И, как мы с Томаном уже сказали, это практически полное отсутствие шифрования. - person Seva Alekseyev; 10.03.2010

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

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

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

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

person Thomas Pornin    schedule 08.03.2010