Facebook - konwersja
Pobierz fragment

Algorytmy kryptograficzne w Pythonie. Wprowadzenie - ebook

Wydawnictwo:
Tłumacz:
Data wydania:
12 lipca 2021
Format ebooka:
PDF
Format PDF
czytaj
na laptopie
czytaj
na tablecie
Format e-booków, który możesz odczytywać na tablecie oraz laptopie. Pliki PDF są odczytywane również przez czytniki i smartfony, jednakze względu na komfort czytania i brak możliwości skalowania czcionki, czytanie plików PDF na tych urządzeniach może być męczące dla oczu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, EPUB
Format EPUB
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najpopularniejszych formatów e-booków na świecie. Niezwykle wygodny i przyjazny czytelnikom - w przeciwieństwie do formatu PDF umożliwia skalowanie czcionki, dzięki czemu możliwe jest dopasowanie jej wielkości do kroju i rozmiarów ekranu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, MOBI
Format MOBI
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najczęściej wybieranych formatów wśród czytelników e-booków. Możesz go odczytać na czytniku Kindle oraz na smartfonach i tabletach po zainstalowaniu specjalnej aplikacji. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
(3w1)
Multiformat
E-booki sprzedawane w księgarni Virtualo.pl dostępne są w opcji multiformatu - kupujesz treść, nie format. Po dodaniu e-booka do koszyka i dokonaniu płatności, e-book pojawi się na Twoim koncie w Mojej Bibliotece we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu przy okładce. Uwaga: audiobooki nie są objęte opcją multiformatu.
czytaj
na laptopie
Pliki PDF zabezpieczone watermarkiem możesz odczytać na dowolnym laptopie po zainstalowaniu czytnika dokumentów PDF. Najpowszechniejszym programem, który umożliwi odczytanie pliku PDF na laptopie, jest Adobe Reader. W zależności od potrzeb, możesz zainstalować również inny program - e-booki PDF pod względem sposobu odczytywania nie różnią niczym od powszechnie stosowanych dokumentów PDF, które odczytujemy każdego dnia.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na czytniku
Czytanie na e-czytniku z ekranem e-ink jest bardzo wygodne i nie męczy wzroku. Pliki przystosowane do odczytywania na czytnikach to przede wszystkim EPUB (ten format możesz odczytać m.in. na czytnikach PocketBook) i MOBI (ten fromat możesz odczytać m.in. na czytnikach Kindle).
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na smartfonie
Aby odczytywać e-booki na swoim smartfonie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. iBooks dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
Pobierz fragment
69,00

Algorytmy kryptograficzne w Pythonie. Wprowadzenie - ebook

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!

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
Kategoria: Programowanie
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-283-7730-1
Rozmiar pliku: 13 MB

BESTSELLERY

Kategorie: