криптиране и декриптиране

21
Икономически университет – Варна Реферат по Безопасност и защита на тема: Методи за криптиране и декриптиране на данни Изготвил: Георги Георгиев V курс, Фак. №: 10527 спец. Информатика Проверили: доц. д-р Ст. Дражев х. ас. В. Кръстева Варна, 2013

description

 

Transcript of криптиране и декриптиране

Page 1: криптиране и декриптиране

Икономически университет – Варна

Реферат по Безопасност и защита

на тема:

Методи за криптиране и декриптиране

на данни

Изготвил: Георги Георгиев

V курс, Фак. №: 10527

спец. Информатика

Проверили: доц. д-р Ст. Дражев

х. ас. В. Кръстева

Варна, 2013

Page 2: криптиране и декриптиране

1

Съдържание

Криптография ........................................................................................................................ 3

Криптиране и декриптиране ............................................................................................... 4

Криптиране със симетричен ключ..................................................................................... 5

Криптиране с публичен ключ ............................................................................................ 6

Изисквания към криптографските ключове ................................................................ 9

Сравнение между криптиране със симетричен и публичен ключ ............................ 10

Криптиране на електронна поща ..................................................................................... 11

Степени на криптиране ..................................................................................................... 12

Хеш функциите .................................................................................................................... 13

SSL протокол ........................................................................................................................ 15

Цифрови подписи ................................................................................................................ 18

Използвана литература ...................................................................................................... 20

Page 3: криптиране и декриптиране

2

Криптография

Криптографията е наука за сигурността на информацията. Името й произлиза от

гръцката дума криптос (в превод - скрит). Тя използва техники като миниатюрни точки,

маскиране на думи в изображения и други начини за скриване на информацията, която

се съхранява или пренася.

Корените на криптографията се откриват още преди 4 хиляди години, когато

египетските мъдреци използват сложни пиктограми, смисълът на които е ясен само на

посветените. Първият известен засега случай на използване на шифър е от страна на

Юлий Цезар, който кодирал информацията, разменяна с военачалниците. За целта той

подменял всеки символ в текста с буква, намираща се три позиции напред в латинската

азбука.

В съвременния свят, доминиран от компютърните средства за комуникация,

криптографията най-често се асоциира с промяна на начина на изписване на текст (чист

или прав текст) до шифриран (процес, наречен криптиране) и обратно (процес, познат

като декриптиране). Специалистите в тази област се наричат криптографи.

Съвременната криптография цели да постигне четири неща. Първото е

конфиденциалността, с други думи, информацията да бъде разбрана само от този, за

когото е предназначена и от никой друг. Второто е целостта - недопускане на

възможност данните да бъдат променени по някакъв начин при пренасянето им от

подателя до получателя, без това да бъде открито. Третото е осигуряване на ясни

механизми на свързване на шифрираните данни с получателя и подателя, така че никой

от тях да не може на по-късен етап да отрече участието си в комуникационния процес.

И не на последно място - методите за идентификация или иначе казано

подсигуряването, че кодираните данни ще попаднат точно при получателя си.

Процедурите и системите, отговарящи на тези четири условия се наричат

криптосистеми. Те включват не само програми и механизми за шифриране на текст и

данни, но и процедури за регулиране на човешката дейност. В това число

принуждаване на потребителите да избират по-трудни за разгадаване пароли, системи

за автоматично изчистване на параметрите на сесия след период на потребителска

неактивност и други.

Page 4: криптиране и декриптиране

3

Овладяването на криптографията е едно от най-важните оръжия за постигането

на успех и във военните действия и в бизнеса. Основен проблем остава използването на

огромния комуникационен потенциал на Интернет от хора и организации с цели,

заплашващи националния суверенитет или законите на различни държави. Все по-

трудна става регулацията на използването на криптографията и предотвратяването на

достъпа на терористичните групировки до все по-съвършените криптосистеми и

алгоритми за шифриране на данните.

Опитите за разбиване на шифъра, с който е криптирана информацията, се

наричат криптоанализ. Става дума за подробно изучаване на шифъра, шифрирания

текст или криптиращата система с цел да се намерят начини за извличане на

оригиналния текст от шифрирания, без да се знае ключа на алгоритъма. От своя страна,

ключ означава променлива стойност, която се прилага по определен алгоритъм върху

низ или блокове чист текст с цел шифрирането им и обратно - за дешифриране на

криптирания израз. Дължината на този ключ е основен фактор за защитеността на

данните и трудността, с която може да се осъществи нежелана намеса в тяхната цялост.

Криптиране и декриптиране

Криптирането е преобразуването на информация във формат, който не може да

бъде разбран лесно от неоторизирани хора. Целта му е да скрие информацията от

всички, които не би следвало да имат достъп до нея, включително от тези, които могат

да прихванат и видят кодирания вече текст. Декриптирането е обратната

трансформация - от криптиран в разбираем формат. Има прости алгоритми за

криптиране, които само разменят местата на буквите с цифри, а по-сложните методи,

които се основават на "интелигентни" алгоритми - трансформират информацията в

цифров вид и ако желаете да възстановите съдържанието на криптираното съобщение

се нуждаете от декриптиращ ключ. Криптирането и декриптирането изискват

употребата на някаква тайна информация, наричана обикновено ключ. В зависимост от

Page 5: криптиране и декриптиране

4

криптиращия механизъм за шифриране и дешифриране се използват един и същ или

различни ключове. Често се приема, че криптирането е компонент на сигурността, но в

действителност то е механизъм за постигане на сигурност.

Криптирането/декриптирането е много често приложимо когато се пренася

информация с голяма важност (когато се извършват покупки online, или при

конферентна връзка между служители на фирма, обсъждащи строго секретни теми).

Колкото по-добре е генериран криптиращия ключ, толкова по-надеждно е

криптирането и толкова по-трудно е за неоторизирани лица да декриптират

информацията. В наши дни методите на криптиране се развиват с доста бързи темпове

и това рефлектира върху ключовете (криптиращ и декриптиращ). На практика при

наличието на единия от двата ключа е практически невъзможно да се открие другия, а

при криптирани данни те не могат да се декриптират без наличието на декриптиращ

ключ. SSL card (Server Accelerator Card) e PCI компонент, който се използва за

генериране на кодиращи ключове за сигурността при транзакциите в Web сайтовете за

електронна търговия. Когато транзакцията е започнала, сървъра на Web сайта изпраща

информация до клиентската машина. По този начин става проверка на

идентификацията на Web сайта. След тази размяна криптиращия ключ се използва за

криптиране на всичката информация, която се трансферира между двете страни така, че

цялата лична и всякаква друга информация (например за кредитна карта) е защитена.

Този процес чувствително намалява производителността на сървъра (могат да се

извършва само по няколко транзакции в секунда) и именно тук на помощ идва SSL

card. Процеса по размяната на информация се поема от картата и така сървъра се

"облекчава", по този начин се повишава ефективността му. SSL card поддържа няколко

протокола за сигурност (SSL - Secure Sockets Layer, SET - Secure Electronic Transaction и

др.). Картата се инсталира на PCI слот на сървъра, стартира се драйвер, който да я

управлява и сървъра е готов да приема заявки. Този начин е много по-лесен и много по-

евтин отколкото да се закупуват допълнителни сървъри. Съществува възможност за

добавянето на още SSL card на сървър, на който има вече инсталирана такава.

Същетвуват и други уреди, които изпълняват роля подобна на SSL card (SSL

accelerators). Това са външни модули, които имат интегрирани карти. Тези устройства

се вграждат в сървърите и когато се установи започването на транзакция, управлението

се пренасочва към SSL accelerator-a.

Page 6: криптиране и декриптиране

5

Криптиране със симетричен ключ

Криптиране със симетричен ключ - един и същ ключ се използва и при

криптирането, и при декриптирането. DES (Data Encryption Standart) е пример за

конвенционална криптосистема, широко използвана в близкото минало.

Криптиране със секретен ключ

Това е класическия вид криптография, наричана още симетрична. При нея се

използва един единствен ключ за криптиране и декриптиране. Двете страни включени в

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

трябва да се предава през същата среда, през която се предава криптираното

съобщение. В случай, че се изпрати криптирано съобщение по Интернет, добре е да се

уточни за ключа по телефона.

Паролата (или ключа) се използват за криптиране на изходящи съобщения. Така

наречения криптиран текст се изпраща по мрежата и получателя декриптира входящите

съобщения с използването на същия ключ. Някои от алгоритмите са базирани на

математически изчисления. Тези системи не могат да бъдат декриптирани от друг

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

възможни ключове.

През януари 1999, едно криптирано съобщение с 56 бита беше декриптирано за

24 часа от фондацията Electronic Frontier Foundation (http://www.eff.org/). Понастоящем

Page 7: криптиране и декриптиране

6

времето за декриптиране на криптирани съобщения при отсъствие на ключ намалява

значително.

Все още криптирането с обществен ключ има някои предимства. То е по-бързо и

изисква ключа да се състои от по-малко битове, при което се получава същата степен

на защита. Най-често използваните техники за ключове са блоковите и непрекъснатите

шифри.

Непрекъснатите шифри са известни със своята бързина. Тя се постига чрез

работа върху малки части от обикновения текст. Обикновено тези шифри работят на

ниво битове. Така наречения непрекъснат ключ, който се състои от последователност

от битове използва операция изключващо ИЛИ. Защитата на даден бит зависи от

предходните битове.

От друга страна, блоковия шифър трансформира блок от обикновен текст с

предварително определена големина (например 64 бита) блок от криптиран текст със

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

който се използва за криптирането. Декриптирането става по същия начин, като към

криптирания текст се приложи същия секретен ключ. Този тип криптография се

използва например при среди с един потребител. В случай, че се криптира собствен

файл на твърд диск, няма смисъл да се използва криптиране с обществен ключ, тъй

като то ще бъде по-бавно, а и освен това съхраняването на обществени и частни

ключове в една среда няма никакво предимство пред използването на един ключ.

Криптиране с публичен ключ

При тези криптиращи алгоритми, за разлика от симетричните алгоритми, всеки

получател на криптограми разполага с два различни ключа (двойка ключове): публичен

ключ КР и секретен ключ КS, като от изчислителна гледна точка е много трудно да се

определи секретния ключ, ако се знае само публичния ключ. Публичният ключ на

получателя се използва за криптиране на предназначените за него съобщения, а

секретният ключ – за декриптиране на приетите криптотекстове.

Криптиращите алгоритми с публичен ключ се базират на функции, притежаващи

свойството еднопосочност. Еднопосочната функция се характеризира със следните

свойства:

Page 8: криптиране и декриптиране

7

o изчислява се просто;

o притежава обратна функция;

o обратната функция се изчислява изключително трудно.

Тъй като само легалният получател трябва да може да декриптира получените

криптограми, то следва да се използват еднопосочни функции с обходни пътища, при

които обратните функции са практически неизчислими, ако не е известна необходимата

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

с тази информация, то несанкционираното декриптиране на прехванатите

криптотекстове ще бъде изключително трудно.

Криптиране с публичен ключ

В случая, публичният ключ е общодостъпен (открит, общоизвестен), а

секретният ключ се знае само от получателя на шифрограмите. При тези алгоритми не е

необходимо да се засекретява ключа за криптиране, тъй като той не се използва при

декриптирането, а секретният ключ Кs не може да бъде лесно изведен от публичния

ключ Кр. Следователно, при използване на асиметрични шифровъчни алгоритми за

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

криптоканал не е необходим.

Page 9: криптиране и декриптиране

8

Всеки, който разполага с чужд публичен ключ, може да криптира с него

произволен открит текст, но не може да го декриптира. Единствено получателят, който

знае собствения си секретен ключ, е в състояние да възстанови открития текст на

криптограмите, създадени с неговия публичен ключ. Аналогията е като при

обикновената пощенска кутия, в която всеки може да пусне писмо, но само

получателят, който притежава ключа за тази кутия може да я отвори, да вземе писмото

и да го прочете.

Използването на асиметрични крипто-алгоритми води в редица случаи до

намаляване на броя на необходимите различни ключове.

Например, ако група от N потребители обменят помежду си защитени със симетричен

алгоритъм съобщения, то ще са необходими N ( N-1 )/2 различни секретни ключа (по

един ключ за всяка кореспондираща двойка потребители), както и ключови

криптоканали за предаване на тези ключове. При положение, че защитата се организира

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

секретен ключове ( по една двойка ключове за всеки потребител или общо 2N ключа ).

Алгоритмите с публичен ключ осигуряват ефективни възможности за решение на

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

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

за този алгоритъм се защитават с помощта на асиметричен алгоритъм. Това означава,

че в случая данновият криптоканал ще се организира със симетричен алгоритъм, а

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

Ако А и В комуникират помежду си с използване на симетричен крипто

алгоритъм, например DES, и А иска да изпрати на В съобщение, криптирано със

секретен ключ Кs, то този ключ трябва да стане известен и на В. За целта А може да

криптира Кs с публичния ключ KPB на В и да го изпрати заедно с основното

съобщение, което е закриптирано с DES и ключа Кs. Получавайки шифрограмите, В

първоначално ще декриптира ключа Кs, използвайки собствения си секретен ключ KSB

, след което ще възстанови и открития текст на основното съобщение с декриптирания

ключ Кs.

Някои шифровъчни алгоритми с публичен ключ притежават свойството

взаимозаменяемост на операциите криптиране и декриптиране. Това свойство не е

задължително за тези алгоритми, но неговото наличие позволява тяхното използване и

за еднозначно удостоверяване на автентичността на източника чрез т.нар. цифрови

подписи, които имат голямо приложение и значимост.

Page 10: криптиране и декриптиране

9

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

Дължината на криптографския ключ определя горната граница на устойчивост

на криптографската система. Трябва де се има предвид, че атакуващата страна винаги

може да използва атака на грубата сила, като направи проверка с всички възможни

ключове до намиране на действителния. Обемът на изчисленията при увеличавене на

размера на ключа нараства експоненциално, затова ако дължината на криптографския

ключ L в битове е 64, т.е. L=64, то броят на възможните ключове |K|›1019. При

нарастване на дължината до L=128, каквито са изискванията към съвременните блокови

алгоритми, този брой надхвърля 1038. В същото време изполваните технологии се

намират близо до решаване на задачата за проверка на не повече от 1020 варианта за

криптографския ключ в рамките на приемлив интервал от време. Обработката на 1038

варианта е невъзможна не само на настоящкия етап, но и в близкото бъдеще и затова

размер на ключа от порядъка на 128 бита се определя като гаранция за създаването на

алгоритъм , устойчив на атака на грубата сила.

За да се избегнат ограниченията, налагани от размера на криптографския ключ,

са създадени алгоритми, за които теоретично е доказано, че са устойчиви дори и на

най-сложните методи, използвани от криптографския анализ. За блоковите алгоритми

това са линейният и деференциален анализ. Приема се, че ако даден алгоритъм е

устойчив на най-сложните атаки, основани на съвременните методи на криптографски

анализ, той може да бъде препоръчан за реализация в практиката.

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

по-голяма дължина от тази на симетричните. Причина за това са особеностите на

криптографския анализ на асиметричното криптиране. В някои асиметрични алгоритми

секретните ключове се избират като случайни числа /например алгоритмите

Diffie&Hellman и ElGamal/. В други асиметрични алгоритми секретните ключове се

изчисляват, като се използват параметри, които отговарят на специфични изисквания,

например простите множители p и q в RSA-алгоритъма и условията, поставени към

параметрите p, q и g в алгоритъма DSA. Допълнително се поставят условия, които

трябва да удовлетворяват секретния ключ /да е взаимно просто число с друг от от

параметрите в системата, или да се изчислява на основата на публичния ключ/.

Page 11: криптиране и декриптиране

10

Сравнение между криптиране със симетричен и публичен ключ

Основното предимство на криптирането с публичен ключ пред това със

симетричен ключ е, че персоналните ключове никога не се предават. Това прави този

тип криптография по-сигурна и удобна. В една система със симетричен ключ, е

необходимо предаване на ключовете, което е свързано с рискове. Освен това при

работа със симетричните ключове механизма на идентифициране се осъществява

трудно. Когато един цифров подпис използва инфраструктура с публичен ключ се

налага предаване на секретна информация. За да се избегне отказ на плащане се налага

трета страна да проверява идентичността.

Безспорно криптирането с публичен ключ има няколко недостатъка. Повечето

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

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

ключ не е препоръчително да се използва за големи файлове. За да може една система

да бъде и защитена и бърза, е необходимо да се комбинират и двата типа криптография.

При такава комбинация съобщението ще се криптира със симетричен ключ, защото при

криптиране с публичен ключ ще се отнеме много време, а симетричния ключ се

прикрепва към съобщението, като самия симетричен ключ е криптиран с публичен

ключ. По този начин се постига и по-висока скорост и защита.

При SSL криптирането, което се използва за сигурен обмен на информация през

web, криптирането с публичен ключ се използва за размяна на симетричния ключ. Web

сървърът изпраща своя публичен ключ към web браузъра. Последният създава ключ на

сесия и криптира ключа на сесия с публичния ключ на web сървъра. След това ключа на

сесия се предава обратно на web сървъра, който го декриптира с помощта на своя

симетричен ключ. По този начин ключовете на сесии могат спокойно да се предават

през незащитени мрежи. След като ключа на сесия се предаде, той се използва за

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

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

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

валиден само за една определена сесия и след това не може да се използва повече.

Page 12: криптиране и декриптиране

11

Криптиране на електронна поща

Криптирането на електронна поща е една от най-малко използваните

технологии, която обаче има огромно влияние върху сигурността на информацията.

Преди PKI потребителите, загрижени за сигурността на своите системи,

използваха таен симетричен ключ както за криптиране, така и за декриптиране на

документ (т.е. тъй наречения "декодерен пръстен"). PKI усъвършенства тази схема,

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

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

частен ключ, който е известен само на получателя и може да се използва за четене на

съобщението.

Традиционното PKI криптиране обаче е бавно. Много стандарти с публичен

ключ, сред които PGP, се опитват да разрешат този проблем. PGP първо компресира

съобщението и по този начин моментално го прави по-сигурно, защото то вече не

съществува в открит текст. Един алгоритъм, който е по-бърз от PKI, след това криптира

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

декриптира. Единствената задача на PKI е да криптира този ключ чрез публичния ключ

на получателя. След това криптираният ключ се изпраща заедно със съобщението. Това

е по-бързо решение, но е не по-малко сложно.

PGP (Pretty Good Privacy) използва криптиране с публичен ключ за защита на

електронна поща и файлове с данни. Програмата е с изключителни възможности и е

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

подписи и компресиране на данни, както и сравнително лесни за използване команди.

PGP притежава версии за MS-DOS, Unix, Windows и Macintosh. PGP използва няколко

криптиращ метода и е наричана хибридна криптираща система, защото използва четири

криптиращи елемента. ВPage 12 него се съдържат симетричен шифър (общ единичен

ключ), наречен Международен алгоритъм за криптиране на данни (IDEA), асиметричен

шифър (двойка публичен и частен ключове - или RSA, или Дифи-Хелман, в зависимост

от версията), еднопосочен хеш механизъм и стандартен генератор на произволни числа.

IDEA е алгоритъм, разработен от Ascom Zurich Швейцария. Той използва 128-битов

ключ и се счита за сигурен.

Page 13: криптиране и декриптиране

12

S/MIME (Secure / Multipurpose Internet Mail Extensions) е защитно разширение

на стандарта за електронна поща MIME Internet, базирано на технология на RSA Data

Security с протоколи за криптографска защита - ЕlGamal (схема с публичен ключ),

Digital Signature Standart (DSS) и Secure Hash Algorithm (SHA). S/MIME разписката е

функция, свързана със защитата на електронната поща, която се използва, за да се

поиска потвърждение, че съобщението е получено непроменено. Тя включва също

информация за това кой е отворил съобщението и кога е било отворено. Тази

информация за проверката се връща като съобщение във вашата папка "Входящи".

Степени на криптиране

Технологиите за криптиране могат да се разделят в няколко групи, в зависимост

от степента на защита/ криптиране:

Слаби - Такива са текстовите документи, защитени с парола от

текстообработваща програма. Този тип програми използват криптиране с много ниска

степен и с помощта на прости средства може да се разбере използваната парола;

Устойчиви - С използването на технология за симетрично криптиране може да

се създаде устойчива защита, но слабата страна на тези технологии е в това, че при

предаване на ключа през несигурни мрежи той може да се прихване;

Силни - С използването на технология с обществен ключ, предаването на ключа

през несигурни мрежи е безопасно;

Такива са One-Time Pads. Този тип система използва ключ, чиято дължина е

колкото дължината на съобщението и който не може да бъде декриптиран със

средствата, с които е извършено криптирането.

Един бъг в софтуер или хардуер за криптиране може да повлияе негативно на

целия ви бизнес, просто защото всички конфиденциални неща на вашата компания ще

бъдат достъпни за всекиго. Повечето текстообработващи програми предлагат

Page 14: криптиране и декриптиране

13

възможности за криптиране на документи, но алгоритмите за криптиране са много

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

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

пречка за професионалисти.

Компанията AccessData (www.accessdata.com) дори е създала софтуерен пакет,

който е специализиран за разбиването на кодове на такива програми. Този софтуер се

продава, за да може когато някой забрави паролата си да я възстанови, но разбира се

софтуера може да се използва и за недобронамерени цели.

Друг популярен метод за защита на документи е просто да ги скриете.

Сигурността посредством неяснота е доста слаб метод на защита. В действителност той

е дори по-лош от криптиране с текстообработваща програма. С поставянето на

документи на неправилно място, някои хора си мислят, че могат да ги скрият от

останалите, но в действителност всеки може да ги намери. С използването на

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

при използването на слаба защита е необходимо време за декриптиране.

Файловете криптирани със силна защита могат да се оставят на обществени

сайтове без да има опасения, че някой може да прочете съдържащата се в тях

информация, дори и ако ги открадне. Дори и алгоритмите и изходния код на повечето

популярни технологии за криптиране да са налице, никой не може да разбере какъв е

принципа на криптиране. Сигурността идва от алгоритмите, а не от системата, която се

използва за изпълнение на тези алгоритми. В случай, че ключа не се разпространява,

никой не може да проникне в информацията.

Хеш функции

Хеш функция (или хеш алгоритъм) е метод, който преобразува данни в число,

подходящо за манипулиране от компютъра. Тези функции осигуряват начин за

създаване на малки дигитални „отпечатъци” от всякакъв тип данни. Тези „отпечатъци”

Page 15: криптиране и декриптиране

14

често са наричани хеш стойности. Хеш стойностите обикновено се представят в

шетнайсететична бройна система.

Свойства

Фундаментално свойство на всички хеш функции е, че ако две хеш стойности

(спрямо една хеш функция) са различни, то и въведените данни се различават по

някакъв начин.Tова свойство е следствие от определеността на хеш функциите. От

друга страна, ако две хеш стойности са еднакви, това не означава, че въведените данни

са еднакви.

Типичните хеш функции имат безкрайна област на допустимите стойности,

каквито са например битовите низове с произволна дължина, и крайно множество от

стойности, като например битови последователности с фиксирана дължина. В

определени случаи хеш функциите могат да бъдат проектирани със съответствие 1:1

между равни по големина област на допустимите стойности и област на стойностите на

функцията. Хеш функциите, които изразяват съответствие 1:1 се наричат още

пермутации. Обратимостта се постига като се използват последователности от

обратими „смесващи” операции върху входните данни на функцията.

Видове

Хеш функциите типично се раличават по начина, по който се изчисляват хеш

стойностите от въведените данни. Има два основни метода за изпълнение на хеш

алгоритъм:

Кумулативен - Това е случаят, когато хешът се конструира като се преминава

през входните данни и една начална стойност последователно се увеличава с

изчислена стойност, отнасяща се за елемент от входните данни. Изчислението,

приложено върху стойността на елемента обикновено е умножение с просто число.

Ротационен - Също, като при кумулативния метод, всеки елемент от въведените

данни се използва за конструиране на хеша, но за разлика от него данните се

подлагат на побитово преместване. Обикновено се използва комбинациа от ляво и

дясно преместване. Броят на преместванията е също просто число. Резултатът от

Page 16: криптиране и декриптиране

15

всяко изчисление се добавя към някаква пресметната вече сума. Крайният резултат

е самият хеш.

Разпространени Хеш алгоритми

MD4 (Message Digest algorithm 4) е алгоритъм имплементиращ криптографска

хеш функция, използвана основно за проверка на интегритета. Тя генерира 128 битови

(16 байта) хеш стойности. MD5 е наследник на MD4, описан подробно в RFC 1321 и

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

отпечатъци, но и че е невъзможно да "нагласим" някакво съобщение така, че да

получим точно определен цифров отпечатък. Тези алгоритми са разработени от

щатската агенция NSA (National Security Agency).

SHA-1 е алгоритъм от цяла група известна като SHA (Secure Hash Algorithm) и

разработена от Национална Агенция по Сигурност в САЩ. SHA-1 генерира 160 битов

отпечатък от съобщение с максимална дължина от 264 бита и използва общи принципи

с MD5. Често SHA-1 се посочва за бъдещ наследник на MD5.

RIPEMD разработен по проект на ЕС, вход 512 бита, изход 128 или 160 бита

код).

Хеш функциите действат еднопосочно, като входящите съобщения могат да са с

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

гарантиране интеграцията на данните като част от цифровия подпис.

SSL протокол

Абревиатурата SSL в английския си вариант означава Secured Sockets Layer.

Накратко SSL представлява един сертификат, служещ за криптиране на връзката между

хостинг сървъра, на който се съхранява информацията, и браузъра на посетителя на

самия уебсайт. Тази криптирана връзка предоставя сигурен достъп до лична

информация, която не трябва да става достояние на трети лица. SSL е технология, вече

Page 17: криптиране и декриптиране

16

използвана от милиони уебсайтове, чрез която те осигуряват защита на онлайн

транзакциите със своите клиенти.

Как работи един SSL сертификат

Въпреки че един SSL сертификат се инсталира на хостинг сървъра, на който се

намира уебсайтът, сложният механизъм на SSL протокола остава на заден фон и е

невидим за клиентите. Техният браузър автоматично им назначава собствен

идентификатор и ги уведомява, че използват криптирана връзка. В почти всички

браузъри съобщението, че в момента използвате криптирана връзка, се появява в

горния ляв ъгъл на адресното поле на браузъра Ви.

Винаги можете да различите кога един уебсайт използва SSL от зелена или синя

икона, появяваща се в горния ляв ъгъл в адресното поле на браузъра. Освен това,

адресът на уебсайта бива променян от http:// протокол на https://.

Цветът на иконите на един SSL сертификат всъщност имат голямо значение.

Именноцветът показва какъв тип е сертификата. Сертификатите се разделят на два

типа - единият тип се издава на физически лица, а другият - на юридически лица.

Ако е инсталиран правилно, един типичен сертификат съдържа информация за Вашия

домейн, името на компанията Ви, Вашия адрес, град, област и държава. Допълнителна

информация в SSL-а е неговата дата на изтичане и детайлите за организацията, от която

е издаден. Когато един уебсайт с инсталиран SSL бива отворен, първото нещо, което

браузърът автоматично проверява, е дали той не е изтекъл, коя е организацията, която

го е издала, дали браузърът може да се "довери" на тази организация и дали самият

сертификат е издаден за текущо използвания уебсайт. Ако дори един от тези критерии

не бъде покрит, браузърът Ви автоматично ще покаже съобщение, че има нещо нередно

с този сертификат.

Ниво на криптиране и защита

Криптирането на една връзка, за да бъда тя защитена за потребителя, всъщност

представлява сложен математически процес, при който се криптира и декодира

Page 18: криптиране и декриптиране

17

информация. Числата (bits), които можете да видите след всеки един SSL

сертификат(40-bit, 56-bit, 128-bit, 256-bit) представляват размера на ключа, използван

за криптиране на връзката. Както при една парола, колкото по-дълъг е ключа, толкова

повече комбинации има за отгатване.

Например един 128-битов ключ е около един трилион пъти по-силен от 40-битов

ключ. С използваните в момента технологии на един хакер с подходящите инструменти

и мотивация ще са му нужни около няколко милиона години, за да декриптира

текущата сесия, защитена със 128-битов ключ.

Цветове на сертификатите според типа им

Както споменахме по-горе цветът на SSL сертификата в полето на браузъра

показва неговия тип. Сините сертификати са най-обикновени персонални SSL-и и могат

да бъдат издадени на индивидуални клиенти без каквито и да е допълнителни

документи.

Зелените сертификати обаче се издават единствено на юридически лица с

доказан произход. Това става единствено след представянето на документи, доказващи

легитимността на организацията, на която ще бъде издаден сертификата.

Предимства на SSL сертификата:

Предоставя сигурна и криптирана връзка

Защита на личните данни от евентуална атака. Такава атака например може да

бъде инициирана ако базата данни на Вашия уебсайт съдържа информация като номера

на кредитни карти.

Недостатъци на SSL сертификата

Трябва да бъде подновяван всяка година

Допълнително инсталиране на сертификата на Вашия уебсайт

Поради криптирането на връзката, Вашият уебсайт всъщност работи по-бавно

Page 19: криптиране и декриптиране

18

Нагаждане на софтуера, който използвате за уебсайта си, според SSL

сертификата. Това е важна стъпка, тъй като при неправилна инсталация сертификатът

няма да бъде разпознат от браузъра и потребителят ще получи съобщение за грешка.

Цифрови подписи

Освен за криптиране и декриптиране на информацията, криптографията може да

се използва и за други неща. Идентифицирането е случай от най-важните области при

изграждането на връзки на доверие. Логично е, че може да се има доверие на някой,

само ако се знае кой е той. В много случаи идентифицирането се прави чрез подписване

па документ. За да бъдат електронните докумемти легални трябва да има механизъм,

който да осигурява средство за идентифициране на автора на документа.

За да бъде една система приложима за цифров бизнес е необходимо само една

малка част от съобщението да се криптира с персонален ключ. Тази част се нарича

digital hash. Hash кода е функция, която намалява всяко едно съобщение до фиксиран

брой битове. Без значение каква е дължината на файла, дължината на пазп винаги е

една и съща. Същността се крие в това, че пазп кода е различен за всяка електронна

поща.

Hash функцията е еднопосочна. Не е възможно да се създаде определен код и да

се намери съобщение, което да съответства точно на този код. Hash кода може да се

разглежда като печат върху плик. Изпращането на този код заедно с електронна поща

