You are on page 1of 44

Вовед во криптографија

Предавач:доц.д-р Ќире Јаќимоски


Зошто криптографија?
е
 значајна алатка за остварување на повеќето цели на
безбедноста
 основа на многу безбедносни механизми
не е
 решение на сите безбедносни проблеми (на пример,
софтверски грешки, социјален инженеринг)
 надежна освен ако не се имплементира и не се
користи правилно
 нешто што треба сами да го измислуваат
организациите – секогаш треба да се користат
стандарди и алгоритами кои се препорачуваат
Криптологија
Името криптографија доаѓа од грчките
зборови κρυπτός (криптос) што значи таен,
скриен и γράφ (граф) што значи пишување.
 Буквално: наука како да се испраќаат тајни
пораки.
 Формално: наука за математичките техники кои
ги спроведуваат безбедносните цели како:
доверливост, интегритет и т.н.
Криптоанализа е наука која се занимава со
разбивање на криптографските системи
Криптологија=криптографија+криптанализа
Основни поими

Клуч Клуч

Шифриран
оригинална текст оригинална
Испраќач Шифрирање Дешифрирање Примач
порака порака

Напаѓач
Основни поими
 Пораката која треба да се испрати се нарекува
оригинална порака (plaintext) - М.
 Испраќачот ја трансформира оригиналната порака со
користење на претходно договорен таен клуч - К. Оваа
постапка се нарекува шифрирање (encrypting), а
добиениот резултат се нарекува шифрирана порака
(ciphertext) - C.
 Шифрираната порака се испраќа преку комуникациски
канал.
 Напаѓачот може да ја пресретне шифрираната порака,
но без клучот не може да ја дознае оригиналната
порака.
 Примачот со помош на претходно договорениот клуч ја
трансформира шифрираната порака повторно во
оригиналната порака, со процес наречен дешифрирање
(decrypting).
Основни поими
Функцијата која што ја трансформира оригиналната
порака М во шифрирана порака С се нарекува
шифрирачка функција (encryption function) и се означува
со Е.
E(K, M)=C
Функцијата што ја враќа шифрираната порака С во
нејзината оригинална форма М се вика дешифрирачка
функција (decryption function) и се означува со D. Оваа
функција е инверзна (обратна) на шифрирачката
функција.
D(K, C)=M
Криптографски алгоритам или шифра или шифрувач
(cipher) се состои од шифрирачка и дешифрирачка
функција.
Основни поими
Крипто-систем е систем кој се состои од
криптографскиот алгоритам и сите можни
оригинални пораки, шифрирани пораки и
клучеви.
Кај симетричниот крипто-систем или крипто-
систем со таен клуч се користи единствен клуч
за шифрирање и дешифрирање.
Кај асиметричниот крипто-систем или крипто-
систем со јавен клуч се користат два клуча:
јавен клуч за шифрирање и приватен или таен
клуч за дешифрирање.
Принцип на Kerkhoffs (19 век)

Auguste Kerckhoffs (1835-1903)


“La Cryptographie militaire”

Крипто-системот треба да остане сигурен


дури кога сѐ за системот, освен клучот, се
јавно познати.
Поделба на шифрите
Според типот на операцијата на шифрирање,
шифрите се делат на:
Супституциски шифри
 Секој елемент на оригиналната порака (бит, буква,
група битови или букви) се пресликува во друг
елемент. На пр, TAJNA се шифрира со IWXOW
Транспозициски (пермутациски) шифри
 елементите на оригиналната порака се
пермутираат. На пр, TAJNA се шифрира со JANAT
Комбинирани шифри
Поделба на шифрите
Според начинот на обработка на оригиналната
порака, шифрите се делат на:
Блок шифри (Block cipher)
 работат со група од фиксен број на елементи од
оригиналната порака, наречена блок. Секој блок
се шифрира со истиот клуч.
Проточни шифри (Stream cipher)
 елементите на оригиналната порака се шифрираат
еден по еден, користејќи притоа низа од клучеви
која паралелно се генерира.
Поделба на шифрите
Моноалфабетски шифри
 На секоја буква од оригиналната порака и
