Често задавани въпроси

Глупави въпроси няма, има само глупави отговори…

абонаменти

За ЧЗВ.нет

Хранилище на отговори на Често Задавани Въпроси. Като начало - основно в сферата на IT ( ИТ, Информационни Технологии... абе компютрите ). Ако не можете да намерите отговора на това, което живо ви интересува - питайте на vupros@chzv.net (опашката от чакащи отговори въпроси се намира на тук ) И за да не се заяждате за транслитерацията можете да изпращате и на vapros@chzv.net, vaprosi@chzv.net, question@chzv.net, faq@chzv.net...

Криптоалгоритми: Алгоритми със секретен ключ

September 11th, 2007 от singu

Алгоритмите за криптиране на данни могат да се разделят на:

  • симетрични алгоритми или алгоритми със секретен ключ (Secret Key Algorithms )
  • асиметрични (несиметрични) алгоритми или алгоритми с публичен ключ (Public Key Algorithms ).

Нека да разгледаме Криптиращи алгоритми със секретен ключ
Те са по-прости, изискват по-малко ресурси и са по-несигурни, защото цялата им сигурност се базира на това, че само изпращащият и получаващият съобщението знаят секретния ключ.

При тези алгоритми процесите на криптиране и декриптиране се реализират с един и същ ключ Ks, т.е.

Ks = Ke = Kd
Е = Fe ( М, Ks )
М = Fd ( Е, Ks )

Ключът Кs е известен само на източника и на получателя на съобщенията и трябва да се пази в тайна от други лица, поради което се нарича секретен ключ.
Съществуват два основни типа криптиращи алгоритми със секретен ключ: блокови и потокови алгоритми или блокови и потокови шифри.
Блоковите алгоритми оперират върху блокове от данни с фиксиран или променлив размер, а потоковите - последователно върху поток от битове, знаци, байтове или думи. При блоковите алгоритми се извършват различни словни преобразувания на блокове от данни, обикновено с фиксиран размер, като един и същ блок от открития текст се трансформира винаги в един и същ криптоблок.
При потоковите алгоритми един и същ бит, знак, байт или дума, според това върху какви части от входните данни се оперира, се преобразува в различен бит, знак, байт или съответно дума (в общия случай, блоковите и потоковите алгоритми оперират със символи от произволна азбука).
При блоково криптиране всеки i-ти блок Mi на открития текст М се преобразува в точно определен i-ти крипто блок Еi на шифрограмата Е, Като Ei зависи само от Mi и секретния ключ Ks
В случай на потоково криптиране, всеки символ ej на шифрограмата Е се определя от съответния символ mj на открития текст М, от секретния ключ Кs и от състоянието на вътрешната памет в момент j .
Потоковите алгоритми реализират относително прости преобразувания, последователно върху малки обеми от данни, най-често един бит, един байт или една дума. Потоковите криптоалгоритми разчитат на това, че ключовите стойности, с които реално се извършва криптирането се изменят постоянно или се създават по определен алгоритъм .
При потоковите алгоритми се генерира ключов поток, който се наслагва (обединява) по някакъв начин с постъпващия даннов поток (обединението на двата потока може да се реализира с помощта на различни математически операции). Генераторът на ключовия поток възпроизвежда непрекъснат поток от битове, байтове или думи, в общия случай - поток от символи. Този ключов поток, понякога наричан работен ключ, се обединява с открития текст и така се получава изходящия криптопоток. При декриптиране, същият работен ключ се обединява (операцията е обратна на тази при криптирането) с постъпващия криптопоток, в резултат на което се възстановява открития текст. За целта работният ключ трябва да може да се възпроизвежда от страната - приемник на криптираните съобщения.
От гледна точка на зависимостта на генерирания ключов поток, потоковите алгоритми могат да бъдат класифицирани на две основни групи: потокови алгоритми с независим ключов поток и потокови алгоритми със зависим ключов поток.
В първият случай ключовият поток се генерира самостоятелно и независимо от постъпващия поток на открития текст и от шифротекста.
Ето и блоксхемата на реализация на такъв шифър

потоков алгоритъм с независим ключов поток

където:
К - секретен генераторен ключ, управляващ генератора на ключов поток, kj - i-ти елемент (символ) на ключовия поток.

При самата генерация на ключовия поток могат да се използват различни методи.
Ако ключовият поток е редица от напълно случайни елементи (символи), използва се само веднъж и е дълъг толкова, колкото е дълъг самия открит текст, тогава се говори за еднократно използваема таблица за криптиране (one time pad). При това, криптирането се извършва чрез обединяваща операция (FE) между j-я символ (mj) на открития текст и j-я символ от таблицата. В теорията на секретността се доказва, че този начин на криптиране е теоретически и практически неразбиваем.

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

Публикувано в Сигурност, ЧЗВ |

Един коментар

  1. Често задавани въпроси » Blog Archive » Криптоалгоритми: Алгоритми с публичен ключ и цифрови подписи пише:

    [...] Криптоалгоритми: Алгоритми със секретен ключ [...]

Коментирайте

Внимание: Модерирането на коментари е включено и може да доведе до забавяне на публикуването на вашият коментар. Моля за търпение.