An accessible introduction to classical cryptography using Python. Readers build and break ciphers including Caesar, transposition, Vigenère, and public-key styles while learning encryption mechanics, frequency analysis, and code-breaking techniques alongside core programming concepts.
This page is free — overview and chapter list only.
The complete book body is sold separately.
Full book: $2.99 USDC via x402 ·
Per chapter: $0.25 USDC
Buy / open complete book (HTML)
· Complete book Markdown (.md)
Agents: start with free /library/discovery.json, sample free teaser chapters,
then pay for individual chapters or the complete book URL above.
Append .md to any content URL for Markdown with YAML front matter.
Chapters
- About The Technical Reviewers (Free teaser)
- How To Use This Book ($0.25)
- Starting Idle ($0.25)
- The Caesar Cipher ($0.25)
- Some Simple Math Expressions ($0.25)
- Storing Values With Variables ($0.25)
- Working With Text Using String Values ($0.25)
- Printing Values With The Print Function ($0.25)
- Writing Programs In Idles File Editor ($0.25)
- How The Hello World Program Works ($0.25)
- Setting Up Comments And Variables ($0.25)
- Sample Run Of The Caesar Cipher Program ($0.25)
- Encrypting And Decrypting Symbols ($0.25)
- Displaying And Copying The Translated String ($0.25)
- Pract Ice Questions ($0.25)
- Sample Run Of The Caesar Cipher Hacker Program ($0.25)
- Using String Formatting To Display The Key And Decrypted Mes ($0.25)
- Creating The Encryption Program ($0.25)
- Creating Your Own Functions With Def Statements ($0.25)
- The List Data Type ($0.25)
- Augmented Assignment Operators ($0.25)
- Using String Methods To Make User Input More Flexible ($0.25)
- Writing The Output File ($0.25)
- Source Code For The Detect English Module ($0.25)
- The Dictionary Data Type ($0.25)
- Implementing The Dictionary File ($0.25)
- Counting The Number Of English Words In Message ($0.25)
- Detecting English Words ($0.25)
- Source Code Of The Transposition Cipher Hacker Program ($0.25)
- Getting The Hacked Message ($0.25)
- Pract Ice Questions 2 ($0.25)
- Multiple Assignment ($0.25)
- Choosing Valid Multiplicative Keys ($0.25)
- Finding Modular Inverses ($0.25)
- Summary ($0.25)
- Calculating And Validating The Keys ($0.25)
- Writing The Encryption Function ($0.25)
- Summary 2 ($0.25)
- The Affine Cipher Hacking Function ($0.25)
- Summary 3 ($0.25)
- The Translatemessage Function ($0.25)
- Using Word Patterns To Decrypt ($0.25)
- Source Code For The Simple Substitution Hacking Program ($0.25)
- Sample Run Of The Simple Substitution Hacking Program ($0.25)
- Creating A Cipherletter Mapping ($0.25)
- The Hacksimplesub Function ($0.25)
- Using Multiple Letter Keys In The Vigenre Cipher ($0.25)
- Source Code For The Vigenre Cipher Program ($0.25)
- Encrypting And Decrypting The Message ($0.25)
- Analyzing The Frequency Of Letters In Text ($0.25)
- Using Frequency Analysis On The Vigenre Cipher ($0.25)
- Counting The Letters In A Message ($0.25)
- Reversing The Letter Lists With The Sort Method ($0.25)
- Converting The Dictionary Items To A Sortable List ($0.25)
- Pract Ice Questions 3 ($0.25)
- About The Vigenre Dictionary Hacker Program ($0.25)
- Getting Factors Of Spacings ($0.25)
- Using Frequency Analysis To Break Each Subkey ($0.25)
- Source Code For The Vigenre Hacking Program ($0.25)
- Finding Repeated Sequences ($0.25)
- Finding The Most Common Factors ($0.25)
- Getting Letters Encrypted With The Same Subkey ($0.25)
- Finding Possible Combinations Of Subkeys ($0.25)
- Modifying The Constants Of The Hacking Program ($0.25)
- The Unbreakable One Time Pad Cipher ($0.25)
- Why The Two Time Pad Is The Vigenre Cipher ($0.25)
- What Is A Prime Number ($0.25)
- Source Code For The Prime Numbers Module ($0.25)
- How The Trial Division Algorithm Works ($0.25)
- The Dangers Of Using Textbook Rsa ($0.25)
- Beware The Mitm Attack ($0.25)
- Returning The Keys ($0.25)
- Converting A String Into A Block ($0.25)
- The Mathematics Of Public Key Cipher Encryption And Decrypti ($0.25)
- Why We Cant Hack The Public Key Cipher ($0.25)
- Storing Blocks In Blockint ($0.25)
- Merging The Message List Into One String ($0.25)
- Calling The Main Function ($0.25)
- Debugging The Reverse Cipher Program ($0.25)
- Summary 4 ($0.25)