одговара само една буква
Полиалфабетски шифри
 Секоја буква од оригиналната порака може да се
преслика во една од m можни букви (m е должина
на клучот)
Стеганографија
Алтернатива за шифрирањето
Умешност на криење на порака, така да
никој не знае за нејзиното постоење
 се користи подмножество на зборови/букви во
една подолга порака, кое е означено на некој
начин
 невидливо мастило
 криење на пораката во слика или звук
Кратка историја - Scytal
5 век ПНЕ, Спарта
Транспозициска шифра
 Долга лента од пергамент или кожа која се виткала околу цилиндарот, а
пораката се испишувала преку лентата.

Прв систем на воена криптографија


Кратка историја - Polybius
2 век ПНЕ
Систем за сигнализирање
Секоја буква се претставува со два броја -
бројот на редицата и колоната во која се
наоѓа. Така, m=32, а h=23.
1 2 3 4 5
1 a b c d e
2 f g h ij k
3 l m n o p
4 q r s t u
5 v w x y z
Класична криптографија
Супституциски шифри
 Цезарова шифра
 Шифра со поместување
 Афина шифра
 Општа супституциска шифра
 Vigenère шифра
 Playfair шифра
 Hill шифра
Транспозициски шифри
Цезарова шифра
Јулије Цезар во комуникацијата со своите
пријатели користел шифра во која буквите од
оригиналната порака ги заменувал со буквите
три места понатаму во абецедата (A→D,
B→E,...)
Поместувањето за 3 е клучот на Цезаровата
шифра.
Оригинален
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
текст
Шифриран
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
текст

На пр, TAJNA се шифрира со WDMQD


Шифра со поместување
(Shift cipher)
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

C=E(K, M)=(M+K) (mod 26)


M=D(K, C)=(C-K) (mod 26)
Обопштување на Цезарова шифра
Колку различни клучеви има?
26
Лесно се дешифрира , на пр, со испробување
на сите можни клучеви (brute force attack,
exhaustive key search).
Афина шифра
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

K  (a, b)  Z 26  Z 26 : (a,26)  1
е множеството на сите можни клучеви
Y=E(K, X)=(aX+b) (mod 26)
X=D(K, Y)=a-1 (Y-b) (mod 26)

На пример, за К=(3, 4)
TAJNA се шифрира со JEFRE
3*19(T)+4 (mod 26) = 61 (mod 26) =9(J)
Афина шифра
Колку различни клучеви има за абецедата?
12*26=312
Зошто 12?
a {1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25}
(26)=12 -> Ојлерова фи функција
Лесно се дешифрира , на пр, со испробување
на сите можни клучеви.
Обопштување, n место 26.
Општа супституциска шифра
 Претходните три шифри се посебен случај на
општата супституциска шифра, а сите се
моноалфабетски. Генерално, секоја буква можеме
да ја замениме со било која друга буква, т.е. над
оригиналната порака може да се примени било која
пермутација на абецедата. Секоја од тие
пермутации е клуч на шифрата.
 Такви пермутации има 26!~4.03*1026~288 и тешко
можат да се пробијат со “brute force” методот. Но,
ако има доволно шифрирани пораки и ако се знае
на кој јазик е напишана пораката, со помош на
статистичка анализа на јазикот, лесно може да се
дешифрира пораката.
Општа супституциска шифра
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

D K V Q F I B J W P E S C X H T M Y A U O L R G Z N

На пример, TAJNA се шифрира со UDPXD


Општа супституциска шифра –
други познати специјални случаеви
Атбаш (Atbash) на еврејското писмо

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Z Y X W V U T S R Q P O N M L K J I H G F E D C B A

Албам (Albam) на еврејското писмо

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
Редундантност на јазикот и
криптоанализата
Во јазиците има многу редундантност
Буквите не се користат со иста веројатност
На пример, во англискиот јазик, најкористена
буква е Е, а најкористен пар е TH
Најкористени триграми во опаѓачки редослед
THE, ING, AND, HER, ERE, ENT, THA, NTH, WAS, ETH, FOR
Може да се направи табела со фреквенција
на буквите, фреквенција на парови букви –
диграми, фреквенција на тројки букви -
триграми, и тн.
Фреквенција на букви (во промили)
A I O E N S R J T U D K V L M P C Z G B H F
HRVATSKI
115 98 90 84 66 56 54 51 48 43 37 36 35 33 31 29 28 23 16 15 8 3

