Introduction & Encryption
Encryption algorithms transform data to protect its confidentiality. Data that has not been encrypted is called plaintext ; encrypting the plaintext produces ciphertext ; decrypting the ciphertext recovers the original…
Encryption, network attacks, memory corruption, injection and access control.
Encryption algorithms transform data to protect its confidentiality. Data that has not been encrypted is called plaintext ; encrypting the plaintext produces ciphertext ; decrypting the ciphertext recovers the original…
Encryption , Firewalls , and SQL Injection each cover one specific technique or vulnerability. This page covers the layer above all of them: the design principles a system should be built against in the first place, so…
The Internet is a network of computers, or hosts , that exchange messages over connections . Those messages are split into small packets of data (often 1–2 KB), which can be interleaved so the network can be shared…
A buffer is a block of memory (or other storage) used to hold data temporarily. Three ordinary examples show why buffers are so common, and so easy to get wrong: a calculator program storing a user's typed input until…
This page covers what SQL injection is, how attackers exploit it, the impact it can have, and how to prevent it — the A03:2021 "Injection" category of the OWASP Top 10 .
Unix-like systems control access to files, directories, devices and other system resources through a permission model whose core principle is simple: every access decision is based on the identity of the requesting user…
The rest of this section covers established attack classes — buffer overflows, SQL injection, firewall evasion — and how to defend against them. This page is a companion showing the same defensive principles from the…
Professional Ethics covers the general frameworks — deontological, virtue-based, utilitarian — for reasoning about a professional dilemma. This page is narrower and more concrete: what UK and EU data protection law…
A blockchain solves a specific problem: how can a group of mutually distrusting parties agree on a single shared record of events, with no central authority any of them has to trust? Satoshi Nakamoto's original Bitcoin…