kriptografija prezentacija

Author: tomislav-kolaric

Post on 07-Jul-2018

547 views

Category:

Documents


26 download

Embed Size (px)

TRANSCRIPT

  • 8/18/2019 Kriptografija Prezentacija

    1/12

    Kriptologija

    (gr. κρυπτός, kryptós – skriven; λόγος, logos - znanje, znanost)

     je znanost koja se bavi izučavanjem metodaza zaštitu informacija (šifriranjem), temetoda za otkrivanje šifriranih informacija(dekriptiranjem)

    objekti izučavanja kriptologije su pisaneporuke (kriptografija), govorne (kriptofonija),vizuelne (slike, karte, šeme) i druge poruke.

    1

    Kriptografija

     Kriptografija je znanstvena disciplina koja se

    bavi proučavanjem metoda za slanje poruka utakvom obliku da ih samo onaj kome sunamijenjene može pročitati. 

    doslovno bi se mogla prevesti kao tajnopis   (gr. γράφω, gráfo – pisati)

    Kriptografija je grana kriptologije

    2

    Skital (5. stoljeće pr. Kr.)

    Spartanska naprava za šifriranje: drveni štapoko kojeg se namotavala vrpca od pergamenta,pa se na nju okomito pisala poruka.

    Nakon upisivanja poruke, vrpca bi se odmotala,a na njoj bi ostali izmiješani znakovi koje jemogao pročitati samo onaj tko je imao štap

     jednake debljine.

    3

    Hebrejska šifra (5.- 6. stoljeće pr. Kr.) 

    zasniva se na principu zamjene slova abecede.

    atbash ABCDEFGHIJKLM

    ZYXWVUTSRQPON

    albam ABCDEFGHIJKLM

     NOPQRSTUVWXYZ

    atbah ABCDJKLMESTUV

    IHGFRQPONZYXW

    4

    Kriptografija – osnovni pojmovi

    5

    JASNI (OTVORENI)

    TEKSTKRIPTIRANI TEKST

    (KRIPTOGRAM)

    JASNI (OTVORENI)

    TEKST

    kript iranje

    enkripci ja

    dekript iranje

    dekripci ja

    KLJUČ pravila enkripcije(unaprijed

    dogovorena izmeđupošiljatelja iprimatelja)

    KRIPTOANALIZATOR

    Tradicionalni kriptosustavi

    Cezarovo kriptiranje Kriptiranje s pomakom

    Afino kriptiranje

    Vigenèreovo kriptiranje

    6

  • 8/18/2019 Kriptografija Prezentacija

    2/12

    Cezarovo kriptiranje

    Cezar (1. st. pr. Kr.) – slao kriptirane porukezapovjednicima

    svaki znak jasnog teksta pomaknuo za 3mjesta u abecedi: ključ za enkripciju: broj 3 

    ključ za dekripciju: broj 3

     simetrični ključ 

    7

    Cezarovo kriptiranje

    Kriptirajmo riječ KRIPTOGRAFIJA Cezarovim kriptiranjem

    8

    Slovo  A  B  C  D  E  F  G  H  I  J  K  L  M 

    Kriptirano slovo 

    D  E  F  G  H  I  J  K  L  M  N  O  P 

    Slovo  N  O  P  Q  R  S  T   U  V  W  X  Y  Z 

    Kriptirano slovo 

    Q  R  S  T   U  V  W  X  Y  Z  A  B  C 

    K N

    R U

    I L

    P S

    T W

    O R

    G J

    R U

    A D

    F I

    I L

    J M

    A D

    NULSWRJUDILMD

    Kriptiranje s pomakom

    općenitiji slučaj – svaki znak jasnog tekstapomaknuti za k mjesta u abecedi(Cezarovo kriptiranje ima pomak 3)

    9

    Kriptiranje s pomakom

    Kriptirajmo riječ KRIPTOGRAFIJA kriptiranjem s pomakom pričemu je ključ kriptiranja 6 

    10

    Slovo  A  B  C  D  E  F  G  H  I  J  K  L  M 

    Kriptirano slovo 

    G H I J K L M N O P Q R S

    Slovo  N  O  P  Q  R  S  T   U  V  W  X  Y  Z 

    Kriptirano slovo 

    T U V W X Y Z A B C D E F

    K Q

    R X

    I O

    P V

    T Z

    O U

    G M

    R X

    A G

    F L

    I O

    J P

    A G

    QXOVZUMXGLOPG

    Kriptiranje s pomakom u Pythonu

    def pomak(s, k):s2 = ''

    for c in s:

    c2 = chr(((ord(c) - 65) + k) % 26 + 65)

    s2 += c2

    return s2

    Napomena: samo za velika slova engleskog alfabeta

    11

    Monoalfabetsko kriptiranje: neko slovo će uvijek biti kriptirano istim slovom 

    12

  • 8/18/2019 Kriptografija Prezentacija

    3/12

    Afino kriptiranje

    kriptiranje se provodi linearnom funkcijom y = (ax + b) % 26

    13

    red. br. 0 1 2 3 4 5 6 7 8 9 10 11 12

    slovo A B C D E F G H I J K L M

    red. br. 13 14 15 16 17 18 19 20 21 22 23 23 25

    slovo N O P Q R S T U V W X Y Z

    INFORMATIKA

    JSOZULFIJXF

    14

    Kriptirajmo riječ INFORMATIKA afinim kriptiranjem pri čemusu parametri kriptiranja a = 7 i b = 5, tj. y = (7x + 5) % 26

    red. br. 0 1 2 3 4 5 6 7 8 9 10 11 12

    slovo A B C D E F G H I J K L M

    red. br. 13 14 15 16 17 18 19 20 21 22 23 23 25

    slovo N O P Q R S T U V W X Y Z

    Afino kriptiranje u Pythonu

    def afino(s, a, b):

    s2 = ''

    for c in s:

    c2 = chr(((ord(c) - 65) * a + b) % 26 + 65)

    s2 += c2

    return s2

    x = input()

     print(afino(x, 7, 5))

    15

    Dekriptiranje afine funkcije

    Neka je zadana afina funkcija za kriptiranje:

     y = (5x + 3) % 26

    te je tako kriptirani tekst:

    BZARQD

    Koji je pripadni jasni tekst?

    16

    Modularna aritmetika

    predstavlja aritmetiku cijelih brojeva kodkoje se brojevi "vraćaju u krug", nakon štodostignu određenu vrijednost — modulo

    Euclid (3 st. pr. K.)

    Carl Friedrich Gauss (1801.)

    17

    svakodnevna primjena modularne aritmetike: 9:00 h + 4 h = 1:00 h (u 12 satnom prikazu)

    22:00 h + 8 h = 6:00 h (u 24 satnom prikazu)

    18

  • 8/18/2019 Kriptografija Prezentacija

    4/12

    Modularna aritmetika

    Zadan je skup nenegativnih cijelih brojeva Zn,

    Zn = {0, 1, 2, 3, .. , n-1}

    potrebno je definirati aritmetičke operacijezbrajanja i množenja, ali tako da je rezultatuvijek element skupa Zn  modularno zbrajanje: oznaka a +n b

    modularno množenje: oznaka a •n b

    19

    Modularna aritmetika

    20

    a +n b = (a + b) % n

    a •n b = (a • b) % n 

    Primjer: n = 5

    +5  0 1 2 3 4

    0 0 1 2 3 4

    1 1 2 3 4 0

    2 2 3 4 0 1

    3 3 4 0 1 2

    4 4 0 1 2 3

    •5  0 1 2 3 4

    0 0 0 0 0 0

    1 0 1 2 3 4

    2 0 2 4 1 3

    3 0 3 1 4 2

    4 0 4 3 2 1

    Modularna aritmetika

    21

    neutralni element za zbrajanje: 0

    neutralni element za množenje: 1 

    aditivni inverz y є Zn, x +n y = 0

    multiplikativni inverz y є Zn, x •n y = 1

    +5  0 1 2 3 4

    0 0 1 2 3 4

    1 1 2 3 4 0

    2 2 3 4 0 1

    3 3 4 0 1 2

    4 4 0 1 2 3

    •5  0 1 2 3 4

    0 0 0 0 0 0

    1 0 1 2 3 4

    2 0 2 4 1 3

    3 0 3 1 4 2

    4 0 4 3 2 1

    Modularna aritmetika

    22

    nula nema multiplikativni inverz

    multiplikativni inverz ne mora postojati niti zaostale elemente skupa

    •6  0 1 2 3 4 5

    0 0 0 0 0 0 0

    1 0 1 2 3 4 5

    2 0 2 4 0 2 4

    3 0 3 0 3 0 3

    4 0 4 2 0 4 2

    5 0 5 4 3 2 1

    Skup Zn čiji svaki element osim nule imamultiplikativni inverz zove se grupa ako je n prost broj

    U skupu Z26 očito svi elementi nemajumultiplikativni inverz

    23

    Natrag na primjer:

    Funkcija za kriptiranje y = (5x + 3) % 26i kriptirani tekst: BZARQD

     y = 5 •26 x +26 3

    x = (y –26 3) / 26 5 = (y +26 (-3)) •26 (5-1)

    24

    aditivniinverz

    multiplikativniinverz

    (da li postoji???)

  • 8/18/2019 Kriptografija Prezentacija

    5/12

    Klasa Z (za rad sa skupovima Zn)class Z:

    def __init__(self, n, v):

    self.n = n

    self.v = vreturn

    # print

    def __str__(self):

    return '({}, {})'.format(self.n, self.v)

    # zbrajanje

    def __add__(self, y):

    return Z(self.n, (self.v + y.v) % self.n)

    # množenje 

    def __mul__(self, y):

    return Z(self.n, (self.v * y.v) % self.n)

    25

    Klasa Z (za rad sa skupovima Zn)# aditivni inverz

    def __neg__(self):

    return Z(self.n, (self.n - self.v))

    # multiplikativni inverz (potenciranje)

    def __pow__(self, p):

    if p < 0:

    i = 1

     while i < self.n and i * self.v % self.n != 1:

    i += 1

    if i < self.n:

    return Z(self.n, (i ** -p) % self.n)

    else:

    return -1

    else:

    return Z(self.n, self.v ** p % self.n)

    26

    Ponovo natrag na primjer

    x = (y +26 (-3)) •26 (5-1)

    = (y +26 23) •26 21

    = 21 •26 y +26 483 = 21 •26 y +26 15

    = (21y + 15) % 26

    27

    Monoalfabetsko kriptiranje: neko slovo će uvijek biti kriptirano istim slovom 

    Polialfabetsko kriptiranje: određeno slovo neće se uvijek kriptirati istim slovom 

    28

    Vigenèreovo kriptiranje

    ključ je riječ (kod Cezara je broj) 

    svako slovo jasnog teksta kriptira seodgovarajućim slovom ključa 

    ključ se ciklički ponavlja dok mu duljina nepostane jednaka duljini jasnog teksta

    29

    Vigenèreovo kriptiranje - primjer

    Potrebno je kriptirati riječ KRIPTOGRAFIJA  ključem SLOVO.

    KRIPTOGRAFIJA

    SLOVOSLOVOSLO

    -------------

    30

  • 8/18/2019 Kriptografija Prezentacija

    6/12

     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

    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

    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

    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

    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

    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

    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

    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

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

    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

    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

    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

     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

     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

    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

    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

    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

    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

    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

    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

    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

     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

     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

    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

    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

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

    31

    Vigenèreovo kriptiranje - primjer

    KRIPTOGRAFIJA

    SLOVOSLOVOSLO

    C------------

    32

     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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

     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

     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

    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

    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

    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

    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

    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

    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 SU 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

     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

     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

    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

    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

    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

    33

    Vigenèreovo kriptiranje - primjer

    KRIPTOGRAFIJA

    SLOVOSLOVOSLO

    CC-----------

    34

    polialfabetsko kriptiranje

     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

    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

    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

    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

    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

    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

    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 FH 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

    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

    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

    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

    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

     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

     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

    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

    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

    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

    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

    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

    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

    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

     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

     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

    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

    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

    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

    35

    Vigenèreovo kriptiranje - primjer

    KRIPTOGRAFIJA

    SLOVOSLOVOSLO

    CCW----------

    36

  • 8/18/2019 Kriptografija Prezentacija

    7/12

    Vigenèreovo kriptiranje - primjer

    KRIPTOGRAFIJA

    SLOVOSLOVOSLO

    CCWKHGRFVTAUO

    37

    Vigenèreovo kriptiranje - primjer

    Primjer dekriptiranja:

    -------------

    SLOVOSLOVOSLO

    CCWKHGRFVTAUO

    38

     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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

     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

     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

    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

    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

    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

    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

    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

    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 SU 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

     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

     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

    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

    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

    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

    39

    Vigenèreovo kriptiranje - primjer

    Primjer dekriptiranja:

    K------------

    SLOVOSLOVOSLO

    CCWKHGRFVTAUO

    40

     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

    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

    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

    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

    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

    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

    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 FH 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

    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

    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

    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

    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

     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

     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

    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

    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

    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

    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

    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

    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

    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

     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

     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

    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

    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

    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

    41

    Vigenèreovo kriptiranje - primjer

    Primjer dekriptiranja:

    KR-----------

    SLOVOSLOVOSLO

    CCWKHGRFVTAUO

    42

  • 8/18/2019 Kriptografija Prezentacija

    8/12

    Vigenèreovo kriptiranje - primjer

    Primjer dekriptiranja:

    KRIPTOGRAFIJA

    SLOVOSLOVOSLO

    CCWKHGRFVTAUO

    43

    Vigenèreovo kriptiranje i Python

    ideja: zbrojiti redni broj slovaotvorenog teksta (broj stupca) i

    redni broj pripadnog slova ključa(broj retka) … 

    … i pronaćiostatak pridjeljenju sa 26(modularna a.)

    44

     A B C D E F G H I J K L M N O

    B C D E F G H I J K L M N O P

    C D E F G H I J K L M N O P Q

    D E F G H I J K L M N O P Q R

    E F G H I J K L M N O P Q R S

    F G H I J K L M N O P Q R S T

    G H I J K L M N O P Q R S T U

    H I J K L M N O P Q R S T U V

    I J K L M N O P Q R S T U V W

    J K L M N O P Q R S T U V W X

    K L M N O P Q R S T U V W X Y

    L M N O P Q R S T U V W X Y Z

     M N O P Q R S T U V W X Y Z A

     N O P Q R S T U V W X Y Z A B

    O P Q R S T U V W X Y Z A B C

    10

    3

    Vigenèreovo kriptiranje i Python

    def vigenere(s, k):

    k *= len(s) // len(k) + 1

    s2 = ''

    for i in range(len(s)):

    x = ord(s[i]) - 65

    y = ord(k[i]) - 65

    z = (x + y) % 26

    s2 += chr(z + 65)

    return s2

    45

    Za domaću zadaću: 

    Vigenèreovo dekriptiranje

    46

    Transpozicijsko kriptiranje(Stupčana transpozicija)

    tekst složimo u matricu sa unaprijed zadanimbrojem stupaca (po redcima)

    permutiramo (presložimo) stupce matriceprema zadanom ključu 

    pročitamo tekst iz matrice po stupcima 

    47

    Transpozicijsko kriptiranje - primjer

    Potrebno je kriptirati tekstKRIPTOGRAFIJAMIJESVEZANIMLJIVIJAtranspozicijskim kriptiranjem iključem [2, 3, 5, 4, 1]

    48

  • 8/18/2019 Kriptografija Prezentacija

    9/12

    Transpozicijsko kriptiranje - primjer

    KRIPTOGRAFIJAMIJESVEZANIMLJIVIJA [2,3,5,4,1]

    TFIEMIA KOIJZLJ RGJEAJA PAMVIVA IRASNIA

    49

    K R I P T

    O G R A F

    I J A M I

    J E S V E

    Z A N I M

    L J I V I

    J A A A A

    142 53

    T K R P I

    F O G A R

    I I J M A

    E J E V S

     M Z A I N

    I L J V I

     A J  A A A

    1 2 3 4 5

    Transpozicijsko kriptiranje - primjer

    primjer dekriptiranja, ključ [2, 3, 5, 4, 1]

    TFIEMIAKOIJZLJRGJEAJAPAMVIVAIRASNIA  

    50

    T K R P I

    F O G A R

    I I J M A

    E J E V S

     M Z A I N

    I L J V I

     A J  A A A

    R

    G

    J

    E

     A

    J

     A

    I

    R

     A

    S

     N

    I

     A

    K

    O

    I

    J

    Z

    L

    J

    P

     A

     M

     V

    I

     V

     A

    T

    F

    I

    E

     M

    I

     A

    KRIPTOGRAFIJA MI JE SVE ZANIMLJIVIJA  

    Zadatak:

    Tzv. "brute-force" metodom odrediti jasnitekst (bez znanja ključa transpozicijskogkriptiranja)

    CRIPEALFERIEIJFRDXUESAJS

    51

    Suvremeni kriptosustavi

    52

    Kriptiranje sa simetričnim ključem  tajni ključ 

    Glavni problem:

    Kako poslati ključ??? 

    53

    DES (Data Encryption Standard)

    sredinom 20 st. razvoj komunikacija stvarapotrebu za sigurnim prijenosom informacija(ne samo za vojne i diplomatske potrebe)

    1974-1976 IBM razvija DES (uz sudjelovanjeNSA) 2006. COPACOBANA, Universities of Bochum and

    Kiel, razbija DES u 9 dana ($10,000)

    2008 RIVYERA razbija DES u manje od dana

    54

  • 8/18/2019 Kriptografija Prezentacija

    10/121

    DES

    grupiranje otvorenog teksta u blokove od 64

    bita koristi ključ K veličine 56 bitova (zapravo 64

    bita, ali se 56 bitova koristi u algoritmu, apreostalih 8 za provjeru pariteta) 56 bitova 72 057 594 037 927 936 različitih

    ključeva 

    55

    DES – postupak enkripcije (1. korak)

    inicijalna permutacija

    npr. jasni tekst M = 0123456789ABCDEF

    M (binary) = 0000 0001 0010 0011 0100 0101 01100111 1000 1001 1010 1011 1100 1101 1110 1111

    56

    M (binary) = 0000 0001 0010 0011 0100 0101 01100111 1000 1001 1010 1011 1100 1101 1110 1111

    M (nakon IP) = 1100 1100 0000 0000 1100 1100 11111111 1111 0000 1010 1010 1111 0000 1010 1010

    57

    DES – postupak enkripcije (2. korak)

    MIP = 1100 1100 0000 0000 1100 1100 1111 11111111 0000 1010 1010 1111 0000 1010 1010

    permutirani niz se podijeli u dvije polovice L0 i R0 L0 = 1100 1100 0000 0000 1100 1100 1111 1111

    R0 = 1111 0000 1010 1010 1111 0000 1010 1010

    58

    u 16 podkoraka (i = 1..16)Li = Ri-1Ri = Li-1 ⊕ f(Ri-1, Ki)

    ključ Ki  se kreira iz ključa K sličnim postupcimakao Li i Ri  (podjela na polovice, zamjena, "šiftanje")

    funkcija f radi na principu dodavanja i brisanjabitova, te permutiranja

    59

    npr. ključ K = 133457799BBCDFF1  K (binary) = 0001 0011 0011 0100 0101 0111 0111 1001

    1001 1011 1011 1100 1101 1111 1111 0001

    K (nakon permutacije, bez paritetnih bitova) =1111 0000 1100 1100 1010 1010 1111 0101 0101 01100110 0111 1000 1111

    60

  • 8/18/2019 Kriptografija Prezentacija

    11/12

    DES – postupak enkripcije (3. korak)

    inverzna inicijalna permutacija

    61

    40 8 48 16 56 24 64 32

    39 7 47 15 55 23 63 31

    38 6 46 14 54 22 62 30

    37 5 45 13 53 21 61 29

    36 4 44 12 52 20 60 28

    35 3 43 11 51 19 59 27

    34 2 42 10 50 18 58 26

    33 1 41 9 49 17 57 25

    AES (Advanced Encryption Standard)

    U.S. National Institute of Standards and

    Technology (NIST), 2001 (još uvijek) siguran simetrični kriptosustav

    62

    Kriptiranje s asimetričnim ključem   javni ključ 

    ključ za dekriptiranje nije "inverzan" ključu zaenkripciju, tj. ne dobiva se lako iz ključa zakriptiranje

    proces enkripcije i dekripcije je (matematički) vrlosložen (dakle spor), te nepraktičan za velike količine

    podataka često se kriptosustavima javnog ključa šalje tajni

    ključ te se nastavlja kriptografijom tajnog ključa 

    63

    Kriptografija javnog ključa: 

    Osoba A obznanjuje javni ključ svima koji želekomunicirati s njom

    Osoba B kriptira jasni tekst javnim ključem 

    Osoba A ima tajni ključ pomoću kojeg je jedinomoguće dekriptirati poruku 

    64

    RSA

     1977, Ronald Rivest, Adi Shamir i LeonardAdlerman

    do sada djelotvoran: RSA problem – problemfaktorizacije velikog broja

    65

    RSA - postupak

    odaberu se dva različita, velika prosta broja p i q neka je n = p * q i neka je f = (p-1) * (q-1) odabere se prir. br. e koji je relativno prost s f

    odabere se d takav da je d * e % f = 1

    Neka je m poruka (broj) javni ključ je par (n,e)

    …kriptiranje: c = me % n

    tajni ključ  je d…dekriptiranje: m = cd % n

    66

  • 8/18/2019 Kriptografija Prezentacija

    12/12

    Računanje vrijednosti c = me % n može se

    obaviti modularnim potenciranjem

    … više u knjizi 

    67

    Digitalni potpis

    Ako osoba A šalje poruku osobi B, osoba B

    mora biti sigurna da je poruka od osobe A

    68

    Digitalni potpis

    osoba A želi poslati poruku M osobi B 

    osoba A kriptira poruku tajnim ključem (M') 

    osoba A šalje poruke M i M' osobi B

    osoba B dekriptira poruku M' javnim ključemosobe A (M'')

    ako su M i M'' jednake, potpis je valjan

    69

    Problemi: dvostruko dulja poruka – dvostruko zauzeće

    komunikacijskog kanala

    enkripcija javnim ključem spora (duže procesorskovrijeme)

    dulji kriptirani tekst olakšava probijanje enkripcije 

    70

    71

    Ako sažeci nisu jednaki:  poruku nije poslala osoba A već netko drugi 

    poruku je presreo netko drugi i izmijenio ju je

    došlo je do greške u komunikacijskom kanalu 

    72