373
Kryptologia zima 19/20 Jakub Maksymiuk

Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Kryptologia

zima 19/20 Jakub Maksymiuk

Page 2: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Plan I

1 Kryptologia

2 Kryptologia - współcześnie

3 Protokół Diffiego-Hellmana

4 RSA

5 Szyfry strumieniowe

6 Kryptografia na krzywych eliptycznych

7 DES

Page 3: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Plan II

8 Ogólnie o szyfrach blokowych

9 Podpis cyfrowy

10 Funkcje haszujące

11 Message Authentication Codes

12 Uzgodnienie i dystrybucja kluczy

Page 4: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

1. Kryptologia

W czym rzecz?PrehistoriaSzyfry podstawienioweSzyfry podstawieniowe polialfabetyczne. Szyfr Vigenere’aInne proste szyfryOne-time pad

Page 5: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

W czym rzecz?

Kryptologia

to nauka o bezpiecznym przekazywaniu i uwiarygodnianiu informacji.Wyróżniamy:

• kryptografię – konstruowanie algorytmów szyfrujących ideszyfrujących

• kryptoanalizę – analiza i ocena jakości powyższych

Uwaga: w angielskich źródłach zwykle mówi się o „cryptography” a nie„cryptology”

Page 6: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Tradycyjnie (w terminologi anglosaskiej) uczestnikami gry są:

• Alicja i Bob – ich celem jest wymiana informacji w sposób niejawny

• Ewa – jej celem jest poznanie treści przesyłanych przez Alicję i Boba

• Oskar – czasami pomaga Ewie

Page 7: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Przyjmujemy, że:

• proces wymiany informacji pomiędzy Alicją i Bobem odbywa się zapośrednictwem publicznie dostępnego kanału komunikacyjnego

• Ewa w każdej chwili może przechwycić przesyłaną wiadomość,

Nie oznacza to, że może poznać jej treść, gdyż wcześniej został ustalonypewien protokół kryptograficzny, za pomocą którego tekst jawnyzostaje zamieniony na szyfrogram z użyciem tajnego klucza.

Page 8: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Aby zrealizować swoje cele obie strony sięgają po szereg metod i środków.

W historii obie strony uzyskiwały czasowo przewagę nad przeciwnikiem.

Obecnie wydaje się, że wygrywają Alicja i Bob.

Z drugiej strony, to co robi Ewa jest w dużej części niejawne!

Page 9: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Szyfr Cezara

Szyfr Cezara

Każdą literę tekstu jawnego zamieniamy na literę o trzy miejsca dalszą walfabecie:

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

Jest to jest to jeden z najstarszych udokumentowanych szyfrów,tradycyjnie łączy się go z postacią Juliusza Cezara.

Page 10: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Ugólniej, możemy ustalić dowolna liczbę k = 1, . . . , 25 i dokonaćprzesunięcia kazdej litery o k .

Przykład, k = 3

mowil ilado motyl anikt niewi dzipa nzapy laPRZLO LODGR PRWBO DQLNW QLHZL GCLSD QCDSB OD

Ewa bez problemu może odkryć tekst jawny – poprostu wykonujewszystkie możliwe przesunięcia i wybiera ten tekst który jest czytelny.

Page 11: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

0: przlo lodgr prwbo dqlnw qlhzl gclsd qcdsb od1: oqykn kncfq oqvan cpkmv pkgyk fbkrc pbcra nc2: npxjm jmbep npuzm bojlu ojfxj eajqb oabqz mb3: mowil ilado motyl anikt niewi dzipa nzapy la4: lnvhk hkzcn lnsxk zmhjs mhdvh cyhoz myzox kz5: kmugj gjybm kmrwj ylgir lgcug bxgny lxynw jy6: jltfi fixal jlqvi xkfhq kfbtf awfmx kwxmv ix7: ikseh ehwzk ikpuh wjegp jease zvelw jvwlu hw8: hjrdg dgvyj hjotg vidfo idzrd yudkv iuvkt gv9: giqcf cfuxi ginsf uhcen hcyqc xtcju htujs fu10: fhpbe betwh fhmre tgbdm gbxpb wsbit gstir et11: egoad adsvg eglqd sfacl fawoa vrahs frshq ds12: dfnzc zcruf dfkpc rezbk ezvnz uqzgr eqrgp cr13: cemyb ybqte cejob qdyaj dyumy tpyfq dpqfo bq14: bdlxa xapsd bdina pcxzi cxtlx soxep copen ap15: ackwz wzorc achmz obwyh bwskw rnwdo bnodm zo16: zbjvy vynqb zbgly navxg avrjv qmvcn amncl yn17: yaiux uxmpa yafkx mzuwf zuqiu plubm zlmbk xm18: xzhtw twloz xzejw lytve ytpht oktal yklaj wl19: wygsv svkny wydiv kxsud xsogs njszk xjkzi vk20: vxfru rujmx vxchu jwrtc wrnfr miryj wijyh uj21: uweqt qtilw uwbgt ivqsb vqmeq lhqxi vhixg ti22: tvdps pshkv tvafs hupra upldp kgpwh ughwf sh23: sucor orgju suzer gtoqz tokco jfovg tfgve rg24: rtbnq nqfit rtydq fsnpy snjbn ienuf sefud qf25: qsamp mpehs qsxcp ermox rmiam hdmte rdetc pe

Page 12: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Szyfry podstawieniowe

Litery utożsamiamy z elementami zbioru Z26 w następujacy sposób:

0 1 2 3 4 5 6 7 8 9 10 11 12A B C D E F G H I J K L M13 14 15 16 17 18 19 20 21 22 23 24 25N O P Q R S T U V W X Y Z

kryptologia -> 10,17,24,15,19,14,11,14,6,8,0

Page 13: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Szyfr afiniczny

• x , y , a, b ∈ Z26• EK (x) = ax + b mod 26

• DK (y) = a−1(y − b) mod 26

gdzie K = (a, b), NWD(a, 26) = 1.

Liczba kluczy jest ograniczona do

|Z∗26| × |Z26| = 312

Zauważmy, że klucz K = (1, 0) nie jest przydatny. . .

Page 14: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• Szyfr Cezara: E(1,b)(x) = x + b

• ROT13: E(1,13)

Ewa nadal bez problemu może odczytać tekst jawny posługując sie 312tabelami utworzonymi dla wszystkich kluczy.

Page 15: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Szyfr podstawieniowy (prosty, monoalfabetyczny)

• x , y ∈ Z26, σ ∈ S(Z26)• EK (x) = σ(x)

• DK (y) = σ−1(y)

• W tym wypadku Alicja i Bob mają do dyspozycji 26! kluczy.

26! = 403 291 461 126 605 635 584 000 000 ' 288 ' 1026

• Ewie rzednie mina, gdyż policzyła ile czasu zajmie jej uzyskaniewszystkich możliwych tekstów jawnych (ile?)

• Alicja i Bob cieszą się, gdyż uważają, że ich komunikacja jestbezpieczna.

Page 16: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Ewa wybrała się na kawę. . .

• Poprosić Oskara, żeby włamał się do Boba i ukradł urządzenieszyfrujące...

• Poprosić Oskara, żeby włamał się do Boba i zaszyfrował alfabet...

• Poprosić Oskara, żeby włamał się do Boba i zaszyfrował chociaż kilkaliter...

Page 17: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• Znając wartość permutacji dla jednej (dwóch, trzech itd) literypozwoliłoby znacząco zawężyć liczbę możliwych kluczy.

• Od zawsze wiadomo, że nie wszystkie litery występują jednakowoczęsto w języku.

• Również niektóre kombinacje liter występują z różną częstotliwością

• Permutacja (jako bijekcja) zachowuje ilości poszczególnych liter wtekscie, zmienia jedynie symbol używany do jej oznaczenia.

Page 18: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

HA!

Page 19: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Ewa poprosiła Oskara aby wykradł dane o czestości występowania liter.

Oskar jest wszechstronnie uzdolnionym włamywaczem więc na stroniewww.wikipedia.org znalazł potrzebne dane i sprzedał jej Ewie po cenierynkowej.

Page 20: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Ewa poprosiła Oskara aby wykradł dane o czestości występowania liter.

Oskar jest wszechstronnie uzdolnionym włamywaczem więc na stroniewww.wikipedia.org znalazł potrzebne dane i sprzedał jej Ewie po cenierynkowej.

Page 21: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

a ą b c ć d e8,91% 0,99% 1,47% 3,96% 0,40% 3,25% 7,66%

ę f g h i j k1,11% 0,30% 1,42% 1,08% 8,21% 2,28% 3,51%

l ł m n ń o ó2,10% 1,82% 2,80% 5,52% 0,20% 7,75% 0,85%

p q r s ś t u3,13% 0,14% 4,69% 4,32% 0,66% 3,98% 2,50%

v w x y z ź ż0,04% 4,65% 0,02% 3,76% 5,64% 0,06% 0,83%

Rozkład częstości liter w języku polskim

Page 22: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Ewa kupiła od Oskara szyfrogram, który zachowuje rozkład wyrazów, jestw języku polskim, bez polskich znaków diaktrycznych.

ORYFG MQYLWMZOQKYAFTGZMTYW ZM OUSHYEC FLJYORACL CSYMZU ACJZULJM OKY A JKYTCZCOS K NMQ TCVQM PLCVJK OLCV BMTK TMQOJUWKMSGSH OLCV QAKMRCA FCACVJK CWKNMW QCLMTCAY CORLCAGPULJMZU NUJ WLCQ JMFMVM ZKEVJKY VLCEK ZK QULHMZU FMRLJY AZKYPC EAKMJV OJUQMW FLJYACVZKSJYQ TCVJK RMW J VMTM PTGOJSJGCPTCQ RMW NURLJYZQM AOSHCVJK RC PTGOJSJG VZKYORL RC AYOJTMTMWFM MQYLWMZU ORCNWG NMQ SKSHC OTGOJY SKMEZMSY JULMAKYQRCLGSH PG ZKY VCOSKETG JLYZKSY OCQCTM OTGOJY QYVG OKY WCRGTQCTGOM ZM RLMAKY QYVG AMJ OTKOQM FKYLOKM VCRGQM OKY JKCTM ARMQKYN SKOJG RMQ USHC ZMRYJMW SKYQMAKY JY OTGOJMTPGW ETCO JTKRAG NYVJWG ZKQR ZKY ACTM

Page 23: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

A B C D E F G H21 1 41 0 7 9 24 74,40% 0,21% 8,60% 0,00% 1,47% 1,89% 5,03% 1,47%

I J K L M N O P0 37 40 23 52 8 33 80,00% 7,76% 7,80% 4,48% 10,14% 1,56% 6,43% 1,56%

Q R S T U V W X26 21 19 27 14 19 16 05,07% 4,09% 3,70% 5,26% 2,73% 3,70% 3,12% 0,00%

Y Z38 227,41% 4,29%

Page 24: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Ewa porównując tabelę otrzymaną od Oskara z własną zagaduje że

a o e iM C Y K

OReFG aQeLWaZOQieAFTGZaTeW Za OUSHeEo FLJeORAoL oSeaZU AoJZULJa Oie A JieToZoOS i NaQ ToVQa PLoVJi OLoV BaTi TaQOJUWiaSGSH OLoV QAiaRoA FoAoVJi oWiNaW QoLaToAe oORLoAGPULJaZU NUJ WLoQ JaFaVa ZiEVJie VLoEi Zi QULHaZU FaRLJe AZiePo EAiaJV OJUQaW FLJeAoVZiSJeQ ToVJi RaW J VaTa PTGOJSJGoPToQ RaW NURLJeZQa AOSHoVJi Ro PTGOJSJG VZieORL Ro AeOJTaTaWFa aQeLWaZU ORoNWG NaQ SiSHo OTGOJe SiaEZaSe JULaAieQRoLGSH PG Zie VoOSiETG JLeZiSe OoQoTa OTGOJe QeVG Oie WoRGTQoTGOa Za RLaAie QeVG AaJ OTiOQa FieLOia VoRGQa Oie JioTa ARaQieN SiOJG RaQ USHo ZaReJaW SieQaAie Je OTGOJaTPGW EToO JTiRAG NeVJWG ZiQR Zie AoTa

Page 25: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

W tekscie odnajdujemy pewne charakterystyczne fragmenty

• Zie Sie Oie : sie, nie ?

• Ro : to, do ?

• A J : w z gdyż a i sa zajęte

• AoJ ?

Page 26: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Ewa zgaduje dalej. . .

a o e i n z w t sM C Y K Z J A R O

steFG aQeLWansQiewFTGnaTeW na sUSHeEo FLzestwoL oSeanU woznULza sie w zieTonosS i NaQ ToVQa PLoVzi sLoV BaTi TaQszUWiaSGSH sLoV Qwiatow FowoVzi oWiNaW QoLaTowe ostLowGPULzanU NUz WLoQ zaFaVa niEVzie VLoEi ni QULHanU FatLze wniePo EwiazV szUQaW FLzewoVniSzeQ ToVzi taW z VaTa PTGszSzGoPToQ taW NUtLzenQa wsSHoVzi to PTGszSzG VniestL to weszTaTaWFa aQeLWanU stoNWG NaQ SiSHo sTGsze SiaEnaSe zULawieQtoLGSH PG nie VosSiETG zLeniSe soQoTa sTGsze QeVG sie WotGTQoTGsa na tLawie QeVG waz sTisQa FieLsia VotGQa sie zioTa wtaQieN SiszG taQ USHo natezaW SieQawie ze sTGszaTPGW ETos zTitwG NeVzWG niQt nie woTa

Teraz zadanie ma już znacznie łatwiejsze bo zdała maturę z polskiego...

Page 27: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• Informacja powszechnie dostępna lub względnie łatwa do zdobyciamoże mieć żywotne znaczenie dla bezpieczeństwa!

• zachowanie struktury tekstu znacząco obniża bezpieczeństwo

• Ewa przeprowadzi teraz szeroko zakrojone badania nad statystycznymiwłasnosciami języka i w ten sposób udoskonali swoje narzędzia

• pozostawienie znaków diaktrycznych i interpukcyjnych w niewielkimstopniu wpływa na bezpieczeństwo, wręcz ujawnia więcej szczegółów(np.: przecinek występuje częściej niż b, nie ma słów zaczynającychsię na ą i ę)

• Pytanie: Czy permutacja z punktami stałymi obniża bezpieczeństwo?

Alicja i Bob płaczą rzewnie. . .

Page 28: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• Informacja powszechnie dostępna lub względnie łatwa do zdobyciamoże mieć żywotne znaczenie dla bezpieczeństwa!

• zachowanie struktury tekstu znacząco obniża bezpieczeństwo

• Ewa przeprowadzi teraz szeroko zakrojone badania nad statystycznymiwłasnosciami języka i w ten sposób udoskonali swoje narzędzia

• pozostawienie znaków diaktrycznych i interpukcyjnych w niewielkimstopniu wpływa na bezpieczeństwo, wręcz ujawnia więcej szczegółów(np.: przecinek występuje częściej niż b, nie ma słów zaczynającychsię na ą i ę)

• Pytanie: Czy permutacja z punktami stałymi obniża bezpieczeństwo?

Alicja i Bob płaczą rzewnie. . .

Page 29: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Szyfry podstawieniowe polialfabetyczne. Szyfr Vigenere’a

• Proste szyfry podstawieniowe nie są bezpieczne, gdyż łatwo poddająsię analizie częstotliwości liter.

• Jeżeli odkryjemy, że litera r została zaszyfrowana do D to w całymszyfrogramie obowiązuje ta sama reguła

• Nowym pomysłem Alicji i Boba jest szyfrowanie w taki sposób, aby tasama litera tekstu jawnego nie koniecznie odpowiadała zawsze tejsamej literze szyfrogramu

Page 30: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Szyfr Vigener’a

• {xi}, {ki}, {yi} ∈ Z26• EK (xi ) = xi + ki mod 26

• DK (yi ) = yi − ki mod 26

gdzie K = (k1, k2, k3, . . . , kd , kd+1, kd+2, . . . )

Ten szyfr został podany w XVI wieku i przez następne 300 lat był wuznawany za le chiffre indechiffrable

Uwaga: często przedstawia sie wartości funkcji E w tablicy (zob. np.: wiki)

Page 31: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Przykłady

X = mowil ilado motyl anikt niewi dzipa nzapy laK = KLUCZ KLUCZ KLUCZ KLUCZ KLUCZ KLUCZ KLUCZ KLY = WZQKK SWUFN WZNAK KYCMS XTYYH NKCRZ XKURX VL

X = mowil ilado motyl anikt niewi dzipa nzapy laK = AAAAA AAAAA AAAAA AAAAA AAAAA AAAAA AAAAA AAY = MOWIL ILADO MOTYL ANIKT NIEWI DZIPA NZAPY LA

X = mowil ilado motyl anikt niewi dzipa nzapy laK = DDDDD DDDDD DDDDD DDDDD DDDDD DDDDD DDDDD DDY = PRZLO LODGR PRWBO DQLNW QLHZL GCLSD QCDSB OD

Page 32: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Szyfr Viegenere’a lepiej maskuje częstość występowania liter:

Alicja i Bob zacierają ręce, ale Ewa tylko śmieje się szyderczo.

Page 33: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• Szyfr Viegenere jest zasadniczo podobny do szyfru Cezara, który jestłątwy do złamania

• gdyby Ewa znała długość klucza, to byłoby jej łatwiej, bo

• znając długość klucza (powiedzmy d) wiemy, że co d-ty znak jestszyfrowany za pomocą tego samego klucza!

• możemy przeprowadzić analizę częstotliwości d-krotnie dla co d-tegoznaku

• znając te rozkłady możemy wydedukować przesunięcia a w ten sposóbklucz

Page 34: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Tabele częstości,dla klucza długości d = 4znaki 1,5,9,. . .

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 Z0 7 9 13 3 5 6 5 0 1 2 14 2 3 9 3 5 9 1 0 4 9 5 5 0 9

a e i

znaki 2,6,10,. . .

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 Z0 1 10 2 6 3 5 7 10 4 0 7 9 6 4 0 3 0 4 8 14 3 6 4 12 1

i a e

znaki 3,7,11,. . .

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 Z9 3 3 9 3 0 5 9 8 4 0 2 0 7 7 16 0 2 3 10 0 2 3 14 1 8

a e i

znaki 4,8,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 Z9 2 6 6 12 0 4 1 2 3 9 6 5 7 13 1 0 7 6 2 1 0 7 0 6 13

a,e,i a,e,i a,e,i

Page 35: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Jak odkryć długość klucza? Metoda Kasickiego.

• Jest możliwe, że te same słowa lub kombinacje liter występuja wtekscie jawnym wielokrotnie

• ponieważ także klucz jest powtarzany wielokrotnie, więc całkiemmożliwe, że te same litery bedą szyfrowane w ten sam sposób

• możemy wyszukiwać wystąpienia tego samego ciągu w szyfrogramiemając nadzieję, że pochodzą od tego samego ciągu w tekscie jawnym

• oczywiście może to być przypadek, ale dla długich ciągów lub częstowystępujacych zbitek jest to mało prawdopodobne

• więcej na laboratorium

Page 36: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Inne proste szyfry

• szyfr Hilla polega na zamianie grup liter (a nie pojedynczych) –laboratorium

• szyfry przestawieniowe: polegają na zmianie kolejności liter wgustalonego klucza, np.: zapisując w formie prostokata i odczytywaniezygzakiem)

Page 37: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

„autokey cipher”

• {xi}, {ki}, {yi} ∈ Z26• EK (xi ) = xi + ki mod 26

• DK (yi ) = yi − ki mod 26

gdzie K = (k1, k2, k3, . . . , kd , x1, x2, x3, . . . )

Nie poddaje się analizie częstotliwości, ale względnie łatwo go złamaćzgadując słowo z tekstu jawnego.

Page 38: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Okazuje się, że każdy z podanych wyżej (i podobnych) szyfrówpolegających na podstawianiu i/lub przestawianiu liter

• albo dysponuje niewielką ilościa kluczy,

• albo poddaje się analizie czetotliwości występowania liter

• albo innych szczególne cechy sprawiają że są zbyt łatwe do złamania

Page 39: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Obserwacje:

• zastosowanie dwóch szyfrów po kolei może, ale nie musi utrudnićzłamanie

• krótkie wiadomości są trudne do analizy, ale wysyłanie dużej ilościkrótkich wiadomości z tym samym kluczem jest równoważne wysłaniujednej długiej

• Dużo krótkich wiadomości z różnymi kluczami wymaga wielu kluczy –jak Alicja i Bob mają uzgodniać klucze?

• Mogą wynająć Cezarego, aby co jakiś czas przewoził ksiażkę zkluczami.Ale co jeśli Cezary zostanie napadnięty przez Oskara, albo jestpodwójnym agentem?

• W tym momencie Alicja, Bob i Ewa zdali sobie sprawę, że istniejele chiffre indechifrable

Page 40: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Obserwacje:

• zastosowanie dwóch szyfrów po kolei może, ale nie musi utrudnićzłamanie

• krótkie wiadomości są trudne do analizy, ale wysyłanie dużej ilościkrótkich wiadomości z tym samym kluczem jest równoważne wysłaniujednej długiej

• Dużo krótkich wiadomości z różnymi kluczami wymaga wielu kluczy –jak Alicja i Bob mają uzgodniać klucze?

• Mogą wynająć Cezarego, aby co jakiś czas przewoził ksiażkę zkluczami.Ale co jeśli Cezary zostanie napadnięty przez Oskara, albo jestpodwójnym agentem?

• W tym momencie Alicja, Bob i Ewa zdali sobie sprawę, że istniejele chiffre indechifrable

Page 41: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Obserwacje:

• zastosowanie dwóch szyfrów po kolei może, ale nie musi utrudnićzłamanie

• krótkie wiadomości są trudne do analizy, ale wysyłanie dużej ilościkrótkich wiadomości z tym samym kluczem jest równoważne wysłaniujednej długiej

• Dużo krótkich wiadomości z różnymi kluczami wymaga wielu kluczy –jak Alicja i Bob mają uzgodniać klucze?

• Mogą wynająć Cezarego, aby co jakiś czas przewoził ksiażkę zkluczami.Ale co jeśli Cezary zostanie napadnięty przez Oskara, albo jestpodwójnym agentem?

• W tym momencie Alicja, Bob i Ewa zdali sobie sprawę, że istniejele chiffre indechifrable

Page 42: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Obserwacje:

• zastosowanie dwóch szyfrów po kolei może, ale nie musi utrudnićzłamanie

• krótkie wiadomości są trudne do analizy, ale wysyłanie dużej ilościkrótkich wiadomości z tym samym kluczem jest równoważne wysłaniujednej długiej

• Dużo krótkich wiadomości z różnymi kluczami wymaga wielu kluczy –jak Alicja i Bob mają uzgodniać klucze?

• Mogą wynająć Cezarego, aby co jakiś czas przewoził ksiażkę zkluczami.Ale co jeśli Cezary zostanie napadnięty przez Oskara, albo jestpodwójnym agentem?

• W tym momencie Alicja, Bob i Ewa zdali sobie sprawę, że istniejele chiffre indechifrable

Page 43: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Szyfr niemożliwy do złamania

Szyfr jednorazowy

Można udowodnić (Shanon), że jeżeli w szyfrze Vigenere’a

• użyjemy klucza złożonego z losowego ciągu znaków

• o tej samej długości co wiadomość

• do zaszyfrowania tylko jednej wiadomości

to nie mam możliwości odczytania tekstu jawnego bez znajomości kluczaw inny sposób niż sprawdzenie wszystkich możliwości (ile ich jest?).

Page 44: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Pytanie: Dlaczego zarówno Alicja i Bob jak i Ewa wcale nie sązadowoleni z tego odkrycia?

Page 45: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

2. Kryptologia - współcześnie

Słowniczek i założenia

Page 46: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Słowniczek i założenia

Kto potrzebuje kryptografii

• dyplomacja

• wojsko, wywiad (i inne służby)

• korporacje

• osoby prywatne

Page 47: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Są potwierdzone historycznie przykłady użycia kryptografii przez:

• Egipcjan

• Hebrajczyków (oparte na Torze)

• Spartan (scytale)

• Rrzymian

W czasach, gdy umiejętność pisania i czytania nie była powszechna,możliwości komunikacji również były ograniczone.Z tego względu, każdy kto utajniał swoje wiadomości był/mógł być twórcąwłasnego systemu kryptograficznego.

Page 48: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• Współcześnie, edukacja i rozwój sprawiła, że większość ludzi potraficzytać i pisać.

• Także dostęp do kanałów komunikacji jest powszechny, łatwy i tani.

• W szczególności komunikacja radiowa i cyfrowa na duża skalę(potrzeby wojska, uwierzytelnianie w banku, sieci GSM) wymuszaopracowanie pewnych standardów, które mogą być stosowane przezosoby nie przygotowane i masowo.

Page 49: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Pewne pojęcia (por. Internet Security Glossary, RFC 2828)

poufność, sekretność: zapewnienie, że dana informacja nie jestdostępna dla nieautoryzowanego odbiorcy

prywatność: umożliwienie kontroli nad rozpowszechnianiem informacji

Page 50: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

kod: system składający się z symboli (słów kodowych), który reprezentujeinformację (np.: słowa w alfabecie, kod ASCII, kod Morse’a)

kodowanie, dekodowanie: proces zamiany informacji w symbole kodu iproces do niego odwrotny

teoria kodowania: nauka zajmująca się przekazywaniem zakodowanychinformacji w sposób odporny na błędy przesyły i możliwy doodczytania przez wszystkich

Page 51: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

kryptografia: nauka zajmująca sie zapewnieniem poufności informacjiprzekazywanej przez niezapewniający poufności kanał. A TAKŻE:uwierzytalnianiem tożsamości, ochrony przed dokonaniem (celowych)nieuprawnionych zmian w informacji,

kryptoanaliza: nauka zajmująca się analizą systemów kryptograficznych,zarówno ich łamaniem jaki i potwierdzaniem ich bezpieczeństwa

złamanie systemu krytpograficznego: udowodnienie brakubezpieczenstwa, np.: poprzez opis metody dekryptażu (bez znajomościklucza), odtworzenie klucza, fałszowanie tożsamości

Page 52: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

szyfr: algorytm umożliwiajacy szyfrowania/deszyfrowanie

system kryptograficzny: zbiór algorytmów składający się z szyfrów iinnych protokołów wykorzytywanych w kryptografii

tekst jawny: dane wejściowe algorytmu szyfrującego (nie koniecznie„otwarty tekst”)

tekst zaszyfrowany, szyfrogram: wynik procesu szyfrowania tekstujawnego

klucz kryptograficzny, klucz: parametr algorytmu kryptograficznegozmieniający sposób przekształcania tekstu jawnego na szyfrogram

szyfrowanie/deszyfrowanie: proces (algorytm) przekształcenia tekstujawnego w szyfrogram, proces do niego odwrotny

Page 53: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Kryptoanalizę można traktować na dwa sposoby:

• jako chuligaństwo: Ewa z Oskarem stosują wszelkie dostępne środki(także „niesportowe”), aby złamać system kryptograficzny

• jako dodatkowe zabezpieczenie: Alicja i Bob proszą Cezarego, abystarał się odnaleźć słabe punkty używanego systemu

Page 54: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Zagadnienia współczesnej kryptografii

poufność: informacja nie może być dostępna dla osób nieuprawnionych

spójność, integralność: informacja musi być odporna na celowe zmiany

uwierzytelnianie: informacja powinna wyraźnie określać jej autora

niezaprzeczalność: brak możliwości wyparcia się autorstwa (np.: podpiselektroniczny)

zero-knowledge: pewność, że informacja nie „wycieka”

inne: anonimowość, rozliczalność (np.: e-payment, e-voting),

Page 55: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Powszechność, The n2 problem

W grupie n uczestników nie praktyczne/możliwe jest opracowywanieosobnego systemu kryptograficznego dla każdej pary uczestników(przeglądarka internetowa – system bankowy).Lepiej jest stosować wspólny system kryptograficzny, odróżniającyużytkowników tylko poprzez posiadane klucze.

Taki system powinien być łatwy do stosowania przez uczestników bezgłębokiej wiedzy technicznej.

Ćwiczenie: Czy powinien być „przezroczysty” dla użytkownika?

Page 56: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Zasada Kerckhoff’a

Bezpieczeństwo systemu kryptograficznego nie może opierać się wyłączniena ukryciu szczegółów jego działania.

• bezpieczeństwo powinno się opierać na tajności klucza

• Analiza bezpieczeństwa systemu kryptograficznego musi zakładać, żealgorytmy kryptograficzne są publiczne.

• Nie znaczy to jednak, że algorytmy kryptograficzne powinny byćzawsze ujawniane. Zachowanie ich w tajemnicy jest przykładem tzw.„obrony w głąb” (defence in depth).

• bezpieczeństwo przez tajność (security by obscurity) ma jednak wadę,gdyż nie pozwala na testowanie niezależne testowanie systemu

Page 57: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Zasada Kerckhoff’a

Bezpieczeństwo systemu kryptograficznego nie może opierać się wyłączniena ukryciu szczegółów jego działania.

• bezpieczeństwo powinno się opierać na tajności klucza

• Analiza bezpieczeństwa systemu kryptograficznego musi zakładać, żealgorytmy kryptograficzne są publiczne.

• Nie znaczy to jednak, że algorytmy kryptograficzne powinny byćzawsze ujawniane. Zachowanie ich w tajemnicy jest przykładem tzw.„obrony w głąb” (defence in depth).

• bezpieczeństwo przez tajność (security by obscurity) ma jednak wadę,gdyż nie pozwala na testowanie niezależne testowanie systemu

Page 58: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Prawo Moore’a (empiryczne)

Moc obliczeniowa komputerów podwaja się co 18 miesięcy

Prawo Murphy’ego (empiryczne)

Jeżeli system kryptograficzny posiada luki wtedy napewno ktoś jeodnajdzie.

Page 59: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Modele ataku

ciphertext only: Ewa próbuje odganąć treść wiadomości na podstawieprzechwyconych szyfrogramów

known plaintext: Ewa zna parę tekst jawny/szyfrogram i na tejpodstawie próbuje znaleźć luki w systemie

choosen plaintext: Ewa ma do dyspozycji urządzenie szyfrujące, szukaluk szyfrując wybrane teksty jawne i porównując je z szyfrogramami

choosen ciphertext: j.w. ale Ewa ma urządzenie deszyfrujące

Page 60: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Cele ataku

• odkrycie klucza

• odkrycie tekstu jawnego

Page 61: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Kanał komunikacyjny

Cechy kanału komunikacyjnego

• koszt

• szybkość

• dostępność

• niezawodność (odporność na przypadkowe zakłócenia)

• bezpieczeństwo

radio/internet: szybki, tani, dostępny, niebezpieczny

kurier/dyplomata: bardzo wolny, tani?, średnio dostępny, bezpieczny

Nie jest możliwe uzyskanie kanału taniego, szybkiego, łatwo dostępnego ibezpiecznego.

Page 62: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Klasyczny model kryptografi symetrycznej, Shannon

Szyfr (symetryczny) składa się z:

• zbioru wszystkich tekstów jawnych

• zbioru wszystkich możliwych kluczy

• zbioru wszystkich możliwych szyfrogramów

• algorytmu szyfrującego EK (X ) przekształcającego tekst jawny X wszyfrogram przy użyciu klucza K

• algorytmu deszyfrującego DK (Y ) przekształcającego szyfrogram Y wtekst jawny przy pomocy klucza K , również z innej przestrzeni kluczy

• DK (EK (X )) = X

• w kryptografii asymetrycznej funkcja D nie musi używać tego samegoklucza co E

Page 63: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

3. Protokół Diffiego-Hellmana

DefinicjaProblem logarytmu dyskretnegoMetody atakuAlgorytm ElGamala

Page 64: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• celem protokołu jest uzgodnienie przez Alicję i Boba wspólnego klucza

• odbywa się będzie to poprzez przesyłanie pewnej informacjipublicznym kanałem (zatem będzie znana ona Ewie)

• jednocześnie zarówno Alicja i Bob będą posiadali prywatną informację(każdy swoją)

Page 65: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Diffie-Hellman key exchange 1976

Alicja i Bob ustalają liczbę pierwszą p i pierwiastek pierwotny g(generator) w grupie F∗p ' Z∗p. Ta informacja jest publiczna.

• Alicja wybiera liczbę a ∈ F∗p, oblicza ga i wysyła do Boba. Liczba ajest jej prywatną informacją.

• Bob wybiera liczbę b ∈ F∗p, oblicza gb i wysyła do Alicji. Liczba b jestjego prywatną informacją.

• Alicja oblicza (gb)a, Bob oblicza (ga)b.

• Oboje znają zatem liczbę gab ∈ F∗p, która jest ich wspólnym tajnymkluczem.

Protokół D-H jest używany np.: do ustalania klucza w protokołach takichjak SSH, SSL, HTTPS

Page 66: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Zwróćmy uwagę, że D-H jest bardzo prostym algorytmem. Więc dlaczegoEwa, skoro zna: p, g , ga, gb, nie potrafi odgadnąć gab ?

Ćwiczenie: Zaproponować sposób rozwiązania tego problemu w liczbachrzeczywistych, przy użyciu funkcji log i bez tej funkcji.

Ćwiczenie: Dlaczego złym wyborem klucza prywatnego jest 1 i p − 1?

Ćwiczenie: Zaproponować algorytm opierający się na D-H, umożliwiającyuzgodnienie klucza w grupie n uczestników.

Page 67: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Problem logarytmu dyskretnego

Logarytm dyskretny

Niech G będzie grupą cykliczną generowaną przez g . Logarytmemdyskretnym z a ∈ G nazywamy liczbę n = log a taką, że a = gn.

Discrete Logarithm Problem, DLP

Dla danej grupy cyklicznej G = 〈g〉 i elementu a ∈ G obliczyć log a.

Page 68: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Trudność DLP zależy od wybranej grupy:

• W grupie 〈x〉, x ∈ R, problem jest banalny

• W grupie (Zn,+) problem jest prosty (algorytm euklidesa)

• W grupie F∗p nie jest znany algorytm rozwiązujący DLP w czasiewielomianowym (uważa się że nie istnieje w ogólności)

Ćwiczenie: Skoro F∗p ' (Zp−1,+), to dlaczego DLP jest nadal trudny?

Page 69: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Diffie-Hellman problem, DHP

Dla danej grupy cyklicznej G = 〈g〉 i elementów ga, gb ∈ G obliczyć gab.

• Rozwiązanie DLP rozwiązuje DHP

• przypuszcza(!) się, że rozwiązanie DHP ułatwi rozwiązanie DLP

Page 70: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Metody ataku

• Alicja i Bob korzystają z protokołu D-H, prywatne liczby to a, b oraztajny klucz gab

• liczby p, g , ga, gb są znane Ewie

• celem Ewy jest odkrycie gab, czyli wspólnego klucza

Page 71: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Atak brutalny

• Ewa oblicza wszystkie potęgi gk ,

• na liście potęg znajduje ga lub gb

• Ewa musi obliczyć p − 1 potęg gk , szybkie potęgowanie modulo mazłożoność O(log k), jednocześnie może sprawdzać czy obliczonapotęga jest szukaną

• jednak ten algorytm ma złożoność liniową względem rozmiaru grupy,czyli wykładniczą względem liczby cyfr (bitów) p

• Nieco lepszym sposobem jest obliczanie gk dla losowychwykładników, wtedy może znaleźć odpowiedź średnio w p−1

2 próbie(albo już w drugiej, ale musi wierzyć w cuda. . . )

Page 72: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Algorytm Shanksa, baby-step giant-step

Poniższy algorytm wyznacza logarytm dyskretny w czasie O(n1/2+ε),n = |G |:• utwórz listę 1, g , g2, . . . , g j , . . . , g b

√nc − 1

• dla i = 1, 2, . . . obliczaj ag−ib√nc, jeżeli jest na liście stop

• a = g ib√nc+j

Uwaga: jest to nadal złożoność wykładnicza względem liczby cyfr (bitów) idodatkowo wymaga O(n1/2) pamięci.

Page 73: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Inne algorytmy rozwiązujace DLP

• Poligh-Hellman: bardzo wydajny gdy p − 1 ma małe czynniki pierwsze(czyli nie jest tzw. safe prime), korzysta z chińskiego twierdzenia oresztach

• Pollard’s Rho method: niedeterministyczny algorytm oparty nawyszukiwaniu kolizji

• index calculus

• number field sieve: jeden z najlepszych znanych

Wszystkie powyższe algorytmy mają jednak złożoność wykładnicząwzględem liczby bitów pPonieważ potęgowanie modulo jest względnie łatwe (log e dla ne), Alicja iBob mają znaczną przewage nad Ewą.

Page 74: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• w 2015 oku ogłoszono rozwiązanie DLP dla 512 bitowych liczbużywanych (wtedy) powszechnie (SSH, HTTPS, SMTPS). Atakopierał się na wykonaniu wstępnych obliczeń z algorytmu sitaliczbowego (kilka tysięcy Xeonów przez tydzień). Po uzyskaniu tychwyników rozwiązanie DLP zajmuje minutę na 18-rdzeniowym Xeonie.

• Autorzy oszacowali koszt zbudowania komputera łamiącego 1024bitowe liczby na 100 mln $, budżet NSA to miliardy dolarów

• zaleca się stosowanie 2048 bitowych liczb

• w 2016 roku ogłoszono rozwiązanie DLP w Zp dla liczby 768 bitowej.Obliczenia trwały około roku (6600 lat w przeliczeniu na czasprocesora Xeon E2-2660).

• w 2019 roku rozwiązano DLP dla GF (230750) (25 481 219 godzin wprzeliczeniu na jeden procesor Xeon)

Page 75: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• Alicja i Bob mają lekką przewagę gdyż potęgowanie w grupachcyklicznych ma znacznie mniejszą złożoność, także znalezienieodpowiednio dużej liczby pierwszej oraz generatora F∗p ,choć trudne,jest prostsze niż DHP

• z drugiej strony Ewa mając do dyspozycji $$$ może sobie pozwolić nazbudowanie odpowiednio mocnego komputera. Tym bardziej, żeniepraktycznie jest zmieniać p i g zbyt często, więc Ewa może częśćobliczeń wykonać tylko raz.

• Ewa może także studiować matematykę i starać się rozwiązać DLP winny sposób!

• Ewa ma także jeszcze jednego asa w rękawie. . .

Page 76: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Atak aktywny, man-in-the-middle

Oskar zatrudnił się w firmie telekomunikacyjnej i zamontował urządzeniepozwalajace przechwytywać i zmieniać wiadomości.Alicja i Bob uzgadniają p i g , Oskar także zna te liczby.

• Alicja wybiera a i wysyła ga do Boba(tak myśli)

• Oskar przechwytuje wiadomość, wybiera c i wysyła do Alicji i Boba g c

• Bob wybiera b i wysyła gb do Alicji (tak myśli),

• Alicja otrzymuje g c , myśli że to klucz Boba

• Bob otrzymuje g c , myśli że to klucz Alicji

Alicja i Oskar maja zatem uzgodniony klucz gac . Bob i Oskar mająuzgodniony klucz gbc .

Page 77: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• W tym momencie Alicja wysyłając wiadomość szyfruje ją kluczem gac

• Oskar ją rozszyfrowuje i przesyła do Boba zaszyfrowaną kluczem gbc

• tak długo jak pozostanie aktywnym uczestnikiem wymiany, Alicja iBob nie zorientują się, że ich wiadomości są czytane

• zabezpieczeniem przed tego typu atakiem jest np.: podpisaniewiadomości

Page 78: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Algorytm ElGamala

ElGamal encryption, 1985

set-up: Alicja wybiera liczbę pierwszą p, generator g ∈ F∗p oraz liczbę2 ¬ a ¬ p − 2, następnie ogłasza swój klucz publiczny (ga, g , p), liczba ajest jej kluczem prywatnym.

• aby wysłać wiadomość m ∈ F∗p, Bob wybiera 2 ¬ b ¬ p − 2 i obliczas = (ga)b. Szyfrowanie:

C = E (m, b) = (ms, gb)

• Alicja oblicza s = (gb)a oraz s−1 i rozszyfrowuje:

m = D(c, a) = cs−1

Page 79: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Zauważmy, że

• Alicja i Bob używają różnych kluczy

• algorytm szyfrujący i deszyfrujący są różne

• rozszyfrowywanie przez Alicję: gabm/(gb)a

• rozszyfrowywanie przez Boba: gabm/(ga)b

• jeżeli a i b zostały wybrane losowo, to również szyfrogramy mająrozkład losowy

• Ewa podczas łamania algorytmu ElGamala ma te same problemy imoże atakować w ten sam sposób jak przy DHP

• szyfrogram jest dwa razy dłuższy niż tekst jawny

Page 80: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Jeżeli Ewa ma dostęp do Wyroczni rozwiązującej DLP wtedy Ewa potrafizłamać algorytm ElGamala.

Dowód.

• z klucza Alicji: m = c(gb)− log ga

• z klucza Boba: wtedy m = c(log s)−1

Page 81: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Jeżeli Ewa ma dostęp do Wyroczni rozszyfrowywującej algorytmElGamala, wtedy Ewa potrafi rozwiązać DHP:

Dowód.

Niech B = gb. Ewa poleca rozszyfrować wyroczni szyfrogram(1,B) = (c , gb). Wtedy m = (Ba)−1 = g−ab. Zatem Ewa zna gab.

Page 82: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Ćwiczenie: Opisać atak typu man-in-the-middle na algorytm ElGamala.

Ćwiczenie: Alicja i Bob używają ciągle tych samych kluczy. Ewazauważyła to natychmiast (jak?). Oskar wykradł jeden z użytych tekstówjawnych. W jaki sposób Ewa może to wykorzystać?

Ćwiczenie: Ewa z Oskarem bawią się w złośliwości. Modyfikująprzechwycone szyfrogramy: c ′ = ec i przesyłają dalej. W jaki sposób Alicjai Bob mogą się przed tym zabezpieczyć?

Page 83: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Ćwiczenie: Alicja i Bob korzystają z algorytmu ElGamala, (p, g , ga)pozostają ustalone. Bob musi wysłać dużo wiadomości, ale jest trochęleniwy w wybieraniu b. Myśli, że jest sprytny wybierając kolejne klucze wgwzoru

bj = bj−1 + f (j), 1 ¬ j

gdzie f jest funkcją skomplikowaną funkcją łatwą do obliczenia, ale trudnądo odwrócenia. Liczbę b0 Bob trzyma w sekrecie. szyfruje wg schematu

cj = mj(ga)bj

Oskarowi dało się zdobyć wiadomość mn i wszystkie szyfrogramy.Co potrafi odczytać Ewa?

Page 84: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

4. RSA

DefinicjaMetody atakuZnajdowanie liczb pierwszych

Page 85: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Algorytm RSA (Rivest-Shamir-Adleman), 1978

set-up Alicja:

• wybiera dwie liczby pierwsze p i q, oblicza n = pq orazφ(n) = (p − 1)(q − 1).

• wybiera 1 < e < φ(n), NWD(e, φ(n)) = 1 i oblicza d = e−1

mod φ(n).

• publikuje klucz publiczny (n, e) i zachowuje d jako klucz prywatny

• aby wysłać wiadomośc m ∈ Zn, Bob oblicza

C = E (m, e) = me mod n

• Alicja deszyfruje:

m = D(c , e) = cd mod n

Page 86: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Dowód poprawności:

• jeżeli NWD(m, n) = 1

cd = med = m1+kφ(n) = m (mφ(n))k = m mod n

• jeżeli NWD(m, n) > 1, to np.: m = sp wtedy NWD(m, q) = 1 orazmφ(q) = 1 mod 1.

mkφ(n) = (m(p−1)(q−1))k = ((mφ(q))k)p−1 = 1 mod q

Zatem mkφ(n) = 1 + tq stąd

mmkφ(n) = m +m t q = m + s t n = m mod n

Page 87: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Metody ataku

Atak brutalny

Ewa zna c , e oraz n. Gdyby Ewa miała dostęp do Wyroczni faktoryzującejduże liczby, wtedy bez trudu obliczyłaby φ(n) = (p − 1)(q − 1). Zatemjest wstanie obliczyć d = e−1 mod φ(n) i rozszyfrowac wiadomość.

• Bezpieczeństwo RSA opiera się na przekonaniu, że faktoryzacja dużejliczby jest problemem trudnym obliczeniowo.

• Aby zwiększyć bezpieczeństwo p i q powinny być duże i o podobnejliczbe bitów, obecnie zaleca się minimalnie 1024 bity.

Page 88: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Niektóre rekordy w faktoryzacji liczb używanych w RSA:

• RSA-100, 330 bitów, 1991, obecnie 72 minuty na Core2Quad Q9300

• RSA-786, 232 cyfry dziesiętne, 2009, 2000 lat w przeliczeniu naówczesny AMD-Opteron

RSA-1024 = (309 cyfr dziesiętnych, nie złamana)135066410865995223349603216278805969938881475605667027524485143851526510604859533833940287150571909441798207282164471551373680419703964191743046496589274256239341020864383202110372958725762358509643110564073501508187510676594629205563685529475213500852879416377328533906109750544334999811150056977236890927563https://en.wikipedia.org/wiki/RSA_numbershttps://en.wikipedia.org/wiki/RSA_Factoring_Challenge

Page 89: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Przerywnik - potegowanie modulo

Naiwny algorytm potegowania modulo

Algorithm 1 NaivePowModInput: a, b, nOutput: ab mod n1: p = a2

2: for i ¬ b do3: p = p ∗ a mod n

Page 90: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• algorytm naiwny wymaga wykonania b mnożeń, co dla liczby 1024bitowej, oznacza 21024 ' 10300 mnożeń (liczba atomów wewszechświecie ∼ 2300

• jeżeli nie istnieje szybszy algorytm to RSA jest niewykonalne wpraktyce, gdyż używając małych liczb nie zapewniamybezpieczeństwa, a używać dużych liczb nie jesteśmy w stanie

Page 91: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Algorytm square-and-multiply

Algorithm 2 SqAndMultPowModInput: a, n

b =∑t hi2i , hi ∈ {0, 1}, ht = 1

Output: ab mod n1: r = a2: for i = t − 1 to 0 do3: r = r2 mod n4: if hi = 1 then5: r = r · a mod n

Page 92: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

•ab = aht2

t × aht−12h−1 × · · · × ah12 × ah02

0

• jeżeli b jest liczbą h-bitową to musimy wykonać zawsze h potęgowańoraz średnio 0.5h mnożeń (dokładnie: tyle mnożeń ile jest jedynek wrozwinięciu dwójkowym b)

• dla liczby 1024-bitowej daje to 1536 mnożeń

• Ćwiczenie: Obliczyć 2179 mod 7

• Ćwiczenie: Ile mnożeń należy wykonać dla wykładnika b = 2n + 1 ?

Page 93: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Przyspieszanie algorytmu

• Ilość obliczeń które należy wykonać podczas szyfrowania RSA możnaznacząco zmniejszyć jeżeli wybierzemy wykładnik e o małej wadzeHamminga (liczbe jedynek w rozwinięciu binarnym)

• wybierając jako e małą liczbę (np.: e = 216 + 1) można przyspieszyćjeszcze bardziej

• co ciekawe, ten zabieg nie osłabia RSA,

• nawet dla „szybkiego” e klucz prywatny d = e−1 ma dużą wagęHamminga, zatem deszyfrowanie jest raczej wolne, ale to dobrze!

• Ćwiczenie: Jak Ewa może wykorzystać informację, że d ma 1024bity i wagę Hamminga np.: 2 lub 3?

Page 94: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Niestety nie można użyć małego d aby przyspieszyć deszyfrację(dlaczego?). W praktyce trzeba stosować d przynajmniej 0, 3t bitową (tliczba bitów n).

Deszyfracja z użyciem Chińsiego Twierdzenia o Resztach

