Learn Encryption Techniques with BASIC and C++
(Publisher: Wordware Publishing, Inc.)
Author(s): Gil Held
ISBN: 1556225989
Publication Date: 10/01/98
- Preface
- About the CD
- About the Author
- Chapter 1Technology and Terminology
- Ciphers Versus Codes
- Cipher Terminology
- Plaintext and Enciphered Text
- Encipherment
- Decipherment
- Keys and Key Space
- Types of Encryption Systems
- Key Generation, Management, and Distribution
- Types of Ciphers
- Substitution Cipher Systems
- Transposition Cipher Systems
- Electronic Mail Transmission Considerations
- Subroutines and Programs
- File Naming Conventions
- Chapter 2Monoalphabetic Substitution Concepts
- Evolution
- Alphabets
- Alphabetic Relationships
- Displacement Alphabets
- Encipherment
- Decipherment
- Automating Operations
- Using an Alphabetic Shift Key
- Converting to Ciphertext
- The MSGENCIPHER Subroutine
- The CIPHER2.CPP Program
- Limiting the Effect of Errors
- The GROUPBY5 Subroutine
- The CIPHER3.BAS Program
- The CIPHER3.CPP Program
- Processing Multiple-Line Messages
- The MSGFILE Subroutine
- The CONVERTSTORE Subroutine
- The PRTOUT Subroutine
- Modifying the GROUPBY5 Subroutine
- The CIPHER4.BAS Program
- The CIPHER4.CPP Program
- The DCIPHER4.BAS Program
- The DMSGFILE Subroutine
- The DECIPHER Subroutine
- The DPRTOUT Subroutine
- The DCIPHER4.CPP Program
- Chapter 3Keyword-Based Monoalphabetic Substitution
- Keyword-Based Mixed Alphabets
- Construction
- Automating Keyword Construction
- The KEYWORD Subroutine
- Incorporating an Alphabetic Shift Key
- The CIPHER5.BAS Program
- The Encipherment Process
- The CIPHER5.CPP Program
- Deciphering Operations
- The Decipherment Process
- The DCIPHER5.BAS Program
- The DCIPHER5.CPP Program
- Alternative Relationships
- Weaknesses
- Chapter 4Transposition-based Monoalphabetic Substitution
- Matrix-Based Transposition
- Simple Transposition
- Encipherment
- Decipherment
- Numeric Transposition
- Encipherment and Decipherment
- Other Variations
- Interval Extraction
- Encipherment and Decipherment
- Automating Matrix-Based Systems
- Encipherment
- The TRANSPORT Subroutine
- The CIPHERTR.BAS Program
- The INTERVAL Subroutine
- The TRANSPORT.CPP Program
- The CIPHERTR.CPP Program
- The CIPHER6.BAS Program
- The CIPHER6.CPP Program
- Decipherment
- The DCIPHER6.BAS Program
- The DCIPHER6.CPP Program
- Monoalphabetic Combinations
- Chapter 5Polyalphabetic Substitution
- Simple Polyalphabetic Substitution Systems
- The Vigenére Cipher
- The POLY1.BAS Program
- The POLY1.CPP Program
- Encipherment
- Other Polyalphabetic Substitution Methods
- Periodic Polyalphabetic Substitution
- Operation
- Reducing Probability of Decipherment
- The POLY2.BAS Program
- The PFORMCIPHER Subroutine
- The PCONVERTSTORE Subroutine
- Program Execution
- The COUNT.CPP Program
- The POLY2.CPP Program
- The DPOLY2.BAS Program
- The DMSGFILE Subroutine
- The DPCONVERTSTORE Subroutine
- Program Execution
- The DPOLY2.CPP Program
- Chapter 6Using Random Numbers
- Random Numbers and Random Number Sequences
- Generating Random Number Sequences
- Pseudo-random Number Sequences
- The RND Function
- RANDOMIZE Statement
- Working with Random Numbers
- The RANDOM1.BAS Program
- The RANDOM2.BAS Program
- The RANDOM1.CPP Program
- The RANDOM2.CPP Program
- Modulo 26 Arithmetic
- The DRANDOM2.BAS Program
- The DRANDOM2.CPP Program
- Constructing an Enciphering Program
- Extending the Random Process
- Extending the Combinations
- Creating Your Own Random Number Generator
- Program Development
- The POSITION.BAS Program
- The POSITION.CPP Program
- The RTEST.BAS Program
- The RANDOM3.BAS Program
- The RCONVERTSTORE Subroutine
- The RANDOM3.CPP Program
- The DRANDOM3.BAS Program
- The RDCONVERTSTORE Subroutine
- The DRANDOM3.CPP Program
- An Alternative Random Process
- The ROTOR.BAS Program
- Chapter 7Developing Practical Programs
- Module Utilization
- The ENCIPHER.EXE Program
- The DECIPHER.EXE Program
- The Challenge
- Chapter 8Public Key Encryption
- General Operation
- Authentication Issues
- Public vs. Private Key Encryption
- Advantages and Disadvantages
- Understanding the Mathematics
- Modular Arithmetic
- Modular Addition
- Modular Subtraction
- Modular Multiplication
- Finding the Multiplicative Inverse
- Prime Numbers
- The Euclidean Algorithm
- The Totient Function
- RSA
- Public Key Generation
- Private Key Generation
- Message Encipherment
- Exponentiation Operations
- Facilitating the Key Generation Process
- Locating Large Primes
- Summary
Appendix A
Index