Algorytmy kryptograficzne w Pythonie. Wprowadzenie

40,25

Opis

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 kryptografiiprotokoły kryptograficzne i matematyka kryptograficznakryptoanaliza za pomocą kodu Pythonakryptografia wizualna: biblioteki, algorytmy, tryby kodowaniaintegralność wiadomościtworzenie rozwiązań kryptograficznych w PythonieMasz coś do ukrycia? Zaszyfruj to w Pythonie!Spis treści:O autorze 11Podziękowania 13Wprowadzenie 15Rozdział 1. Wprowadzenie do kryptografii i Pythona 19Algorytmy 19Dlaczego warto korzystać z Pythona? 20Pobieranie i instalacja Pythona 21Instalacja na Ubuntu 21Instalacja w systemie macOS 22Instalacja w systemie Windows 22Instalacja na chromebooku 23Instalowanie dodatkowych pakietów 23Instalacja Pip, NumPy, Matplotlib i SciPy 23Instalacja pakietu Cryptography 25Instalacja dodatkowych pakietów 25Testowanie instalacji 26Podstawy Pythona 26Zmienne 27Łańcuchy znaków 27Operatory 28Operatory arytmetyczne 28Operatory porównania 29Operatory logiczne 30Operatory przypisania 30Operatory bitowe 30Operatory przynależności 31Operatory tożsamości 32Wyrażenia warunkowe 32Pętle 33for 33while 33continue 34break 34else 34Praca z plikami 34Semantyka Pythona 35Typy sekwencyjne 36Własne funkcje 41Pobieranie plików 42Moduły 43Szyfr wsteczny 44Podsumowanie 44Rozdział 2. Protokoły kryptograficzne i poufność doskonała 45Studium kryptologii 46Zrozumieć kryptografię 46Alicja i Bob, czyli słynna kryptograficzna rodzina 47Protokół Diffiego-Hellmana 48Uwierzytelnianie źródła danych 48Uwierzytelnianie jednostek 49Algorytmy symetryczne 50Algorytmy asymetryczne 50Protokoły Needhama-Schroedera 50Protokół Otwaya-Reesa 52Kerberos 52Kerberos w wielu domenach 54X.509 55Konfiguracja Twojej pierwszej biblioteki kryptograficznej 56Formalna walidacja protokołów kryptograficznych 59Zrozumieć kryptoanalizę 60Modele ataków 60Ataki metodą siłową 61Ataki kanałem bocznym 61Inżynieria społeczna 62Ataki analityczne 62Analiza częstości 62Twierdzenie Shannona 62Szyfr z kluczem jednorazowym 63XOR, AND i OR 63Funkcja szyfru z kluczem jednorazowym 67Jednokierunkowe funkcje skrótu 70Jednokierunkowe kryptograficzne funkcje skrótu 70Kody uwierzytelniania wiadomości 71Doskonałe utajnianie z wyprzedzaniem 72Opublikowane i zastrzeżone algorytmy szyfrowania 73Podsumowanie 73Bibliografia 74Rozdział 3. Kryptografia klasyczna 75Najlepsze praktyki dotyczące haseł 75Przechowywanie haseł 76Haszowanie haseł 76Solenie haseł 77Password/keystretching 78Narzędzia przydatne w pracy z hasłami 78Zaciemnianie danych 79Kodowanie ASCII 79Kodowanie tekstu Base64 79Dane binarne 81Dekodowanie 81Szyfry o znaczeniu historycznym 82Spartańskie Skytale 82Szyfry podstawieniowe 82Szyfr Cezara 83ROT-13 84Atbasz 85Szyfr Vigenerea 86Szyfr Playfaira 87Szyfr Hilla 2×2 90Kolumnowy szyfr przestawieniowy 94Szyfr afiniczny 97Podsumowanie 99Rozdział 4. Matematyka kryptograficzna i analiza częstości 101Arytmetyka modularna i największy wspólny dzielnik 102Liczby pierwsze 103Twierdzenie o liczbach pierwszych 104Szkolny test pierwszości 104Małe twierdzenie Fermata 105Test pierwszości Millera-Rabina 106Generowanie dużych liczb pierwszych 109Podstawy teorii grup 111Rząd elementu 112Odwrotność modulo 114Odwrotność z użyciem małego twierdzenia Fermata 114Rozszerzony algorytm Euklidesa 115Twierdzenie Eulera 115Pseudolosowość 118Funkcja generująca wartości pseudolosowe 119Rozwiązywanie układów równań liniowych 120Analiza częstości 123Kryptoanaliza z użyciem Pythona 126Korzystanie z internetowej listy słów 128Obliczanie częstości znaków 128Łamanie szyfru Vigenerea 131Podsumowanie 138Rozdział 5. Szyfry strumieniowe i blokowe 139Konwersja pomiędzy zapisem szesnastkowym a tekstem jawnym 140Szyfry strumieniowe 141ARC4 146Szyfr Vernama 147Szyfr Salsa20 148Szyfr ChaCha 150Szyfry blokowe 154Tryb EBC 156Tryb CBC 157Tryb CFB 158Tryb OFB 159Tryb CTR 160Tryby strumieniowe 162Samodzielne tworzenie szyfru blokowego za pomocą sieci Feistela 162Advanced Encryption Standard (AES) 164AES w Pythonie 164Szyfrowanie plików za pomocą AES 166Odszyfrowywanie plików za pomocą AES 166Podsumowanie 166Rozdział 6. Kryptografia wizualna 167Prosty przykład 167Biblioteki graficzne i steganograficzne 169Biblioteka cryptography 170Biblioteka cryptosteganography 170Kryptografia wizualna 171Szyfrowanie zawartości pliku za pomocą algorytmu Ferneta 171Szyfrowanie obrazu za pomocą algorytmu Ferneta 173AES i tryby kodowania 174Prosty przykład użycia trybu ECB 175Prosty przykład szyfrowania w trybie CBC 179Wykorzystanie wiedzy w praktyce 180Steganografia 181Przechowywanie wiadomości w obrazie 181Ukrywanie pliku binarnego w obrazie 184Praca z dużymi obrazami 187Podsumowanie 189Rozdział 7. Integralność wiadomości 191Kody uwierzytelniania wiadomości 191Kod uwierzytelniania wiadomości oparty na funkcjach haszujących 193Podpisywanie wiadomości za pomocą HMAC 194Podpisywanie algorytmem SHA 194Skróty binarne 195Zgodność z NIST 197CBC-MAC 198Atak urodzinowy 199Fałszowanie wiadomości 200Atak length extension 200Ustanawianie bezpiecznego kanału komunikacji 201Kanały komunikacyjne 202Przesyłanie bezpiecznych wiadomości przez sieci IP 202Tworzenie gniazda serwera 203Tworzenie gniazda klienta 204Tworzenie wielowątkowego serwera z komunikacją TCP 204Dodawanie szyfrowania symetrycznego 205Łączenie wiadomości i kodu MAC 208Podsumowanie 211Bibliografia 211Rozdział 8. Infrastruktura klucza publicznego i zastosowania kryptografii 213Koncepcja klucza publicznego 214Podstawy RSA 216Generowanie certyfikatu RSA 218Szyfrowanie i odszyfrowywanie tekstu za pomocą certyfikatów RSA 220Szyfrowanie i odszyfrowywanie obiektów BLOB za pomocą certyfikatów RSA 221Algorytm ElGamal 223Kryptografia krzywych eliptycznych 226Generowanie kluczy w ECC 228Długości klucza i krzywe 229Protokół wymiany kluczy Diffiego-Hellmana 230Podsumowanie 232Rozdział 9. Szlifowanie umiejętności kryptograficznych w Pythonie 233Tworzenie aplikacji do niezaszyfrowanej komunikacji 234Tworzenie serwera 234Tworzenie klienta 236Tworzenie pliku pomocniczego 237Uruchamianie 238Instalowanie i testowanie Wiresharka 238Implementacja PKI z użyciem certyfikatów RSA 240Modyfikowanie serwera 241Modyfikowanie klienta 242Modyfikowanie pliku pomocniczego 243Uruchamianie 244Implementacja protokołu wymiany kluczy Diffiego-Hellmana 245Modyfikowanie kodu serwera 247Modyfikowanie kodu klienta 248Modyfikowanie pliku pomocniczego 250Klasa DiffieHellman 254Uruchamianie 258Podsumowanie 259O autorze: 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.

Podręczniki szkolne

akademia humanistyczna w pułtusku wykładowcy, sap kadrowy, fotografia łódź, nauka śpiewu łódź, nie przepadasz, tablica wzorów matematycznych matura, boks toruń, neonail gdynia, zebra po angielsku wymowa, wsl częstochowa opinie, pomysły na dzień mężczyzny, uksw rekrutacja, kamil studnicki, długosz dominika, baza lex, 24 tygodnie, ola piotrowska

yyyyy