Ponieważ Alicja zna p i q może podczas deszfracji postępować wnastępujacy sposób:{

mp = cdp mod p

mp = cdq mod qgdzie

{dp = d mod (p − 1)

dq = d mod (q − 1)

z Chińskiego Twierdzenie o Resztach otrzymuje

m = [qcp]mp + [pcp]mq mod n

gdzie cpq = 1 mod p, cqp = 1 mod q

Page 95: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• całkowita liczba mnożeń jaką musi wykonac Alicja jest taka sama jakw orginalnej metodzie

• jednak gdy p i q mają podobną liczbę bitów, wtedy wszytkieobliczenia wykonywane są na liczbach o połowę krótszych niż wmetodzie orginalnej

• ponieważ złożoność mnożenia rośnie kwadratowo względem liczbybitów, Alicja uzyskuje czterokrotne przyspieszenie obliczeń!

• ma to znaczenie szczególnie, gdy RSA jest używany w urządzeniach omałej mocy obliczeniowej i niewielkiej pamięci

Page 96: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Metody ataku c.d.

choosen plaintext text attack

• Oskar ustalił, że możliwe teksty jawne to {m1, . . . ,mk} i przekazał tąinformację Ewie

• Ewa zna c , e oraz n więc może ZASZYFROWAĆ każdą z wiadomościmi i porównać wynik ze znanym szyfrogramem c

• jeżeli mei = c wtedy Ewa zna tekst jawny oraz klucz (bez faktoryzacji)

Page 97: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

choosen ciphertext attack

Ewa zauważyła, że szyfrując m′ = rm zamiast m otrzymuje c ′ = r ec .

• Ewa, podszywając się pod Boba, prosi Alicję o odszyfrowaniewiadomości r ec

• Alicja się zgadza i podaje Ewie wiadomość u

• Ewa dzieli u przez r i w ten sposób odkrywa orginalną wiadomość

• Jak Ewa może przekonać Alicję, aby ta odszyfrowała dla niejwiadomość?

Page 98: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• Alicja i Bob umówili się, że zanim zaczną przesyłać sobie sekrety,Alicja najpierw będzie musiałą potwierdzić swoją tożsamość

• Bob wysyła jej wiadomość z prośbą o odszyfrowanie (challenge).

• W teorii, tylko Alicja potrafi odszyfrować wiadomość, więc jeżeli Bobotrzyma prawidłową odpowiedź, to będzie wiedział, że komunikuje sięz Alicją.

W rzeczywistości, Alicja może być serwerem (np.: bankowym) i jej rolą jestuwierztelnienie swojej tożsamości zanim Bob bedzie chciał przesyłąć jejwrażliwe informację (np.: zalogować się na konto, polecenie przelewu)

Page 99: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

malleability

Nawet jeżeli Ewa nie ma możliwości odszyfrowania wiadomości nadal możewykorzystać odkrytą przed chwilą słabość:

• Oskar odkrył, że w szyfrogramie c1, c2, c3, . . . liczba c3 szyfruje pewnąwartość liczbową (kwotę przelewu, wysokość lotu, współrzędną celu)

• Ewa podmienia c3 na r ec3

• Alicja otrzymuje tekst jawny m1,m2, r m3, . . . i wykonuje dalszedziałania z parametrem r m3 zamiast m3

Page 100: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Padding

Sposobem na obronę przed tego typu atakami jest dodanie do wiadomościlosowych bitów

• Bob dodaje na koniec wiadomości k1 bitów zerowych, otrzymuje ciagx1 o długości n + k1 bitów

• wybiera k1 losowych bitów y i za pomocą spytnej funkcji G tworzyciąg x2 o długości n + k1 bitów

• X = x1 xor x2

• za pomocą sprytnej funkcji H przekształca X w ciąg od długości k0• Y = H(X ) xor y

• wysyła wiadomość [X ,Y ]

Page 101: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Bob wybiera G który powiela bity i H które obcina bity

Bob:m: 0110010k1: 00000 k0: 110

G(k0): 110110110110

011001000000xor 110110110110X = 101111110110

H(X) = 011

011xor 110Y = 101

Alicja:

XY: 101111110110 101

H(X) : 011Y : 101xor : 110 ( = k0)

X : 101111110110G(k0): 110110110110xor : 011001000000

m: 0110010

Page 102: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• Użycie przez Boba losowych bitów sprawia, że nawet jeżeli Ewapodejrzewa jaki może być tekst jawny, nie jest w stanie go odtworzyć.

• w powyższym przykładzie Ewa mozę pokusić się jednak nazgadywanie, gdyż funkcje G i H są bardzo słabe z kryptograficznegopunktu widzenia

• Alicja z Bobem moga użyć do stworzenia maski, czyli G (k0),bezpiecznej funkcji haszującej np.: SHA

Page 103: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Analiza statystyczna

Alicja i Bob szyfrują swoje wiadomości w nastepujący sposób:

• kazdy znak wiadomości zamieniają na odpowiadający mu kod ASCII

• wiadomość składa się z zaszyfrowanych kodów ASCII

• Ewa zauważa, że jest to prosty szyfr podstawieniowy na krótkimalfabecie (∼ 100 liter) i łamie go z marszu.

Zabezpieczeniem jest podzielenie wiadomości na bloki, zamiana każdegoznaku w bloku na kod ASCII i połączenie w jedną dużą liczbę:

K R Y P | T O G R | A F I A75828980 | 84797182 | 65707365

Otrzymany szyfr także jest szyfrem podstawieniowym, ale na alfabecie oogromnej liczbie znaków.

Page 104: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Ewa odkryła jeszcze jeden, niespodziewany wektor ataku. . .

Page 105: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

side-channel attack

• Ewa wie, że do deszyfrowania uzywany jest algorytm szybkiegopotęgowania modulo

• zaobserwowała asymetrię w algorytmie: czasami wykonwane jest tylkopotęgowanie, a czasami potęgowanie i mnożenie

• Oskar zbudował aparaturę mierzącą pobór mocy i „pożyczył”urządzenie deszyfrujace

Page 106: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Ćwiczenie: Jak zabezpieczyć się przed tego typu atakiem?

Page 107: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Ćwiczenia:

• Oskar wykradł φ(n), dzięki elementarnej matematyce Ewa wyliczyła pi q. Jak?

• Alicja i Bob używają tego samego n, ale różnych kluczy publicznycheA, i eB . Cezary wysłał wiadomość m do obojga. Ewa odkryła, żeNWD(eA, eB) = 1, W jaki sposób znając szyfrogramy cA = meA icB = meB jest wstanie odczytać m?

• Alicja i Bob ustalili n = 35. Ewa przechwyciła c i zaszyfrowałaponownie kluczem Boba. Co otrzymała i dlaczego?

• (*) Alicja przez nieuwagę opublikowała d . Natychmiast stworzyłanowy klucz (e ′, d ′) niezmieniając n. Czy to bezpieczne?

Page 108: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Znajdowanie liczb pierwszych

Podstawowy algorytm znajdujacy liczby pierwsze:

• Za pomocą generatora liczb (psuedo)losowych podaj kandydata

• sprawdź czy jest liczbą pierwszą

• jeżeli pierwsze zakończ, w przeciwnym wypadku powtórz

Problemy

• Jeżeli liczb pierwszych jest mało, wtedy zajmie to zbyt dużo czasu.

• Jeżeli sprawdzenie czy liczba pierwsza trwa długo, wtedy jest toniepraktyczne

Page 109: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Ilość liczb pierwszych

P(x jest pierwsza) ' 2ln x

Dla przykładu, szukajac liczb 512-bitowych mamy p, q ' 2512, wtedy dlalosowej liczby x tej wielkości mamy

P(x jest pierwsza) ' 2512 ln 2

' 1177

Page 110: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Testy pierwszości

Algorytmy testujące pierwszość zwykle dają jedną z dwóch odpowiedzi:

• x jest napewno złożona

• x jest z dużym prawdopodobieństwem pierwsza

W drugim przypadku, algorytm może „skłamać”.

• Aby zminimalizować to zjawisko, wprowadza się dodatkowy parametr.

• Strategia opiera się na przekonaniu, że duża liczba odpowiedzi:x z uzwględnieniem parametru a jest prawdopodobinie pierwszadaje pewność,

Page 111: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Test Fermata

Algorithm 3 FermatPrimalityTestInput: kandydat x , parametr sOutput: „x jest prawdopodobnie pierwsza” albo „x jest złożona”1: for i = 1 to s do2: wylosuj a ∈ {2, 3, . . . , x − 2}3: if ax−1 6= 1 mod x then4: return „x jest złożona”5: return „x jest prawdopodobnie pierwsza”

Page 112: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• algorytm opiera się na wielokrotnym stosowaniu małego twierdzeniaFermata

• istnieją liczby złożone które w teście Fermata zachowują się jak liczbypiersze: liczby Carmichela

• C jest l. C. jeżeli jest liczbą złożoną oraz dla każdej liczby a < Cwzględnie pierwszej z C zachodzi C |aC−1 − 1

• generalnie l. C. maja przynajmniej trzy czynniki pierwsze w dużychpotęgach

• w 1992 udowodniono że jest nieskońćzenie wiele i uzyskano pewneoszacowania na ilość w danym przedziale

• wiadomo, że jest ' 100000 l.C. mniejszych niż 1015

• przykłady 561 = 3 · 11 · 17, 1105, 8911

Page 113: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Test Millera-Rabina

Twierdzenie

Niech x będzie liczba naturalna i niech x − 1 = 2ur , gdzie r jest liczbąnieparzystą. Jeżeli istnieje liczba całkowita a taka, że

ar 6= 1 mod x oraz a2j r 6= x − 1 mod x

dla j = 0, 1, . . . , u − 1 to x jest złożona. W przeciwnym wypadku, x jestprawdopodobnie pierwsza.

Page 114: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Algorithm 4 RabinMillerPrimalityTestInput: kandydat x , x − 1 = 2ur , parametr sOutput: „x jest prawdopodobnie pierwsza” albo „x jest złożona”1: for i = 1 to s do2: wylosuj a ∈ {2, 3, . . . , x − 2}, z = ar mod x3: if z 6= 1 and z 6= x − 1 then4: for j = 1 to u − 1 do5: z = z2 mod x6: if z = 1 then7: return „x jest złożona”8: if z 6= x − 1 then9: return „x jest złożona”10: return „x jest prawdopodobnie pierwsza”

Page 115: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• Algorytm Rabina-Millera nei posiada fałszywych swiadków pierwszości

• aby uzyskac pewność na poziomie 2−80 dla liczby 512-bitowejwystarczy s = 5

• Twierdzenie: dla nieparzystego x przynajmniej 75% liczba z przedziałuod 1 do x − 1 jest świadkami złożoności x

• przy założeniu Uogólnionej Hipotezy Riemanna można przekształcićtest R-M w test jednoznaczny

Page 116: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Test Agrawal-Kayal-Saxena (AKS), 2002

Jest to bezwarunkowy (!) test pierwszości n działajacy w czasiewielomianowym (od liczby cyfr n.

• sprawdź, czy n = ab dla a, b > 1. Jeżeli tak, liczba jest złożona.Koniec.

• znajdź najmniejsze r takie, że rząd r modulo n jest wiekszy niż ln2(n)

• dla każdego a = 1, . . . r sprawdź, czy 1 < NWD(a, n) < n. Jeżeli tak,liczba jest złożona. Koniec.

• Jeżeli r ­ n, to n jest pierwsza. Koniec

• dla kazdego a = 1, . . . ,√φ(r) ln(n) i każdego c = 0, . . . , r sprawdź,

czy ha(c) = 0. Jeżeli nie, to liczba jest złożona.(ha jest pewnym specjalnym wielomianem)

• skoro jesteśmy tutaj, to n jest pierwsza.

Page 117: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

5. Szyfry strumieniowe

DefinicjaGeneratory liczb losowychLFSRTrivium

Page 118: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Szyfr strumieniowy

• tekst jawny traktujemy jako ciąg bitów x = (x1, x2, . . . , xn)

• do szyfrowania używamy ciągu bitów s = (s1, s2, . . . , sn) (key stream)

• szyfrogram jest także ciągiem bitów y = (y1, y2, . . . , yn)

yi = E (xi , si ) = xi + si mod 2

xi = D(yi , si ) = yi + si mod 2

Pytanie: Co to przypomina?

Page 119: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• tego typu szyfry są szczególne przydatne w przypadku ograniczonychzasobów, np.: szyfrowanie transmisji głosu w standardzie GSM,bezpieczne telefony, telegraf/dalekopis

• rzadko stosowane w przypadku „komunikacji internetowej”

• typowo, szyfry strumieniowe potrzebują mniej instrukcji procesora iznacznie łatwiej jest zbudować układ realizujący je sprzętowo

Page 120: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• ciąg s niekoniecznie jest kluczem, ale może być

• jeżeli s jest kluczem, to mamy

One-time pad - ponownie

Jeżeli s jest losowym ciągiem bitów, używanym tylko raz, to szyfrstrumieniowy jest bezwarunkowo bezpieczny. Problemem jestwygenerowanie losowego klucza i jego dystrybucja.

• zwykle jednak s jest on jednak generowany przez pewne urządzenie napodstawie rzeczywistego klucza

Page 121: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• bezpieczeństwo szyfrów strumieniowych opiera się na kluczu, adokładniej na sposobie generowania s

• idealny s powinien być wygenerowany ze względnie krótkiego kluczaw taki sposób, aby dla Ewy wyglądał jak ciąg losowy

• w praktyce oznacza to, że prawdopodobieństwo odgadnięcia kolejnegobitu nie powinno być znacznie większe od 1/2.

Page 122: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Generatory liczb losowych

True Random Number Generator, TRNG

Urządzenie bazujące na losowych zjawiskach fizycznych:

• rzut monetą

• szumy tranzystora

• zjawiska atmosferyczne

• rozpad substancji radioaktywnej

Jeżeli istnieje możliwość bezpiecznej dystrybucji klucza, to mamy OTP. Wpraktyce jest to trudne do zrealizowania, ale możliwe.

Page 123: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Pseudorandom Number Generator, PRNG

Funkcja która oblicza kolejne bity na podstawie wartości początkowej seed(ziarna) i wcześniejszych bitów.

Si = f (seed ,Si−1, . . . ,Si−h)

PRNG nie generuje ciągu losowego, gdyż jest całkowicie deterministycznyalgorytm. Cechą dobrego PRNG jest generowanie ciągu, którystatystycznie wygląda jak ciąg losowy.

Page 124: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Cryptografically Secure Pseudorandom Number Generator, CSPRNG

Jest to szczególny przypadek PRNG, który z praktycznego punktuwidzenia jest losowy. Formalnie:Nie istnieje algorytm działający w czasie wielomianowym, który na

podstawie poprzednich bitów poda następny z prawdopodobieństwemwiększym niż 1/2.

Page 125: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• w symulacjach, testach itp., dobrej jakości PRNG są zwyklewystarczające

• CSPRNG jest unikalny dla kryptografii, gdyż jak się okazujestatystycznie losowy ciąg bitów nie musi być bezpieczny z punktuwidzenia kryptografii

• CSPRNG pozwala symulować OTP, przyczym rzeczywisty klucz jestznacznie krótszy

Page 126: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Typowy przykład PRNG ale nie CSPRNG

Linear congruential generator, LCG

S0 = seed

Si = aSi−1 + b mod m

gdzie a, b,m ∈ Z,

Przy odpowiednim doborze parametrów LCG jest dobrej jakości PRNG.

Page 127: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Funkcja rand() z ANSI C:

S0 = 12345

Si = 1103515245Si−1 + 12345 mod 231

Page 128: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• Alicja i Bob ustalili, że bity do szyfrowania strumieniowego będągenerować w paczkach po 100 za pomocą LCG. Ustalili więc liczby100-bitowe a, b,m (Ewa zatem też je zna).

• w bezpieczny sposób (D-H/RSA) wymienili się kluczem(100-bitowym), którego użyją jako ziarno.

Page 129: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Ewa zgadła pierwsze 100 bitów (' 12B = 12 liter = Dzień dobry!)teksty jawnego, wtedy

si = xi + yi mod 2, i = 1, . . . , 100

zna zatem S1 = (s1, . . . , s100) i już może sama generować dalsze bity.

Ćwiczenie: Ewa zgadła 200 bitów ' 25B =moja żona będzie jutro w. Czy może spróbować odtworzyć resztęwiadomosci?

Page 130: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• Alicja i Bob ustalili, że bity do szyfrowania strumieniowego będągenerować w paczkach po 100 za pomocą LCG. Ustalili więc liczby100-bitowe m, seed (Ewa zatem też je zna).

• w bezpieczny sposób (D-H/RSA) wymienili się kluczem(200-bitowym) skałdajacym się z parametrów a, b.

• Ewa zgadała pierwsze 300 bitów (' 37B). Podobnie jak poprzedniooblicza pierwsze 300 bitów si otrzymując S1 = (s1, . . . , s100), S2 i S3.Rozwiązujac ukłąd równań

S2 = aS1 + b mod m

S3 = aS2 + b mod m

Otrzymuje a i b. Nawet jeżeli rozwiazanie nie jest jednoznaczne, toEwie opłaca się użyć atak brutalnego i sprawdzic wszystkieotzrzymane rozwiazania.

Page 131: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• Alicja i Bob ustalili, że bity do szyfrowania strumieniowego będągenerować w paczkach po 100 za pomocą LCG. Ustalili więc liczby100-bitowe m, seed (Ewa zatem też je zna).

• w bezpieczny sposób (D-H/RSA) wymienili się kluczem(200-bitowym) skałdajacym się z parametrów a, b.

• Ewa zgadała pierwsze 300 bitów (' 37B). Podobnie jak poprzedniooblicza pierwsze 300 bitów si otrzymując S1 = (s1, . . . , s100), S2 i S3.Rozwiązujac ukłąd równań

S2 = aS1 + b mod m

S3 = aS2 + b mod m

Otrzymuje a i b. Nawet jeżeli rozwiazanie nie jest jednoznaczne, toEwie opłaca się użyć atak brutalnego i sprawdzic wszystkieotzrzymane rozwiazania.

Page 132: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Linear Feedback Shift Register, LFSR

LFSR

Dane są:

• liczba m - stopień generatora

• feedback coefficients p = (p0, . . . , pm−1)

• bity początkowe seed = (s0, . . . , sm−1)

Kolejne bity generowane są wg wzoru

si+m =m−1∑j=0

pjsi+j mod 2

Page 133: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• sm = sm−1pm−1 + · · ·+ s0p0 mod 2

• sm+1 = smpm−1 + · · ·+ s1p0 mod 2

• LFSR może być łatwo zrealizowany jako układ elektroniczny

Page 134: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Ćwiczenie:Podać wzór ogólny, narysować schemat i wygenerować piewsze 32 bity.

• m = 3, p = (1, 1, 0), seed = (0, 0, 1)

• m = 4, p = (1, 1, 0, 0), seed = (0, 0, 0, 1)

• m = 4, p = (1, 1, 1, 1), seed = dowolny

Page 135: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Twierdzenie

Maksymalna długość sekwencji (przed powtórzeniem) generowanej przezLFSR stopnia m wynosi 2m − 1.

LFSR o parametrach m = 4, p = (1, 1, 0, 0) realizuje maksymalną długość.

Page 136: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Twierdzenie

Jeżelie (p0, . . . , pm−1) tworzą wielomian pierwotny stopnia m nad GF (2)wtedy LFSR generuje ciąg maksymalnej długości.

Wielomian pierwotny to wielomian minimalny elementu pierwotnego αciała GF (2m). Pierwiastkiem tego wielomianu jest α, zaś GF (2m składa sięze wszystkich potęg α.Dla każdego m istniej przynajmniej jeden (a zwykle dużo) wielomianówpierwotnych.

Page 137: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Atak na LFSR

• Alicja z Bobem ustalili że klczem bedzie wektor (p0, . . . , pm−1)

• Ewa zgadła bity tekstu jawnego: x0, . . . , x2m−1, oblicza zatem

si = xi + yi mod 2

• aby odgadnąć klucz musi rozwiązać układ równań liniowych

si+m =m−1∑j=0

pjsi+j mod 2, i = 0, . . . ,m − 1

może to zrobić bez trudu nawet na palcach (dla małych m). Nawetjeżeli musi zgadywać m!

Page 138: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Trivium

Page 139: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• jest połączenie trzech LFSR z dodatniem elementu nieliniowego AND

• długości rejestrów: A: 93,B: 84, C: 111, można go rozpatrywać jakojeden LFSR o długości 288

ai = ci−66 + ci−111 + ci−110 · ci−109 + ai−69

bi = ai−66 + ai−93 + ai−92 · ai−91 + bi−78

ci = bi−69 + bi−84 + bi−83 · bi−82 + ci−87

si = ci−66 + ci−111 + ai−66 + ai−93 + bi−69 + bi−84

Page 140: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Szyfrowanie z Trivium

Alicja z Bobem ustalają 80-bitowy wektory: inicjujący IV oraz klucz

initialization: • na 80 najstarszych bitów rejestru A ładowany jest IV ,• na 80 najstarszych bitów rejestru B ładowany jest klucz,• bity c109, c110, c111 są ustawiane na 1• pozostałe bity są ustawiane na zero

warm-up: wykonywane jest 4× 288 = 1152 pustych przebiegów

własciwe szyfrowanie

Wektor IV nie musi być tajny, wystarczy, że będzie ustalany na każdą sesje.

Page 141: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• szyfr jest nowy (ok 2008) i na razie uznawany z silny, nie są znaneżadne metody ataku

• zaletą jest możliwość implementacji sprzętowej na kilku tysiącachbramek NAND, co pozwala uzyskać temp szyfrowania na poziomie2Gbit/s@125MHz

• w wersji software: 1Gib/[email protected]

Page 142: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Uwagi

RC4 (1987): • klucz długości do 2048 bitów,• w komunikacji internetowej np.: WEP, BitTorrent, Skype, SSL• nie uznawany za kryptograficznie bezpieczny (2015)

A5 (1987) • używany do szyfrowania połączeń głosowych wstandardzie GSM

• Trzy LFSR długości 29,22,23• klucz długości 64 bitów, początkowo tajny, reverse engineered w

1999• nie uznawany za kryptograficznie bezpieczny (2000)

E0 (1998?) • używany w protokole Bluetooth do szyfrowania pakietów• klucz długości 128 bitów• cztery LFSR długości 25, 31, 33, 39 bitów

Page 143: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

6. Kryptografia na krzywych eliptycznych

DefinicjaKrzywe eliptyczne w kryptografiiBezpieczeństwo i inne uwagi

Page 144: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Definicja

Definicja

Krzywa eliptyczną nazywamy krzywą daną równaniem

y2 = x3 + ax + b,

gdzie 4a3 + 27b2 6= 0 (brak pierwiastków wielokrotnych) .

Krzywa eliptyczna nie jest eliptyczna.

Page 145: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

-4 -2 0 2 4

-4

-2

0

2

4

-4 -2 0 2 4

-4

-2

0

2

4

Page 146: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Krzywa eliptyczna uzupełniona o punkt w nieskończoności posiadastrukturę grupy abelowej:

element neutralny: E =∞element przeciwny: −P = P

dodawanie:• niech P, Q będą punktami na krzywej eliptycznej• prosta PQ przecina krzywą eliptyczną w trzecim punkcie (x , y)

• P + Qdf= (x ,−y)

• specjalny przypadek prosta PQ jest pionowa: wtedy P = −P• specjalny przypadek P = Q = (x , y): zamiast siecznej wybiera się

styczną,• abelowość dodawania jest oczywista

łączność: trudna do sprawdzenia

Page 147: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII
Page 148: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Krzywe eliptyczne pojawiają się w:

• teorii liczb: dowód Wielkiego Twierdzenia Fermata, faktoryzacja

• geometrii algebraicznej

• topologii

• kryptografii...

Page 149: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Niech p > 3 będzie liczbą pierwszą, a, b ∈ GF (p) i niech 4a3 + 27b2 6= 0mod p.

Krzywa eliptyczna nad ciałem skończonym

E (p, a, b) = {(x , y) ∈ GF (p)2 : y2 + x3 + ax + b} ∪ {∞}

Page 150: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• E (5, 1, 1) = {∞, (0, 1), (0, 4), (2, 1), (2, 4), (3, 1), (3, 4), (4, 2), (4, 3)}

Rysunek: (z wiki) p = 89, y2 = x3

Page 151: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Dodawanie w E (p, a, b)

Niech P = (x1, y1), Q = (x2, y2) i niech O = punkt w nieskończoności

element neutralny: O

element odwrotny: −P = (x1, p − y1)

działanie:• P + O = O + P = P• P + (−P) = (−P) + P = O• P + Q = (x3, y3), gdzie{

x3 = s2 − x1 − x2 mod p

y3 = s(x1 − x3)− y1 mod p

s =

y2−y1x2−x1 mod p P 6= Q2x21+a2y1

mod p P = Q

łączność: trudna

Page 152: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• Oszacowanie Hasse-Weila na liczbę punktów

|]E (p)− (p + 1)| ¬ 2√p

• E (p, a, b) jest zawsze grupą cykliczną lub iloczynem dwóch grupcyklicznych.

Page 153: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Ponieważ E (p, a, b) jest grupą cykliczną (dla dobrych a, b) więc możnazdefiniować poprzez przejście do notacji addytywnej:

• szybkie potęgowanie: obecnie „pomnóż przez dwa i dodaj”

• problem logarytmu dyskretnego:

– dla danych P i T wyznaczyć d takie, że dP = T– obrazkowo trzeba zgadnąć ilość „skoków ” po krzywej

Page 154: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Protokół Diffie-Hellmana

– Alicja i Bob ustalają krzywą E (p, a, b) i element pierwotny P

– wybierają klucze prywatne 1 < kA, kB < ]E

– wymieniają się kAP i kBP

– wyznaczają wspólny klucz kAkBP

– w praktyce haszuje się jedną ze współrzędnych, aby otrzymać kluczdo innych protokołów

Page 155: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• Alicja i Bob nie muszą wymieniać się punktami kAP i kbP, gdyżzawierają one dodatkową informację

• współrzędne punktu Q(x , y) na krzywej eliptycznej są związanedodatkową relacją y2 = x3 + ax + b

• zatem wysłanie tylko współrzędnej x pozwala wyznaczyć dwieprawdopodobne wartości y

• różnią się one znakiem, więc Bob otrzymując od Alicji współrzędna xpunkt kAP może wyznaczyć ±kAP,

• oblicza wtedy ±kBkAP i wysyła Alicji współrzędną x punktu ±kBP• Alicja także może wyznaczyć ±kBkAP

Page 156: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Protokół ElGamala

• Alicja ustala klucz prywatny: kA• Alicja ustala klucz publiczny: krzywą E (p, a, b) i element pierwotny P

i element Q = kAP

• trudnością jest zakodowanie tekstu jawnego w postaci punktów nakrzywej

• Alicja i Bob ustalili, że litery wiadomości kodują wg schematuA→ I1,B → I2 itd.

• Ij są podprzedziałami [0, p − 1] wybranymi w taki sposób, żeprzynajmniej jeden punkt przedziału jest współrzędna x punktukrzywej E

Page 157: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Protokół ElGamala

• Alicja ustala klucz prywatny: kA• Alicja ustala klucz publiczny: krzywą E (p, a, b) i element pierwotny P

i element Q = kAP

• trudnością jest zakodowanie tekstu jawnego w postaci punktów nakrzywej

• Alicja i Bob ustalili, że litery wiadomości kodują wg schematuA→ I1,B → I2 itd.

• Ij są podprzedziałami [0, p − 1] wybranymi w taki sposób, żeprzynajmniej jeden punkt przedziału jest współrzędna x punktukrzywej E

Page 158: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Protokół ElGamala c.d.

• dla każdej litery L Bob wybiera reprezentanta LE

• dla każdego reprezentanta LE Bob wybiera losowe bL

• Dlaczego różnych?

• Bob wysyła wiadomość jako ciąg (bLP, bLQ + LE )

• Alicja odszyfrowywuje LE = bLQ + LE − kAbLP i odkodowywuje wprosty sposób

Rozmiar szyfrogramu jest czterokrotnie większy niż tekstu jawnego

• można go zmniejszyć stosując blokowanie

• lub wysyłanie tylko pierwszej współrzędnej, wtedy trzeba wysłaćdodatkowy bit znaku

• nie jest to jednak potrzebne z punktu widzenia kryptograficznego.

Page 159: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Protokół ElGamala c.d.

• dla każdej litery L Bob wybiera reprezentanta LE

• dla każdego reprezentanta LE Bob wybiera losowe bL

• Dlaczego różnych?

• Bob wysyła wiadomość jako ciąg (bLP, bLQ + LE )

• Alicja odszyfrowywuje LE = bLQ + LE − kAbLP i odkodowywuje wprosty sposób

Rozmiar szyfrogramu jest czterokrotnie większy niż tekstu jawnego

• można go zmniejszyć stosując blokowanie

• lub wysyłanie tylko pierwszej współrzędnej, wtedy trzeba wysłaćdodatkowy bit znaku

• nie jest to jednak potrzebne z punktu widzenia kryptograficznego.

Page 160: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Bezpieczeństwo i inne uwagi

• nie są znane ataki na EllipticDLP inne niż np.: algorytm Shanksa(baby-step, giant-step)

• na TERAZ, nie są znane żadne wyspecjalizowane metody ataku

• przyjmuje się, że bezpieczne liczby pierwsze są rzędu 256 bitów (tensam poziom bezpieczeństwa co 3072-bity w RSA)

• w 2009 przeprowadzono udany atak na 112-bitowe p za pomocą 200konsol Playstation 3 w 3,5 miesiąca

• znacznie łatwiej zwiększyć bezpieczeństwo: dla podwojenie poziomubezpieczeństwa wystarczy wydłużyć p o dwa bity

• istnieją słabe kryptograficznie krzywe, ale można je zidentyfikować

Page 161: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• Implementacja jest bardziej złożona, gdyż wymaga

– arytmetyki w GF (p): dodawanie, mnożenie, odejmowanie,dzielenie

– arytmetyki w E (p): podwajanie, dodawanie, mnożenie przezskalar

• Wydajna implementacja wykonuje potęgowania dla 256bitowychkluczy w czasie rzędu 2-10ms.

• Dedykowane rozwiązania sprzętowe w czasie rzędu 40-100µm

• W porównaniu z RSA wymagania sprzętowe są także znaczniemniejsze

Page 162: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• kryptografia na krzywych eliptycznych została odkryta przez Koblitza(1987) i Millera(1986)

• same krzywe eliptyczne są znane w matematyce od dawna, z uwagi nazastosowania kryptograficzne, stały się przedmiotem intensywnychbadań

• na początku XXI wieku kryptografia na krzywych eliptycznych weszłado powszechnego użycia i zaczynają stawać się popularne

Page 163: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• w 1999 NIST określiła pięć krzywych dla konkretnych liczb 192, 224,256, 384, i 512 bitowych

• krzywe te zostały wybrane pod względem bezpieczeństwa i wydajności

• NIST zarekomendował także PRNG oparty na krzywych eliptycznych,jednak E. Snowden ujawnił, że NSA wiedziała o specyficznejwłasności użytej krzywej, która pozwala na atak przy znajomości 32bitów klucza

• mimo to/dlatego NSA forsowała jego wprowadzenie

• projekt SafeCurves ma na celu znalezienie bezpiecznych krzywych ipoddaniu ich publicznej ocenie

• algorytm potęgowania jest znaczeni bardziej podatny na side-channelattack

• uważa się, kryptografia na krzywych eliptycznych jest bardziejpodatna na atak za pomocą komputera kantowego niż RSA.

Page 164: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• w 1999 NIST określiła pięć krzywych dla konkretnych liczb 192, 224,256, 384, i 512 bitowych

• krzywe te zostały wybrane pod względem bezpieczeństwa i wydajności

• NIST zarekomendował także PRNG oparty na krzywych eliptycznych,jednak E. Snowden ujawnił, że NSA wiedziała o specyficznejwłasności użytej krzywej, która pozwala na atak przy znajomości 32bitów klucza

• mimo to/dlatego NSA forsowała jego wprowadzenie

• projekt SafeCurves ma na celu znalezienie bezpiecznych krzywych ipoddaniu ich publicznej ocenie

• algorytm potęgowania jest znaczeni bardziej podatny na side-channelattack

• uważa się, kryptografia na krzywych eliptycznych jest bardziejpodatna na atak za pomocą komputera kantowego niż RSA.

Page 165: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• w 1999 NIST określiła pięć krzywych dla konkretnych liczb 192, 224,256, 384, i 512 bitowych

• krzywe te zostały wybrane pod względem bezpieczeństwa i wydajności

• NIST zarekomendował także PRNG oparty na krzywych eliptycznych,jednak E. Snowden ujawnił, że NSA wiedziała o specyficznejwłasności użytej krzywej, która pozwala na atak przy znajomości 32bitów klucza

• mimo to/dlatego NSA forsowała jego wprowadzenie

• projekt SafeCurves ma na celu znalezienie bezpiecznych krzywych ipoddaniu ich publicznej ocenie

• algorytm potęgowania jest znaczeni bardziej podatny na side-channelattack

• uważa się, kryptografia na krzywych eliptycznych jest bardziejpodatna na atak za pomocą komputera kantowego niż RSA.

Page 166: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• w 1999 NIST określiła pięć krzywych dla konkretnych liczb 192, 224,256, 384, i 512 bitowych

• krzywe te zostały wybrane pod względem bezpieczeństwa i wydajności

• NIST zarekomendował także PRNG oparty na krzywych eliptycznych,jednak E. Snowden ujawnił, że NSA wiedziała o specyficznejwłasności użytej krzywej, która pozwala na atak przy znajomości 32bitów klucza

• mimo to/dlatego NSA forsowała jego wprowadzenie

• projekt SafeCurves ma na celu znalezienie bezpiecznych krzywych ipoddaniu ich publicznej ocenie

• algorytm potęgowania jest znaczeni bardziej podatny na side-channelattack

• uważa się, kryptografia na krzywych eliptycznych jest bardziejpodatna na atak za pomocą komputera kantowego niż RSA.

Page 167: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Krzywa 25519

Jest to krzywa eliptyczna (w szerszym sensie) dana wzorem

y2 = x3 + 486662x2 + x , p = 2255 − 19, g = (x = 9, y)

]〈g〉 = 2252 + 27742317777372353535851937790883648493

• został podana przez Daniela Bernsteina w 2005, popularność zyskałapo aferze Snowdena (2013) jako alternatywa dla krzywej NIST-256 wzastosowaniach typu Diffie-Hellman

• publiczna, https://cr.yp.to/ecdh.html

• kto używa tej krzywej

– SSH– SSL– TLS

– Jabber– Converstations– FB Messenger

– WhatsApp– Skype– Tor

Page 168: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

7. DES

HistoriaDziałanieBezpieczeństwo

Page 169: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Historia

• W 1972 roku NBS (National Bureau of Standards, obecnie NIST)ogłosiło konkurs an opracowanie algorytmu szyfrującego, którymógłby stać się standardem w USA zarówno dla administracji jak i dokomercyjnego użytku

• jednym z wymagań była możliwość wydajnej implementacji sprzętowej

• ostatecznie jako standard została wybrana propozycja Feistela iCoppersmitha (IBM) zgłoszona w 1974 r. oparta na szyfrze LUCIFERopracowany przez Feistela

• w 1977 r. został ogłoszony nowy standard DES (Data EncryptionStandard), początkowo na 10 lat, ale okazał się na tyle dobry, żezostał utrzymany do końca XX w., kiedy zastąpił go nowy standardAES (Advance Encryption Standard)

Page 170: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Historia

• W 1972 roku NBS (National Bureau of Standards, obecnie NIST)ogłosiło konkurs an opracowanie algorytmu szyfrującego, którymógłby stać się standardem w USA zarówno dla administracji jak i dokomercyjnego użytku

• jednym z wymagań była możliwość wydajnej implementacji sprzętowej

• ostatecznie jako standard została wybrana propozycja Feistela iCoppersmitha (IBM) zgłoszona w 1974 r. oparta na szyfrze LUCIFERopracowany przez Feistela

• w 1977 r. został ogłoszony nowy standard DES (Data EncryptionStandard), początkowo na 10 lat, ale okazał się na tyle dobry, żezostał utrzymany do końca XX w., kiedy zastąpił go nowy standardAES (Advance Encryption Standard)

Page 171: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• aby określić siłę proponowanych algorytmów NBS współpracowało zNSA (National Security Agency)

• początkowo propozycja IBM używała klucza 128-bitowego, ale NSAwymusiła (?) zmianę na 56 bitów, co zrodziło podejrzenia, że istniejebackdoor znany NSA lub dysponuje środkami do ataku brute-force

• tym bardziej, że specyfikacja DES jest opisana co do bitu, ale nie byłyznane założenia projektowe

• jednak intensywne badania w latach 80-tych nie ujawniły, żadnychistotnych słabości

• późniejsze ogłoszenie przez twórców założeń projektowych sprawiło,że zarzuty o istnienie backdoora okazała się raczej bezpodstawne

Page 172: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Pomocnicze koncepcje

Według C. Shannona silny szyfr powinien zawierać dwie elementarneoperacje:

confusion: związek miedzy kluczem a szyfrogramem powinien byćniewidoczny (por. atak Kasickiego)

diffusion: pojedynczy znak tekstu jawnego powinien wpływać an wieleznaków szyfrogramu (por. analiza statystyczna)

Szyfry realizujące tylko jedną z nich są uznawane za słabe, wszystkiewspółczesne szyfry blokowe realizują je naprzemiennie.

Page 173: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Schemat (sieć) Feistela

Szyfrowanie:

• X = L‖R (podział na połowy)

• L′ = R

• R ′ = L⊕ F (K ,R)

• Y = L′‖R ′

Deszyfrowanie:

• Y = L′‖R ′

• R = L′

• L = R ⊕ F (K ,R)

• X = L‖R

Page 174: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• połowa tekstu jawnego nie jest szyfrowana

• w praktyce stosuje się schemat Feistela wielokrotnie

• mówi się wtedy o schemacie o i-rundach

• jedynym wymaganiem na funkcję F jest rozmiar wejścia i wyjścia

• o funkcji F można myśleć jak o PRNG

• zatem jeżeli F jest kryptograficznie bezpiecznym PRNG dostajemyrodzaj szyfru jednorazowego

• jednocześnie, dobrze wybrana funkcja F realizuje postulat Shannona

Page 175: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• połowa tekstu jawnego nie jest szyfrowana

• w praktyce stosuje się schemat Feistela wielokrotnie

• mówi się wtedy o schemacie o i-rundach

• jedynym wymaganiem na funkcję F jest rozmiar wejścia i wyjścia

• o funkcji F można myśleć jak o PRNG

• zatem jeżeli F jest kryptograficznie bezpiecznym PRNG dostajemyrodzaj szyfru jednorazowego

• jednocześnie, dobrze wybrana funkcja F realizuje postulat Shannona

Page 176: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Opis DES

• symetryczny szyfr blokowy

• długość bloku 64 bity

• długość klucza 56 bitów

• składa się z 16 rund schematu Feistela

• w każdej rundzie użyty jest inny kluczrundy

• klucz ma zwykle 64 bity, ale co 8. jestbitem parzystości

Page 177: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

krok wstępny:

• ew. skrócenie klucza

• permutacja IP(X )

• permutacja PC − 1(K )

• rozdzielenie klucza na połowy C0 i D0

w kazdej z 16 rund:

• generowanie klucza rundy KSi

• Li = Ri−1

• Ri = LI ⊕ F (Ki ,Ri−1)

W kroku ostanim IP−1(L16‖R16)

Page 178: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Initial Permutation:

IP =

58 50 42 34 26 18 10 2 1. bajt60 52 44 36 28 20 12 462 54 46 38 30 22 14 664 56 48 40 32 24 16 857 49 41 33 25 17 9 159 51 43 35 27 19 11 361 53 45 37 29 21 13 563 55 47 39 31 23 15 7 8. bajt

• jedni twierdzą, że bez znaczenia krytptograficznego, artefakt lat 70’

• inni, że tworzy to dodatkowe rozmycie tekstu jawnego

Page 179: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

IP−1 =

40 8 48 16 56 24 64 3239 7 47 15 55 23 63 3138 6 46 14 54 22 62 3037 5 45 13 53 21 61 2936 4 44 12 52 20 60 2835 3 43 11 51 19 59 2734 2 42 10 50 18 58 2633 1 41 9 49 17 57 25

• łatwa realizacja sprzętowa

• programowo troszkę trudniejsza

Page 180: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Przygotowanie klucza

• zwykle jako klucza używa się 64 bitów, każdy 8. bit jest używany jakobit parzystości

• właściwy klucz 56 bitowy powstaje przez ich odrzucenie

• następnie wykonuje się permutację i podział klucza na połowy C0 i D0

PC–1 =

57 49 41 33 25 17 9 63 55 47 39 31 23 151 58 50 42 34 26 18 7 62 54 46 38 30 22

10 2 59 51 43 35 27 14 6 61 53 45 37 2919 11 3 60 52 44 36 21 13 5 28 20 12 4

Page 181: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Funkcja F

• Argumentami F są:

– Ri−1 – prawa połowa z poprzedniej rundy (32 bity)– Ki – klucz rundy (48 bitów)

• Ri−1 jest rozszerzany do 48 bitów i xorowany z Ki

• wynik jest dzielony po 6 bitów, każde 6 bitów przekształcane jestprzez S-boxy w 4 bity

• rezultat jest łączony (32 bity) i permutowany

Page 182: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Funkcja F

• Argumentami F są:

– Ri−1 – prawa połowa z poprzedniej rundy (32 bity)– Ki – klucz rundy (48 bitów)

• Ri−1 jest rozszerzany do 48 bitów i xorowany z Ki

• wynik jest dzielony po 6 bitów, każde 6 bitów przekształcane jestprzez S-boxy w 4 bity

• rezultat jest łączony (32 bity) i permutowany

Page 183: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Funkcja F

• Argumentami F są:

– Ri−1 – prawa połowa z poprzedniej rundy (32 bity)– Ki – klucz rundy (48 bitów)

• Ri−1 jest rozszerzany do 48 bitów i xorowany z Ki

• wynik jest dzielony po 6 bitów, każde 6 bitów przekształcane jestprzez S-boxy w 4 bity

• rezultat jest łączony (32 bity) i permutowany

Page 184: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Funkcja F

• Argumentami F są:

– Ri−1 – prawa połowa z poprzedniej rundy (32 bity)– Ki – klucz rundy (48 bitów)

• Ri−1 jest rozszerzany do 48 bitów i xorowany z Ki

• wynik jest dzielony po 6 bitów, każde 6 bitów przekształcane jestprzez S-boxy w 4 bity

• rezultat jest łączony (32 bity) i permutowany

Page 185: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII
Page 186: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Rozszerzanie Ri−1

Każde 4 bity są rozszerzane do 6 bitów:

E =

32 1 2 3 4 54 5 6 7 8 98 9 10 11 12 13

12 13 14 15 16 1716 17 18 19 20 2120 21 22 23 24 2524 25 26 27 28 2928 29 30 31 32 1

• niektóre bity są podwajane, żaden nie w tym samym bloku

• „diffusion”: niektóre bity wpływają na inne

Page 187: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

S-box

• każdy S-box ma 6 bitów wejścia i 4 bity wyjścia

• jest osiem różnych S-boxów

• S-boxy są elementami nieliniowymi

• najstarszy i najmłodszy bit wejścia określa wiersz, pozostałe 4określają kolumnę

• wpisy w tabeli są dziesiętną reprezentacją wyjścia

S1

x0000x

x0001x

x0010x

x0011x

x0100x

x0101x

x0110x

x0111x

x1000x

x1001x

x1010x

x1011x

x1100x

x1101x

x1110x

x1111x

0yyyy0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 70yyyy1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 81yyyy0 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 01yyyy1 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13

Page 188: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

S-box

• każdy S-box ma 6 bitów wejścia i 4 bity wyjścia

• jest osiem różnych S-boxów

• S-boxy są elementami nieliniowymi

• najstarszy i najmłodszy bit wejścia określa wiersz, pozostałe 4określają kolumnę

• wpisy w tabeli są dziesiętną reprezentacją wyjścia

S1

x0000x

x0001x

x0010x

x0011x

x0100x

x0101x

x0110x

x0111x

x1000x

x1001x

x1010x

x1011x

x1100x

x1101x

x1110x

x1111x

0yyyy0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 70yyyy1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 81yyyy0 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 01yyyy1 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13

Page 189: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Permutacja

Po przejściu przez S-boxy wyjściowe bity są ponownie permutowane(diffusion):

P =

16 7 20 21 29 12 28 171 15 23 26 5 18 31 102 8 24 14 32 27 3 9

19 13 30 6 22 11 4 25

Page 190: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Funkcja F – uwagi

• konstrukcja funkcji F sprawia, że po pięciu rundach każdy bit tekstujawnego wpływa na każdy inny bit

• rozmiar S-boxa tzn.: 4× 16 czyli 264 wpisów, jest prawdopodobnieefektem ograniczeń sprzętowych lat 70-tych

• rozmiar S-boxa bezpośrednio determinuje rozmiar wejścia DES, czyli64 bity

• Po ogłoszeniu standardu DES, dużą podejrzliwość wzbudził brakpodania motywacji do takiej a nie innej konstrukcji S-boxów

• dało to pole do spekulacji, że istnieje backdoor lub inna słabość (iNSA o nich wie)

Page 191: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Funkcja F – uwagi

• konstrukcja funkcji F sprawia, że po pięciu rundach każdy bit tekstujawnego wpływa na każdy inny bit

• rozmiar S-boxa tzn.: 4× 16 czyli 264 wpisów, jest prawdopodobnieefektem ograniczeń sprzętowych lat 70-tych

• rozmiar S-boxa bezpośrednio determinuje rozmiar wejścia DES, czyli64 bity

• Po ogłoszeniu standardu DES, dużą podejrzliwość wzbudził brakpodania motywacji do takiej a nie innej konstrukcji S-boxów

• dało to pole do spekulacji, że istnieje backdoor lub inna słabość (iNSA o nich wie)

Page 192: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Funkcja F – uwagi

• konstrukcja funkcji F sprawia, że po pięciu rundach każdy bit tekstujawnego wpływa na każdy inny bit

• rozmiar S-boxa tzn.: 4× 16 czyli 264 wpisów, jest prawdopodobnieefektem ograniczeń sprzętowych lat 70-tych

• rozmiar S-boxa bezpośrednio determinuje rozmiar wejścia DES, czyli64 bity

• Po ogłoszeniu standardu DES, dużą podejrzliwość wzbudził brakpodania motywacji do takiej a nie innej konstrukcji S-boxów

• dało to pole do spekulacji, że istnieje backdoor lub inna słabość (iNSA o nich wie)

Page 193: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Obecnie wiadomo, że konstrukcja S-boxów jest oparta na następującychzałożeniach:

• 6 bitów wejścia i 4 bity wyjścia

• żaden bit wyjścia nie powinien być „bliski” kombinacji liniowej bitówwejścia

• przy ustalonym najstarszym i najmłodszym bicie, wyjście musi byćróżnowartościowe

• jeżeli zmieni się jeden bit wejścia, to muszą zmienić przynajmniej dwabity wyjścia

• jeżeli zmienią się dwa środkowe bity wejścia, to muszą zmienićprzynajmniej dwa bity wyjścia

Page 194: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Obecnie wiadomo, że konstrukcja S-boxów jest oparta na następującychzałożeniach:

• 6 bitów wejścia i 4 bity wyjścia

• żaden bit wyjścia nie powinien być „bliski” kombinacji liniowej bitówwejścia

• przy ustalonym najstarszym i najmłodszym bicie, wyjście musi byćróżnowartościowe

• jeżeli zmieni się jeden bit wejścia, to muszą zmienić przynajmniej dwabity wyjścia

• jeżeli zmienią się dwa środkowe bity wejścia, to muszą zmienićprzynajmniej dwa bity wyjścia

Page 195: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Obecnie wiadomo, że konstrukcja S-boxów jest oparta na następującychzałożeniach:

• 6 bitów wejścia i 4 bity wyjścia

• żaden bit wyjścia nie powinien być „bliski” kombinacji liniowej bitówwejścia

• przy ustalonym najstarszym i najmłodszym bicie, wyjście musi byćróżnowartościowe

• jeżeli zmieni się jeden bit wejścia, to muszą zmienić przynajmniej dwabity wyjścia

• jeżeli zmienią się dwa środkowe bity wejścia, to muszą zmienićprzynajmniej dwa bity wyjścia

Page 196: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• jeżeli zmienią się któryś z dwóch pierwszych bitów wejścia, to wyjściemusi być inne

• dla każdych dwóch ciągów wejściowych (48 bitów) różniących się na 6bitach nie więcej niż 8 z 32 możliwych wyjść może różnić się na 6bitach

• identyczne wyjście jest możliwe tylko dla trzech sąsiadującychS-boxów

S2

x0000x

x0001x

x0010x

x0011x

x0100x

x0101x

x0110x

x0111x

x1000x

x1001x

x1010x

x1011x

x1100x

x1101x

x1110x

x1111x

0yyyy0 15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 100yyyy1 3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 51yyyy0 0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 151yyyy1 13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9

Page 197: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• jeżeli zmienią się któryś z dwóch pierwszych bitów wejścia, to wyjściemusi być inne

• dla każdych dwóch ciągów wejściowych (48 bitów) różniących się na 6bitach nie więcej niż 8 z 32 możliwych wyjść może różnić się na 6bitach

• identyczne wyjście jest możliwe tylko dla trzech sąsiadującychS-boxów

S2

x0000x

x0001x

x0010x

x0011x

x0100x

x0101x

x0110x

x0111x

x1000x

x1001x

x1010x

x1011x

x1100x

x1101x

x1110x

x1111x

0yyyy0 15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 100yyyy1 3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 51yyyy0 0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 151yyyy1 13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9

Page 198: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• powyższe zasady nie były znane do 1990,

• zbiegiem okoliczności (?) w tym samy roku odkryto zaawansowanysposób ataku kryptoanalizę różnicową

• DES okazał się odporny

• twórcy twierdzą, że znali tą metodę podczas projektowania i ichkonstrukcja miała być odporna

Page 199: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• powyższe zasady nie były znane do 1990,

• zbiegiem okoliczności (?) w tym samy roku odkryto zaawansowanysposób ataku kryptoanalizę różnicową

• DES okazał się odporny

• twórcy twierdzą, że znali tą metodę podczas projektowania i ichkonstrukcja miała być odporna

Page 200: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Generowanie klucza rundy

W korku wstępnym klucz został podzielony na dwie połówki C0 i D0

• w każdej rundzie „key schedule”wykonywane jest

• obrót (bitowy) w lewo każdej połówki ojeden lub dwa bity w zależności odnumeru rundy

• wynik jest łączony, permutowany iużywany jako klucz rundy Ki

• oraz przekazywany do następnej rundy

i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16LSi 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1

Page 201: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

permutacja PC-2

• permutuje i skraca klucz

• osiem bitów: 9,18,22,25,35,38,43,54 nie jest używane w kluczy rundy

PC − 2 =

14 17 11 24 01 05 03 2815 06 21 10 23 19 12 0426 08 16 07 27 20 13 0241 52 31 37 47 55 30 4051 45 33 48 44 49 39 5634 53 46 42 50 36 29 32

Page 202: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Key schedule – podsumowanie

• można pokazać, że C0 = C16 i D0 = D16 – własność ta zostanie użytado deszyfrowania

• każdy klucz rundy Ki składa się z 48 bitów klucza K

• każdy bit jest używany w mniej więcej 14 rundach

Page 203: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII
Page 204: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Deszyfracja z DES

• schemat Feistela jest odwracalny, zatem do deszyfracji wystarczy użyćDES w odwrotnej kolejności

• tzn do szyfrogramu stosuje się najpierw IP potem 16 rund, ale zkluczami rund w odwrotnej kolejności

• na koniec IP−1 co daje tekst jawny

• jedynym problemem jest uzyskanie klucza rundy

• można sprawdzić, że

K16 = PC-2(C16‖D16) = PC-2(C0‖D0) = PC-2(PC-1(K ))

K15 = PC-2(C15‖D15) = PC-2(RS(C16)‖RS(D16)) == PC-2(RS(C0)‖RS(D0))

Page 205: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Deszyfracja z DES

• schemat Feistela jest odwracalny, zatem do deszyfracji wystarczy użyćDES w odwrotnej kolejności

• tzn do szyfrogramu stosuje się najpierw IP potem 16 rund, ale zkluczami rund w odwrotnej kolejności

• na koniec IP−1 co daje tekst jawny

• jedynym problemem jest uzyskanie klucza rundy

• można sprawdzić, że

K16 = PC-2(C16‖D16) = PC-2(C0‖D0) = PC-2(PC-1(K ))

K15 = PC-2(C15‖D15) = PC-2(RS(C16)‖RS(D16)) == PC-2(RS(C0)‖RS(D0))

Page 206: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Implementacja

• sprzętowo: łatwa i bezpośrednia, możliwe miniaturyzacja, prędkośćszyfrowania 1Gbit/s

• programowo: trudna i mało wydajna, prędkość szyfrowania od100Mbit/s do 500Mbit/s 2GHz CPU

Page 207: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Bezpieczeństwo

Od samego początku dESowi zarzucano dwie rzeczy:

• mała przestrzeń kluczy – podatność na atak brutalny

• brak informacji o przesłankach stojących za konstrukcją S-boxów –podejrzenia o istnienie znanej twórcom metody ataku wykorzystującejwłasności matematyczne S-boxów

Czas pokazał, że pierwszy zarzut jest słuszny, ale dopiero po wielu latachudało się przeprowadzić skuteczny atak brutalny.

Page 208: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Atak brutalny

Exchaustive Key Search

• znana jest para (X ,Y = DESK (X ), ale nie znany jest klucz K

• atak brutalny polega na testowaniu wszystkich 256 kluczy tak długoaż DES−1Ki

(Y ) = X

Page 209: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Historia ataków brutalnych:

1977: Diffie i Helmann okreslili koszt zbudowania wyspecjalizowanejmaszyny do łamania DES w jeden dzień na 20 mln $

1981: Diffie zrewidował oszacowanie na 50 min $ w dwa dni

1993: Wiener oszacował koszta na 36 godzin na 1 mln $

1997: DES Challenge I: obliczenia rozproszone w internecie, kilka tysięcykomputerów, 96 dni

1998: DES Challenge II: obliczenia rozproszone w internecie, kilka tysięcykomputerów, 39 dni

1998: Deep Crack: urządzenie łamiące DES w 56h, koszt 250 000 $

1999: DES Challenge III: obliczenia rozproszone i Deep Crack, 22 godziny

2006: COPACABANA: urządzenie łamiące DES w 7 dni, koszt 10 000 $,potem w mniej niż dzień

obecnie: wyspecjalizowany układy, kilka godzin

Page 210: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Historia ataków brutalnych:

1977: Diffie i Helmann okreslili koszt zbudowania wyspecjalizowanejmaszyny do łamania DES w jeden dzień na 20 mln $

1981: Diffie zrewidował oszacowanie na 50 min $ w dwa dni

1993: Wiener oszacował koszta na 36 godzin na 1 mln $

1997: DES Challenge I: obliczenia rozproszone w internecie, kilka tysięcykomputerów, 96 dni

1998: DES Challenge II: obliczenia rozproszone w internecie, kilka tysięcykomputerów, 39 dni

1998: Deep Crack: urządzenie łamiące DES w 56h, koszt 250 000 $

1999: DES Challenge III: obliczenia rozproszone i Deep Crack, 22 godziny

2006: COPACABANA: urządzenie łamiące DES w 7 dni, koszt 10 000 $,potem w mniej niż dzień

obecnie: wyspecjalizowany układy, kilka godzin

Page 211: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

DES okazał się odporny na (teoretycznie) potężne ataki:

• kryptoanaliza różnicowa (Biham, Shamir, 1990)

• kryptoanaliza liniowa (Matsui, 1993)

Page 212: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Inne szyfry blokowe

3DES: Y = DESK3DESK2DESK1(X ) lub Y = DESK3DES−1K2

DESK1(X )zwykle K3 = K1, obecnie uważany za bezpieczny, często używany,potrojenie trudności ataku brutalnego

DESX, key whitening: Y = DESK (X ⊕ K2)⊕ K3uważany za bezpieczny, atak brutalny wymaga 2120 prób

AES: standard NIST od 2001, oparty na pierścieniu GF (28)[x ],

• blok 128 bitów, klucz 128,192,256 bitów, wydajny sprzętowo iprogramowo• stosowany powszechnie: TLS, IEEE 802.11i (wi-fi), SSH, Skype• NSA zezwoliła na używanie AES (jako pierwszego publicznego

algorytmo) do szyfrowania dokumentów o klauzuli SECRET iwyżej

Page 213: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Inne szyfry blokowe c.d.

PRESENT: „lekki” szyfr, zaprojekotwany dla RFID, blok 64 bity, klucz80 lub 128 bitów

inne Feiste-type: Blowfish, Twofisfh, RC6

inne non-Feistel: IDEA, AES

Page 214: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

8. Ogólnie o szyfrach blokowych

Tryby pracy

Page 215: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Tryby pracy

• zwykle tekst jawny ma więcej niż kilka bajtów: 1 strona pdf ∼20kB,arkusz ∼100kB, zdjęcie: ∼2MB itd

• istnieje kilka możliwości podziału tekstu-jawnego na bloki

• dobrze by było, aby dodkonany podział nie obniżał bezpieczeństwa

• oraz dodatkowo zapewniał obronę przed modyfikacją cześciszyfrogramu

• możliwe jest użycie szyfru blokowego jako narzędzia douwierzytelniania, ustalenia klucza i PRNG do szyfru strumieniowego

Page 216: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

W dalszej części:

• X - tekst jawny, Y - szyfrogram, K - klucz

• (E ,D) - szyfr blokowy

• b - długość bloku (w bitach), k - długość klucza (w bitach)

Page 217: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

ECB – Electronic Codebook Mode

ECB

• X = X1‖X2‖ . . . , ‖Xn

• Yi = EK (Xi ), Xi = DK (Xi )

• Y = Yi‖Y2‖ . . . ‖Yn

• łatwe zrównoleglenie,

• bloki są niezależne, uszkodzenie jednego nie wpyływa na inne

• dla danego bloku Xi wszystkie możliwe szyfrogramy są zawarte wzbiorze {EK (Xj)} o mocy 2b

• tryb ECB może być traktowany jako (gigantyczna) książka kodowa

Page 218: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

ECB – Electronic Codebook Mode

ECB

• X = X1‖X2‖ . . . , ‖Xn

• Yi = EK (Xi ), Xi = DK (Xi )

• Y = Yi‖Y2‖ . . . ‖Yn

• łatwe zrównoleglenie,

• bloki są niezależne, uszkodzenie jednego nie wpyływa na inne

• dla danego bloku Xi wszystkie możliwe szyfrogramy są zawarte wzbiorze {EK (Xj)} o mocy 2b

• tryb ECB może być traktowany jako (gigantyczna) książka kodowa

Page 219: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Wyciek informacji:

• zwykle tekst jawny składa się z wielupowtarzających się bloków, które dladanego klucza są zawsze szyfrowane wten sam sposób.

• po zmianie klucza, raz rozpoznany wzórpozostaje nadal widoczny

• zachowane są informacje statystyczne

Zamiana/podmiana wybranych blokówskutkuje zamianą/podmianąodpowiadających bloków w tekście jawnym.

Rysunek: Typowy przykładpowtarzających się bloków

Page 220: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Wyciek informacji:

• zwykle tekst jawny składa się z wielupowtarzających się bloków, które dladanego klucza są zawsze szyfrowane wten sam sposób.

• po zmianie klucza, raz rozpoznany wzórpozostaje nadal widoczny

• zachowane są informacje statystyczne

Zamiana/podmiana wybranych blokówskutkuje zamianą/podmianąodpowiadających bloków w tekście jawnym.

Rysunek: Typowy przykładpowtarzających się bloków

Page 221: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Przykład ataku

Alicja i Bob są bankami porozumiewającymi się za pomocą protokołu:

A: Hello -- B: potw. HelloA: nr konta -- B: potw. nr kontaA: kwota -- B: potw. przelewu

Każda operacja jest blokiem szyfrowanym w trybie ECB, klucz nie jestczęsto zmieniany.

• Ewa zakłada konto w obu bankach

• Oskar podsłuchuje kanał transmisji i przechwytuje szyfrowane bloki

• mimo, że nie potrafi odszyfrować bloków łatwo identyfikuje kolejnebloki

Page 222: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Przykład ataku c.d.

• Ewa wysyła przelewy na 1 PLN z A do B

• łatwo identyfikuje swoje transakcje, zapamiętuje bloki

• ponieważ klucz nie jest zmieniany, więc identyfikuje również inneprzelewy

• Ewa podmienia w wybranych transakcjach blok A: numer konta naswój blok

• Alicja i Bob mogą teraz to wykryć, ale Ewa może mieć szczęście itrafić jej się duży przelew

• Ewa zamyka konta w obu bankach, Oskara likwiduje podsłuch

• oboje jadą do kraju, który nie ma podpisanej umowy o ekstradycji iradośnie witającego nowych obywateli

Page 223: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Przykład ataku c.d.

• Ewa wysyła przelewy na 1 PLN z A do B

• łatwo identyfikuje swoje transakcje, zapamiętuje bloki

• ponieważ klucz nie jest zmieniany, więc identyfikuje również inneprzelewy

• Ewa podmienia w wybranych transakcjach blok A: numer konta naswój blok

• Alicja i Bob mogą teraz to wykryć, ale Ewa może mieć szczęście itrafić jej się duży przelew

• Ewa zamyka konta w obu bankach, Oskara likwiduje podsłuch

• oboje jadą do kraju, który nie ma podpisanej umowy o ekstradycji iradośnie witającego nowych obywateli

Page 224: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Przykład ataku c.d.

• Ewa wysyła przelewy na 1 PLN z A do B

• łatwo identyfikuje swoje transakcje, zapamiętuje bloki

• ponieważ klucz nie jest zmieniany, więc identyfikuje również inneprzelewy

• Ewa podmienia w wybranych transakcjach blok A: numer konta naswój blok

• Alicja i Bob mogą teraz to wykryć, ale Ewa może mieć szczęście itrafić jej się duży przelew

• Ewa zamyka konta w obu bankach, Oskara likwiduje podsłuch

• oboje jadą do kraju, który nie ma podpisanej umowy o ekstradycji iradośnie witającego nowych obywateli

Page 225: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Przykład ataku c.d.

• Ewa wysyła przelewy na 1 PLN z A do B

• łatwo identyfikuje swoje transakcje, zapamiętuje bloki

• ponieważ klucz nie jest zmieniany, więc identyfikuje również inneprzelewy

• Ewa podmienia w wybranych transakcjach blok A: numer konta naswój blok

• Alicja i Bob mogą teraz to wykryć, ale Ewa może mieć szczęście itrafić jej się duży przelew

• Ewa zamyka konta w obu bankach, Oskara likwiduje podsłuch

• oboje jadą do kraju, który nie ma podpisanej umowy o ekstradycji iradośnie witającego nowych obywateli

Page 226: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• bloki mogły być szyfrowane wielokrotnie AES z 256 bitowym kluczem

• ale Ewa nie odszyfrowała żadnego bloku, mimo to dokonała udanegoataku

• w rzeczywistości stosuje się rozmaite informacje uwierzytelniającesprawdzające spójność

• Alicja i Bob po odkryciu kradzieży zdali sobie sprawę, że prostymzabezpieczeniem przed tym atakiem była. . .

• częsta zmiana klucza

Page 227: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• bloki mogły być szyfrowane wielokrotnie AES z 256 bitowym kluczem

• ale Ewa nie odszyfrowała żadnego bloku, mimo to dokonała udanegoataku

• w rzeczywistości stosuje się rozmaite informacje uwierzytelniającesprawdzające spójność

• Alicja i Bob po odkryciu kradzieży zdali sobie sprawę, że prostymzabezpieczeniem przed tym atakiem była. . .

• częsta zmiana klucza

Page 228: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

CBC - Cipher Block Chaining

CBC

IV - losowy wektor inicjalizujący

Szyfrowanie:

• y1 = EK (x1 ⊕ IV )

• yi = EK (xi ⊕ yi−1)

Deszyfrowanie:

• x1 = DK (y1)⊕ IV

• xi = DK (yi )⊕ yi−1

Page 229: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• IV nie musi być tajny, ani (mocno) losowy

• zmiana IV skutkuje różnymi szyfrogramami dla tego samego tekstujawnego

• zmiana jednego bloku powoduje zaburzenie spójności szyfrogramu,

• następne bloki rozszyfrowywują się do czegoś losowego

wracając do przykładu:

• Ewa nie może celowo manipulować przelewami

• może jednak mieć żal do Boba

• podmieniać losowo bloki powoduje, ze przelewy będą wykonywane nalosowe konta w losowej kwocie

Page 230: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• IV nie musi być tajny, ani (mocno) losowy

• zmiana IV skutkuje różnymi szyfrogramami dla tego samego tekstujawnego

• zmiana jednego bloku powoduje zaburzenie spójności szyfrogramu,

• następne bloki rozszyfrowywują się do czegoś losowego

wracając do przykładu:

• Ewa nie może celowo manipulować przelewami

• może jednak mieć żal do Boba

• podmieniać losowo bloki powoduje, ze przelewy będą wykonywane nalosowe konta w losowej kwocie

Page 231: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• IV nie musi być tajny, ani (mocno) losowy

• zmiana IV skutkuje różnymi szyfrogramami dla tego samego tekstujawnego

• zmiana jednego bloku powoduje zaburzenie spójności szyfrogramu,

• następne bloki rozszyfrowywują się do czegoś losowego

wracając do przykładu:

• Ewa nie może celowo manipulować przelewami

• może jednak mieć żal do Boba

• podmieniać losowo bloki powoduje, ze przelewy będą wykonywane nalosowe konta w losowej kwocie

Page 232: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

OFB – Output Feedback

OFB

IV - losowy wektor inicjalizujący

Szyfrowanie:

• s1 = EK (IV ), y1 = x1 ⊕ s1

• si = EK (si−1), yi = xi ⊕ si

Deszyfrowanie:

• s1 = EK (IV ), x1 = y1 ⊕ s1

• si = EK (si−1), xi = yi ⊕ si

Page 233: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• w trybie OFB szyfr blokowy jest generowany jako generator klucza{si} do szyfru strumieniowego

• tekst jawny nie jest szyfrowany wybranym szyfrem tylko czymś nakształt szyfru jednorazowego

• IV nie musi być tajny, musi być zmieniany

• strumień klucza może być wyznaczony niezależnie od szyfrowania

Page 234: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

CFB – Cipher Feedback

CFB

IV - losowy wektor inicjalizujący

Szyfrowanie:

• y1 = EK (IV )⊕ x1

• yi = EK (yi−1)⊕ xi

Deszyfrowanie:

• x1 = EK (IV )⊕ y1

• xi = EK (yi−1)⊕ yi

Page 235: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• w trybie CFB szyfr blokowy jest generowany jako generator klucza.jak klucz wykorzystywany jest poprzedni blok szyfrogramu

• tekst jawny nie jest szyfrowany wybranym szyfrem tylko czymś nakształt szyfru jednorazowego

• IV nie musi być tajny, musi być zmieniany

• strumień klucza jest w tym przypadku nieprzewidywalny bo mocnozależy od szyfrowanego tekstu

Page 236: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Counter – CTR

CTR

IV - losowy wektor inicjalizujący, CTR – licznik

Szyfrowanie:

• yi = EK (IV ‖CTRi )⊕ xi

Deszyfrowanie:

• xi = EK (IV ‖CTRi )⊕ yi

Page 237: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• ciąg IV ‖CTRi nie musi być tajny, Alicja może go wygenerować iwysłać Bobowi

• CTR powinien być różnowartościowy

• łatwo się zrównolegla

Page 238: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Wielokrotne szyfrowanie

Szyfrowanie podwójne

Dwa szyfry blokowe E ′ i E ′′

szyfrowanie: Y = E ′′K2(E′K1(X ))

deszyfrowanie: Y = D ′K1(D′′K2(Y ))

• teoretycznie, przestrzenie kluczy zostały pomnożone mamy zatemk ′ × k ′′ kluczy i taką samą trudność problemu

• w rzeczywistości trudność problemu wynosi k ′ + k ′′, ponieważ możnaprzeprowadzić atak meet-in-the-mdidle

Page 239: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

meet-in-the-middle, Merkle-Helmann, 1981

Input: szyfry E ′ i E ′′ o przestrzeniach kluczy K′ i K′′ para (X ,Y ) taka, żeY = E ′′K2(E

′K1(X ))

Output: para kluczy K1, K21: for all k1 ∈ K′ do2: oblicz z ′ = E ′k1(X ) i zachowaj (z ′, k1)3: for all k2 ∈ K′′ do4: oblicz z ′′ = D ′′k2(Y )5: for all z ′ = z ′′ do6: return (k1, k2)

• obliczenia wstępne zajmują O(2k′) czasu

• szukanie kolizji zajmuje O(2k′′) czasu

• razem zajmuje to O(2k′+ 2k

′′) czasu zamiast O(2k

′+k ′′)

• tego powodu podwójne szyfrowanie nie jest warte zachodu

Page 240: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Szyfrowanie potrójne

Trzy szyfry blokowe: E ′,E ′′,E ′′′

• ( pierwsza wersja ) X = E ′′′K3 E′′K2

E ′K1(X )

• ( druga wersja ) X = E ′′′K3 D′′K2

E ′K1(X )

• schemat w drugiej wersji wprowadza kompatybilność z szyfrowaniempojedynczym dla E ′′′ = E ′′ = E ′

• nadal można przeprowadzić atak meet-in-the-middle, ale teraz trzebawybrać miejsce

• efektywna długość klucza wynosi zatem k ′ + k ′′ lub k ′ + k ′′′ zamiastk ′ + k ′′ + k ′′′

• złożoność ataku brutalnego jest typu O(2k′+ 2k

′′+k ′′′)

Page 241: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Key whitening

Key whitening

Szyfr blokowy E i długości bloku b i dwa dodatkowe klucze o długości b

szyfrowanie: X = EK (X ⊕ K1)⊕ K2

deszyfraowanie: X = DK (Y ⊕ K2)⊕ K1

• jest to prosta metoda wydłużenia klucza jako obrona przeciwkoatakowi brutalnemu,

• złożoność O(2k+b) z powodu ataku meet-in-the-middle

• nie poprawia siły samego szyfru

• praktycznie nie wpływa na czas szyfrowania

• AES stosuje key whitenig jako pierwszy krok

Page 242: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Atak brutalny

Exahaustive Key Search

Input: przestrzeń kluczy K, W - wyrocznia określająca czy klucz jestprawidłowy

Output: klucz1: ustaw elementy K losowo2: for all ki ∈ K do3: if W (ki ) then4: return ki

• permutacja przestrzeni kluczy ma na celu zbliżenie złożoności dośredniej

Page 243: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Wyrocznia w praktyce:

• znajomość par tekst jawny – szyfrogram, jeżeli znane jest dużo par, tomożna oszacować prawdopodobieństwo sukcesu

• znajomość szyfrogramów i pewnych informacji o tekście jawnym (np.:jest po angielsku i zawiera pewne zwroty)

• znajomość zależności, które musi spełniać klucz

Page 244: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Atak słownikowy

Input: X ustalony tekst jawny, Yi = EKi(X )

1: // budowanie słownika2: wylosuj M kandydatów na klucz3: dla każdego z nich oblicz EK (X ) i zapamiętaj (EK (X ),K )4: // właściwy atak5: for all Yi do6: if Yi = EK (X ) then7: return (i ,K )

Page 245: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• częst znane są dodatkowe informacje o rozkładzie kluczy (kluczezawierają imiona córek, daty rocznic, ciąg ’1234qwerty’)

• losowanie powinno się odbyć według tego rozkładu

• większy słownik oznacza większe prawdopodobieństwo sukcesu, przyczym słownik musi być przygotowany tylko raz

• dla jednostajnego rozkładu kluczy

psukces ' 1− e−MT/N

gdzie M rozmiar słownika, N rozmiar przestrzeni kluczy, T ilość prób.(dla jakiego M, p > 1/2?)

Page 246: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• częst znane są dodatkowe informacje o rozkładzie kluczy (kluczezawierają imiona córek, daty rocznic, ciąg ’1234qwerty’)

• losowanie powinno się odbyć według tego rozkładu

• większy słownik oznacza większe prawdopodobieństwo sukcesu, przyczym słownik musi być przygotowany tylko raz

• dla jednostajnego rozkładu kluczy

psukces ' 1− e−MT/N

gdzie M rozmiar słownika, N rozmiar przestrzeni kluczy, T ilość prób.(dla jakiego M, p > 1/2?)

Page 247: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Inne atak typu brute-force

• skonstruowanie najpierw książki kodowej zawierającej wszystkiemożliwe rekordy (EK (X ),X ) sprowadza atak do wyszukaniaodpowiedniego wpisu,

• Helmann, 1980: time-memory tradeoff

• Merkle-Helmann, 1981: meet-in-the-middle

• Oechlin, 2003: rainbow tables

Page 248: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

9. Podpis cyfrowy

Motywacja

Page 249: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Alicja i Bob mają już algorytmy, które dzisiaj (!):

• zapewniają bezpieczne ustalenie klucza (np.: Diffie-Helmann)

• bezpieczne szyfrowanie (np.: 3DES, RSA, AES)

• prawidłowo użyte pozwalają obronę przed złośliwościami Ewy

Czasami jednak obie strony chcą jednocześnie móc się i bezpiecznikomunikować, i oszukiwać.

Page 250: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Alicja i Bob mają już algorytmy, które dzisiaj (!):

• zapewniają bezpieczne ustalenie klucza (np.: Diffie-Helmann)

• bezpieczne szyfrowanie (np.: 3DES, RSA, AES)

• prawidłowo użyte pozwalają obronę przed złośliwościami Ewy

Czasami jednak obie strony chcą jednocześnie móc się i bezpiecznikomunikować, i oszukiwać.

Page 251: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• Alicja jest dealerem samochodowym, Bob klientem

• Bob zamawia u Alicji samochód:

– za pomocą DH uzgadniają klucz– z użyciem AES Bob wysyła do Alicji model i kolor– Alicja odszyfrowuje i cieszy się, bo właśnie dostała zamówienie

na samochód za 500 000 PLN w kolorze miętowo-różowym

• trzy tygodnie później, podczas odbioru Bob orientuje się że ten kolormu jednak nie odpowiada

• Alicja jednak nie robi wyjątków - „zamawiasz – płacisz”

• Bob jednak uparcie twierdzi, że nie zamawiał w tym kolorze

Page 252: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• Alicja jest dealerem samochodowym, Bob klientem

• Bob zamawia u Alicji samochód:

– za pomocą DH uzgadniają klucz– z użyciem AES Bob wysyła do Alicji model i kolor– Alicja odszyfrowuje i cieszy się, bo właśnie dostała zamówienie

na samochód za 500 000 PLN w kolorze miętowo-różowym

• trzy tygodnie później, podczas odbioru Bob orientuje się że ten kolormu jednak nie odpowiada

• Alicja jednak nie robi wyjątków - „zamawiasz – płacisz”

• Bob jednak uparcie twierdzi, że nie zamawiał w tym kolorze

Page 253: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• Alicja jest dealerem samochodowym, Bob klientem

• Bob zamawia u Alicji samochód:

– za pomocą DH uzgadniają klucz– z użyciem AES Bob wysyła do Alicji model i kolor– Alicja odszyfrowuje i cieszy się, bo właśnie dostała zamówienie

na samochód za 500 000 PLN w kolorze miętowo-różowym

• trzy tygodnie później, podczas odbioru Bob orientuje się że ten kolormu jednak nie odpowiada

• Alicja jednak nie robi wyjątków - „zamawiasz – płacisz”

• Bob jednak uparcie twierdzi, że nie zamawiał w tym kolorze

Page 254: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

W sądzie:

• prawnik Alicji przedstawia dowód w postaci zaszyfrowanegozamówienia i twierdzi, że Bob zamówił, bo jest zaszyfrowaneustalonym wcześniej kluczem

• prawnik Boba odrobił lekcje i twierdzi, że

• Alicja spreparowała zamówienie, bo ona także posiada właściwy klucz

• z uwagi na symetryczną naturę użytego protokołu, Sędzia nie potrafizatem ustalić która ze stron mówi prawdę

Kryptografia symetryczna nie pozwala na ustalenie która ze stronwygenerowała zaszyfrowaną wiadomość

Page 255: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

W sądzie:

• prawnik Alicji przedstawia dowód w postaci zaszyfrowanegozamówienia i twierdzi, że Bob zamówił, bo jest zaszyfrowaneustalonym wcześniej kluczem

• prawnik Boba odrobił lekcje i twierdzi, że

• Alicja spreparowała zamówienie, bo ona także posiada właściwy klucz

• z uwagi na symetryczną naturę użytego protokołu, Sędzia nie potrafizatem ustalić która ze stron mówi prawdę

Kryptografia symetryczna nie pozwala na ustalenie która ze stronwygenerowała zaszyfrowaną wiadomość

Page 256: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

W sądzie:

• prawnik Alicji przedstawia dowód w postaci zaszyfrowanegozamówienia i twierdzi, że Bob zamówił, bo jest zaszyfrowaneustalonym wcześniej kluczem

• prawnik Boba odrobił lekcje i twierdzi, że

• Alicja spreparowała zamówienie, bo ona także posiada właściwy klucz

• z uwagi na symetryczną naturę użytego protokołu, Sędzia nie potrafizatem ustalić która ze stron mówi prawdę

Kryptografia symetryczna nie pozwala na ustalenie która ze stronwygenerowała zaszyfrowaną wiadomość

Page 257: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• problem pozwala rozwiązać kryptografia asymetryczna

Podstawowy schemat podpisu cyfrowego (DS)

Input: funkcje sign(x , kpriv ) oraz verify(x , s, kpub)1: Bob: generuje klucz publiczny i prywatny, ogłasza klucz publiczny2: Bob: podpisuje wiadomość s = sing(x , kpriv ) i wysyła (x , s)3: Alicja: sprawdza czy verify(x , s, kpub) = true

Uwaga: schemat DS nie zapewnia poufności!

Page 258: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• problem pozwala rozwiązać kryptografia asymetryczna

Podstawowy schemat podpisu cyfrowego (DS)

Input: funkcje sign(x , kpriv ) oraz verify(x , s, kpub)1: Bob: generuje klucz publiczny i prywatny, ogłasza klucz publiczny2: Bob: podpisuje wiadomość s = sing(x , kpriv ) i wysyła (x , s)3: Alicja: sprawdza czy verify(x , s, kpub) = true

Uwaga: schemat DS nie zapewnia poufności!

Page 259: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Wymagania jakie powinien spełniać dobry podpis (nie tylko cyfrowy):

werifikowalność: możliwość jednoznacznego sprawdzenia autentycznościpodpisu

niepodrabialność: podrobienie podpisu powinno być trudne

niewypieralność: podpisujący nie może wyprzeć się złożenia podpisu

integralność ?: możliwość wykrycia zmian w podpisanym dokumenciePO jego podpisaniu

Aby DS działał, funkcje sign oraz verify muszą bezsprzecznie dowodzićautorstwa podpisu i autentyczności dokumentu.

Page 260: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

RSA-DS

Naiwny DS oparty na RSA

Bob: generuje klucz publiczny kpub = (n, e) i prywatny kpriv = d

Bob: podpisuje wiadomość s = sign(x , kpriv ) = xd mod n

Bob: wysyła do Alicji (x , s)

Alicja: weryfikuje autentyczność

verify(x , s, kpub) = (x = se mod n ? true : false)

Jeżeli test jest wypadł pomyślnie, Alicja wie, że wiadomość pochodzi odBoba i dodatkowo, że jest niezmieniona.

Page 261: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Uwagi:

• dodanie podpisu wydłuża wiadomość dwukrotnie

• w praktyce, wiadomość jest podpisywana raz a weryfikowanawielokrotnie, zatem klucz publiczny powinien być „szybki”

Ataki:

men-in-the-middle: Ewa może podsunąć Alicji fałszywy klucz publicznyi podawać się za Boba

złamanie RSA: Ewa może przeprowadzić faktoryzację n i odkryć kluczprywatny

podrabianie podpisu: Ewa dla każdego podpisu S może znaleźćwiadomość dla której jest to podpis: x = se (zwykle wiadomość niema sensu)

Page 262: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Uwagi:

• dodanie podpisu wydłuża wiadomość dwukrotnie

• w praktyce, wiadomość jest podpisywana raz a weryfikowanawielokrotnie, zatem klucz publiczny powinien być „szybki”

Ataki:

men-in-the-middle: Ewa może podsunąć Alicji fałszywy klucz publicznyi podawać się za Boba

złamanie RSA: Ewa może przeprowadzić faktoryzację n i odkryć kluczprywatny

podrabianie podpisu: Ewa dla każdego podpisu S może znaleźćwiadomość dla której jest to podpis: x = se (zwykle wiadomość niema sensu)

Page 263: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• naiwny RSA-DS jest jest rzadko stosowany

• zwykle stosuje się różne metody uzupełniania (padding), którepozwalają na odróżnienie wiadomości prawdziwych od spreparowanych

• zwykle nie podpisuje się całej wiadomości, a raczej jej skrót (hash).

Page 264: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Encoding Method for Signature with Appendix - Probabilistic SignatureScheme

EMSA - PSS

Dane są wiadomość M, ustalone pad1, pad2, bc i funkcja haszująca h.

• wylosuj sól salt

• M ′ = pad1‖h(M)‖salt• DB = pad2‖salt• maskDB = SHA(h(M ′))

• EM = (DB ⊕maskDB)‖h(M ′)

podpis: sign(M, d) = EMd mod n

weryfikacja: verify(EM, s, e) =?

Page 265: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

The Elgamal Digital Signature Scheme

Naiwny DS oparty na algorytmie ElGamala

p – duża liczba pierwsza, α – element pierwotny, losowe 1 < d < p − 1

klucze: kpub = (p, α, β = αd mod p), kpriv = d

podpis: losowe 0 ¬ kE ¬ p − 2 takie, że NWD(kE , p − 1) = 1,

r = αkE mod p, s = (x − dr)k−1E mod p − 1

Wtedy sign(x , kpriv , kE ) = (r , s)

weryfikacja: verify(x , (r , s), kpub) = (βr r s = αxmod p? true : false)

Sprawdzenie: βr r s = αdr+kE s = αx mod p oraz x = dr + kE s mod p − 1

Page 266: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Uwagi:

• dodanie podpisu wydłuża wiadomość trzykrotnie

• r , k−1E mogą być obliczone wcześniej

Page 267: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Ataki:

DLP: Ewa może rozwiązać DLP i wyliczyć d i kE .

powtórzenie klucza kE : Ewa odkrywa, że swa podpisy zostaływykonane tym samym kluczem, wtedy

s1 = (x1 − dr)kE−1 mod p − 1

s1 = (x1 − dr)kE−1 mod p − 1

kE =x1 − s1x2 − s2

mod p − 1

d =x1 − s1kE

rmod p − 1

Teraz Ewa może podpisać każdą wiadomość zamiast Boba. Z tegopowodu klucz kE powinien być świeży.

Page 268: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Ataki:

DLP: Ewa może rozwiązać DLP i wyliczyć d i kE .

powtórzenie klucza kE : Ewa odkrywa, że swa podpisy zostaływykonane tym samym kluczem, wtedy

s1 = (x1 − dr)kE−1 mod p − 1

s1 = (x1 − dr)kE−1 mod p − 1

kE =x1 − s1x2 − s2

mod p − 1

d =x1 − s1kE

rmod p − 1

Teraz Ewa może podpisać każdą wiadomość zamiast Boba. Z tegopowodu klucz kE powinien być świeży.

Page 269: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

podrobienie podpisu: Ewa

• wybiera i , j ∈ Z, NWD(j , p − 1) = 1• oblicza r = αiβj mod p oraz s = −rj−1 mod p − 1• wyznacza poprawną wiadomość x = si mod p − 1

Alicja oblicza

βr r s = αdr+(i+dj)ss = αdr+is+dj(−rj−1 = αsi

Oczywiście Ewa nie ma możliwości spreparowania sensownejwiadomości.

Zabezpieczeniem przed tego typu atakiem jest użycie skrótu wiadomości:

s = (h(x)− dr)k−1E mod p − 1

Page 270: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

The Digital Signature Algorithm

DSA jest standardem NIST, oferuje krótki podpis i nie ma wad schematuElGamala.

DSA – generowanie klucza

1: wybierz liczbę pierwszą s1023 < p < 21024

2: znajdź dzielnik pierwszy 2159 < q < 2160 liczby p − 13: znajdź element α rzędu q4: wybierz losowe 0 < d < q5: oblicz β = αd mod p6: return kpub = (p, q, α, β), kpriv = d

Page 271: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

DSA – podpis

1: wylosuj 0 < kE < q2: oblicz r = (αkE mod p) mod q3: oblicz s = (SHA(x) + dr)k−1E mod q4: return sign(x , kpriv , kE ) = (r , s)

gdzie SHA jest standardową funkcja haszującą,

DSA – weryfikacja

1: oblicz w = s−1 mod q,2: oblicz u1 = wSHA(x) mod q, u2 = wr mod q3: oblicz v = (αu1βu2 mod p) mod q4:

verify(x , (r , s), kpub) = (v = r ? true : false )

Page 272: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Uwagi:

• w przedstawionej wersji DSA generuje podpis długości 320 bitów,korzystając z liczb 1024 i 160 bitowych zapewniając bezpieczeństwona poziomie 80 bitów.

• standard dopuszcza również kombinacje 448/2048/224 (poziom 112)oraz 512/3072/256 (poziom 128)

• istnieje probabilistyczny algorytm znajdujący p i q

Page 273: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Uwagi:

• w przedstawionej wersji DSA generuje podpis długości 320 bitów,korzystając z liczb 1024 i 160 bitowych zapewniając bezpieczeństwona poziomie 80 bitów.

• standard dopuszcza również kombinacje 448/2048/224 (poziom 112)oraz 512/3072/256 (poziom 128)

• istnieje probabilistyczny algorytm znajdujący p i q

Page 274: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Bezpieczeństwo DSA:

• Ewa rozwiązując DLP d = logα β mod p jest w posiadaniu kluczaprywatnego i może podpisać każdą wiadomość.

• najsilniejszy znany atak – analiza indeksów – wymaga ∼ 280 operacjidla p rzędu 1024 bitów

• jeżeli Ewa zauważy powtórne użycie klucza kE może wyznaczyć kluczprywatny

• Ewa może pokusić się o rozwiązanie pozornie prostszego problemuDLP: wyznaczenie α, które jest 160 bitowe

• jednak w tym wypadku można stosować tylko ogólne metody typualgorytm Shanksa, które potrzebują ∼

√2160 operacji

Page 275: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Bezpieczeństwo DSA:

• Ewa rozwiązując DLP d = logα β mod p jest w posiadaniu kluczaprywatnego i może podpisać każdą wiadomość.

• najsilniejszy znany atak – analiza indeksów – wymaga ∼ 280 operacjidla p rzędu 1024 bitów

• jeżeli Ewa zauważy powtórne użycie klucza kE może wyznaczyć kluczprywatny

• Ewa może pokusić się o rozwiązanie pozornie prostszego problemuDLP: wyznaczenie α, które jest 160 bitowe

• jednak w tym wypadku można stosować tylko ogólne metody typualgorytm Shanksa, które potrzebują ∼

√2160 operacji

Page 276: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Bezpieczeństwo DSA:

• Ewa rozwiązując DLP d = logα β mod p jest w posiadaniu kluczaprywatnego i może podpisać każdą wiadomość.

• najsilniejszy znany atak – analiza indeksów – wymaga ∼ 280 operacjidla p rzędu 1024 bitów

• jeżeli Ewa zauważy powtórne użycie klucza kE może wyznaczyć kluczprywatny

• Ewa może pokusić się o rozwiązanie pozornie prostszego problemuDLP: wyznaczenie α, które jest 160 bitowe

• jednak w tym wypadku można stosować tylko ogólne metody typualgorytm Shanksa, które potrzebują ∼

√2160 operacji

Page 277: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

DS - Uwagi

• W podobny sposób można zdefiniować schemat podpisuelektronicznego oparty na krzywych eliptycznych

• istnieją również inne schematy DS: Rabi, Fiat-Shamir, Schnorr,

• PKCS, OAEP

• RSA-DS został zaproponowany w 1978

• Elgamal-DS został podany w 1985

• DSA -zsta podany w 1991, jako sandard od 1994

Page 278: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

DS - Uwagi

• W podobny sposób można zdefiniować schemat podpisuelektronicznego oparty na krzywych eliptycznych

• istnieją również inne schematy DS: Rabi, Fiat-Shamir, Schnorr,

• PKCS, OAEP

• RSA-DS został zaproponowany w 1978

• Elgamal-DS został podany w 1985

• DSA -zsta podany w 1991, jako sandard od 1994

Page 279: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• osobnym problemem jest moc prawna podpisu elektronicznego, wwielu krajach (w tym w UE) istnieją regulacje prawne na ten temat

• osobnym problemem jest uwierzytelnianie kluczy publicznych tzw.certyfikaty

• (futurystycznie) w niedalekiej przyszłości do schematów DS mogądołączyć metody oparte na danych biometrycznych

Page 280: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

10. Funkcje haszujące

MotywacjaWymaganiaKonstrukcja Merkle-DamgardaMD5SHA

Page 281: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Motywacja

• podane wcześniej schematy DS pozwalają podpisywać wiadomościkrótkie ( 1024 bity = 128 bajtów)

• naiwny sposób, polegający na zastosowaniu trybu ECB nie jestprzydatny:

– duże wymagania obliczeniowe– podwojenie długości wiadomości– złośliwa modyfikacja jest łatwa

• z uwagi na wydajność i bezpieczeństwo podpis powinien umożliwićpodpisanie całej wiadomości krótkim podpisem

Page 282: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Motywacja

• podane wcześniej schematy DS pozwalają podpisywać wiadomościkrótkie ( 1024 bity = 128 bajtów)

• naiwny sposób, polegający na zastosowaniu trybu ECB nie jestprzydatny:

– duże wymagania obliczeniowe– podwojenie długości wiadomości– złośliwa modyfikacja jest łatwa

• z uwagi na wydajność i bezpieczeństwo podpis powinien umożliwićpodpisanie całej wiadomości krótkim podpisem

Page 283: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII
Page 284: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Podstawowy schemat DS z funkcją haszującą

Input: funkcje sign(x , kpriv ), verify(x , s, kpub) oraz hash(x)1: Bob: generuje klucz publiczny i prywatny, ogłasza klucz publiczny

2: Bob: generuje skrót wiadomości h = hash(x)3: Bob: podpisuje skrót s = sing(h, kpriv ) i wysyła (x , s)

4: Alicja: generuje skrót wiadomości h = hash(x)5: Alicja: sprawdza czy verify(h, s, kpub) = true

Page 285: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Wymagania na funkcję haszującą:

• skrót powinien być krótki 128-512 bitów

• umożliwia obliczenie skrótu wiadomości o dowolnej długości

• czas obliczania skrótu jest akceptowalny

• wysoka wrażliwość na zmianę wejścia

• jednokierunkowość

• słaba odporność na kolizje

• silna odporność na kolizje

Page 286: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Wymagania na funkcję haszującą:

• skrót powinien być krótki 128-512 bitów

• umożliwia obliczenie skrótu wiadomości o dowolnej długości

• czas obliczania skrótu jest akceptowalny

• wysoka wrażliwość na zmianę wejścia

• jednokierunkowość

• słaba odporność na kolizje

• silna odporność na kolizje

Page 287: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Jednokierunkowość

Posiadanie skrótu nie może umożliwić (w sensownym czasie) uzyskaniatreści wiadomości ani żadnych użytecznych informacji o niej.

• Bob używa AES do szyfrowania wiadomości

• oraz RSA− DS do jej podpisania jej skrótu, jednak funkcja haszującanie jest jednokierunkowa

• Bob wysłał (AES(x), s = sign(hash(x), d)

• Ewa oblicza z = se mod n, a następnie znajduje h(x) = z

• w ten sposób EWA obeszła dwa kryptograficznie silne systemy

Page 288: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Jednokierunkowość

Posiadanie skrótu nie może umożliwić (w sensownym czasie) uzyskaniatreści wiadomości ani żadnych użytecznych informacji o niej.

• Bob używa AES do szyfrowania wiadomości

• oraz RSA− DS do jej podpisania jej skrótu, jednak funkcja haszującanie jest jednokierunkowa

• Bob wysłał (AES(x), s = sign(hash(x), d)

• Ewa oblicza z = se mod n, a następnie znajduje h(x) = z

• w ten sposób EWA obeszła dwa kryptograficznie silne systemy

Page 289: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Słaba odporność na kolizje

Dla danej wiadomości x1 i jej skrótu h(x1) nie powinno być możliweznalezienie innej wiadomości x2 takiej, że h(x1) = h(x2).

Silna odporność na kolizje

Nie powinno być możliwe znalezienie dwóch wiadomości x1 i x2 takich, żeh(x1) = h(x2).

Page 290: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• kolizje zawsze istnieją – wynika to z zasady szufladkowej Dirichleta –dla skrótu długości n bitów istnieje tylko 2n różnych skrótów

• mając daną wiadomość Ewa może metoda brutalną wyszukać drugąwiadomość – dlatego skróty nie powinny być zbyt krótkie

• Ewa może także przygotować dwie wiadomości np.: „Przelej 10$” i„Przelej 10.000$”; a następnie modyfikować je (np.: dodając białeznaki) tak długo aż uzyska kolizję

• Znalezienie kolizji przez Ewę jest obliczeniowo nieco prostsze niż sięwydaje

Page 291: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Atak urodzinowy

Ewa potrzebuje

k ' 2(n+1)/2√ln

11− λ

wiadomości aby z prawdopodobieństwem λ znaleźć kolizję dla skrótudługości n.

λ\n 80b 128b 256b 512b0.5 240 265 2129 2257

0.9 241 267 2130 2258

Dla λ = 0.5 dobrym przybliżeniem jest 2n/2.

Page 292: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Konstrukcja Merkle-Damgarda

• podziel wiadomość na bloki równej długości

• blok xi wymieszaj z wynikiem Hi−1 mieszania poprzednich bloków

• powtarzaj dla wszystkich bloków

• zwróć ostatni wynik

Page 293: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Szyfry blokowe jako funkcje haszujące

Mając szyfr blokowy można go użyć jako funkcji mieszającej w konstrukcjiMerkle-Damgarda.

• Matyas-Meyer-Oseas: Hi = EHi−1(xi )⊕ xi

• Davies-Meyer: Hi = Hi−1 ⊕ Exi (Hi−1)

• Miyaguchi-Preneel: Hi ⊕ xi ⊕ eHi−1(xi )

Wadą takiego podejścia jest fakt, że otrzymany skrót ma długości równąwielkości bloku w użytym szyfrze.

Page 294: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Szyfry blokowe jako funkcje haszujące

Mając szyfr blokowy można go użyć jako funkcji mieszającej w konstrukcjiMerkle-Damgarda.

• Matyas-Meyer-Oseas: Hi = EHi−1(xi )⊕ xi

• Davies-Meyer: Hi = Hi−1 ⊕ Exi (Hi−1)

• Miyaguchi-Preneel: Hi ⊕ xi ⊕ eHi−1(xi )

Wadą takiego podejścia jest fakt, że otrzymany skrót ma długości równąwielkości bloku w użytym szyfrze.

Page 295: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Sposób uzyskania dłuższego skrótu: konstrukcja Hirose

Page 296: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

MD5

• funkcja skrótu MD5 (Message Digest) została zaproponowana przezR. Rivesta w 1991

• algorytm przetwarza wiadomość o długości < 264B na 128 bitowyskrót

Uwaga: Sensowne wiadomości o długości 264B ' 16 mln TB niewystępują w praktyce.

Page 297: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Krok wstępny

• wiadomość jest uzupełniana, aby spełniona była równośćlength(M + pad) = 448 mod 512 poprzez dodanie 1 i odpowiedniejliczby zer

• robi się to nawet wtedy gdy oryginalna wiadomość już spełnia tenwarunek

• pozostałe 64 bity zawierają informacje o długości wiadomości przedrozszerzeniem

Page 298: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Właściwy MD5 wyznacza 128 bitowy skrót z 512 bitowego blokupodzielonego na 32 bitowe słowa

Y = Y0‖Y2‖ . . . ‖Y15

z parametrem w postaci czterech 32 bitowymi słów A,B,C ,D

Page 299: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Po kroku wstępnym wiadomość jest podzielona na L bloków długości 512bitów Y0, . . .YL−1. Kolejne bloki są dzielone na 32 bitowe słowa iprzetwarzane wg schematu:

• A0 = 01234567, B0 = 89ABCDEF , C0 = FEDCBA98, D0 = 76543210

• H0 = MD5(Y0,A0,B0,C0,D0)

• Ai‖Bi‖Ci‖Di = Hi−1

• Hi = MD5(Yi ,Ai ,Bi ,Ci ,Di )

Page 300: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• Niech y = y1‖y2‖ . . . ‖y16 oznacza ustalony blok długości 512 bitówpodzielony na 32 bitowe słowa

• niech a, b, c, d parametry początkowe.

• aby otrzymać skrót wykonywane jest 4× 16 permutacji, w trakciekażdej obliczana jest nowa wartość jednego z parametrów a, b, c, d .

Permutacja Bi ,j(y , a, b, c , d)

a = b + ((a+ fi (b, c , d) + yj + ti ,j) << si ,j)

gdzie + oznacza dodawanie mod 232, a << s oznacza obrót bitowy wlewo o s bitów. Wartości fi , ti ,j oraz si ,j są stablicowane.

Page 301: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• Niech y = y1‖y2‖ . . . ‖y16 oznacza ustalony blok długości 512 bitówpodzielony na 32 bitowe słowa

• niech a, b, c, d parametry początkowe.

• aby otrzymać skrót wykonywane jest 4× 16 permutacji, w trakciekażdej obliczana jest nowa wartość jednego z parametrów a, b, c, d .

Permutacja Bi ,j(y , a, b, c , d)

a = b + ((a+ fi (b, c , d) + yj + ti ,j) << si ,j)

gdzie + oznacza dodawanie mod 232, a << s oznacza obrót bitowy wlewo o s bitów. Wartości fi , ti ,j oraz si ,j są stablicowane.

Page 302: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Permutacja Bi ,j jestmodyfikacją schematuFeistela

Page 303: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Dla przykładu, jeżeli i = 1, j = 1 to

[a, b, c , d ] = [A,B,C ,D], t1,1 = 0xd76aa478, s1,1 = 7

orazf1(b, c, d) = (a and b) or ( (not a) and c

czyliA = B + ((A+ f1(B,C ,D) + y1 + 0xd76aa478) << 7)

oraz B, C , D niezmienione.

Page 304: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• implementacja MD jest łatwa na urządzeniach 32 bitowych

• MD5 jest używany powszechnie do generowania sum kontrolnychplików i haszowania haseł

• obecnie MD5 nie jest uznawany za bezpieczny

• bezpieczeństwo na poziomie 64 bitów

• po wprowadzeniu pojawiły się sugestie, że algorytm nie jest bezpieczny

• 1996: udany atak poprzez znalezienie kolizji,

• 2004: udany atak poprzez podanie metody znajdowania kolizji

• 2005: znalezienie kolizji w minutę

• 2008: udany atak poprzez podanie metody generowania parywiadomości o sensownej treści (certyfikaty SSL), 200 PlayStation 3

• obecnie kolizję można znaleźć w czasie kilku sekund

Page 305: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• implementacja MD jest łatwa na urządzeniach 32 bitowych

• MD5 jest używany powszechnie do generowania sum kontrolnychplików i haszowania haseł

• obecnie MD5 nie jest uznawany za bezpieczny

• bezpieczeństwo na poziomie 64 bitów

• po wprowadzeniu pojawiły się sugestie, że algorytm nie jest bezpieczny

• 1996: udany atak poprzez znalezienie kolizji,

• 2004: udany atak poprzez podanie metody znajdowania kolizji

• 2005: znalezienie kolizji w minutę

• 2008: udany atak poprzez podanie metody generowania parywiadomości o sensownej treści (certyfikaty SSL), 200 PlayStation 3

• obecnie kolizję można znaleźć w czasie kilku sekund

Page 306: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

SHA-1

• zaprojektowany przez NSA i wprowadzony jako standard NIST w1995 jako odpowiedź na przekonanie o słabościach MD5

• w swej konstrukcji jest bardzo podobny do MD5

• algorytm przetwarza wiadomość o długości < 264 na 160 bitowy skrót

Page 307: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Krok wstępny

Identycznie jak w przypadku MD5, wiadomość jest uzupełniana dowielokrotności 512 bitów, a ostatnie 64 bity zawierają długość oryginalnejwiadomości.

Page 308: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Właściwy SHA-1 wyznacza 160 bitowy skrót z 512 bitowego blokupodzielonego na 32 bitowe słowa

Y = Y0‖Y2‖ . . . ‖Y15

z parametrem w postaci pięciu 32 bitowych słów A,B,C ,D,E

Page 309: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Po kroku wstępnym wiadomość jest podzielona na L bloków długości 512bitów Y0, . . .YL−1. Kolejne bloki są dzielone na 32 bitowe słowa iprzetwarzane wg schematu:

• A0 = 67452301, B0 = EFCDAB89, C0 = 98BADCFE , D0 = 10325476,E0 = C3D2E1F0

• H0 = SHA− 1(Y0,A0,B0,C0,D0,E0)

• Ai‖Bi‖Ci‖Di‖Ei = Hi−1

• Hi = SHA = 1(Yi ,Ai ,Bi ,Ci ,Di ,Ei )

Page 310: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• niech y = y1‖y2‖ . . . ‖y16 oznacza bieżący blok wiadomościpodzielony na 32 bitowe słowa

• niech a, b, c, d , e oznaczają parametry początkowe

• dodatkowo, blok wiadomości jest rozszerzany do 80 słów wedługwzoru

Wj =

{yj 0 ¬ j ¬ 15

(Wj−16 ⊕Wj−14 ⊕Wj−8 ⊕Wj−5) << 1 16 ¬ j ¬ 79

Page 311: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Aby otrzymać skrót wykonywane jest 4× 20 permutacji, w trakcie każdejpermutacji obliczana jest nowa wartość parametrów a, b, c , d , e

Permutacja Bi ,j(Wj ,Ki , a, b, c , d , e)

a = (e + fi (b, c , d) + (a << 5) +Wj + Ki

b = a, c = b << 30, d = c , e = d

gdzie + oznacza dodawanie mod 232, << s obrót bitowy. Wartości fioraz Ki są stablicowane.

Dla przykładu K1 = 5A827999, fi (b, c , d) = (b and c) or (b and d)

Page 312: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII
Page 313: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• po wykonaniu 80 rund wykonywane jest jeszcze dodawanie

Ai+1 = a+ Ai , Bi+1 = b + Bi , Ci+1 = c + Ci ,

Di+1 = d + Di , Ei+1 = e + Ei ,

• ostatecznie Hi+1 = Ai+1‖Bi+1‖Ci+1‖Di+1‖Ei+1

• skrót otrzymany dla ostatniego bloku HL jest właściwym skrótemcałej wiadomości

Page 314: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• implementacja SHA-1 jest łatwa na urządzeniach 32 bitowych

• bezpieczeństwo na poziomie 80 bitów

• 2005-2010: udane ataki na zredukowaną wersję

• 2017: inżynierowie z Google ogłosili, że potrafią znaleźć kolizję wpostaci dwóch plików PDF o tym samym skrócie: w czasie rzędu 263,w przeliczeniu, 6500 lat na CPU, 100 na GPU

• był powszechnie stosowany w komunikacji: TLS, SSL, SSH itd

• od 2005 zaleca się nie używanie SHA-1 do zastosowańkryptograficznych

• obecnie stosowany jest w systemach kontroli wersji takich jak Git

Page 315: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• implementacja SHA-1 jest łatwa na urządzeniach 32 bitowych

• bezpieczeństwo na poziomie 80 bitów

• 2005-2010: udane ataki na zredukowaną wersję

• 2017: inżynierowie z Google ogłosili, że potrafią znaleźć kolizję wpostaci dwóch plików PDF o tym samym skrócie: w czasie rzędu 263,w przeliczeniu, 6500 lat na CPU, 100 na GPU

• był powszechnie stosowany w komunikacji: TLS, SSL, SSH itd

• od 2005 zaleca się nie używanie SHA-1 do zastosowańkryptograficznych

• obecnie stosowany jest w systemach kontroli wersji takich jak Git

Page 316: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• implementacja SHA-1 jest łatwa na urządzeniach 32 bitowych

• bezpieczeństwo na poziomie 80 bitów

• 2005-2010: udane ataki na zredukowaną wersję

• 2017: inżynierowie z Google ogłosili, że potrafią znaleźć kolizję wpostaci dwóch plików PDF o tym samym skrócie: w czasie rzędu 263,w przeliczeniu, 6500 lat na CPU, 100 na GPU

• był powszechnie stosowany w komunikacji: TLS, SSL, SSH itd

• od 2005 zaleca się nie używanie SHA-1 do zastosowańkryptograficznych

• obecnie stosowany jest w systemach kontroli wersji takich jak Git

Page 317: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

SHA-2 i SHA-3

SHA-2 to grupa algorytmów haszujących o podobnej konstrukcji co SHA-1

• zaprojektowane przez NSA i wprowadzona w 2001 jako propozycjapodwyższenia bezpieczeństwa SHA-1

• a także dopasowania poziomów bezpieczeństwa do powszechnieużywanych szyfrów jak AES

• dostępne warianty: SHA-224, SHA-255, SHA-384, SHA-512

• na dziś znane są ataki na osłabione wersje

• powszechnie stosowany w komunikacji: TLS, SSL, PGP, SSH . . .

• a także weryfikacja transakcji w Bitcoin

Page 318: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

SHA-3 to zupełnie nowa grupa funkcji haszujących wprowadzona przezNIST jako standard w 2015

• zostały wyłoniona w konkursie ogłoszonym przez NIST w 2007

• warianty o długości skrótu 224, 256, 384, 512 oraz dowolnej

• na dzień dzisiejszy znane są tylko ataki na mocno zredukowane wersje

Page 319: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

11. Message Authentication Codes

MAC za pomocą funkcji haszującychMAC za pomocą szyfrów blokowych, CBC-MAC

Page 320: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Mesage Authentication Codes (MAC)

• jest to symetryczna wersja podpisu cyfrowego

• MAC są oparte na szyfrach blokowych lub funkcjach haszujących,

• mogą być obliczone szybciej niż podpisy cyfrowe

Page 321: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Podstawowy schemat MAC

Alicja i Bob mają ustalony klucz k. Bob chce wysłać wiadomość x doAlicji.

Bob: m = MAC (x , k),

Bob: wysyła (x ,m) do Alicji

Alicja: m′ = MAC (x , k)

Alicja: jeżeli m = m′, to wiadomość nie została zmieniona

Uwaga: Podobnie jak w przypadku DS, tajność wiadomości powinna byćzagwarantowana jeżeli jest potrzebna

Page 322: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Wymagania na funkcję MAC

• może być stosowana do wiadomości o dowolnej długości

• produkuje podpis o ustalonej długości

• zapewnia autentyczność wiadomości

• zapewnia o braku modyfikacji wiadomości

Ostatnie dwa punkty oznaczają, że bez znajomości klucza, Ewa nie jest wstanie podać prawidłowego podpisu.

Ponieważ MAC jest schematem symetrycznym, nie ma możliwościudowodnienia autorstwa

Page 323: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

MAC za pomocą funkcji haszujących

Podstawowy schemat HMAC

Ustalona jest funkcja haszująca h i wspólny klucz k

Wersja „prefix”: m = MAC (x , k) = h(k‖x)Wersja „suffix”: m = MAC (x , k) = h(x‖k)

Page 324: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Atak na wersję „prefix”

Wybrana funkcja haszująca jako wartość początkową do obliczenia skrótukolejnego bloku, przyjmuje skrót obliczony w poprzednim kroku.

Bob: podpisuje wiadomość m = h(k‖x), wysyła (x ,m)

Ewa: przechwytuje, tworzy nową wiadomość x‖xE ,

Ewa: oblicza mE = h(m‖xE ), wysyła (x‖xE ,mE )

Alicja: oblicza m′ = h(k‖x‖xE ), ponieważ m′ = mE stwierdza, że podpisjest prawidłowy

Page 325: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Atak na wersję „suffix”

Wybrana funkcja haszująca jako wartość początkową do obliczenia skrótukolejnego bloku, przyjmuje skrót obliczony w poprzednim kroku.

• jeżeli Ewa jest wstanie znaleźć kolizję h(x) = h(xE ), to możepodmienić wiadomość x na xE

• jeżeli Alicja nie jest wstanie wykryć podmiany, to musi przyjąć, żewiadomość jest autentyczna

Page 326: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Bezpieczny HMAC

• h funkcja haszująca,

• k klucz,

• k+ rozszerzenie/skrócenie klucza dodługości bloku funkcji h

• ipad = 00110110 . . . 00110110

• opad = 01011100 . . . 01011100

HMAC (x , k) = h

[(k+ ⊕ opad

)‖ h((k+ ⊕ ipad)‖x

)]

Page 327: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• Schemat HMAC został podany w 1996 roku przez Bellare, Canetti iKrawczyka

• Zostało udowodnione, że złamanie HMAC jest równoważne zezłamaniem użytej funkcji haszującej

• ogólniejsza wersja

HMAC (x , k1, k2) = H(k2‖h(k1‖x))

Page 328: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

MAC za pomocą szyfrów blokowych, CBC-MAC

• jako MAC używany jest ostatni blok zaszyfrowany w trybie CBC

CBCMAC (x , k) = yn

Uwaga: Bloki y1, . . . , yn−1 nie są wysyłane

Page 329: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

MAC za pomocą szyfrów blokowych, CBC-MAC

• jako MAC używany jest ostatni blok zaszyfrowany w trybie CBC

CBCMAC (x , k) = yn

Uwaga: Bloki y1, . . . , yn−1 nie są wysyłane

Page 330: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• istnieje możliwość podrobienia podpisu, jeżeli znane są trzyprawidłowe pary o specjalnej strukturze

• aby zwiększyć bezpieczeństwo blok yn można dodatkowo zaszyfrowaća potem odrzucić wybrane bity (EncryptedMAC)

• znanych jest dużo więcej schematów MAC opartych na szyfrachblokowych

• do utworzenia MAC można użyć także szyfrów strumieniowych

Page 331: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

12. Uzgodnienie i dystrybucja kluczy

WstępKE za pomocą schematów symetrycznychKerberosKE za pomocą schematów asymetrycznych

Page 332: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Wstęp

Alicja i Bob mają trzy problemy:

• kryptografia symetryczna wymaga bezpiecznego kanału dystrybucjikluczy

• kryptografia asymetryczna jest podatna na ataki typumen-in-the-middle i jest kosztowna obliczeniowo

• w ich firmie pracuje dużo ludzi, którzy wykonująBardzoWażneZadania i każdy z nich potrzebuje zestawu kluczy abymóc się bezpiecznie komunikować

Page 333: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Uzgodnienie klucza

• uczestnicy protokołu w bezpieczny sposób wspólnie generują klucz

Dystrybucja klucza

• jeden z uczestników protokołu generuje klucz i dostarcza gopozostałym w bezpieczny sposób

• obydwa zagadnienia wymagają potwierdzenia tożsamości uczestnikówprotokołu

• jeżeli jeden z uczestników jest nieuczciwy, poufność jest zagrożona,

• np.: Oskar celowo bierze udział w sesji, aby wyjawić sekrety Ewie

Page 334: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

„Świeżość” klucza

Częstej zmiany klucza (np.: ograniczenia czasowe lub ilościowe)

• zalety

– w przypadku ujawnienia klucza, niewielka część komunikacjiprzestaje być poufna

– trudniejsze łamanie szyfru – mało materiału do analizy

• wady

– koszt wytworzenia i dystrybucji– ryzyko ujawnienia metody wyboru klucza

Page 335: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Metoda zachowania świeżości klucza I

Alicja i Bob za każdym razem, gdy potrzebny jest klucz przeprowadzająDHKE

• kosztowne obliczeniowo

• podatne na ataki

Page 336: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Metoda zachowania świeżości klucza II

Alicja i Bob uzgadniają klucz główny kAB oraz funkcję generowania kluczasesyjnego KeyGen

• za każdym razem, gdy potrzebny jest nowy klucz jeden z uczestnikówwysyła ziarno sesji

• każdy z uczestników oblicza kses = KeyGen(kAB , seed)

• seed nie musi być tajny

Przykładowe realizacje:

• KeyGen(kAB , seed) = AES(kAB , seed)

• KeyGen(kAB , seed) = HMAC (kAB , seed)

• seed jest skrótem poprzedniej wiadomości

• seed jest wartością zsynchronizowanego licznika

Page 337: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Metoda zachowania świeżości klucza II

Alicja i Bob uzgadniają klucz główny kAB oraz funkcję generowania kluczasesyjnego KeyGen

• za każdym razem, gdy potrzebny jest nowy klucz jeden z uczestnikówwysyła ziarno sesji

• każdy z uczestników oblicza kses = KeyGen(kAB , seed)

• seed nie musi być tajny

Przykładowe realizacje:

• KeyGen(kAB , seed) = AES(kAB , seed)

• KeyGen(kAB , seed) = HMAC (kAB , seed)

• seed jest skrótem poprzedniej wiadomości

• seed jest wartością zsynchronizowanego licznika

Page 338: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

The n2 problem

Problem praktyczny

Jeżeli w n uczestników chce (ekskluzywnie) móc się ze sobą komunikować,to

• każdy użytkownik musi przechowywać n kluczy (w bezpieczny sposób)

• całkowita liczba kluczy ' n2

• każdy nowy uczestnik musi w bezpieczny sposób ustalić klucz zkażdym poprzednim

Nawet dla względnie niewielkich wartości n (np.: 100) może to byćuciążliwe

Page 339: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

KE za pomocą schematów symetrycznych

Założenia wstępne:

• do zapewnienia bezpieczeństwa używane są schematy symetryczne

• w sieci funkcjonuje Key Distribution Center (KDC) np.: jako serwer

• każdy z istniejących użytkowników posiada ustalony klucz główny (wbezpieczny sposób)

• KDC przechowuje klucze każdego użytkownika i generuje kluczesesyjne

Page 340: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Podstawowy schemat dystrybucji klucza z użyciem KDC

Alicja: wysyła żądanie klucza sesyjnego do komunikacji z Bobem do KDC

KDC: generuje losowy kses

KDC: wysyła yA = EkA(kses) oraz yB = EkB (kses) do Alicji

Alicja: kses = E−1kA(yA)

Alicja: wysyła do Boba (y = Ekses (x), yB)

Bob: oblicza kses = E−1kB(yB) oraz x = E−1kses

(y)

W innym wariancie KDC nie wysyła yB do Alicji tylko do Boba

Page 341: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• liczba kluczy w sieci jest równa liczbie użytkowników,

• użytkownicy znają tylko własne klucze główne

• klucz sesyjny jest krótkoterminowy, może być chroniony słabszymszyfrem

• KDC musi być szczególnie chronione

• ujawnienie klucza głównego pozwala odczytać całą przeszłąkomunikację

• jest podatny na atak typu man-in-the-middle

Page 342: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Atak przez powtórzenie klucza sesyjnego

• Ewa poznała jeden z poprzednich kluczy sesyjnych

• podszywając się pod KDC, może wysłać do Alicji i Boba, stare kluczeyA i yB

• ani Alicja ani Bob nie wiedzą, że otrzymany klucz sesyjny nie jest„świeży”

• wiedzą za to, że jest poprawnie zaszyfrowany, wiec nie mają powodu,aby go nie używać

• Ewa spokojnie czyta wiadomości

Page 343: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Atak przez wyłudzenie klucza

Oskar jest nieuczciwym uczestnikiem.

Alicja: wysyła, żądanie klucza sesyjnego dla pary (Alicja,Bob)

Oskar: przechwytuje żądanie i wysyła do KDC żądanie klucza dla pary(Alicja,Oskar)

KDC: generuje klucz sesyjny i wysyła (yA, yO) do Oskara

Oskar: przechwytuje żądanie i wysyła do Alicji yA

Alicja wysyła wiadomość zaszyfrowaną kluczem sesyjnym, Oskarprzechwytuje i odczytuje

Page 344: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Kerberos

Kerberos to protokół dystrybucji klucza oparty na KDC.

• został wprowadzony w 1993 jako standard

• zapewnia uwierzytelnianie i ochronę przeciwko opisanym wyżejatakom

Do protokołu zostały dodane:

• identyfikatory uczestników

• ważność klucza T : klucz nie może być użyty po czasie T

• czas wiadomości TS : wiadomość może być podrobiona jeżeli TS jestzbyt stary

Page 345: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Kerberos

Alicja: wysyła żądanie (IdA, IdB , rA), rA – losowy parametr sesji

KDC: generuje klucz sesyjny kses , ustala okres ważności klucza T

KDC: oblicza yA = EkA(kses , rA,T , IdB)

KDC: oblicza yB = EkB (kses ,T , IdA)

KDC: wysyła (yA, yB) do Alicji

Alicja: oblicza (kses , r′A,T , Id) = E 1kA(yA)

Alicja: sprawdza rA = r ′A, poprawność T , poprawność Id

Alicja: wysyła (yAB = Ekses (IdA,Tnow ), yB) do Boba

Bob: oblicza kses , IdA,T = E−1kB(yB)

Bob: oblicza Id ,Tnow = E−1kB(yB)

Bob: sprawdza Id = IdA, poprawność T , poprawność Tnow

Page 346: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Kerberos

Alicja: wysyła żądanie (IdA, IdB , rA), rA – losowy parametr sesji

KDC: generuje klucz sesyjny kses , ustala okres ważności klucza T

KDC: oblicza yA = EkA(kses , rA,T , IdB)

KDC: oblicza yB = EkB (kses ,T , IdA)

KDC: wysyła (yA, yB) do Alicji

Alicja: oblicza (kses , r′A,T , Id) = E 1kA(yA)

Alicja: sprawdza rA = r ′A, poprawność T , poprawność Id

Alicja: wysyła (yAB = Ekses (IdA,Tnow ), yB) do Boba

Bob: oblicza kses , IdA,T = E−1kB(yB)

Bob: oblicza Id ,Tnow = E−1kB(yB)

Bob: sprawdza Id = IdA, poprawność T , poprawność Tnow

Page 347: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Kerberos

Alicja: wysyła żądanie (IdA, IdB , rA), rA – losowy parametr sesji

KDC: generuje klucz sesyjny kses , ustala okres ważności klucza T

KDC: oblicza yA = EkA(kses , rA,T , IdB)

KDC: oblicza yB = EkB (kses ,T , IdA)

KDC: wysyła (yA, yB) do Alicji

Alicja: oblicza (kses , r′A,T , Id) = E 1kA(yA)

Alicja: sprawdza rA = r ′A, poprawność T , poprawność Id

Alicja: wysyła (yAB = Ekses (IdA,Tnow ), yB) do Boba

Bob: oblicza kses , IdA,T = E−1kB(yB)

Bob: oblicza Id ,Tnow = E−1kB(yB)

Bob: sprawdza Id = IdA, poprawność T , poprawność Tnow

Page 348: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Kerberos

Alicja: wysyła żądanie (IdA, IdB , rA), rA – losowy parametr sesji

KDC: generuje klucz sesyjny kses , ustala okres ważności klucza T

KDC: oblicza yA = EkA(kses , rA,T , IdB)

KDC: oblicza yB = EkB (kses ,T , IdA)

KDC: wysyła (yA, yB) do Alicji

Alicja: oblicza (kses , r′A,T , Id) = E 1kA(yA)

Alicja: sprawdza rA = r ′A, poprawność T , poprawność Id

Alicja: wysyła (yAB = Ekses (IdA,Tnow ), yB) do Boba

Bob: oblicza kses , IdA,T = E−1kB(yB)

Bob: oblicza Id ,Tnow = E−1kB(yB)

Bob: sprawdza Id = IdA, poprawność T , poprawność Tnow

Page 349: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Problemy dotyczące schematów z użyciem KDC:

• duże obciążenie KDC zapytaniami (możliwy atak typu DoS)

• konieczny bezpieczny kanał do wstępnej dystrybucji kluczy

• złamanie zabezpieczeń KDC powoduje, złamanie całego systemu ikonieczność jego odbudowy

• ujawnienie/złamanie klucza głównego umożliwia odczytaniewszystkich wiadomości przyszłych i przeszłych (no perfect forwardsecrecy)

Głównym sposobem zapewnienia PFS jest korzystanie z protokołówasymetrycznych.

Page 350: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Problemy dotyczące schematów z użyciem KDC:

• duże obciążenie KDC zapytaniami (możliwy atak typu DoS)

• konieczny bezpieczny kanał do wstępnej dystrybucji kluczy

• złamanie zabezpieczeń KDC powoduje, złamanie całego systemu ikonieczność jego odbudowy

• ujawnienie/złamanie klucza głównego umożliwia odczytaniewszystkich wiadomości przyszłych i przeszłych (no perfect forwardsecrecy)

Głównym sposobem zapewnienia PFS jest korzystanie z protokołówasymetrycznych.

Page 351: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Problemy dotyczące schematów z użyciem KDC:

• duże obciążenie KDC zapytaniami (możliwy atak typu DoS)

• konieczny bezpieczny kanał do wstępnej dystrybucji kluczy

• złamanie zabezpieczeń KDC powoduje, złamanie całego systemu ikonieczność jego odbudowy

• ujawnienie/złamanie klucza głównego umożliwia odczytaniewszystkich wiadomości przyszłych i przeszłych (no perfect forwardsecrecy)

Głównym sposobem zapewnienia PFS jest korzystanie z protokołówasymetrycznych.

Page 352: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

KE za pomocą schematów asymetrycznych

Dla przypomnienia:

• za pomocą protokołu Diffie-Hellmana można ustalić wspólny klucz

• wymianę klucza można zrealizować za pomocą RSA lub algorytmuElGamala

• właściwą komunikację można zrealizować za pomocą kryptografiisymetrycznej

Ponieważ DH (i każdy algorytm asymetryczny) nie jest odporny na atakmen-in-the-middle poważnym problemem jest zapewnienie, że uzgodnienieklucza odbywa się pomiędzy właściwymi uczestnikami.

Page 353: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Certyfikaty

Problem: W jaki sposób Bob może zyskać pewność, że klucz publicznyktóry otrzymał rzeczywiście nalezy do Alicji?

Page 354: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• Alicja może przekonać Boba dołączając do klucza dodatkoweinformacje:

kA = (kpub,A, IdA)

gdzie IdA zawiera jej imię, PESEL, IP, numer buta, miejsce w którmsię poraz pierwszy spotkali. . .

• Ewa, oczywiście, może także posiadać te informacje

• Alicja może także doąłczyć do IdA tajny kod, ale wtedy musi go wbezpiecny sposób ustalić z Bobem (błędne koło)

• Ewa może także zastosowac atak men-in-the-middle i podmienićkpub,A na swój klucz

Page 355: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• Alicja może przekonać Boba dołączając do klucza dodatkoweinformacje:

kA = (kpub,A, IdA)

gdzie IdA zawiera jej imię, PESEL, IP, numer buta, miejsce w którmsię poraz pierwszy spotkali. . .

• Ewa, oczywiście, może także posiadać te informacje

• Alicja może także doąłczyć do IdA tajny kod, ale wtedy musi go wbezpiecny sposób ustalić z Bobem (błędne koło)

• Ewa może także zastosowac atak men-in-the-middle i podmienićkpub,A na swój klucz

Page 356: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• Alicja może przekonać Boba dołączając do klucza dodatkoweinformacje:

kA = (kpub,A, IdA)

gdzie IdA zawiera jej imię, PESEL, IP, numer buta, miejsce w którmsię poraz pierwszy spotkali. . .

• Ewa, oczywiście, może także posiadać te informacje

• Alicja może także doąłczyć do IdA tajny kod, ale wtedy musi go wbezpiecny sposób ustalić z Bobem (błędne koło)

• Ewa może także zastosowac atak men-in-the-middle i podmienićkpub,A na swój klucz

Page 357: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• Alicja może dodatkowo dołączyć podpis cyfrowy do kluczapublicznego, tworząc certyfikat

CertA =((kpub,A, IdA), singkpriv (kpub,A, IdA)

)łączący klucz publiczny z osobą Alicji

• Bob może potwierdzić autentyczność poprzez weryfikację podpisu,tylko że. . .

• jeżeli klucz kpriv użyty do wygenerowania podpisu jest kluczemprywatnym Alicji, to Bob musi w bezpieczny i uwierzytelniony sposóbotrzymać klucz publiczny Alicji

• ale to jest ten sam problem, który miał być rozwiązany

Page 358: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• Alicja może dodatkowo dołączyć podpis cyfrowy do kluczapublicznego, tworząc certyfikat

CertA =((kpub,A, IdA), singkpriv (kpub,A, IdA)

)łączący klucz publiczny z osobą Alicji

• Bob może potwierdzić autentyczność poprzez weryfikację podpisu,tylko że. . .

• jeżeli klucz kpriv użyty do wygenerowania podpisu jest kluczemprywatnym Alicji, to Bob musi w bezpieczny i uwierzytelniony sposóbotrzymać klucz publiczny Alicji

• ale to jest ten sam problem, który miał być rozwiązany

Page 359: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Rozwiązaniem jest „zaufana trzecia strona”. Idea:

• CA podpisuje klucze użytkowników swoim kluczem prywatnym

• weryfikacja używa klucza publicznego CA

• każdy użytkownik uznaje klucz publiczny CA za autentyczny

Certification Authority, CA

Zadaniem CA jest tworzenie, dystrybucja i potwierdzanie certyfikatów dlakażdego użytkownika systemu.

Page 360: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Uzyskanie certyfikatu od CA

Wersja I

Alicja: generuje kpub,A, kpriv ,A,

Alicja: wysyła do CA prośbę o wydanie certyfikatu dla klucza (kpub,A, IdA)

CA: weryfikuje tożsamość IdA

CA: podpisuje klucz sA = signkpriv,CA(kpub,A, IdA)

CA: wystawia certyfikat CertA = ((kpub,A, IdA), sA)

CA: publikuje certyfikat

Kluczowe dla bezpieczeństwa jest:

• potwierdzenie tożsamości Alicji

• bezpieczne dostarczenie klucza kpub,A – w praktyce kontakt fizyczny

Page 361: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Uzyskanie certyfikatu od CA

Wersja I

Alicja: generuje kpub,A, kpriv ,A,

Alicja: wysyła do CA prośbę o wydanie certyfikatu dla klucza (kpub,A, IdA)

CA: weryfikuje tożsamość IdA

CA: podpisuje klucz sA = signkpriv,CA(kpub,A, IdA)

CA: wystawia certyfikat CertA = ((kpub,A, IdA), sA)

CA: publikuje certyfikat

Kluczowe dla bezpieczeństwa jest:

• potwierdzenie tożsamości Alicji

• bezpieczne dostarczenie klucza kpub,A – w praktyce kontakt fizyczny

Page 362: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Uzyskanie certyfikatu od CA

Wersja II

Alicja: wysyła do CA prośbę o wygenerowanie klucza i wydanie certyfikatudla IdA

CA: weryfikuje tożsamość IdA

CA: generuje kpub,A, kpriv ,A,

CA: podpisuje klucz sA = signkpriv,CA(kpub,A, IdA)

CA: wystawia certyfikat CertA = ((kpub,A, IdA), sA)

CA: wysyła do Alicji (CertA, kpriv ,A)

Kluczowe dla bezpieczeństwa jest:

• potwierdzenie tożsamości Alicji

• bezpieczny dostarczenie klucza kpriv ,A – w praktyce kontakt fizyczny

Page 363: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Uzyskanie certyfikatu od CA

Wersja II

Alicja: wysyła do CA prośbę o wygenerowanie klucza i wydanie certyfikatudla IdA

CA: weryfikuje tożsamość IdA

CA: generuje kpub,A, kpriv ,A,

CA: podpisuje klucz sA = signkpriv,CA(kpub,A, IdA)

CA: wystawia certyfikat CertA = ((kpub,A, IdA), sA)

CA: wysyła do Alicji (CertA, kpriv ,A)

Kluczowe dla bezpieczeństwa jest:

• potwierdzenie tożsamości Alicji

• bezpieczny dostarczenie klucza kpriv ,A – w praktyce kontakt fizyczny

Page 364: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• pozostaje problem potwierdzenia klucza publicznego CA

• nadal konieczny jest bezpieczny i uwierzytelniony kanał

• jest on potrzebny tylko raz dlatego może być drogi i powolny

Zaufanie CA pozwala wykorzystać wszystkie pozostałe protokołykryptograficzne, a gdy zachodzi potrzeba potwierdzenia tożsamościodwołać się do CA.

Page 365: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• bezpieczny kanał może być zapewniony przez:

– wbudowanie w oprogramowanie zaufanych kluczy publicznych– wbudowanie w sprzęt zaufanych kluczy publicznych

• bezpieczeństwo tego kanału opiera się ponownie na zaufaniu

– oprogramowanie z potwierdzonych źródeł (oryginalne płyty,zaufane strony) jest bezpieczne

– podobnie w przypadku hardware

• zaufanie przeniesione jest na producenta i dostawcę

Page 366: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Zaufanie jest przeniesione również na użytkownika, który:

• nie wtyka wszystkiego co pasuje do portu USB,

• nie odpowiada na prośby o podanie hasła/kodu PIN/kluczaprywatnego (szczególnie od znajomych lub władz)

• nie klika we wszytko co przyszło w mailu jest podkreślone i obiecujesensację

• rozważnie dobiera przeglądane strony internetowe

• itd.

Page 367: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Diffie-Hellman z certyfikatami

Alicja i Bob posiadają potwierdzony klucz publiczny kpub,CA i bezpiecznykanał uzyskania certyfikatu.

DHE z użyciem CA

Alicja i Bob: ustalają p, α

Alicja i Bob: generują klucze

kpriv ,A = a, kpub,A = αa mod p, kpriv ,B = b, kpub,B = αb mod p

Alicja i Bob: proszą CA o wydanie certyfikatów CertA, CertB

Alicja i Bob: przesyłają i weryfikują wzajemnie certyfikaty

Alicja i Bob: obliczają klucz sesji

kAB = (kpub,A)kpriv,B mod p = (kpub,B)

kpriv,A mod p

Page 368: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

X.509

Standard X.509 jest jednym z formatów certyfikatów, powszechnieużywany w komunikacji. Certyfikat taki zawiera między innymi:

Certificate Algorithm: metoda tworzenia podpisu, np.: RSA-DSA/2048+ SHA-1, ECDSA + SHA-512

Issuer: identyfikacja wystawiającego certyfikat

Period of Validity: od kiedy do kiedy ważny jest certyfikat

Subject: na kogo wystawiony jest certyfikat

Subject’s Public Key: właściwy klucz publiczny wraz z niezbędnymiparametrami

Signature: podpis cyfrowy całego certyfikatu

Algorytmy użyte do utworzenia klucza publicznego i podpisu cyfrowego niesą zapisane standardzie.

Page 369: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Łańcuch zaufania

• obecnie istnieje kilkadziesiąt (?) globalnych instytucji/firmdziałających jako CA

• poszczególne kraje posiadają także krajowe CA

• wybrane instytucje/firmy posiadają CA wydające certyfikaty dlaswoich pracowników

• jest niemożliwe posiadanie kluczy i certyfikatów wydanych przezwszystkie istniejące CA

• w praktyce tworzy się łańcuch/sieć wzajemnie uwierzytelniających sięCA

Page 370: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Łańcuch zaufania

• obecnie istnieje kilkadziesiąt (?) globalnych instytucji/firmdziałających jako CA

• poszczególne kraje posiadają także krajowe CA

• wybrane instytucje/firmy posiadają CA wydające certyfikaty dlaswoich pracowników

• jest niemożliwe posiadanie kluczy i certyfikatów wydanych przezwszystkie istniejące CA

• w praktyce tworzy się łańcuch/sieć wzajemnie uwierzytelniających sięCA

Page 371: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

• potencjalnym sposobem ataku jest utworzenie przez Ewę własnego CA

• obroną przed tym atakiem jest zbudowanie hierarchii CA różnegorzędu, wtedy CA wyższego rzędu certyfikuje CA niższego rzędu

• CA najwyższego rzędu jest uznawane za godne zaufania i certyfikujesię samo (np. jako instytucja rządowa)

• inną metodą jest certyfikacja wzajemna na każdym poziomie ipomiędzy poziomami

• każdy certyfikat zawiera „ścieżkę certyfikacji”

Page 372: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Certyfikaty z wieloma CA

• Alicja posiada tylko klucz publiczny kpub,CA1 i certyfikat wydany przezCA1

• Bob posiada tylko klucz publiczny kpub,CA2 i certyfikat wydany przezCA1

• Alicja i Bob nie są wstanie zweryfikować swoich certyfikatów

• aby Alicja mogła to zrobić musi otrzymać z CA2 klucz publiczny,który jest podpisany kluczem prywatnym CA1

CertCA2 = [(kpub,CA2, IdCA2), signkpriv,CA1(kpub,CA2, IdCA2)]

• konieczne jest zatem wzajemne uwierzytelnienie się CA1 i CA2

Page 373: Kryptologia · 2019. 12. 12. · 2 Kryptologia - współcześnie 3 Protokół Diffiego-Hellmana 4 RSA 5 Szyfry strumieniowe 6 Kryptografia na krzywych eliptycznych 7 DES. PlanII

Utrata zaufania:

• system certyfikatów powinien umożliwiać unieważnienie certyfikatóww przypadku ujawnienia klucza, utraty zaufania itp

• przekazanie listy unieważnionych certyfikatów także powinno odbyćsię w sposób bezpieczny i uwierzytelniony

• lista powinna być także aktualna, często aktualizowana