Сравненителна характеристика на криптографски алгоритми
1. Икономически университет – Варна
Център “Магистърско обучение”
Реферат по „Безопасност и защита на компютърни
системи и приложения”
на тема:
Сравнителна характеристика на
криптографски алгоритми
Изготвил: Проверили:
Ваня Иванова СИН 400525 ДОЦ. Д-Р С. Дражев
ИТ иновации в бизнеса, 5 курс, 10 група АС. Р. Начева
Варна, 2015г.
3. 2
1. Увод
С появата на писмеността се появява и криптографията. От гръцки
криптография означава тайнопис (κρυπτός - „скрит“ и γράφω - „пиша“). Тя е една от
най-старите науки в света. Днес намира все по-широко приложение в областта на
компютърните науки и се характеризира с усложняване на прилаганите алгоритми за
шифриране. Същността им се състои в шифриране и дешифриране на данните.
Криптографските алгоритми се използват в редица случаи. Например, за
удостоверяване самоличността на подателя чрез подписване с електронен подпис,
за защита на данните при банкови преводи и небанкови плащания, което от своя
страна спомага за навлизане на електронното банкиране и улеснява платежните
операции. С развитието на комуникационните технологии се променят начините на
общуване и пазаруване. Наред с положителните страни на бързоразвиващата се
глобална инфраструктура идва и един важен проблем – сигурността на данните ни.
Без сигурен метод за криптиране на информацията да се прави електронен бизнес е
невъзможно.
2. Криптографскиалгоритми
Kриптографските алгоритми подлежат на класификация по различни
класификационни признаци. Като такъв, най-често се използва свойството симетрия
на алгоритмите. По този признак те се разделят на симетрични и асиметрични.
2.1. Симетрични алгоритми (наричат се още шифри със секретен ключ) –
при тях се използва един и същ ключ за криптиране и декриптиране. Двете
страни обменящи информация имат предварително придобит, еднакъв
ключ. Те от своя страна се разделят на блокови и потокови алгоритми.
2.1.1. Блокови алгоритми - при тях данните, които подлежат на шифриране
се обработват на групи, като един и същ блок от открития текст се
трансформира винаги в един и същ шифроблок. Те оперират върху
блокове от данни с фиксиран или променлив размер. Най- използваните
блокови шифри са: AES, DES, 3DES, TwoFish. Съществуват два вида
блокови алгоритми – субституционни и транспозиционни.
2.1.1.1. Субституционни алгоритми - При тях на всеки символ от
открития текст се съпоставя друг символ в шифрирания текст. В
случая редът на следване на символите в открития текст се
запазва, но самите символи се променят. Към тези алгоритми се
4. 3
отнасят субституционен шифър на Цезар1, шифър на Виженер2,
едноазбучни шифри3 и многоазбучни4.
2.1.1.2. Транспозиционни алгоритми - символите в открития текст се
запазват, като не се променят, а се променя само тяхното
местоположение в шифротекста. Такива алгоритми са: алгоритъм с
колонна транспозиция и транспозиционен алгоритъм с период.
2.1.2. Потокови шифри - При тях един и същ бит, знак, байт или дума,
според това върху какви части от входните данни се оперира, се
преобразува в различен бит, знак, байт или съответно дума. Оперират
последователно върху потоците. При тях ключовите стойности, с които
се извършва шифрирането се променят непрекъснато или се създават
по определен алгоритъм по време на шифрирането. Най- използваните
поточни шифри са RC4, Fish, Helix, Panama, Phelix, A5/1 и A5/2 при
работа с мобилни комуникации.
По-известните симетрични криптиращи алгоритми са следните:
DES (Data Encryption Standard) и 3DES (Triple DES) - Triple-DES е базиран на
поостарелия алгоритъм DES. Базовият алгоритъм DES отдавна загуби
значението си като стандарт, поради недостатъчна дължина на ключа - 56
бита. DES е уязвим срещу диференциален и линеен криптоанализ, което
съвсем логично води към изместването му от други криптоалгоритми. Той е
най-обстойно анализирания криптоалгоритъм в света, като остава най-масово
използвания шифър. Разработен от екип на IBM и е приет за федерален
стандарт от NIST през ноември 1976 г. 3DES Използва се схемата за
шифриране EDE - Encrypt-Decrypt-Encrypt с DES, с два или три 56 битови
ключа. При Triple-DES, проблемът с малката дължина на ключа при DES е
решена, но нараства сложността и времето за шифриране и дешифриране и
то в такава степен, че Triple-DES е удачен само когато времето за реализация
не е от особено значение.
1 Повече за Шифърът на Цезар - http://goo.gl/rvRN2q
2 Повече за Шифърът на Виженер - http://goo.gl/oq6MdD
3 Едноазбучни шифри - при тях всеки символ от открития текст се представя чрез еднакви букви в
шифротекста.
4 Многоазбучни шифри - един и същ символ от открития текст се представя чрез различни букви в
шифротекста.
5. 4
CAST-128 или CAST5 - Кръстен на създателите си Carlisle Adams и Stafford
Tavares. Разпространява се безплатно. Използва 64-битов или 128 битов ключ
(CAST-128).
IDEA (International Data Encryption Algorithm) - Един от най-разпространените и
сигурни криптографски алгоритми.
RC4 (Ron's Cipher 4) - Представлява блоков алгоритъм проектиран от Рон
Ривест (Ron Rivest) за RSA Data Security5. Дължините на обработвания блок,
на ключа и броят на итерациите са променливи величини. Изисква 23 такта за
байт кодирана информация на Intel Pentium процесор. За сравнение някой от
по- горните алгоритми изискват между 40 и 120 такта.
AES (Advanced Encryption Standard) - AES - Advanced Encryption Standard
Разработен е от двамата белгийски криптографи Джон Даймън и Винсънт
Рижмън. Към момента AES стандарта се използва в цял свят.
2.2. Асиметрични алгоритми (алгоритми с публичен ключ) - при криптирането
се използват двойка ключове - публичен ключ, който криптира информацията
и частен (секретен) ключ при декриптирането. Публичният ключ е достъпен
за света, а частният ключ се държи в тайна на сигурно място. Двата ключа се
генерират едновременно по определен алгоритъм. Всеки от потребителите,
който желае да обменя данни трябва да притежава собствена уникална
двойка публичен и частен ключ.
Най-популярните асиметрични криптиращи алгоритми са следните:
RSA (Rivest Shamir Adleman) – Носи наименованието си от имената на своите
трима създатели Ron Rivest, Adi Shamir и Leonard Adleman. Ключът е с
дължина от 512 до 1024 бита. За формирането на публичния и частния ключ
са необходими две прости числа6. Благодарение на този алгоритъм се
предоставя процедура по подписването на електронен документ и за проверка
автентичността на подписа. Днес RSA е широко използван в редица
платформи и продукти.
5 Повече за RSA Data Security на адрес: http://en.wikipedia.org/wiki/RSA_Security
6 Повече за простите числа на адрес: http://goo.gl/R5oMZ4
6. 5
Алгоритъм на Diffie-Hellman - разработен от авторите Whitfield Diffie and Martin
Hellman през 1976 г. Използват се два ключа за всяко криптиране, което
работи добре и при мрежите без защита. Всеки от ключовете, всъщност
представлява голямо цяло число. Двата ключа са свързани с помощта на
специални изчисления. По този начин става невъзможно декриптирането на
съобщението с ключа, с който е криптиран.
ElGamal – разработен е от Taher Elgamal през 1984 г. Основава се на Diffie-
Hellman.
SHA (Secure Hash Algorithm) – Разработен от NSA7 и NIST8 като правителствен
стандарт за обработка на информация. Този алгоритъм превръща съобщение
(входен текст) в 160-битово извлечение представено като четиридесет
цифрено шестнадесетично число. Разработени са SHA-0, SHA-1, SHA–2, SHA-
3.
DSA (Digital Sighnature Algorithm) – този алгоритъм използва специални
математически функции с две 160 битови числа, произхождащи от
обобщението на документа и частния ключ на подателя. DSA използва
публичния ключ на подателя за удостоверяване на подписа по сложен и силен
алгоритъм. Има високо ниво на устойчивост, но е бавен и натоварва
процесора. Прилага се в механизми за създаване на електронен подпис.
Фиг. 1 представя класификационна схема на криптографските алгоритми.
7 National Security Agency - http://en.wikipedia.org/wiki/National_Security_Agency
8 National Institute of Standards and Technology - http://www.nist.gov/
7. 6
Фиг. 1 Класификационна схема на криптографските
алгоритми
3. Сравнение на криптографски алгоритми
Всеки криптографски алгоритъм има своите предимства и недостатъци. Някои
са по-надеждни от други. Трети са по-лесни за анализиране математически. Изборът
на алгоритъм е решение, което може да бъде повлияно от много фактори. За
улеснение всеки трябва да си отговори да няколко въпроса. Примерни такива са:
За какво ще бъде използван?
Колко лесно и удобно е използването на алгоритъма?
Какво натоварване могат да понесат ресурсите на компютърната система?
Колко съобщения ще бъдат криптирани с един и същи ключ?
Необходима ли е по-голяма случайност в шрифтотекстовете?
и др.
В Таблица 1 и Таблица 2 са представени сравнителни характеристики по видовете
криптографски алгоритми.
8. 7
Таблица 1
Сравнение на симетрични и асиметрични алгоритми
Симетрични алгоритми
DES, 3DES, RC4, AES
Асиметрични алгоритми
RSA, Diffiе-Hellman, SHA, DSA
Предимства
Висока скорост на криптиране и
декриптиране
Двойката ключове (частен и публичен)
могат да бъдат използвани за дълъг
период от време
Доста по-сигурни от симетричните
алгоритми
Лесни за реализация
При мрежа от n участника са необходими
n-двойки ключове
По-голямата част от известните
алгоритми са симетрични
Удобни за създаване на електронен
подпис
Недостатъци
Секретният ключ е един и всяка от
страните може да го компрометира По-бавни са от симетричните
Не са достатъчно сигурни, в
сравнение с асиметричните
Не са удобни за създаване на
електронен подпис Ключът е по-дълъг при използване за
криптиранеОт съображения за сигурност е
нужна честа смяна на ключа
Таблица 2
Сравнение на блокови и потокови алгоритми
Блокови алгоритми
AES, DES, 3DES
Потокови алгоритми
RC4, Fish, Helix
Предимства
Предаването на грешки в един блок
от шифротекста, не оказва влияние в
другите блокове
Високо ниво на сигурност
Имат повече приложения
По-подходящи за хардуерно изпълнение,
тъй като криптират и декриптират на
ниво бит
Осигуряват имунитет на
въвеждането на символи, защото
блоковете са кодирани и е
невъзможно да се вмъкнат единични
символи в един блок
Имат защита срещу всички видове
заплахи за автентичност, тъй като
съобщението съдържа контролна сума
9. 8
Недостатъци
Лесно могат да се вмъкват и
изтриват блокове
По-бавни са от блоковите
Имат грешки при размножаване
Нужна е синхронизация между
изпращача и получателя
Анализират се по-трудно
математически
Необходим е голям брой ключове
Не са подходящи за софтуерни
приложения
4. Заключение
Криптиращите алгоритми са базирани на сложни математически теории,
алгоритмизирани от водещи научноизследователски институти. От направения
сравнителен анализ става ясно, че всеки алгоритъм има своите предимства и
недостатъци. Симетричните шифри са по-бързи и по-прости, в сравнение с
асиметричните, но за сметка на това са по-малко сигурни. Транспозиционните
блокови шифри са по-малко сигурни, в сравнение със субституционните блокови
шифри. При вторите имаме замяна на всеки символ, а не просто промяна на
местоположението му, но за сметка на това те са по-бавни и по-трудни за
реализиране. Блоковите алгоритми се смятат за по-лесно разбиваеми, в сравнение с
потоковите, но се анализират по-трудно математически от тях. При потоковите
липсва достатъчна синхронизация между изпращача и получателя и е необходим
голям брой ключове.
В зависимост от предназначението, за което ще го използва и сигурността, от
която се нуждае, всеки потребител трябва сам да направи своя избор на
криптографски алгоритъм.
10. 9
5. Използвана литература
1. Библиотека на ДОЦ. Д-Р Стефан Дражев в Issuu:
http://www.issuu.com/stedranet
2. ГЛ. АС. Д-Р Виктория Рашкова. Научни трудове на Русенския Университет
(том 52, серия 11)
3. Уикипедия – Просто число
http://bg.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%81%D1%82%D0
%BE_%D1%87%D0%B8%D1%81%D0%BB%D0%BE
4. Уикипедия - RSA http://bg.wikipedia.org/wiki/RSA
5. Уикипедия – SHA-1 http://bg.wikipedia.org/wiki/SHA-1
6. Уикипедия - AES
http://en.wikipedia.org/wiki/Advanced_Encryption_Standard?&oldid=568319560
7. Уикипедия - RSA Security http://en.wikipedia.org/wiki/RSA_Security