У криптологији постоје два основна шифарска система: шифарски систем са симетричним кључем (symmetric key cryptosystem) и шифарски систем са јавним кључем (public key cryptosystem). Шифарски систем са симетричним кључем користи исти кључ за шифровање и дешифровање, тј. увек се из кључа шифровања може једнозначно израчунати кључ дешифровања. Шифарски систем са јавним кључем користи јавни кључ (public key) за шифровање и приватни, тајни кључ (private, secret key) за дешифровање, где познавање јавног кључа није довољно за израчунавање приватног кључа! Модерни шифарски системи су често веома комплексни комбиновани (хибридни) шифарски системи.
Симетрични системи
Вратимо се на блок дијаграм на којем Алиса шаље поруку Бобу, а Труди покушава да неовлашћено види ту поруку.
- Отворени текст означава се са P
- Свака i-та јединица отвореног текста (бит, бајт, карактер и сл.) означава се са Pi
- Шифрат се означава са C
- Одговарајућа i-та јединица у шифрату означава се са Ci
- Кључ за шифровање означава се са KE
- Кључ за дешифровање са KD
- Алгоритам шифровања означава се са E
- Алгоритам дешифровања означава се са D
Када смо усвојили ове ознаке можемо да формализујемо поступак шифровања и дешифровања и дефинишемо шему (протокол) симетричног шифровања.
C = E ( KE , P) односно Ci = E ( KE , Pi )
Шифрат се добија применом алгоритма шифровања на отворени текст са кључем шифровања, односно свака i-та јединица у шифрату добија се применом алгоритма шифровања на i-ту јединицу отвореног текста са кључем шифровања.
P = D ( KD , C ) односно Pi = D ( KD , Ci )
Обрнути поступак важи за дешифровање.
Нападач Труди може да поседује шифрат C, може да познаје алгоритме шифровања и дешифровања E и D, али не сме да зна кључ шифровања KE нити кључ дешифровања KD. Без кључа нападач не може доћи до отвореног текста P (сетите се Керкоховог принципа и Шеноновог максима).
Добра шема симетричног шифровања треба да спречи нападача који зна C и можда зна и E и D да дође до KE и KD . Међутим, реално је да нападач може да дође до C у 2n покушаја, где је n дужина кључа. Ако је n мали број, нападач може разбити симетрични шифрарски систем у разумном времену, али ако је n велики број, време потребно за разбијање симетричног шифрарског система постаје предуго и неприхватљиво за нападача. Из овог можете да закључите да симетрични шифрарски системи нису апсолутно сигурни и да постоји одређена вероватноћа да ће бити разбијени.
У савременим рачунарским мрежама и комуникацијама алгоритми шифровања су стандардизовани и јавни! На пример: AES, DES, IDEA, Blowfish, RC4, RC5, RC6 и др.
Потврђивање аутентичности и интегритета поруке у симетричним шифарским системима остварује се применом кода за аутентичност поруке (Message Authentication Code – MAC). Више о овим кодовима учићете у наредним лекцијама.
Асиметрични системи
Асиметрични шифарски системи, односно шифарски системи са јавним кључем, засновани су на постојању два кључа – јавног (public key – PK) и приватног/тајног (secret key – SK). Јавни кључ је јаван и објављен и доступан свима.
Пошиљалац мора да поседује јавни кључ примаоца. Шифрат се добија применом алгоритма шифровања на отворени текст помоћу јавног кључа примаоца.
C = E ( PKБоб , P ) односно Ci = E ( PKБоб , Pi )
Такав шифрат прималац дешифрује помоћу свог приватног кључа.
P = D ( SKБоб , C ) односно Pi = D ( SKБоб , Ci )
Шифрат није могуће дешифровати помоћу јавног кључа – неопходан је приватни кључ примаоца!
То значи да нападач Труди може да дође до јавног кључа примаоца Боба јер је јаван и објављен. Труди може да зна и који се алгоритми примењују за шифровање отвореног текста, односно дешифровање шифрата. Током напада Труди може да дође до шифрата, али без приватног кључа Боба, Труди не може да дешишфрује шифрат.
Потврђивање аутентичности и интегритета поруке у асиметричним шифарским системима остварује се помоћу дигиталног потписа. Више о дигиталним потписима учићете у наредним лекцијама.