Домашняя работа Скремблер



Скачать 29.22 Kb.
НазваниеДомашняя работа Скремблер
Дата22.03.2013
Размер29.22 Kb.
ТипДокументы
источник
1. /Домашнее задание.docДомашняя работа Скремблер

Домашняя работа

Скремблер.


Цель: реализовать программу, шифрующую данные по алгоритму скремблера.

Теоретические сведения.


Суть скремблирования заключается в побитном изменении проходящего через систему потока данных. Практически единственной операцией, используемой в скремблерах является XOR – "побитное исключающее ИЛИ". Параллельно прохождению информационного потока в скремблере по определенному правилу генерируется поток бит – кодирующий поток. Как прямое, так и обратное шифрование осуществляется наложением по XOR кодирующей последовательности на исходную.

Генерация кодирующей последовательности бит производится циклически из небольшого начального объема информации – ключа по следующему алгоритму. Из текущего набора бит выбираются значения определенных разрядов и складываются по XOR между собой. Все разряды сдвигаются на 1 бит, а только что полученное значение ("0" или "1") помещается в освободившийся самый младший разряд. Значение, находившееся в самом старшем разряде до сдвига, добавляется в кодирующую последовательность, становясь очередным ее битом (см. рис.1).


Рис.1.

Из теории передачи данных криптография заимствовала для записи подобных схем двоичную систему записи. По ней изображенный на рисунке скремблер записывается комбинацией "100112" – единицы соответствуют разрядам, с которых снимаются биты для формирования обратной связи.

Рассмотрим пример кодирования информационной последовательности 0101112 скремблером 1012 с начальным ключом 1102.

На первом шаге берется самый правый бит ключа. В данном случае 0. Над этим битом и первым битом информационной последовательности (в нашем случае 0) выполняется операция XOR. Результат этой операции является первым битом зашифрованной последовательности. Далее вычисляется новый левый бит ключа. Для этого используется скремблер. Он показывает, над какими битами ключа необходимо выполнить операцию XOR, чтобы получить левый бит ключа. В нашем случае операцию XOR необходимо выполнить над первым и третьем битами. Результат данной операции будет 1. После этого биты ключа сдвигаются вправо, и , вышедший за разрядную сетку, самый правый бит отбрасывается, а левый бит становится равным результату операции XOR, выполненной над битами ключа. В нашем случае он будет равен 1. Тем самым мы получает новый ключ: 111.

На втором шаге опять берется правый бит ключа (1) и ксорится со вторым битом информационной последовательности (1). Результат данной операции становится вторым битом зашифрованной последовательности (0). Далее опять выполняется операция XOR на первым и третьем битами ключа, результатом которой будет 0. Биты ключа сдвигаются вправо и полу чается новый ключ 011.

Данный процесс происходит до тех пор, пока не будут зашифрованы все биты информационной последовательности.

Декодирование заскремблированных последовательностей происходит по той же самой схеме, что и кодирование. Именно для этого в алгоритмах применяется результирующее кодирование по "исключающему ИЛИ" – схема, однозначно восстановимая при раскодировании без каких-либо дополнительных вычислительных затрат. Произведем декодирование полученного фрагмента.

Задание:


Необходимо реализовать программу, которая в качестве входных данных получает ключ и скремблер в двоичном виде, а информационную последовательность в виде строки. Необходимо предусмотреть ввод входных данных (скремблера, ключа, информационной последовательности) с клавиатуры. В результате работы программы должна получаться закодированная информационная последовательность. При этом необходимо предусмотреть возможность вывода на экран значений промежуточных ключей.

Замечания:


  1. Операция XOR имеет следующую таблицу истинности:




X

Y

Результат

0

0

0

0

1

1

1

0

1

1

1

0

Добавить документ в свой блог или на сайт


Похожие:



Если Вам понравился наш сайт, Вы можеть разместить кнопку на своём сайте или блоге:
refdt.ru


©refdt.ru 2000-2013
условием копирования является указание активной ссылки
обратиться к администрации
refdt.ru