Симулация на работа на системата за скремблер

системата

Sn = Kn XOR (Sn - 1 XOR Sn –3) Kn n = Sn XOR (Sn - 1 XOR Sn - 3) x 3 + x 2 + 1 Фиг. 3

работа
Kn Sn Sn Kn n

скремблер
Kn Sn Sn Kn n

Нека намерим думата за скремблер, т.е. псевдослучайна последователност (PSP) от битове на изхода Sn при Kn = const на входа, записвайки за тази стъпка по стъпка състоянията на регистъра за смяна RG, ​​за например за веригата на фиг. 4.

За Kn = 0 и начално състояние RG = 111 имаме:

Получаваме максималната дължина на думата (2 3 - 1) = 7 бита S (n) = 0010111. Ако вземем Kn = 1, RG = 000, тогава получаваме обратното S (n) = 1101000. За други начални условия, дължината на думата на скремблера ще бъде по-малка от максималната.

Схематична диаграма на прототипен скремблер/дескремблер.

скремблер

Система за скремблер/дескремблер със сменяем таен ключ.

Речев сигнал, дигитализиран например от δ-модулатор (фиг. 2 и 3, раздел 2.2.), Може да се разглежда като непрекъснат поток от битове.

Простите и евтини начини за хардуер и софтуер са:

Гама методът (фиг. 1), използващ суматори по модул две и две еднакви от приемащата и предаващата страна на PSP генераторите като ключове за криптиране и декриптиране. Потокът ключови битове се нарича гама.

Устройства за скремблер/дескремблер, базирани на регистър на смяна с добавящи обратна връзка за модул два, обсъдени в раздели 2.4. и 2.5.

Кодекът (кодер/декодер) на дигитализиран речев сигнал, базиран на схемата на фиг. 1, изисква в реално време началото на кодирането и началото на декодирането да са строго във фаза, с битова точност след всяка реч "микропауза". Преместването на ключа K спрямо шифъра Ci само с един бит води до пълно нарушаване на процеса на декодиране от приемащата страна, тъй като генераторите на честотна лента за предаване и приемане не са синхронизирани. Този проблем се решава с помощта на сложни и скъпи, както софтуер, така и хардуер. Въпреки това, кодекът, работещ съгласно схемата на фиг. 1, има несъмнено предимство: наличието на таен ключ.

Кодекът, базиран на регистъра на смяната, е прост и евтин и има свойството на самосинхронизация, което означава, че след няколко тактови цикъла (не повече от броя на битовете на регистъра на смяната) състоянията на кодера и декодера се регистрират влиза в режим на съвпадение, след което се установява нормална работа на кодека, когато yi = xi.

Няма обаче много различни схеми за обратна връзка с регистър на смяната. Следователно, чрез прихващане на Ci шифъра на комуникационната линия, е възможно да се отвори конфигурацията на скремблера.

Нека разгледаме един прост и евтин кодек (скрамблер/дескремблер), работещ с таен ключ, записан в чипове памет ROM1 и ROM2 (фиг. 2).

системата
скремблер

Например за p = 8 получаваме: дължина на ключа M = 2 256 = 1,15 * 10 77 .

В раздел 2.3 е доказано, че за скремблер/дескремблер с ключ на ROM, равенството yi = xi.

Нека сега докажем, че свойството за самосинхронизация също се отнася. Нека вземем възможен алгоритъм за функционирането на модела на нашата система.

скремблер

Системата се възбужда от тактови импулси, чийто генератор е от предавателната страна и устройството за отделянето им от приетия сигнал от приемащата страна не са показани на фигурата.

Системата има свойството на самосинхронизация, което означава, че след определен брой тактови цикли състоянието на регистрите става същото:

За следващите тактови цикли равенството yi = xi възниква за всякакви клавиши, които са еднакви за приемника и предавателя:

Нека го докажем. Всъщност от (1) следва, че битовете на ключовете ще започнат да съвпадат:

Според редове 6-7 от алгоритъма ще имаме:

Но тъй като KiKi = 0, тогава получаваме за самосинхронизация yi = xi.

Броят на тактовите цикли, необходими за постигане на самосинхронизация, се определя от разликата в началните състояния на регистрите и броя на битовете в тях.

Нека RG има p-цифри. Разгледайте набора от подгрупи от най-малко значимите битове от двоичното число N на състоянието на регистъра, т.е. следните подгрупи от най-малко значимите битове:

Нека обозначим битовете на регистъра RG1 със символите 'a', битовете на регистъра RG2 със символите 'b'.

Тъй като същата информация Ci  се записва в регистрите по време на операцията на смяна в регистрите, са възможни следните случаи:

Ако най-малко бита както на началното, така и на следващото състояние на регистрите съвпадат:

тогава каквато и да е информация Ci (или 0 или 1) се записва в най-малко значимия бит от регистрите, след този тактов цикъл, вече m + 1 най-малко значими бита ще съвпадат.

N1 =… x101, където x - без значение какъв бит;

След превключване при Ci = 1 получаваме:

N1 = ... x1011 - четири най-малко значими бита съвпадат,

След превключване при Ci = 1:

N1 = ... x1010 - четири най-малко значими бита съвпадат.

Следователно в (p - m) ще започне пълно съвпадение на състоянията на регистрите и във всеки следващ цикъл ще бъде N1 = N2, независимо от следващата стойност на Ci.

Ако в началните състояния на регистрите няма съвпадения за всяка подгрупа от най-малко значимите битове, т.е. m = 0, тогава самосинхронизацията се установява след p цикли. Например нека p = 4 и нека числото N1 е в RG1, а числото N2 в RG2. Тогава за следващите отмествания с произволен Ci получаваме: