Криптографија
Из пројекта Википедија
Криптографија је наука која се бави методима очувања тајности информација. Када се личне, финансијске, војне или информације државне безбедности преносе са места на место, оне постају рањиве на прислушкивачке тактике. Овакви проблеми се могу избећи криптовањем (шифровањем) информација које их чини недоступним нежељеној страни. Шифра и дигитални потпис су криптографске технике које се користе да би се имплементирали безбедносни сервиси. Основни елемент који се користи назива се шифарски систем или алгоритам шифровања. Сваки шифарски систем обухвата пар трансформација података, које се називају шифровање и дешифровање. Шифровање је процедура која трансформише оригиналну информацију (отворени текст) у шифроване податке (шифрат). Обрнут процес, дешифровање, реконструише отворени текст на основу шифрата. Приликом шифровања, поред отвореног текста, користи се једна независна вредност која се назива кључ шифровања. Трансформација за дешифровање користи кључ дешифровања. Број симбола који представљају кључ (дужина кључа) зависи од шифарског система. Криптоанализа је наука која се бави разбијањем шифри, декодирањем, заобилажењем система аутентификације, уопште проваљивањем криптографских протокола. Различите технике криптоанализе називају се напади.
Садржај |
[уреди] Историјат криптографије
Када је писмо постало средство комуникације, појавила се потреба да се нека писма сачувају од туђих погледа. Тада је и криптографија угледала светлост дана. Од самог почетка, енкрипција података користила се првенствено у војне сврхе. Један од првих великих војсковођа који је користио шифроване поруке био је Јулије Цезар. Наиме, када је Цезар слао поруке својим војсковођама, он је те поруке шифровао тако што су сав или поједина слова у тексту била померана за три, четри или више места у абецеди. Такву поруку могли су да дешифрују само они који су познавали помери за правило. Позната Цезарова изјава приликом преласка Рубикона у шифрираном дописивању гласила би: fqkf ofhzf kyz. Помицањем сваког слова за шест места у абецеди лако се може прочитати прави смисао поруке: Alea iacta est (коцка је бачена) .
Прву познату расправу о криптографији написао на 25 страница италијански архитекта Леоне Батиста Алберти 1467. године. Он је такође творац такозваног шифарског круга и неких других решења двоструког прикривања текста која су у XIX веку прихватили и усавршавали немачки, енглески и француски шифрантски бирои.
Пола века након тога објављено је у пет свезака дело Јоханеса Тритхемуса прва књига из подручја криптографије. У 16. значајан допринос дају милански доктор Гироламо Kардано, математичар Батисто Порта и француски дипломата Блаисе де Вигенер.
Све до Другог светског рата шифроване поруке могле су се колико-толико и дешифровати. На немачкој страни појавила се машина која је шифровала поруке на до тада још невиђен начин. Немци су машину назвали Енигма. Међутим ма колико је она у то време била револуциона савезници су успели да разбију поруке шифроване Енигмом.
После Другог светског рата и појавом првих компјутера отворила су се нова врата криптографији. Компјутери су временом постајали све бржи и бржи, радећи и по неколико стотина, а касније и милиона операција у секунди. Новом брзином рада је омогућено пробијање шифри за све мање времена. Упоредо с тим, радило се и на измишљању нових, сигурнијих и компликованијих алгоритама за шифровање.
[уреди] Шта Криптографија мора да обезбеди
Криптографија мора да обезбеди следеће:
- Интегритет или веродостојност информација које се шифрују (енгл. Data integrity) се брине о томе да не дође до неовлашћене промене информација, као што су мењање информације, брисање информације и замена информације. Да би се осигурала веродостојност, мора постојати начин провјере да ли је информација промењена од стране неовлашћене особе.
- Тајност (енгл. Confidentiality) информација осигурава да је садржај информације доступан само овлашћеним особама односно само оним који поседују кључ. Постоје бројни начини заштите тајности, почев од физичке заштите до математичких алгоритама који скривају податке.
- Провера идентитета (енгл. Autentification) корисници који почињу комуникацију се требају прво представити један другоме па тек онда почињу са разменом информација.
- Немогућност избјегавања одговорности (енгл: Non-repudiation) је врло важна ставка, поготово у новије време када се велики део новчаних трансакција обавља путем интернета.
[уреди] Симетрична криптографија
Као што смо рекли, код симетричне енкрипције користе се исти кључ и за шифровање и за дешифровање. Баш због тога је разноврсност, а самим тим и сигурност алгоритама овакве енкрипције је велика. Битан фактор је и брзина - симетрична енкрипција је веома брза. Поред свих предности које има на пољу сигурности и брзине алгоритма, постоји и један велики недостатак. Како пренети тајни кључ? Проблем је у томе, што ако се тајни кључ пресретне, порука се може прочитати. Зато се овај тип енкрипције најчешће користи приликом заштите података које не делимо са другима (шифру знате само ви и њу није потребно слати другоме).
Клод Шенон (Claude Shannon) је дефинисао услове савршене тајности, полазећи од следећих основних претпоставки:
- Тајни кључ се користи само једном.
- Криптоаналитичар има приступ само криптограму.
Шифарски систем испуњава услове савршене тајности ако је отворени текст X статистички независан од криптограма Y, што се може математички изразити на следећи начин:
Y = y) = P(X = x)
за све могуће отворене текстове x = (x1,x2,...xm) и све могуће криптограме y = (y1,y2,...yn) ; другим речима, вероватноћа да случајна променљива X има вредност x једнака је са или без познавања вредности случајне променљиве Y. Због тога криптоаналитичар не може боље проценити вредност X познавајући вредност Y од процене без њеног познавања, независно од расположивог времена и рачунарских ресурса којима располаже. Користећи појам ентропије из теорије информација, Шенон је одредио минималну величину кључа потребну да би били испуњени услови савршене тајности. дужина кључа К мора бити најмање једнака дужини отвореног текста М:
K ≥ M
[уреди] Секвенцијални шифарски системи
Као најосновнијим симетричним алгоритмима, довољно је само реци да се они заснивају на својству логичке операције xор (ексклузивно или) за коју вази:
(X xor Y) xor Y = X , X, Y ∈ (0,1)
Наиме, можемо замислити да нам је X један бит оригиналне поруке а Y бит кључа. Тада (X xор Y)=З преставља један бит шифрата који путује јавним каналима и који неко може прислушкивати, док је Z xor Y оригинални бит X који се добија xоr -овањем бита кодиране поруке са битом кључа. Дефинишимо још операцију xоr за произвољну дужину бита тј. бајтова и тада X, односно Y можемо сматрати бајтом, речју односно поруком У пракси се често користе генератори псеудо случајних низова(енгл. PRNG – Pseudo Random Number Generator), који представљају детерминистичке алгоритме за шифровање, али низови симбола које они генеришу имају особине сличне случајним низовима. Генератори псеудослучајних низова користе кратке кључеве ради започињања процеса генерисања. Ови кључеви морају бити присутни на обе стране пре почетка комуницирања. Излазни низ из генератора се сабира по модулу 2 са низом отвореног текста и на тај начин се добија низ шифрата. На пријемној страни се сабира примљени низ шифрата са псеудослучајним низом генерисаним помоћу истог кључа, почевши од истог почетног симбола као и на предајној страни. На тај начин је пријемник у стању да реконструише отворени текст. Јасно је да докле год се случајни низови добијају помоћу било ког алгоритма они могу бити само псеудослучајни и као такви постају мамац за све оне који се баве разбијањем шифри. Псеудослучајни низови су периодични у ширем смислу (што значи да могу имати апериодични почетак), али ако су периоди таквих низова много већи од дужина низова отвореног текста, систем ће се понашати на сличан начин као и Вернамова шифра. Основна идеја која стоји иза секвенцијалних шифара је да се генерише дуга и непредвидљива секвенца симбола из неког алфабета (нпр. бинарног) на основу кратког кључа изабраног на случајан начин. Секвенцијална шифра са генератором псеудослучајног низа је апроксимација Вернамове шифре, и утолико је боља уколико је псеудослучајни низ ближи по карактеристикама правом случајном низу.
[уреди] Блок шифра
Блок шифром се називају они алгоритми код којих се оригинална порука шифрује по групама (блоковима) од два и више елемената. Најпознатији алгоритми блок шифара су: LUCIFER, DES, FEAL, IDEA, RC5, SKIPJACK, BLOWFISH, TWOFISH, AES (RIJNDAEL) и други.
[уреди] Асиметрична криптографија
За разлику од симетричне криптографије, Асиметрична користи два кључа - јавни и тајни. Принцип је следећи: на основу тајног кључа који задајемо, генерише се јавни кључ. Јавни кључ дајемо особама које нам шаљу шифроване податке. Помоћу њега, та особа шифрира фајл који жели да нам пошаље и таквог нам га пошаље. Када нам шифрат стигне, ми га дешифрујемо помоћу нашег тајног кључа. Значи, тајни кључ имате само ви. а јавни кључ може имати било ко, пошто се он користи само за шифровање, а не и дешифровање. Предност овог начина шифровања је у томе што не морамо да бринемо о случају да неко пресретне јавни кључ, јер помоћу њега може само да шифрује податке. Такође, програми са оваквим начином шифровања имају опцију да потписују електронска документа (о томе ће бити речи нешто касније). Појам система са јавним кључевима увели су Дифие и Хеллман 1976. године. Први такав систем који су они дефинисали био је протокол, познат под именом размена кључева Дифие-Хеллман. 1977. године публикован је најчувенији и најпопуларнији алгоритам за симетричну криптографију RSA, чије име представља скраћеницу презимена аутора Рона Риверста, Ади Шамира и Леонарда Адлемана.
[уреди] Функција за сажимање – хаш функција
Горе наведени алгоритми шифровања не штите интегритет односно веродостојност поруке која је шифрована. Ово је врло важно из разлога јер је могуће да је кључ проваљен и да нам нападач шаље лажне поруке, али и могућности да је дошло до грешке приликом шифровања, тако да примљена порука није идентична оригиналном документу. Из тог разлога креиране су функције за сажимање или ти хасх (могу се сусрести и под именима енгл. one-way, hash function, message digest, fingerprint) алгоритми. Најпознатији и најкоришћенији хасх алгоритми су SHA-1, MD5, MDC-2, RIPEMD-160 и тд. Хаш алгоритми се сврставају у криптографске алгоритме без кључа.
[уреди] Дигитални потписи
Сврха дигиталног потписа је да потврди аутентичност садржаја поруке (доказ да порука није промењена на путу од пошиљаоца до примаоца), као и да обезбеди гарантовање идентитета пошиљаоца поруке. Помоћу свог потписа корисник овлашћује неку радњу и преузима одговорност за њу.
[уреди] Савремене технологије заштите података
Сигурносни протоколи базирани на криптографији:
- SSL (Secure Socket Layer),
- TLS (Transport Layer Security),
- VPN (Virtual Private Network),
- KERBEROS,
- SESAME,
- PGP (Pretty Good Privacy)
[уреди] Будућност криптографије
Квантна и ДНК криптографија ће можда у некој скоријој будућности представљати основ за заштиту поверљивих докумената. Квантна криптографија настала је као последица открића у области квантног рачунарства. Она се заснива на једном од основних принципа квантне физике: Хајзенберговом принципу неодређености. Један од твораца RSA алгоритма, Леонард Адлеман, дошао је на идеју коришћења ДНК као рачунара. Он је претпоставио да се ДНК може проматрати као рачунар огромне снаге способне за паралелно извршавање операција. Тиме се брзина извршавања експоненцијално повећава у односу на обичне рачунала.
[уреди] Литература
- Ilija Marinković, Enigma do pobjede Fokusova Biblioteka,Zagreb, 1977…
[уреди] Спољашње везе
- Стеван Џигурски, Безбедност веб апликација , http://www.kraftweb.net/websecurity/ , 2003.
- Беговић Никола, Криптографија , http://alas.matf.bg.ac.yu/~pd00011/kript/kript.html.
- Мр Драган Видаковић, Школа криптографије ,http://www.e-trgovina.co.yu/Tehnologije/Kriptografija/skola_kriptografije.htm
- Cryptography introduction, with several examples
- International Association for Cryptologic Research
- Helger Lipmaa's cryptography pointers
- RSA Laboratories' FAQ About today's cryptography essentially elementary coverage
- sci.crypt mini-FAQ (more recent)
- Savard's glossary an extensive and detailed view of cryptographic history with emphasis on crypto devices
- Open source project CrypTool - Exhaustive educational tool about cryptography and cryptanalysis, freeware.
- Cryptography World - A very basic guide to cryptography and key management.
- Handbook of Applied Cryptography (Free to download as .pdf)
- Techworld Elementary Primer: What is Encryption?
- Links for password-based cryptography
- Code Cracker Online tool to Crack many classic encryption codes (up to the XIX century)
- Crypto Law Survey Extensive survey of existing and proposed laws and regulations on cryptography by legal expert Dr. Bert-Jaap Koops (Tilburg University)
- NSA's CryptoKids
- Beginners' Guide to Cryptography
- An Overview of Cryptography
- An Introduction to the Use of Encryption