{"product_id":"implementing-cryptography-using-python-paperback-softback-9781119612209","title":"Implementing Cryptography Using Python (Paperback \/ softback) 9781119612209","description":"\u003cfont face=\"Georgia\"\u003e\r\n\u003cp\u003e\u003cfont size=\"6\"\u003eImplementing Cryptography Using Python\u003c\/font\u003e\u003cbr\u003e\r\n\r\n\r\n\r\n\r\n\r\n\u003c\/p\u003e\n\u003cp\u003e\u003cfont size=\"4\"\u003eShannon W. Bray (Author)\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e9781119612209, Wiley\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003ePaperback \/ softback, published 28 September 2020\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e304 pages\u003cbr\u003e23.4 x 18.5 x 1.8 cm, 0.499 kg\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\r\n\r\n\r\n\u003cp align=\"justify\"\u003e\u003cstrong\u003e\u003cfont size=\"3\"\u003e\u003cp\u003e\u003cb\u003eLearn to deploy proven cryptographic tools in your applications and services\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eCryptography is, quite simply, what makes security and privacy in the digital world possible. Tech professionals, including programmers, IT admins, and security analysts, need to understand how cryptography works to protect users, data, and assets. \u003ci\u003eImplementing Cryptography Using Python\u003c\/i\u003e will teach you the essentials, so you can apply proven cryptographic tools to secure your applications and systems. Because this book uses Python, an easily accessible language that has become one of the standards for cryptography implementation, you’ll be able to quickly learn how to secure applications and data of all kinds.\u003c\/p\u003e \u003cp\u003eIn this easy-to-read guide, well-known cybersecurity expert Shannon Bray walks you through creating secure communications in public channels using public-key cryptography. You’ll also explore methods of authenticating messages to ensure that they haven’t been tampered with in transit. Finally, you’ll learn how to use digital signatures to let others verify the messages sent through your services.\u003c\/p\u003e \u003cul\u003e \u003cli\u003eLearn how to implement proven cryptographic tools, using easy-to-understand examples written in Python\u003c\/li\u003e \u003cli\u003eDiscover the history of cryptography and understand its critical importance in today’s digital communication systems\u003c\/li\u003e \u003cli\u003eWork through real-world examples to understand the pros and cons of various authentication methods\u003c\/li\u003e \u003cli\u003eProtect your end-users and ensure that your applications and systems are using up-to-date cryptography\u003c\/li\u003e \u003c\/ul\u003e\u003c\/font\u003e\u003c\/strong\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e\u003cp\u003eIntroduction xvii\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 1 Introduction to Cryptography and Python 1\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eExploring Algorithms 2\u003c\/p\u003e \u003cp\u003eWhy Use Python? 2\u003c\/p\u003e \u003cp\u003eDownloading and Installing Python 3\u003c\/p\u003e \u003cp\u003eInstalling on Ubuntu 4\u003c\/p\u003e \u003cp\u003eInstalling on macOS 4\u003c\/p\u003e \u003cp\u003eInstalling on Windows 4\u003c\/p\u003e \u003cp\u003eInstalling on a Chromebook 4\u003c\/p\u003e \u003cp\u003eInstalling Additional Packages 5\u003c\/p\u003e \u003cp\u003eInstalling Pip, NumPy, and Matplotlib 6\u003c\/p\u003e \u003cp\u003eInstalling the Cryptography Package 7\u003c\/p\u003e \u003cp\u003eInstalling Additional Packages 8\u003c\/p\u003e \u003cp\u003eTesting Your Install 9\u003c\/p\u003e \u003cp\u003eDiving into Python Basics 9\u003c\/p\u003e \u003cp\u003eUsing Variables 10\u003c\/p\u003e \u003cp\u003eUsing Strings 11\u003c\/p\u003e \u003cp\u003eIntroducing Operators 11\u003c\/p\u003e \u003cp\u003eUnderstanding Arithmetic Operators 11\u003c\/p\u003e \u003cp\u003eUnderstanding Comparison Operators 13\u003c\/p\u003e \u003cp\u003eUnderstanding Logical Operators 13\u003c\/p\u003e \u003cp\u003eUnderstanding Assignment Operators 14\u003c\/p\u003e \u003cp\u003eUnderstanding Bitwise Operators 15\u003c\/p\u003e \u003cp\u003eUnderstanding Membership Operators 15\u003c\/p\u003e \u003cp\u003eUnderstanding Identity Operators 16\u003c\/p\u003e \u003cp\u003eUsing Conditionals 16\u003c\/p\u003e \u003cp\u003eUsing Loops 17\u003c\/p\u003e \u003cp\u003efor 17\u003c\/p\u003e \u003cp\u003ewhile 18\u003c\/p\u003e \u003cp\u003econtinue 18\u003c\/p\u003e \u003cp\u003ebreak 18\u003c\/p\u003e \u003cp\u003eelse 18\u003c\/p\u003e \u003cp\u003eUsing Files 19\u003c\/p\u003e \u003cp\u003eUnderstanding Python Semantics 20\u003c\/p\u003e \u003cp\u003eSequence Types 20\u003c\/p\u003e \u003cp\u003eIntroducing Custom Functions 26\u003c\/p\u003e \u003cp\u003eDownloading Files Using Python 27\u003c\/p\u003e \u003cp\u003eIntroducing Python Modules 28\u003c\/p\u003e \u003cp\u003eCreating a Reverse Cipher 29\u003c\/p\u003e \u003cp\u003eSummary 30\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 2 Cryptographic Protocols and Perfect Secrecy 31\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eThe Study of Cryptology 32\u003c\/p\u003e \u003cp\u003eUnderstanding Cryptography 32\u003c\/p\u003e \u003cp\u003eCryptography’s Famous Family: Alice and Bob 33\u003c\/p\u003e \u003cp\u003eDiffie-Hellman 34\u003c\/p\u003e \u003cp\u003eData Origin Authentication 34\u003c\/p\u003e \u003cp\u003eEntity Authentication 35\u003c\/p\u003e \u003cp\u003eSymmetric Algorithms 36\u003c\/p\u003e \u003cp\u003eAsymmetric Algorithms 36\u003c\/p\u003e \u003cp\u003eThe Needham-Schroeder Protocols 36\u003c\/p\u003e \u003cp\u003eThe Otway-Rees Protocol 38\u003c\/p\u003e \u003cp\u003eKerberos 39\u003c\/p\u003e \u003cp\u003eMultiple-Domain Kerberos 40\u003c\/p\u003e \u003cp\u003eX.509 41\u003c\/p\u003e \u003cp\u003eFormal Validation of Cryptographic Protocols 46\u003c\/p\u003e \u003cp\u003eConfiguring Your First Cryptographic Library 47\u003c\/p\u003e \u003cp\u003eUnderstanding Cryptanalysis 47\u003c\/p\u003e \u003cp\u003eBrute-Force Attacks 47\u003c\/p\u003e \u003cp\u003eSide-Channel Attacks 48\u003c\/p\u003e \u003cp\u003eSocial Engineering 48\u003c\/p\u003e \u003cp\u003eAnalytical Attacks 48\u003c\/p\u003e \u003cp\u003eFrequency Analysis 48\u003c\/p\u003e \u003cp\u003eAttack Models 49\u003c\/p\u003e \u003cp\u003eShannon’s Theorem 50\u003c\/p\u003e \u003cp\u003eOne-Time Pad 51\u003c\/p\u003e \u003cp\u003eXOR, AND, and OR 51\u003c\/p\u003e \u003cp\u003eOne-Time Pad Function 56\u003c\/p\u003e \u003cp\u003eOne-Way Hashes 58\u003c\/p\u003e \u003cp\u003eCryptographic One-Way Hashes 59\u003c\/p\u003e \u003cp\u003eMessage Authentication Codes 60\u003c\/p\u003e \u003cp\u003ePerfect Forward Secrecy 60\u003c\/p\u003e \u003cp\u003ePublished and Proprietary Encryption Algorithms 61\u003c\/p\u003e \u003cp\u003eSummary 62\u003c\/p\u003e \u003cp\u003eReferences 62\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 3 Classical Cryptography 65\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003ePassword Best Practices 66\u003c\/p\u003e \u003cp\u003ePassword Storage 66\u003c\/p\u003e \u003cp\u003eHashing Passwords 67\u003c\/p\u003e \u003cp\u003eSalting Passwords 67\u003c\/p\u003e \u003cp\u003eStretching Passwords 68\u003c\/p\u003e \u003cp\u003ePassword Tools 68\u003c\/p\u003e \u003cp\u003eObfuscating Data 69\u003c\/p\u003e \u003cp\u003eASCII Encoding 70\u003c\/p\u003e \u003cp\u003eBase64 Encoding Text 70\u003c\/p\u003e \u003cp\u003eBinary Data 72\u003c\/p\u003e \u003cp\u003eDecoding 72\u003c\/p\u003e \u003cp\u003eHistorical Ciphers 72\u003c\/p\u003e \u003cp\u003eScytale of Sparta 73\u003c\/p\u003e \u003cp\u003eSubstitution Ciphers 73\u003c\/p\u003e \u003cp\u003eCaesar Cipher 74\u003c\/p\u003e \u003cp\u003eROT-13 76\u003c\/p\u003e \u003cp\u003eAtbash Cipher 77\u003c\/p\u003e \u003cp\u003eVigenère Cipher 77\u003c\/p\u003e \u003cp\u003ePlayfair 79\u003c\/p\u003e \u003cp\u003eHill 2x2 83\u003c\/p\u003e \u003cp\u003eColumn Transposition 87\u003c\/p\u003e \u003cp\u003eAffine Cipher 90\u003c\/p\u003e \u003cp\u003eSummary 93\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 4 Cryptographic Math and Frequency Analysis 95\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eModular Arithmetic and the Greatest Common Devisor 96\u003c\/p\u003e \u003cp\u003ePrime Numbers 97\u003c\/p\u003e \u003cp\u003ePrime Number Theorem 98\u003c\/p\u003e \u003cp\u003eSchool Primality Test 98\u003c\/p\u003e \u003cp\u003eFermat’s Little Theorem 100\u003c\/p\u003e \u003cp\u003eMiller-Rabin Primality Test 100\u003c\/p\u003e \u003cp\u003eGenerate Large Prime Numbers 104\u003c\/p\u003e \u003cp\u003eBasic Group Theory 106\u003c\/p\u003e \u003cp\u003eOrders of Elements 107\u003c\/p\u003e \u003cp\u003eModular Inverses 109\u003c\/p\u003e \u003cp\u003eFermat’s Little Theorem to Find the Inverse 110\u003c\/p\u003e \u003cp\u003eExtending the GCD 111\u003c\/p\u003e \u003cp\u003eEuler’s Theorem 111\u003c\/p\u003e \u003cp\u003ePseudorandomness 115\u003c\/p\u003e \u003cp\u003eBreaking C’s rand() Function 116\u003c\/p\u003e \u003cp\u003eSolving Systems of Linear Equations 117\u003c\/p\u003e \u003cp\u003eFrequency Analysis 120\u003c\/p\u003e \u003cp\u003eCryptanalysis with Python 123\u003c\/p\u003e \u003cp\u003eUsing an Online Word List 125\u003c\/p\u003e \u003cp\u003eDetermining the Frequency 126\u003c\/p\u003e \u003cp\u003eBreaking the Vigenère Cipher 129\u003c\/p\u003e \u003cp\u003eSummary 138\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 5 Stream Ciphers and Block Ciphers 139\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eConvert between Hexdigest and Plaintext 140\u003c\/p\u003e \u003cp\u003eUse Stream Ciphers 141\u003c\/p\u003e \u003cp\u003eARC4 147\u003c\/p\u003e \u003cp\u003eVernam Cipher 148\u003c\/p\u003e \u003cp\u003eSalsa20 Cipher 149\u003c\/p\u003e \u003cp\u003eChaCha Cipher 151\u003c\/p\u003e \u003cp\u003eUse Block Ciphers 156\u003c\/p\u003e \u003cp\u003eBlock Modes of Operations 158\u003c\/p\u003e \u003cp\u003eECB Mode 158\u003c\/p\u003e \u003cp\u003eCBC Mode 159\u003c\/p\u003e \u003cp\u003eCFB Mode 160\u003c\/p\u003e \u003cp\u003eOFB Mode 162\u003c\/p\u003e \u003cp\u003eCTR Mode 163\u003c\/p\u003e \u003cp\u003eTricks with Stream Modes 164\u003c\/p\u003e \u003cp\u003eDIY Block Cipher Using Feistel Networks 165\u003c\/p\u003e \u003cp\u003eAdvanced Encryption Standard (AES) 167\u003c\/p\u003e \u003cp\u003eUsing AES with Python 167\u003c\/p\u003e \u003cp\u003eFile Encryption Using AES 169\u003c\/p\u003e \u003cp\u003eFile Decryption Using AES 169\u003c\/p\u003e \u003cp\u003eSummary 169\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 6 Using Cryptography with Images 171\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eSimple Image Cryptography 171\u003c\/p\u003e \u003cp\u003eImages and Cryptography Libraries 174\u003c\/p\u003e \u003cp\u003eUnderstanding the Cryptography Library 174\u003c\/p\u003e \u003cp\u003eUnderstanding the Cryptosteganography Library 175\u003c\/p\u003e \u003cp\u003eImage Cryptography 175\u003c\/p\u003e \u003cp\u003eFile Cryptography Using Fernet 176\u003c\/p\u003e \u003cp\u003eImage Cryptography Using Fernet 179\u003c\/p\u003e \u003cp\u003eAES and Block Modes of Operations 180\u003c\/p\u003e \u003cp\u003eExploring a Simple ECB Mode Example 181\u003c\/p\u003e \u003cp\u003eExploring a Simple CBC Mode Example 185\u003c\/p\u003e \u003cp\u003eApplying the Examples 186\u003c\/p\u003e \u003cp\u003eSteganography 187\u003c\/p\u003e \u003cp\u003eStoring a Message Inside an Image 188\u003c\/p\u003e \u003cp\u003eStoring a Binary File Inside an Image 192\u003c\/p\u003e \u003cp\u003eWorking with large images 195\u003c\/p\u003e \u003cp\u003eSummary 197\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 7 Message Integrity 199\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eMessage Authentication Codes 200\u003c\/p\u003e \u003cp\u003eHash-based Message Authentication Code 201\u003c\/p\u003e \u003cp\u003eUsing HMAC to Sign Message 202\u003c\/p\u003e \u003cp\u003eMessage Digest with SHA 203\u003c\/p\u003e \u003cp\u003eBinary Digests 204\u003c\/p\u003e \u003cp\u003eNIST Compliance 205\u003c\/p\u003e \u003cp\u003eCBC-MAC 206\u003c\/p\u003e \u003cp\u003eBirthday Attacks 207\u003c\/p\u003e \u003cp\u003eCrafting Forgeries 209\u003c\/p\u003e \u003cp\u003eThe Length Extension Attack 209\u003c\/p\u003e \u003cp\u003eSetting Up a Secure Channel 210\u003c\/p\u003e \u003cp\u003eCommunication Channels 211\u003c\/p\u003e \u003cp\u003eSending Secure Messages over IP Networks 212\u003c\/p\u003e \u003cp\u003eCreate a Server Socket 212\u003c\/p\u003e \u003cp\u003eCreate a Client Socket 213\u003c\/p\u003e \u003cp\u003eCreate a Threaded Server with TCP 214\u003c\/p\u003e \u003cp\u003eAdding Symmetric Encryption 215\u003c\/p\u003e \u003cp\u003eConcatenate Message and MAC 218\u003c\/p\u003e \u003cp\u003eSummary 221\u003c\/p\u003e \u003cp\u003eReferences 222\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 8 Cryptographic Applications and PKI 223\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eThe Public-Key Transformation 224\u003c\/p\u003e \u003cp\u003eExploring the Basics of RSA 226\u003c\/p\u003e \u003cp\u003eGenerating RSA Certificates 229\u003c\/p\u003e \u003cp\u003eConstructing Simple Text Encryption and Decryption with RSA Certificates 231\u003c\/p\u003e \u003cp\u003eConstructing BLOB Encryption and\u003c\/p\u003e \u003cp\u003eDecryption with RSA Certificates 232\u003c\/p\u003e \u003cp\u003eThe El-Gamal Cryptosystem 235\u003c\/p\u003e \u003cp\u003eElliptic Curve Cryptography 238\u003c\/p\u003e \u003cp\u003eGenerating ECC Keys 240\u003c\/p\u003e \u003cp\u003eKey Lengths and Curves 241\u003c\/p\u003e \u003cp\u003eDiffie-Hellman Key Exchange 242\u003c\/p\u003e \u003cp\u003eSummary 245\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 9 Mastering Cryptography Using Python 247\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eConstructing a Plaintext Communications Application 248\u003c\/p\u003e \u003cp\u003eCreating a Server 248\u003c\/p\u003e \u003cp\u003eCreating the Client 250\u003c\/p\u003e \u003cp\u003eCreating the Helper File 251\u003c\/p\u003e \u003cp\u003eExecution 252\u003c\/p\u003e \u003cp\u003eInstalling and Testing Wireshark 253\u003c\/p\u003e \u003cp\u003eImplementing PKI in the Application Using RSA Certificates 255\u003c\/p\u003e \u003cp\u003eModifying the Server 256\u003c\/p\u003e \u003cp\u003eModifying the Client 257\u003c\/p\u003e \u003cp\u003eModifying the Helper File 258\u003c\/p\u003e \u003cp\u003eExecution 259\u003c\/p\u003e \u003cp\u003eImplementing Diffie-Hellman Key Exchange 261\u003c\/p\u003e \u003cp\u003eModifying the Server File 262\u003c\/p\u003e \u003cp\u003eModifying the Client File 264\u003c\/p\u003e \u003cp\u003eModifying the Helper File 266\u003c\/p\u003e \u003cp\u003eCreating the Diffie-Hellman Class File 270\u003c\/p\u003e \u003cp\u003eExecution 275\u003c\/p\u003e \u003cp\u003eWrapping Up 276\u003c\/p\u003e \u003cp\u003eIndex 277\u003c\/p\u003e\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003eSubject Areas: Computer science [\u003ca title=\"See our other books on Computer science\" href=\"https:\/\/freshlyprintedbooks.co.uk\/search?q=%22Computer%20science%20%5BUY%5D%22\"\u003eUY\u003c\/a\u003e]\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\u003c\/font\u003e","brand":"Wiley","offers":[{"title":"Brand New","offer_id":52174350680344,"sku":"9781119612209","price":27.37,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0730\/2037\/5320\/files\/9781119612209.jpg?v=1781174051","url":"https:\/\/freshlyprintedbooks.co.uk\/products\/implementing-cryptography-using-python-paperback-softback-9781119612209","provider":"Freshly Printed Books","version":"1.0","type":"link"}