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

Из Википедије, слободне енциклопедије

Криптографија или шифровање је наука која се бави методима очувања тајности информација. Када се личне, финансијске, војне или информације државне безбедности преносе са места на место, оне постају рањиве на прислушкивачке тактике. Овакви проблеми се могу избећи криптовањем (шифровањем) информација које их чини недоступним нежељеној страни.

Шифра и дигитални потпис су криптографске технике које се користе да би се имплементирали безбедносни сервиси. Основни елемент који се користи назива се шифарски систем или алгоритам шифровања. Сваки шифарски систем обухвата пар трансформација података, које се називају шифровање и дешифровање. Шифровање је процедура која трансформише оригиналну информацију (отворени текст) у шифроване податке (шифрат). Обрнут процес, дешифровање, реконструише отворени текст на основу шифрата.

Приликом шифровања, поред отвореног текста, користи се једна независна вредност која се назива кључ шифровања. Слично, трансформација за дешифровање користи кључ дешифровања. Број симбола који представљају кључ (дужина кључа) зависи од шифарског система и представља један од параметара сигурности тог система.

Криптоанализа је наука која се бави разбијањем шифри, односно откривањем садржаја отвореног текста на основу шифрата, а без познавања кључа. У ширем смислу, криптоанализа обухвата и проучавање слабости криптографских елемената, као што су, на пример, хеш функције или протоколи аутентификације. Различите технике криптоанализе називају се напади.

Историјат криптографије[уреди]

Енигма у саобраћајном музеју у Луцерну, Швајцарска

Када је писмо постало средство комуникације, појавила се потреба да се нека писма сачувају од туђих погледа. Тада је и криптографија угледала светлост дана. Од самог почетка, енкрипција података користила се првенствено у војне сврхе. Један од првих великих војсковођа који је користио шифроване поруке био је Јулије Цезар. Наиме, када је Цезар слао поруке својим војсковођама, он је те поруке шифровао тако што су сав или поједина слова у тексту била померана за три, четри или више места у абецеди. Такву поруку могли су да дешифрују само они који су познавали помери за правило. Позната Цезарова изјава приликом преласка Рубикона у шифрованом дописивању гласила би: fqkf ofhzf kyz. Помицањем сваког слова за шест места у абецеди лако се може прочитати прави смисао поруке: Alea iacta est (коцка је бачена) .

Прву познату расправу о криптографији написао на 25 страница италијански архитекта Леоне Батиста Алберти 1467. године. Он је такође творац такозваног шифарског круга и неких других решења двоструког прикривања текста која су у XIX веку прихватили и усавршавали немачки, енглески и француски шифрантски бирои.

Пола века након тога објављено је у пет свезака дело Јоханеса Тритхемуса прва књига из подручја криптографије. У 16. значајан допринос дају милански доктор Ђироламо Кардано, математичар Батисто Порта и француски дипломата Блаисе де Вигенер.

Све до Другог светског рата шифроване поруке могле су се колико-толико и дешифровати. На немачкој страни појавила се машина која је шифровала поруке на до тада још невиђен начин. Немци су машину назвали Енигма. Међутим ма колико је она у то време била револуциона савезници су успели да разбију поруке шифроване Енигмом.

После Другог светског рата и појавом првих рачунара отворила су се нова врата криптографији. Рачунари су временом постајали све бржи и бржи, радећи и по неколико стотина, а касније и милиона операција у секунди. Новом брзином рада је омогућено пробијање шифри за све мање времена. Упоредо с тим, радило се и на измишљању нових, сигурнијих и компликованијих алгоритама за шифровање.

Шта Криптографија мора да обезбеди[уреди]

Криптографија мора да обезбеди следеће:

  1. Интегритет или веродостојност информација које се шифрују (енгл. Data integrity) се брине о томе да не дође до неовлашћене промене информација, као што су мењање информације, брисање информације и замена информације. Да би се осигурала веродостојност, мора постојати начин провјере да ли је информација промењена од стране неовлашћене особе.
  2. Тајност (енгл. Confidentiality) информација осигурава да је садржај информације доступан само овлашћеним особама односно само оним који поседују кључ. Постоје бројни начини заштите тајности, почев од физичке заштите до математичких алгоритама који скривају податке.
  3. Провера идентитета (енгл. Autentification) корисници који почињу комуникацију се требају прво представити један другоме па тек онда почињу са разменом информација.
  4. Немогућност избјегавања одговорности (енгл: Non-repudiation) је врло важна ставка, поготово у новије време када се велики део новчаних трансакција обавља путем интернета.

Симетрична криптографија[уреди]

Као што смо рекли, код симетричне енкрипције користе се исти кључ и за шифровање и за дешифровање. Баш због тога је разноврсност, а самим тим и сигурност алгоритама овакве енкрипције је велика. Битан фактор је и брзина - симетрична енкрипција је веома брза. Поред свих предности које има на пољу сигурности и брзине алгоритма, постоји и један велики недостатак. Како пренети тајни кључ? Проблем је у томе, што ако се тајни кључ пресретне, порука се може прочитати. Зато се овај тип енкрипције најчешће користи приликом заштите података које не делимо са другима (шифру знате само ви и њу није потребно слати другоме).

Клод Шенон је дефинисао услове савршене тајности, полазећи од следећих основних претпоставки:

  1. Тајни кључ се користи само једном.
  2. Криптоаналитичар има приступ само криптограму.

