Введение в криптографические алгоритмы Python, Шеннон Брей
Товар
- 0 раз купили
- 5 оценка
- 2 осталось
- 19 отзывов
Доставка
Характеристики
Описание
Algorytmy kryptograficzne w Pythonie Wprowadzenie
Shannon Bray
Dzięki kryptografii możemy w dużym stopniu zabezpieczyć swoje dane. Z szyfrowaną komunikacją wiążą się jednak kontrowersje i sprzeczności interesów. Przestępcy, ale również rządy, policja i służby wywiadowcze dążą do uzyskania możliwości wglądu we wszystkie formy komunikacji. Świat toczy wojnę o to, co można zaszyfrować, co powinno być zaszyfrowane i kto powinien dysponować kluczem pozwalającym odczytać zaszyfrowane wiadomości należące do innej osoby. W tej sytuacji zrozumienie, czym jest szyfrowanie, jak je stosować i jak się upewniać co do autentyczności i poufności otrzymywanych danych, staje się niezwykle ważne.
Ta książka jest przystępnym wprowadzeniem do kryptografii i bibliotek kryptograficznych Pythona. Omówiono tu podstawowe koncepcje z tej dziedziny, najważniejsze algorytmy i niezbędny zakres podstaw matematycznych: liczby pierwsze, teorię grup czy generatory liczb pseudolosowych. Wyjaśniono, czym są poufność, autentyczność i integralność wiadomości. Zaprezentowano najciekawsze biblioteki kryptograficzne Pythona i dokładnie pokazano, w jaki sposób można je wykorzystywać we własnych implementacjach. Wiele z prezentowanych koncepcji, między innymi kryptografia klucza publicznego i implementacja kryptografii krzywych eliptycznych, zostało przedstawionych w praktyce, za pomocą kodu Pythona, tak aby można było wymieniać dane w bardzo bezpiecznym formacie przez niezabezpieczony kanał.
W książce:
- podstawy Pythona i kryptografii
- protokoły kryptograficzne i matematyka kryptograficzna
- kryptoanaliza za pomocą kodu Pythona
- kryptografia wizualna: biblioteki, algorytmy, tryby kodowania
- integralność wiadomości
- tworzenie rozwiązań kryptograficznych w Pythonie
Masz coś do ukrycia? Zaszyfruj to w Pythonie!
O autorze książki
Shannon W. Bray zajmuje się IT od 1997 roku, wcześniej służył w marynarce wojennej USA. Od kilkunastu lat interesuje się kryptografią i cyberbezpieczeństwem, obecnie przygotowuje doktorat z tej dziedziny. Zdobył liczne certyfikaty branżowe, w tym CISM, Security+ czy CASP+. Hobbystycznie pracuje nad projektami dla domu, takimi jak domowy system bezpieczeństwa oparty na Pythonie, kryptografii i dronach.
Spis treści:
O autorze 11
Podziękowania 13
Wprowadzenie 15
Rozdział 1. Wprowadzenie do kryptografii i Pythona 19
- Algorytmy 19
- Dlaczego warto korzystać z Pythona? 20
- Pobieranie i instalacja Pythona 21
Instalacja na Ubuntu 21
Instalacja w systemie macOS 22
Instalacja w systemie Windows 22
Instalacja na chromebooku 23
Instalowanie dodatkowych pakietów 23
Instalacja Pip, NumPy, Matplotlib i SciPy 23
Instalacja pakietu Cryptography 25
Instalacja dodatkowych pakietów 25
- Testowanie instalacji 26
- Podstawy Pythona 26
Zmienne 27
Łańcuchy znaków 27
Operatory 28
Operatory arytmetyczne 28
Operatory porównania 29
Operatory logiczne 30
Operatory przypisania 30
Operatory bitowe 30
Operatory przynależności 31
Operatory tożsamości 32
Wyrażenia warunkowe 32
Pętle 33
for 33
while 33
continue 34
break 34
else 34
Praca z plikami 34
Semantyka Pythona 35
Typy sekwencyjne 36
Własne funkcje 41
Pobieranie plików 42
Moduły 43
- Szyfr wsteczny 44
- Podsumowanie 44
Rozdział 2. Protokoły kryptograficzne i poufność doskonała 45
- Studium kryptologii 46
Zrozumieć kryptografię 46
Alicja i Bob, czyli słynna kryptograficzna rodzina 47
Protokół Diffiego-Hellmana 48
Uwierzytelnianie źródła danych 48
Uwierzytelnianie jednostek 49
Algorytmy symetryczne 50
Algorytmy asymetryczne 50
Protokoły Needhama-Schroedera 50
Protokół Otwaya-Reesa 52
Kerberos 52
Kerberos w wielu domenach 54
X.509 55
Konfiguracja Twojej pierwszej biblioteki kryptograficznej 56
Formalna walidacja protokołów kryptograficznych 59
Zrozumieć kryptoanalizę 60
- Modele ataków 60
Ataki metodą siłową 61
Ataki kanałem bocznym 61
Inżynieria społeczna 62
Ataki analityczne 62
Analiza częstości 62
- Twierdzenie Shannona 62
- Szyfr z kluczem jednorazowym 63
XOR, AND i OR 63
Funkcja szyfru z kluczem jednorazowym 67
- Jednokierunkowe funkcje skrótu 70
Jednokierunkowe kryptograficzne funkcje skrótu 70
Kody uwierzytelniania wiadomości 71
- Doskonałe utajnianie z wyprzedzaniem 72
- Opublikowane i zastrzeżone algorytmy szyfrowania 73
- Podsumowanie 73
- Bibliografia 74
Rozdział 3. Kryptografia klasyczna 75
- Najlepsze praktyki dotyczące haseł 75
Przechowywanie haseł 76
Haszowanie haseł 76
Solenie haseł 77
Password/keystretching 78
Narzędzia przydatne w pracy z hasłami 78
- Zaciemnianie danych 79
Kodowanie ASCII 79
Kodowanie tekstu Base64 79
Dane binarne 81
Dekodowanie 81
- Szyfry o znaczeniu historycznym 82
Spartańskie Skytale 82
Szyfry podstawieniowe 82
Szyfr Cezara 83
ROT-13 84
Atbasz 85
Szyfr Vigenere'a 86
Szyfr Playfaira 87
Szyfr Hilla 2×2 90
Kolumnowy szyfr przestawieniowy 94
Szyfr afiniczny 97
- Podsumowanie 99
Rozdział 4. Matematyka kryptograficzna i analiza częstości 101
- Arytmetyka modularna i największy wspólny dzielnik 102
- Liczby pierwsze 103
Twierdzenie o liczbach pierwszych 104
Szkolny test pierwszości 104
Małe twierdzenie Fermata 105
Test pierwszości Millera-Rabina 106
Generowanie dużych liczb pierwszych 109
- Podstawy teorii grup 111
Rząd elementu 112
- Odwrotność modulo 114
Odwrotność z użyciem małego twierdzenia Fermata 114
- Rozszerzony algorytm Euklidesa 115
- Twierdzenie Eulera 115
- Pseudolosowość 118
Funkcja generująca wartości pseudolosowe 119
- Rozwiązywanie układów równań liniowych 120
- Analiza częstości 123
- Kryptoanaliza z użyciem Pythona 126
Korzystanie z internetowej listy słów 128
Obliczanie częstości znaków 128
Łamanie szyfru Vigenere'a 131
- Podsumowanie 138
Rozdział 5. Szyfry strumieniowe i blokowe 139
- Konwersja pomiędzy zapisem szesnastkowym a tekstem jawnym 140
- Szyfry strumieniowe 141
ARC4 146
Szyfr Vernama 147
Szyfr Salsa20 148
Szyfr ChaCha 150
- Szyfry blokowe 154
Tryb EBC 156
Tryb CBC 157
Tryb CFB 158
Tryb OFB 159
Tryb CTR 160
Tryby strumieniowe 162
Samodzielne tworzenie szyfru blokowego za pomocą sieci Feistela 162
Advanced Encryption Standard (AES) 164
AES w Pythonie 164
Szyfrowanie plików za pomocą AES 166
Odszyfrowywanie plików za pomocą AES 166
- Podsumowanie 166
Rozdział 6. Kryptografia wizualna 167
- Prosty przykład 167
- Biblioteki graficzne i steganograficzne 169
Biblioteka cryptography 170
Biblioteka cryptosteganography 170
- Kryptografia wizualna 171
Szyfrowanie zawartości pliku za pomocą algorytmu Ferneta 171
Szyfrowanie obrazu za pomocą algorytmu Ferneta 173
AES i tryby kodowania 174
Prosty przykład użycia trybu ECB 175
Prosty przykład szyfrowania w trybie CBC 179
Wykorzystanie wiedzy w praktyce 180
- Steganografia 181
Przechowywanie wiadomości w obrazie 181
Ukrywanie pliku binarnego w obrazie 184
Praca z dużymi obrazami 187
- Podsumowanie 189
Rozdział 7. Integralność wiadomości 191
- Kody uwierzytelniania wiadomości 191
Kod uwierzytelniania wiadomości oparty na funkcjach haszujących 193
Podpisywanie wiadomości za pomocą HMAC 194
Podpisywanie algorytmem SHA 194
Skróty binarne 195
Zgodność z NIST 197
CBC-MAC 198
Atak urodzinowy 199
Fałszowanie wiadomości 200
Atak length extension 200
- Ustanawianie bezpiecznego kanału komunikacji 201
Kanały komunikacyjne 202
Przesyłanie bezpiecznych wiadomości przez sieci IP 202
Tworzenie gniazda serwera 203
Tworzenie gniazda klienta 204
Tworzenie wielowątkowego serwera z komunikacją TCP 204
Dodawanie szyfrowania symetrycznego 205
Łączenie wiadomości i kodu MAC 208
- Podsumowanie 211
- Bibliografia 211
Rozdział 8. Infrastruktura klucza publicznego i zastosowania kryptografii 213
- Koncepcja klucza publicznego 214
Podstawy RSA 216
Generowanie certyfikatu RSA 218
Szyfrowanie i odszyfrowywanie tekstu za pomocą certyfikatów RSA 220
Szyfrowanie i odszyfrowywanie obiektów BLOB za pomocą certyfikatów RSA 221
- Algorytm ElGamal 223
- Kryptografia krzywych eliptycznych 226
Generowanie kluczy w ECC 228
Długości klucza i krzywe 229
- Protokół wymiany kluczy Diffiego-Hellmana 230
- Podsumowanie 232
Rozdział 9. Szlifowanie umiejętności kryptograficznych w Pythonie 233
- Tworzenie aplikacji do niezaszyfrowanej komunikacji 234
Tworzenie serwera 234
Tworzenie klienta 236
Tworzenie pliku pomocniczego 237
Uruchamianie 238
- Instalowanie i testowanie Wiresharka 238
- Implementacja PKI z użyciem certyfikatów RSA 240
Modyfikowanie serwera 241
Modyfikowanie klienta 242
Modyfikowanie pliku pomocniczego 243
Uruchamianie 244
- Implementacja protokołu wymiany kluczy Diffiego-Hellmana 245
Modyfikowanie kodu serwera 247
Modyfikowanie kodu klienta 248
Modyfikowanie pliku pomocniczego 250
Klasa DiffieHellman 254
Uruchamianie 258
- Podsumowanie 259
Гарантии
Гарантии
Мы работаем по договору оферты и предоставляем все необходимые документы.
Лёгкий возврат
Если товар не подошёл или не соответсвует описанию, мы поможем вернуть его.
Безопасная оплата
Банковской картой, электронными деньгами, наличными в офисе или на расчётный счёт.