Потоковый шифр против блочного шифра | Государственный шифр против блочного шифра
В криптографии потоковые шифры и блочные шифры представляют собой два алгоритма шифрования / дешифрования, которые принадлежат к семейству шифров с симметричным ключом. Обычно шифр принимает обычный текст в качестве входных данных и создает шифротекст в качестве выходных данных. Блочные шифры шифруют блок битов фиксированной длины, используя неизменное преобразование. Потоковые шифры шифруют потоки битов различной длины и используют разные преобразования для каждого бита..
Что такое потоковый шифр?
Потоковые шифры относятся к семейству симметричных ключей. Потоковые шифры объединяют биты простого текста с потоком битов псевдослучайных шифров с использованием операции XOR (исключая или). Потоковые шифры шифруют простые текстовые цифры по одной с различными преобразованиями для последовательных цифр. Поскольку шифрование каждой цифры зависит от текущего состояния механизма шифрования, потоковые шифры также известны как шифры состояния. Как правило, отдельные биты / биты используются как однозначные цифры. Во избежание проблем с безопасностью следует убедиться, что одно и то же начальное состояние используется не более одного раза. Наиболее широко используемый потоковый шифр - RC4.
Что такое блочный шифр?
Блочный шифр - это другой симметричный ключевой шифр. Блочные шифры работают с блоками (группами битов) фиксированной длины. Блочные шифры используют фиксированное (неизменное) преобразование для всех цифр в блоке. Например, когда x-битный текстовый блок (вместе с секретным ключом) предоставляется в качестве входных данных для механизма блочного шифрования, он создает соответствующий x-битный блок зашифрованного текста. Фактическое преобразование зависит от секретного ключа. Точно так же алгоритм дешифрования восстанавливает исходный x-битный блок открытого текста, используя x-bit блок зашифрованного текста и вышеуказанный секретный ключ в качестве входных данных. Если входное сообщение слишком длинное по сравнению с размером блока, оно будет разбито на блоки, и эти блоки будут (индивидуально) зашифрованы с использованием того же ключа. Однако поскольку используется один и тот же ключ, каждая повторяющаяся последовательность в простом тексте становится одной и той же повторяющейся последовательностью в зашифрованном тексте, и это может вызвать проблемы безопасности. Популярными блочными шифрами являются DES (стандарт шифрования данных) и AES (расширенный стандарт шифрования).
В чем разница между потоковым шифром и блочным шифром?
Хотя потоковые и блочные шифры принадлежат к семейству симметричных шифровальных шифров, существуют некоторые ключевые различия. Блочные шифры шифруют блоки битов фиксированной длины, в то время как потоковые шифры объединяют биты простого текста с потоком битов псевдослучайных шифров, используя операцию XOR. Несмотря на то, что блочные шифры используют одно и то же преобразование, потоковые шифры используют переменные преобразования в зависимости от состояния двигателя. Потоковые шифры обычно работают быстрее, чем блочные шифры. С точки зрения аппаратной сложности потоковые шифры относительно менее сложны. Потоковые шифры являются типичным предпочтением по сравнению с блочными шифрами, когда простой текст доступен в различных количествах (например, для защищенного Wi-Fi-соединения), поскольку блочные шифры не могут работать непосредственно с блоками короче, чем размер блока. Но иногда разница между потоковыми и блочными шифрами не очень очевидна. Причина заключается в том, что при использовании определенных режимов работы блочный шифр можно использовать в качестве потокового шифра, позволяя ему шифровать наименьшую доступную единицу данных..