Шифарски систем испуњава услове савршене тајности ако је отворени текст X статистички независан од криптограма Y, што се може математички изразити на следећи начин:

  P(X=x|Y=y) = P(X=x)  

за све могуће отворене текстове x=(x_1,x_2,...x_m) и све могуће криптограме y=(y_1,y_2,...y_n) ; другим речима, вероватноћа да случајна променљива X има вредност x једнака је са или без познавања вредности случајне променљиве Y. Због тога криптоаналитичар не може боље проценити вредност X познавајући вредност Y од процене без њеног познавања, независно од расположивог времена и рачунарских ресурса којима располаже. Користећи појам ентропије из теорије информација, Шенон је одредио минималну величину кључа потребну да би били испуњени услови савршене тајности. дужина кључа К мора бити најмање једнака дужини отвореног текста М:

K ≥ M

Секвенцијални шифарски системи[уреди]

Као најосновнијим симетричним алгоритмима, довољно је само рећи да се они заснивају на својству логичке операције xor (енгл. exclusive orексклузивно или) за коју вази:

(X xor Y) xor Y = X, X, Y ∈ (0,1)

Наиме, можемо замислити да нам је X један бит оригиналне поруке а Y бит кључа. Тада (X xor Y)=З представља један бит шифрата који путује јавним каналима и који неко може прислушкивати, док је Z xor Y оригинални бит X који се добија xor-овањем бита кодиране поруке са битом кључа. Дефинишимо још операцију xor за произвољну дужину бита тј. бајтова и тада X, односно Y можемо сматрати бајтом, речју односно поруком У пракси се често користе генератори псеудо случајних низова (енгл. PRNG – Pseudo Random Number Generator), који представљају детерминистичке алгоритме за шифровање, али низови симбола које они генеришу имају особине сличне случајним низовима. Генератори псеудослучајних низова користе кратке кључеве ради започињања процеса генерисања. Ови кључеви морају бити присутни на обе стране пре почетка комуницирања. Излазни низ из генератора се сабира по модулу 2 са низом отвореног текста и на тај начин се добија низ шифрата. На пријемној страни се сабира примљени низ шифрата са псеудослучајним низом генерисаним помоћу истог кључа, почевши од истог почетног симбола као и на предајној страни. На тај начин је пријемник у стању да реконструише отворени текст. Јасно је да докле год се случајни низови добијају помоћу било ког алгоритма они могу бити само псеудослучајни и као такви постају мамац за све оне који се баве разбијањем шифри. Псеудослучајни низови су периодични у ширем смислу (што значи да могу имати апериодични почетак), али ако су периоди таквих низова много већи од дужина низова отвореног текста, систем ће се понашати на сличан начин као и Вернамова шифра. Основна идеја која стоји иза секвенцијалних шифара је да се генерише дуга и непредвидљива секвенца симбола из неког алфабета (нпр. бинарног) на основу кратког кључа изабраног на случајан начин. Секвенцијална шифра са генератором псеудослучајног низа је апроксимација Вернамове шифре, и утолико је боља уколико је псеудослучајни низ ближи по карактеристикама правом случајном низу.

Блок шифра[уреди]

Блок шифром се називају они алгоритми код којих се оригинална порука шифрује по групама (блоковима) од два и више елемената. Најпознатији алгоритми блок шифара су: LUCIFER, DES, FEAL, IDEA, RC5, SKIPJACK, BLOWFISH, TWOFISH, AES (RIJNDAEL) и други.

Асиметрична криптографија[уреди]

За разлику од симетричне криптографије, асиметрична користи два кључа — јавни и приватни. Принцип је следећи: у исто време се праве приватни и одговарајући јавни кључ. Јавни кључ се даје особама које шаљу шифроване податке. Помоћу њега те особе шифрују поруку коју желе да пошаљу. Када прималац добије шифрат, дешифрује га помоћу свог приватног кључа. На тај начин сваки прималац има свој приватни кључ а јавни се може дати било коме, пошто се он користи само за шифровање, а не и дешифровање.

Предност овог начина шифровања је у томе што не мора да се брине о случају да неко пресретне јавни кључ, јер помоћу њега може само да шифрује податке. Такође, програми са оваквим начином шифровања имају опцију да потписују електронске документе (о томе ће бити речи нешто касније). Појам система са јавним кључевима увели су Дифи и Хелман 1976. године. Први такав систем који су они дефинисали био је протокол, познат под именом размена кључева Дифи-Хелман. 1977. године објављен је најчувенији и најпопуларнији алгоритам за симетричну криптографију РСА, чије име представља скраћеницу сачињену од првих слова презимена аутора Рона Риверста, Ади Шамира и Леонарда Ејдлмана.

Функција за сажимање – хеш функција[уреди]

Горе наведени алгоритми шифровања не штите интегритет односно веродостојност поруке која је шифрована. Ово је врло важно из разлога јер је могуће да је кључ проваљен и да нам нападач шаље лажне поруке, али и могућности да је дошло до грешке приликом шифровања, тако да примљена порука није идентична оригиналном документу. Из тог разлога креиране су функције за сажимање или хеш (могу се сусрести и под именима енгл. 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.

Види још[уреди]

Спољашње везе[уреди]

Викиостава
Викимедијина остава има још мултимедијалних датотека везаних за: Криптографија