E T A O I N S H R D L C U M W F G Y P B V K J Q X Z
ANGLISKI
127 91 82 75 70 67 63 61 60 43 40 28 28 24 23 22 20 20 19 15 10 8 2 1 1 1

A О И Е Т Н Р С В Д К Л П М У З Ј Г Б Ч Ш Ц Ж Њ Ф Ќ
Makedonski
133 107 92 89 75 71 51 48 43 39 37 29 29 23 23 20 15 15 14 9 9 8 6 6 3 3

Х Ѓ Џ Љ Ѕ
Makedonski
1 1 0.3 0.2 0.1
Анализа на фреквенции
Моноалфабетските шифри не ја менуваат
релативната фреквенција на употребата на
буквите
Се пресметува фреквенцијата на буквите во
шифрираниот текст
Добиените вредности се споредуваат со
познатите вредности
Може да се добијат некои букви од клучот на
овој начин
Општата супституциска шифра е ранлива на
напад само со шифриран текст.
Pigpen (Freemason) шифра
Иако користи симболи, шифрата е идентична
со моноалфабетските шифри

MARY I LOVE YOU TOM


Vigenère шифра
 Giovan Battista Bellaso, 1553 книга La cifra del
 Blaise de Vigenère (1523 – 1596)
 Полиалфабетска шифра
 Клуч е било кој збор
 Ефикасно ја применува шифрата со
поместување повеќе пати.
 Секоја буква од клучот ја одредува
соодветната шифра со поместување.
 Сепак, постојат начини за дешифрирање на
ваквите шифри.
Vigenère шифра
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

 Kлуч е BROJ B R O J
1 17 14 9

 Буквата од шифрираниот текст одговара на


збирот на бројот на буквата од оригиналниот
текст и буквата од клучот над неа, по модул 26.
клуч B R O J B R O J B R O J
оригинална порака K R I P T O L O G I J A
шифрирана порака L I W Y U F Z X H Z X J
клуч B R O J B R O J B R O J
оригинална порака K R I P T O L O G I J A
шифрирана порака L I W Y U F Z X H Z X J
Vigenère шифра
Vigenère шифра со автоматски клуч е варијанта
на Vigenère шифрата во која оригиналната
порака го генерира клучот. Па оваа варијанта
спаѓа во проточни шифри.
Пример:

клуч B R O J K R I P T O L O
оригинална порака K R I P T O L O G I J A
шифрирана порака L I W Y D F T D Z W U O
Playfair шифра
 Шифрата ја изумил британскиот научник Charles Wheatstone во
1854 година, а името го добила по неговиот пријател, баронот
Playfair од St. Andrews кој ја популаризирал.
 Се шифрираат парови од букви, така да резултатот зависи од
двете букви. Алгоритамот за шифрирање се базира на 5×5
матрица од букви, која се конструира со користење на клучен
збор. На пример, ако клучниот збот е CIPHER, тогаш матрицата
изгледа како:
C IJ P H E
R A B D F
G K L M N
O Q S T U
V W X Y Z

 Бидејќи има само 25 места, буквите I и J се на исто место, по


договор.
C IJ P H E
R A B D F

Playfair шифра
G K L M N
O Q S T U
V W X Y Z

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


содржи две исти букви една до друга, тогаш се додава
непостоечка буквата помеѓу нив, на пример буквата X. Исто така,
доколку е потребно на крај се додава било која буква за да се
добие пар букви. Пример, ако оригиналната порака е PRATKATA
STIGNA, таа запишана во парови ќе биде PR AT KA TA ST IG NA.
Можат да настанат три случаи:
1) Буквите се во ист ред. Тогаш се заменуваат со букви кои се
наоѓаат едно место надесно (циклично). ST ќе се шифрира со TU.
2) Буквите се во иста колона. Тогаш се заменуваат со букви кои се
наоѓаат едно место под (циклично). KA ќе се шифрира со QK.
3) Инаку се гледа правоаголникот кој го формираат тие две букви,
па се заменуваат со останатите два врва на тој правоаголник.
Редоследот е одреден така да прво се пишува буквата која е во
ист ред со првата буква. PR ќе се шифрира со CB.
Добиената шифрирана порака е CBDQQKQDTUCKKF
Кај долги текстови шифрата станува несигурна, бидејќи може да
се користи анализа на фреквенција на јазикот.
Hill шифра
 Lester Hill во 1929 година изумил шифра кај која m
