Base64/Hex, hàm băm, HMAC; Caesar, Vigenère, Affine, Playfair và phá mã bằng tần suất; RSA, Diffie–Hellman từng bước; AES-GCM/CBC.
13 byte · Hex: 58 69 6e 20 63 68 c3 a0 6f 20 4e 45 55
| MD5 | … | |
| SHA-1 | … | |
| SHA-256 | … | |
| SHA-384 | … | |
| SHA-512 | … | |
| CRC32 | … |
MD5 và SHA-1 đã bị tìm ra va chạm, không còn an toàn cho chữ ký hay lưu mật khẩu. CRC32 chỉ để phát hiện lỗi truyền, không phải hàm băm mật mã.
HMAC-SHA-256:
Base64 của SHA-256: …
Dịch theo từng chữ của khoá, lặp lại khoá.
LXFOPV EF RNHR
Cột xanh: văn bản đang nhập (12 chữ cái). Vạch đỏ: tần suất trong tiếng Anh. Caesar chỉ dịch cả biểu đồ sang ngang; Vigenère làm biểu đồ phẳng hơn.
Ví dụ sách: p = 61, q = 53, e = 17 cho d = 2753; m = 65 mã hoá thành 2790. RSA thật dùng p, q dài hàng trăm chữ số và có phần đệm (OAEP); ở đây là RSA “sách giáo khoa” để học.
AES chạy bằng WebCrypto của trình duyệt. GCM gắn thêm thẻ xác thực 16 byte vào cuối bản mã: sửa một bit bản mã thì giải mã sẽ báo lỗi. Muốn thử, mã hoá xong bấm “Dùng làm bản mã để giải” rồi sửa một ký tự.