Prawdziwy - Helion

T艂umaczenie: Witold Sikorski, Wojciech Fenrich
ISBN: 9788301229283
stron: 440, Format: ebook
Data wydania: 2023-05-30
Ksi臋garnia: Helion
Cena ksi膮偶ki: 79,20 z艂 (poprzednio: 99,00 z艂)
Oszcz臋dzasz: 20% (-19,80 z艂)
Osoby kt贸re kupowa艂y "Prawdziwy ", wybiera艂y tak偶e:
- Windows Media Center. Domowe centrum rozrywki 66,67 z艂, (8,00 z艂 -88%)
- Ruby on Rails. 膯wiczenia 18,75 z艂, (3,00 z艂 -84%)
- Efekt piaskownicy. Jak szefowa膰 偶eby roboty nie zabra艂y ci roboty 59,50 z艂, (11,90 z艂 -80%)
- Wireshark. Kurs video. Analiza ruchu sieciowego i wykrywanie w 190,00 z艂, (39,90 z艂 -79%)
- Przyw贸dztwo w 艣wiecie VUCA. Jak by膰 skutecznym liderem w niepewnym 艣rodowisku 58,64 z艂, (12,90 z艂 -78%)
Spis tre艣ci
Prawdziwy 艣wiat kryptografii eBook -- spis tre艣ci
przedmowa xv podzi臋kowania xix o ksi膮偶ce xxi o autorze xxvii CZ臉艢膯 I. PRYMITYWY. SK艁ADNIKI KRYPTOGRAFII 1 1. Wprowadzenie 3 1.1. W kryptografii chodzi o zabezpieczenie protoko艂贸w 4 1.2. Kryptografia symetryczna. Czym jest szyfrowanie symetryczne? 5 1.3. Zasada Kerckhoffsa: tylko klucz pozostaje tajny 7 1.4. Kryptografia asymetryczna. Dwa klucze s膮 lepsze ni偶 jeden 10 ? O wymienianiu si臋 kluczami albo jak uzyska膰 dost臋p do wsp贸lnego sekretu 11 ? Szyfrowanie asymetryczne, nie myli膰 z symetrycznym 14 ? Podpisy cyfrowe, zupe艂nie jak te tradycyjne 16 1.5. Kryptografia: klasyfikacje i abstrakcje 18 1.6. Kryptografia teoretyczna a prawdziwy 艣wiat kryptografii 20 1.7. Od teorii do praktyki. Ka偶dy mo偶e p贸j艣膰 w艂asn膮 艣cie偶k膮 21 1.8. S艂owo ostrze偶enia 26 2. Funkcje skr贸tu (funkcje haszuj膮ce) 28 2.1. Czym jest funkcja skr贸tu? 29 2.2. W艂a艣ciwo艣ci zabezpiecze艅 funkcji skr贸tu 32 2.3. Uwarunkowania zabezpiecze艅 funkcji skr贸tu 34 2.4. Funkcje skr贸tu w praktyce 36 ? Zobowi膮zania 36 ? Integralno艣膰 zasob贸w podrz臋dnych 36 ? BitTorrent 37 ? Tor 37 2.5. Znormalizowane funkcje skr贸tu 38 ? Funkcja haszuj膮ca SHA-2 39 ? Funkcja haszuj膮ca SHA-3 43 ? SHAKE i cSHAKE. Dwie funkcje o rozszerzalnym wyj艣ciu (XOF) 47 ? Jak unikn膮膰 wieloznacznego haszowania za pomoc膮 TupleHash 48 2.6. Haszowanie hase艂 50 3. Kody uwierzytelniania wiadomo艣ci 54 3.1. Ciasteczka bezstanowe - motywuj膮cy przyk艂ad dla MAC 55 3.2. Kod z przyk艂adem 58 3.3. W艂a艣ciwo艣ci zabezpiecze艅 MAC 59 ? Fa艂szerstwo znacznika uwierzytelniania 59 ? D艂ugo艣膰 znacznika uwierzytelniania 60 ? Ataki powt贸rzeniowe 60 ? Weryfikacja znacznik贸w uwierzytelniania w sta艂ym czasie 62 3.4. MAC w prawdziwym 艣wiecie 64 ? Uwierzytelnianie wiadomo艣ci 64 ? Wyprowadzanie kluczy 64 ? Integralno艣膰 ciasteczek 65 ? Tablice mieszaj膮ce 65 3.5. Kody uwierzytelniania wiadomo艣ci w praktyce 65 ? HMAC, czyli MAC oparty na haszu 65 ? KMAC, czyli MAC oparty na cSHAKE 67 3.6. SHA-2 i ataki przed艂u偶enia d艂ugo艣ci 67 4. Szyfrowanie uwierzytelnione 71 4.1. Czym jest szyfr? 72 4.2. Szyfr blokowy AES 74 ? Jaki poziom bezpiecze艅stwa zapewnia AES? 74 ? Interfejs AES 75 ? Wewn臋trzna konstrukcja AES 76 4.3. Zaszyfrowany pingwin i tryb CBC 78 4.4. Na brak uwierzytelnienia - AES-CBC-HMAC 81 4.5. Konstrukcje typu ,,wszystko w jednym". Szyfrowanie uwierzytelnione 83 ? Czym jest szyfrowanie uwierzytelnione z powi膮zanymi danymi (AEAD)? 83 ? Algorytm AEAD o nazwie AES-GCM 85 ? ChaCha20-Poly1305 90 4.6. Inne rodzaje szyfrowania symetrycznego 94 ? Opakowywanie klucza 94 ? Szyfrowanie uwierzytelnione odporne na niepoprawne u偶ycie nonce 95 ? Szyfrowanie dysku 95 ? Szyfrowanie baz danych 96 5. Wymiany klucza 98 5.1. Czym s膮 wymiany klucza? 99 5.2. Wymiana klucza Diffiego-Hellmana (DH) 102 ? Teoria grup 102 ? Problem logarytmu dyskretnego. Fundament algorytmu Diffiego-Hellmana 107 ? Normy algorytmu Diffiego-Hellmana 109 5.3. Wymiana kluczy przy u偶yciu protoko艂u Diffiego-Hellmana w przestrzeni krzywych eliptycznych 110 ? Czym jest krzywa eliptyczna? 111 ? Jak dzia艂a algorytm Diffiego-Hellmana oparty na krzywych eliptycznych? 114 ? Normy dla algorytmu Diffiego-Hellmana w przestrzeni krzywych eliptycznych 116 5.4. Atak przeciwko ma艂ym podgrupom i inne czynniki zwi膮zane z bezpiecze艅stwem 118 6. Szyfrowanie asymetryczne i szyfrowanie hybrydowe 123 6.1. Czym jest szyfrowanie asymetryczne? 124 6.2. Szyfrowanie asymetryczne i szyfrowanie hybrydowe w praktyce 126 ? Wymiany klucza i kapsu艂kowanie klucza 127 ? Szyfrowanie hybrydowe 128 6.3. Szyfrowanie asymetryczne przy u偶yciu RSA: z艂e i mniej z艂e 132 ? Podr臋cznikowe RSA 132 ? Dlaczego nie nale偶y u偶ywa膰 RSA PKCS#1 v1.5 137 ? Szyfrowanie asymetryczne przy u偶yciu RSA-OAEP 139 6.4. Szyfrowanie hybrydowe przy u偶yciu ECIES 142 7. Podpisy i dowody z wiedz膮 zerow膮 145 7.1. Czym jest podpis? 146 ? Jak w praktyce weryfikowa膰 podpisy 147 ? Najwa偶niejszy przypadek u偶ycia podpis贸w, czyli uwierzytelnione wymiany klucza 148 ? Rzeczywisty przypadek u偶ycia. Infrastruktura klucza publicznego 149 7.2. Dowody z wiedz膮 zerow膮 (ZKP). Pochodzenie podpis贸w 151 ? Protok贸艂 identyfikacji Schnorra. Interaktywny dow贸d z wiedz膮 zerow膮 151 ? Podpisy jako nieinteraktywne dowody z wiedz膮 zerow膮 154 7.3. Algorytmy podpis贸w, z kt贸rych powinni艣my korzysta膰 (lub nie) 156 ? RSA PKCS#1 v1.5, czyli z艂a norma 157 ? RSA-PSS. Lepsza norma 160 ? Algorytm podpisu elektronicznego oparty na krzywych eliptycznych 161 ? Algorytm podpisu cyfrowego oparty na krzywej Edwardsa 164 7.4. Subtelno艣ci schemat贸w podpis贸w 168 ? Ataki podstawieniowe na podpisy 168 ? Deformowalno艣膰 podpisu 169 8. Losowo艣膰 i sekrety 172 8.1. Czym jest losowo艣膰? 173 8.2. Powolna losowo艣膰? Skorzystajmy z generatora liczb pseudolosowych (PRNG) 175 8.3. Uzyskiwanie losowo艣ci w praktyce 179 8.4. Generowanie losowo艣ci i czynniki zwi膮zane z bezpiecze艅stwem 181 8.5. Publiczna losowo艣膰 184 8.6. Wyprowadzanie kluczy za pomoc膮 HKDF 186 8.7. Zarz膮dzanie kluczami i sekretami 190 8.8. Decentralizacja zaufania za pomoc膮 kryptografii progowej 192 CZ臉艢膯 II. PROTOKO艁Y, CZYLI PRZEPISY NA KRYPTOGRAFI臉 197 9. Bezpieczny transport 199 9.1. Bezpieczne protoko艂y transportowe: SSL i TLS 199 ? Od SSL do TLS 200 ? TLS w praktyce 201 9.2. Jak dzia艂a protok贸艂 TLS? 203 ? Handshake TLS 204 ? Jak TLS 1.3 szyfruje dane aplikacji 218 9.3. Aktualny stan szyfrowania w sieci web 219 9.4. Inne bezpieczne protoko艂y transportowe 222 9.5. Framework protoko艂u Noise. Wsp贸艂czesna alternatywa dla TLS 222 ? Wiele odcieni fazy handshake 223 ? Handshake przy u偶yciu Noise 224 10. Szyfrowanie od ko艅ca do ko艅ca 227 10.1. Dlaczego szyfrowanie od ko艅ca do ko艅ca? 228 10.2. Niemo偶liwe do odnalezienia 藕r贸d艂o zaufania 230 10.3. Pora偶ka szyfrowanych e-maili 231 ? PGP czy GPG? I jak to w og贸le dzia艂a? 232 ? Skalowanie zaufania pomi臋dzy u偶ytkownikami za pomoc膮 sieci zaufania 235 ? Odkrywanie kluczy to prawdziwy problem 236 ? Je艣li nie PGP, to co? 238 10.4. Bezpieczne przesy艂anie wiadomo艣ci. Nowoczesne spojrzenie na szyfrowanie od ko艅ca do ko艅ca w aplikacji Signal 239 ? Bardziej przyjazny dla u偶ytkownika ni偶 WOT. Ufaj, ale weryfikuj 241 ? X3DH. Handshake protoko艂u Signal 243 ? Podw贸jna Zapadka. Protok贸艂 post-hand shake Signala 247 10.5. Stan szyfrowania od ko艅ca do ko艅ca 252 11. Uwierzytelnianie u偶ytkownika 256 11.1. Uwierzytelnianie - kilka s艂贸w podsumowania 257 11.2. Uwierzytelnianie u偶ytkownika, czyli jak pozby膰 si臋 hase艂 259 ? Jedno has艂o, by rz膮dzi膰 wszystkimi. Pojedyncze logowanie (SSO) i mened偶ery hase艂 261 ? Nie chcecie widzie膰 hase艂? U偶yjcie asymetrycznej wymiany kluczy uwierzytelnianej has艂em 263 ? Has艂a jednorazowe to tak naprawd臋 nie has艂a. Bezhas艂owo艣膰 przy u偶yciu kluczy symetrycznych 268 ? Jak zast膮pi膰 has艂a kluczami asymetrycznymi 271 11.3. Uwierzytelnianie wspomagane przez u偶ytkownika - parowanie urz膮dze艅 wykorzystuj膮ce wsparcie cz艂owieka 274 ? Klucze wst臋pnie wsp贸艂dzielone 276 ? Symetryczne uwierzytelnianie has艂em wymiany klucza przy u偶yciu CPace 278 ? Czy nasz膮 wymian臋 klucza zaatakowa艂 po艣rednik? Po prostu sprawd藕my kr贸tki ci膮g uwierzytelniony (SAS) 279 12. Krypto jak w s艂owie ,,kryptowaluta"? 285 12.1. Wprowadzenie do algorytm贸w konsensusu tolerancyjnych na bizantyjskie b艂臋dy 286 ? Problem odporno艣ci. Protoko艂y rozproszone przychodz膮 na ratunek 287 ? Problem zaufania? Decentralizacja przychodzi z pomoc膮 288 ? Problem skali. Sieci bezpozwoleniowe i odporne na cenzur臋 290 12.2. Jak dzia艂a bitcoin? 292 ? W jaki spos贸b bitcoin obs艂uguje salda u偶ytkownika i transakcje 292 ? Wydobywanie bitcoin贸w w cyfrowej z艂otej erze 294 ? Jasny fork! Rozwi膮zywanie konflikt贸w wydobywczych 298 ? Redukcja rozmiaru bloku za pomoc膮 drzew Merkle 301 12.3. Wycieczka po 艣wiecie kryptowalut 303 ? Zmienna warto艣膰 303 ? Latencja 303 ? Rozmiar 艂a艅cucha blok贸w 304 ? Poufno艣膰 304 ? Wydajno艣膰 energetyczna 304 12.4. DiemBFT. Tolerancyjny na bizantyjskie b艂臋dy protok贸艂 konsensusu 305 ? Bezpiecze艅stwo i 偶ywotno艣膰. Dwie w艂asno艣ci protoko艂u konsensusu BFT 305 ? Runda w protokole DiemBFT 306 ? Ile nieuczciwo艣ci mo偶e tolerowa膰 protok贸艂? 307 ? Zasady g艂osowania DiemBFT 308 ? Kiedy transakcje uwa偶a si臋 za sfinalizowane? 309 ? Intuicje stoj膮ce za bezpiecze艅stwem DiemBFT 310 13. Kryptografia sprz臋towa 314 13.1. Model napastnika we wsp贸艂czesnej kryptografii 315 13.2. Niezaufane 艣rodowiska. Sprz臋cie, ratuj! 316 ? Kryptografia bia艂ej skrzynki - z艂y pomys艂 317 ? Siedz膮 w naszych portfelach. Inteligentne karty i bezpieczne elementy 318 ? Banki je uwielbiaj膮. Sprz臋towe modu艂y bezpiecze艅stwa 320 ? Modu艂y zaufanej platformy (TPM). Przydatna normalizacja element贸w bezpiecznych 323 ? Poufne obliczenia z zaufanym 艣rodowiskiem wykonawczym 327 13.3. Kt贸re rozwi膮zanie b臋dzie dobre dla mnie? 328 13.4. Kryptografia odporna na wycieki, czyli jak z艂agodzi膰 ataki kana艂em bocznym w oprogramowaniu 330 ? Programowanie sta艂oczasowe 332 ? Nie korzystaj z sekretu! Maskowanie 334 ? A co z atakami usterek? 335 14. Kryptografia postkwantowa 338 14.1. Czym s膮 komputery kwantowe i dlaczego strasz膮 kryptograf贸w? 339 ? Mechanika kwantowa - studium rzeczy ma艂ych 340 ? Od narodzin komputer贸w kwantowych po supremacj臋 kwantow膮 342 ? Wp艂yw algorytm贸w Grovera i Shora na kryptografi臋 343 ? Kryptografia postkwantowa, czyli jak si臋 broni膰 przed komputerami kwantowymi 345 14.2. Podpisy oparte na haszach. Nie potrzeba niczego poza funkcj膮 skr贸tu 346 ? Podpisy jednorazowe (OTS) z podpisami Lamporta 346 ? Mniejsze klucze i jednorazowe podpisy Winternitza 348 ? Podpisy wielorazowe z XMSS oraz SPHINCS+ 349 14.3. Kr贸tsze klucze i podpisy dzi臋ki kryptografii opartej na kratach 353 ? Czym jest krata? 353 ? Uczenie si臋 z b艂臋dami podstaw膮 kryptografii? 355 ? Kyber, czyli wymiana klucza oparta na kracie 356 ? Dilithium - schemat podpisu oparty na kracie 359 14.4. Czy powinni艣my zacz膮膰 panikowa膰? 360 15. Czy to ju偶 wszystko? Kryptografia nast臋pnej generacji 364 15.1. Im wi臋cej, tym lepiej. Bezpieczne obliczenia wielostronne 365 ? Przeci臋cie zbior贸w prywatnych (PSI) 366 ? MPC og贸lnego przeznaczenia 367 ? Stan MPC 370 15.2. W pe艂ni homomorficzne szyfrowania i obietnica zaszyfrowanej chmury 370 ? Przyk艂ad szyfrowania homomorficznego z szyfrowaniem RSA 371 ? R贸偶ne typy szyfrowania homomorficznego 371 ? Bootstrapping, klucz do w pe艂ni homomorficznego szyfrowania 372 ? Schemat FHE oparty na problemie uczenia si臋 z b艂臋dami 374 ? Gdzie si臋 z tego korzysta? 376 15.3. Dowody z wiedz膮 zerow膮 og贸lnego przeznaczenia 377 ? Jak dzia艂aj膮 schematy zk-SNARK 380 ? Zobowi膮zania homomorficzne - ukrywamy cz臋艣ci dowodu 381 ? Parowania bilinearne - ulepszamy nasze zobowi膮zania homomorficzne 381 ? Sk膮d si臋 bierze zwi臋z艂o艣膰? 382 ? Od program贸w do wielomian贸w 383 ? Programy s膮 dla komputer贸w; nam potrzebne s膮 uk艂ady arytmetyczne 384 ? Uk艂ady arytmetyczne R1CS 384 ? Od R1CS do wielomianu 385 ? Trzeba dwojga, aby okre艣li膰 warto艣膰 wielomianu ukrytego w wyk艂adniku 386 16. Kiedy i gdzie kryptografia zawodzi 389 16.1. Szukanie w艂a艣ciwego prymitywu kryptograficznego lub protoko艂u to nudna praca 390 16.2. W jaki spos贸b korzystam z prymitywu kryptograficznego lub protoko艂u? Uprzejme normy i formalna weryfikacja 392 16.3. Gdzie s膮 dobre biblioteki? 395 16.4. Niew艂a艣ciwe wykorzystanie kryptografii. Programi艣ci to wrogowie 396 16.5. Robicie to 藕le. U偶yteczne zabezpieczenia 397 16.6. Kryptografia nie jest wysp膮 399 16.7. Nasze obowi膮zki jako praktyk贸w kryptografii. Dlaczego nie powinni艣my wdra偶a膰 w艂asnej kryptografii 400 Dodatek. Odpowiedzi do 膰wicze艅 404 Rozdzia艂 2 404 Rozdzia艂 3 405 Rozdzia艂 6 405 Rozdzia艂 7 406 Rozdzia艂 8 406 Rozdzia艂 9 406 Rozdzia艂 10 407 Rozdzia艂 11