Билет номер 5

Симетрични криптосистеми(същосиметрично криптиране,симетрични шифри) е метод на криптиране, при който един и същ криптографски ключ се използва за криптиране и декриптиране. Преди изобретяването на схемата за асиметрично криптиране единственият съществуващ метод беше симетричното криптиране. Ключът на алгоритъма трябва да се пази в тайна и от двете страни. Алгоритъмът за криптиране се избира от страните преди обмена на съобщения.

Алгоритмите за криптиране и декриптиране на данни се използват широко в компютърните технологии в системи за скриване на поверителна и търговска информация от злонамерена употреба от трети страни. Основният принцип в тях е условиетопредавателят и приемникът да знаят предварително алгоритъма за криптиране, както и ключа на съобщението, без който информацията е просто набор от знаци, които нямат смисъл.

Класически пример за такива алгоритми сасиметричните криптографски алгоритми, изброени по-долу:

Единична пермутация по ключ

Пермутация "Магически квадрат"

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

Единична пермутация по ключ

По-практичен метод за криптиране, наречен пермутация с един ключ, е много подобен на предишния. Различава се само по това, че колоните на таблицата са пренаредени по ключова дума, фраза или набор от числа с дължина на редмаси.

Този метод е известен като двойна пермутация. За да направите това, размерът на втората таблица е избран така, че дължините на нейните редове и колони да са различни от тези в първата таблица. Най-добре е да са взаимнопрости. Освен това в първата таблица могат да се пренареждат колони, а във втората - редове. Накрая можете да попълните масата на зигзаг, змия, спирала или по друг начин.

Пермутация на магически квадрат

Магическите квадратиса квадратни таблици с последователни естествени числа от 1, вписани в техните клетки, които дават на сбора на всяка колона, всеки ред и всеки диагонал едно и също число. Такива квадрати са били широко използвани за въвеждане на шифрован текст според номерацията, дадена в тях. Ако след това изпишете съдържанието на таблицата ред по ред, тогава получавате криптиране чрез пренареждане на буквите. На пръв поглед изглежда, че има много малко магически квадрати. Техният брой обаче нараства много бързо с увеличаване на размера на квадрата. По този начин има само един магически квадрат 3 x 3, ако не вземете предвид неговите завъртания. Вече има 880 магически квадрата 4 x 4, а броят на магическите квадрати 5 x 5 е около 250 000. Следователно големите магически квадрати биха могли да бъдат добра основа за надеждна система за криптиране от онова време, тъй като ръчното изброяване на всички ключови опции за този шифър беше немислимо.

Числата от 1 до 16 се побират в квадрат 4 на 4.

Криптирането на магически квадрат беше извършено както следва. Например искате да шифровате фраза. Буквите на тази фраза са вписани последователно в квадрата според числата, написани в тях: позицията на буквата в изречението съответства на поредния номер. В празните клетки се поставя точка.

GOST 28147-89 е блоков шифър с 256-битов ключ и 32 цикъла на преобразуване, работещ върху 64-битови блокове. В основата на алгоритъма е вече познатата ни мрежа Feishtel. Основният режим на криптиране съгласно GOST 28147-89 е режимът на проста замяна (дефинирани са и по-сложни режими на гама и обратна връзка). Нека разгледаме по-подробно механизма на алгоритъма.

При работа с GOST 28147-89 информацията се криптира в блокове от 64 бита (такива алгоритми се наричат ​​блокови алгоритми), които след това се разделят на два подблока от 32 бита (N1 и N2). След обработката на подблок N1 неговата стойност се добавя към стойността на подблок N2 (добавянето се извършва по модул 2, т.е. прилага се логическата операция XOR - изключително ИЛИ), след което подблоковете се разменят. Тази трансформация се извършва определен брой пъти (ръндове): 16 или 32 в зависимост от режима на алгоритъма. Във всеки кръг се извършват две операции (фигурата по-долу).

Преобразуването се извършва определен брой пъти

Първата операция включва налагането на ключ. Съдържанието на подблок N1 се добавя по модул 2 към 32-битовата част на ключа Kx. Пълният ключ за криптиране е представен като конкатенация от 32-битови подключове: K0, K1, K2, K3, K4, K5, K6, K7. Процесът на криптиране използва един от тези подключове в зависимост от кръглото число и режима на алгоритъма.

Втората операция извършва подмяна на таблица. След въвеждане на ключ, подблок N1 се разделя на осем части от четири бита, стойността на всеки от които се заменя в съответствие с таблицата за заместване за тази част от подблока. След това подблокът се завърта побитово наляво с 11 бита.

Алгоритъмът, определен от GOST 28147-89, може да работи в четири режима:

1.Просто заместване;2.Мащабиране;3.Мащабиране с обратна връзка;4.Генериране на префикс за симулация.

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

В режима на проста замяна, 32-те кръга, описани по-горе, се изпълняват за криптиране на всеки 64-битов блок информация. Всеки от блоковете е криптиран независимо един от друг, тоест резултатът от криптирането на всеки блок зависи само от неговото съдържание (съответния блок източник). Ако има няколко идентични блока от оригиналния (обикновен) текст, съответните блокове от шифрован текст също ще бъдат еднакви, което предоставя допълнителна полезна информация за криптоаналитик, който се опитва да отвори шифъра. Следователно този режим се използва главно за криптиране на самите ключове за криптиране (често се прилагат многоключови схеми, при които по редица причини ключовете се криптират един върху друг). За криптиране на самата информация са предвидени два други режима на работа: гама и гама с обратна връзка.

Ако е необходим следващ блок от гама (т.е. криптирането или декриптирането трябва да продължи), върнете се към стъпка 2. За декриптиране гамата се генерира по същия начин и след това шифрованият текст и гама битовете отново се подлагат на XOR.

Към днешна дата алгоритъмът GOST 28147-89 напълно отговаря на всички изисквания на криптографията и има същите предимства като другите алгоритми, но е лишен от техните недостатъци. Очевидните предимства на този алгоритъм включват:

1.ефективност на внедряване и съответно висока производителност на съвременни компютри;

2.безсмислието на силовата атака (XSL атаките не се вземат предвид, тъй като тяхната ефективност не е напълно доказана в момента).

Въпреки това, както винаги се случва, алгоритъмът не е без недостатъци: тривиално е доказано, че GOST има „слаби“ ключове и S-кутии, но стандартът не описва критериите за избор и елиминиране на „слабите“. Освен това стандартът не определя алгоритъм за генериране на S-кутии (таблици за заместване). От една страна, това може да бъде допълнителна секретна информация (в допълнение към ключа), а от друга страна, това поражда редица проблеми: невъзможно е да се определи криптографската сила на алгоритъма, без да се знае предварително таблицата за заместване; реализациите на алгоритъма от различни производители могат да използват различни таблици за заместване и може да не са съвместими една с друга.