Cryptography and Authentication Cheat Sheet
Cryptography Cheat Sheet
General Concepts
- Cryptography: The study of encryption principles and methods.
- Cryptanalysis: The process of deciphering ciphertext without knowing the key.
- Cryptosystem: A system that combines algorithms, keys, and key management to perform cryptographic operations.
- CIA Triad:
- Confidentiality: Protects against unauthorized disclosure.
- Integrity: Protects against unauthorized modification.
- Availability: Ensures reliable access to information.
Key Terminology
- Plaintext: The original
Computer Architecture: Memory Hierarchy, Von Neumann Model & Parallel Processing
Memory Hierarchy
Memory hierarchy organizes computer memory based on speed, cost, and size, balancing fast access with large capacity. It ranges from fast, small CPU registers to slow, large storage devices.
Memory Types
Registers
Speed: Fastest memory, within the CPU.
Size: Extremely small (a few bytes).
Purpose: Stores data the CPU is currently processing.
Access Time: Nanoseconds or less.
Cache Memory
Speed: Very fast, close to the CPU, divided into levels.
Size: Small (kilobytes to megabytes).
Purpose:
Understanding the Internet and its Services
1. What is the Internet?
The internet is a decentralized network of interconnected communication networks using the TCP/IP protocol family. This allows diverse physical networks to function as a single, global logical network. Its origins trace back to 1969 with the creation of ARPANET, initially used for defense communication during wartime in the USA.
While often confused, the internet and the World Wide Web (WWW) are distinct. The WWW, developed in 1990, is a set of protocols enabling easy access
Read MoreSoftware Development Best Practices
Security
Software security is the idea of engineering software to function correctly, even under malicious attack.
Addressing security early helps avoid vulnerabilities. DevSecOps is a good example of this. However, security adds cost and time to development.
Terminology:
- Defects: Deviation from requirements.
- Bugs: Implementation-level errors that can be detected and removed.
- Flaws: Deeper problems instantiated in code or absent at the design level (e.g., poor error handling exposing sensitive data).
- Failures:
Divide and Conquer & Recurrences Cheat Sheet
Maximum Subarray Sum Problem (1D):
– **Problem**: Given an array \( A \) of size \( n \), find the subarray with the maximum sum.
– **Definitions**:
– **Max Subarray Sum**: \( \text{max}_{l, u} \sum_{j=l}^{u} A[j] \)
– **Max Prefix Sum**: \( \text{max}_{u} \sum_{j=0}^{u} A[j] \)
– **Max Suffix Sum**: \( \text{max}_{l} \sum_{j=l}^{n-1} A[j] \)
– **Algorithm (Divide and Conquer)
**:
1. Divide array into two halves.
2. Recursively compute max subarray for the left and right halves.
3. Combine
A Guide to Effective Public Speaking and Presentations
Public Speaking and Presentations: A Comprehensive Guide
Engaging Your Audience
Visual contact is paramount. Avoid looking everywhere at once; instead, focus on individuals within the audience, making eye contact with different people in turn. This allows you to gauge their reactions and adapt your style accordingly.
Disagreement or fatigue from the audience should be used to calibrate the flow of your speech. Change your tone, language, and content dynamically if the audience seems bored or annoyed.
Read More