ще гарантира, че никой не може да промени съдържанието на пощата по време на

предаване, но това не дава възможност да сме сигурни в изпращача. Поради факта, че

този код е с фиксирана дължина. Времето за неговото криптиране винаги е едно и

също.

Цифровите подписи използват технологии за криптиране с обществен ключ,

като RSA, но не работят като стандартното криптира-не. Вместо да криптират

съобщението с обществения клюоч на получателя, пазп кода на съобщението се

криптира с персонален ключ, и след това се декриптира с обществения ключ на

изпращача. Разбира се, всеки може да декриптира hash кода съобщението, тъй като

Page 20: криптиране и декриптиране

19

обществения ключ може да се намери в директорията за обществени ключове на

сървъра. Само че факта, че Вие можете да декриптирате hash на съобщението с

обществения ключ на определен човек доказва само по себе си, че това съобщение идва

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

съобщение, което може да се декриптира със съответния обществен ключ.

При цифровите подписи има две причини за използването на hash код. Едната

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

време. Втората причина е, че всеки иска да криптира подписани съобщения. В много

случаи дадено съобщение е предназначено за много хора, но автора му иска да докаже

неговата идентичност. За да може едно съобщение да се криптира сигурно и в същото

време да има подпис, обикновено пощата се криптира с персонален ключ, а след това

съобщението се криптира с обществения ключ на получателя, за да може всеки да

вижда съдържанието.

Цифровият подпис свързва даден документ с притежателя на определен ключ,

но често това не е добре, ако не се знае момента на подписването. Например, един

договор, който е подписан с цифров подпис не е валиден, ако на него няма дата. Една

онлайн покупка на намалена цена, която е валидна за определен период от време

изисква да има посочена дата, за да се докаже, че продуктите са закупени в

определения период.

От тук се вижда, че цифровия печат за дата е необходим за определяне момента

на поставяне на цифровия подпис. Това може да се направи с добавяне на дата и час на

документа от трета страна и след това тази информация се криптира с персонален ключ

на третата страна. Цифровият печат за време свързва даден документ с момента на

неговото създаване. Тази система не може да се използва на световно ниво, защото

няма никакви регулатори, които да гарантират, че даден печат за време е валиден.

Page 21: криптиране и декриптиране

20

Използвана литература

http://svyat.com/%D1%86%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B8-

%D0%BF%D0%BE%D0%B4%D0%BF%D0%B8%D1%81%D0%B8/

http://judge.openfmi.net:9080/mediawiki/index.php/%D0%A5%D0%B5%D1%88_%D0%A4%

D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8

http://help.jump.bg/kakvo-e-ssl-sertifikat/

http://techs-mobile.blogspot.com/2010/03/pgp-smime.html

https://ssd.eff.org/bg/tech/encryption