Въведение в симетричните алгоритми
Симетричните алгоритми, известни още като алгоритми за секретен ключ, се използват широко при криптиране на групови данни или поток от данни. Това е вид криптографски алгоритъм, който криптира и декриптира данните, като използва същия ключ (което прави този алгоритъм симетричен). Той се нарича секретен ключ, защото използваният ключ се пази в тайна от системите, които участват в процеса на криптиране и декриптиране. Криптирането, извършено от този алгоритъм, не е лесно да се прекъсне, ако човекът, който се опитва да дешифрира, няма секретния ключ, ще трябва да използва съвременни техники, за да го разбие. По принцип тези алгоритми са много бързи, което е още по-голяма причина, че се използват, когато има нужда от криптиране в големи количества данни. Fig1.a изобразява основното симетрично криптиране на ключовете:
Фигура1.a Шифроване на симетричен ключ
Видове симетрични алгоритми
Широко симетричните алгоритми се класифицират на две
- блок
- поток
Блокиране на алгоритми
Блок алгоритмите криптират блока с данни по блок (много байтове). Блок се отнася до определения набор от битове и тези битове се променят / криптират с помощта на секретен ключ. Има недостатък с блоковите алгоритми, което е, нека приемем, че ще шифроваме данните от мрежовия поток, тези данни се запазват от системата за криптиране в неговите компоненти на паметта. Това задържане на данни се извършва, когато системата действително чака пълни блокове данни. Това време за изчакване може да доведе до пропаст в сигурността, която може да компрометира сигурността и целостта на данните. За да избегнем тази заплаха, можем да намалим блока и да обединим данните с по-рано криптиран блок данни, докато не бъдат получени допълнителни блокове, с прости думи тази техника се нарича обратна връзка. Този алгоритъм ще шифрова само ако е получен целият блок.
Алгоритми на потока
В алгоритмите в поток данните се криптират по байтове и понякога дори по битове. В случая на алгоритъм на потока, данните не се запазват в паметта от системата, следователно може да се каже, че това е много по-безопасно в сравнение с алгоритъма на блока, тъй като данните не се запазват в системата без криптиране.
Освен това, те са няколко типа алгоритми за криптиране, от тези няколко са изброени по-долу
- DES & Triple DES
- RC2
- Blowfish
DES & Triple DES
DES означава стандарт за криптиране на данни, който отнема 64-битов обикновен текст и криптира в 64-битов шифротекст и декриптира обратно с помощта на 56-битов ключ. В DES процесът на криптиране започва с начален етап на пермутация, където ще приема входните данни като 64-битови данни и ще ги преследва по предварително определен начин. Следвана от първоначалната пермутация е, че 16 шифъра на Feistel шифър (шифърът Feistel взема входа и го разделя на две части и прави криптирането само на една част), където всеки кръг ще използва различен 48-битов ключ за шифри. За целите на криптирането и дешифрирането той използва шифър и обръща шифров алгоритъм. Накрая, данните преминават през последния етап на пермутация, за да получат отново шифротекста. Подобно на DES Triple DES не е нищо друго, освен шифърът DES, повторен 3 пъти. Фиг.22.а показва общата архитектура на алгоритъма DES.
Обща архитектура на алгоритъма на DES
RC2
Това е алгоритъм за блоков шифър, при който в началото данните се разделят на размер на блока от 8 байта и тези блокове се обработват отделно. Този алгоритъм се използва широко през 90-те години. Rc2 шифърът използва секретен потребителски ключ, чийто размер може да варира от един байт до 128 байта. Той взема този секретен потребителски ключ и използва алгоритъм за разширяване на ключовете и криптира данните. Този алгоритъм е проектиран по такъв начин, че да може лесно да се реализира в 16-битови микропроцесори. Тук няма кръгове на Feistel, вместо това данните преминават 18 кръга от смесване и смилане. Fig2.b показва общата архитектура на RC2 алгоритъма.
Обща архитектура на RC2 алгоритъм
Blowfish
Това е асиметричен алгоритъм, който замества DES. Тук използваният размер на блока е 64 бита, а размерите на ключовете варират от 32 до 448 бита. Шифроването с помощта на фиф се състои основно от два етапа
- Кръгла функция
- Работа на изхода
Кръглата функция изпълнява следните стъпки
- Ключово избелване, при което се взема лявата част от входните данни и се извършва изключителна операция ИЛИ върху нея.
- Във втората стъпка използва S-кутии, тези S-кутии картографират 8-битови данни до 32-битови и изходът се приема за комбиниране с комбинация от операции на добавяне и XOR
- Горните две стъпки, комбинирани заедно, наричани F функция. С изхода на функцията F и дясната страна на входните данни се извършва операция XOR.
- Последната стъпка включва смяна на продукцията.
Изходната функция разкрива крайния суап и извършва избелване на изхода. Резултатът от тази функция е шифротекст на муха. Дешифрирането с фиф включва използването на същата структура като криптирането, тъй като използва Feistel шифър, но кръглите клавиши трябва да се използват в обратен ред. Основното предимство на този алгоритъм е, че той е достъпен в публичното пространство, така че да е лесно достъпен. Недостатъците всъщност са малко отнемащи време за генериране на клавишите и ако размерът на блока е малък, той е уязвим за атаки.
Приложения на симетрични алгоритми
Някои от местата, където се използва алгоритъмът за симетрично криптиране, са
- Транзакциите с карти се използват за предотвратяване на кражби на самоличност и измамни транзакции.
- За да потвърдите самоличността на пратеника.
- Хеширане и генериране на произволни числа
- Криптиране на база данни
Заключение - Симетрични алгоритми
Симетричните алгоритми са много по-бързи и ефективни в сравнение с асиметричните алгоритми. Това е още повече причината, поради която те се използват в масово криптиране. Но недостатъкът му е, че управлението на ключовете е много изчерпателно, следователно поддръжката в голям мащаб е досадна задача, при която трябва да имаме висококачествена сигурност, за да постигнем това, трябва да поддържаме жизнения цикъл на ключа, генериран с помощта на отделната система, Следователно винаги трябва да използваме правилно криптиране, за да избегнем всякакви атаки срещу нашите данни.
Препоръчителни статии
Това е ръководство за симетрични алгоритми. Тук обсъждаме Въвеждането и типовете симетрични алгоритми заедно с DES & Triple DES. Можете също да прегледате и другите ни предложени статии, за да научите повече -
- Какво е WebSocket?
- Сигурност на уеб приложенията
- Кариера в уеб разработката
- Кариери в уеб дизайна
- Блокиране на шифровите режими на работа
- Примери за C ++ алгоритъм