последователни букви од оригиналната порака се
заменуваат со m букви во шифрираната порака.
Ваквите шифри се нарекуваат полиграфски шифри.
 Множеството на клучеви е:
K={m×m инверзни матрици над Z26}
Y=E(K, X)=XK
X=D(K, Y)=YK-1
 Hill шифрата ги крие информациите за
фреквенцијата на буквите, но, и фреквенцијата на
паровите букви. Ако на напаѓачот му е познат пар
оригинална и шифрирана порака, системот лесно се
разбива.
Hill шифра
11 8 1  7 18 J U L Y
K   K   9 20 11 24
 3 7   23 11

11 8
9 20    99  60 72  140  3 4  D E 
 3 7

11 8
11 24    121  72 88  168  11 22  L W 
 3 7
Шифрираната порака е DELW
Транспозициски шифри
 Буквите во оригиналната порака се
пермутираат според одредени правила
 Транспозициските шифри лесно се
препознаваат бидејќи имаат иста
фреквенција на букви како и јазикот на кој се
напишани.
Транспозиција по колони
 Кај неа оригиналната порака се запишува во
матрица редица по редица, а се чита по
колони, но со променлив редослед на колоните.
Ако последната редица не се исполни до крај,
тогаш празните места се пополнуваат со
произволни букви, кои не ја менуваат
содржината на пораката.
 Редоследот на колоните е клучот.
Пример на транспозиција по
колони
 Се шифрира оригиналната порака KRIPTOGRAFIJA I
KRIPTOANALIZA со транспозиција по колони со клуч 4 3 1
2 5 7 6.
клуч 4 3 1 2 5 7 6

K R I P T O G
оригинална R A F I J A I
порака K R I P T O A
N A L I Z A X

 Добиената шифрирана порака е:


IFILPIPIRARAKRKNTJTZGIAXOAOA
Комбинирани шифри
Комбинација на супституциски и
транспозициски шифри
 Германската ADFGVX шифра (Прва СВ)

Тешки за имплементација
 може да бараат многу меморија
 може да бараат пораки со одредена должина
Ротор машини (1870-1943)
Механички уреди за автоматско шифрирање
Прв пример е Hebern машината со еден ротор
Множество од цилиндри кои независно ротирале и кои
имале по еден пин за влез и излез за секоја буква
Секој ротор имплементирал супституциска шифра
Излезот од секој ротор бил влез на наредниот ротор
Полиалфабетска супституциска шифра
 период = (должина на азбуката)број на цилиндри
 На пример, за 3 цилиндра има 263=17576 можности
Ротор машини
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Наједноставна ротор машина со еден цилиндар


По внесувањето на буква, цилиндарот ротира за
една позиција
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
G V I L C M B Q F K D O S P Z H R E U Z N X A T W J

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

rotate

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
K H W J M D N C R G L E P T Q Z I S F V A O Y B U X
ЕНИГМА
Arthur Scherbius

Marian Rejewski
(1905-1980)

Jerzy Różycki
(1909-1942)

Henryk Zygalski
(1908-1978)
Ротор машини

Enigma (Германската армија)


Purple (Јапонска дипломатија)
Fialka (Руска машина од времето на студената војна)
Читање
Дел од Поглавје 1 и 7 од A. J. Menezes, P. C.
Van Oorschot, S. A. Vanstone: “Handbook of
Applied Cryptography”, CRC Press, 1996
Поглавје 1 од Serge Vaudenay: “A Classical
Introduction to Cryptography”, Springer, 2009
Поглавје 3, 4 од Nigel Smart: “Cryptography:
An Introduction”, 3rd Edition, McGraw Hill, 2004

You might also like