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
Read More

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:

Read More

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 More

Software 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:
Read More

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

Read More

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