Bài viết mới nhất

Tổng 2300 bài
Bảo mật 22/09/2026 5 phút

HMAC: xác thực toàn vẹn kèm khóa bí mật — và vì sao đừng tự chế bằng SHA(key+msg)

Hash trần chỉ chống lỗi ngẫu nhiên, không chống kẻ địch: ai cũng sửa thông điệp rồi tính lại hash. HMAC trộn một khóa bí mật vào hàm băm nên chỉ người có khóa mới tạo được mã đúng. Bài này đo thật bằng openssl: sai khóa hay sửa một chữ số đều làm HMAC khác hẳn, và vì sao SHA256(key+msg) tự chế dính length-extension attack.

Bảo mật 22/09/2026 5 phút

AES và chế độ mã hóa: vì sao ECB lộ mẫu dữ liệu — thấy tận byte

AES mã hóa từng khối 16 byte; chế độ quyết định cách ghép các khối, và chọn sai thì mã hóa mà vẫn lộ thông tin. Bài này đo thật: cùng bốn khối giống hệt, ECB cho bốn khối mã GIỐNG HỆT (lộ mẫu — như ảnh chim cánh cụt kinh điển), còn CBC cho bốn khối khác nhau. Kèm vai trò của IV: cùng bản rõ, IV khác thì bản mã khác.

Bảo mật 22/09/2026 5 phút

AES-GCM: mã hóa vừa giấu vừa chống sửa — và vì sao nonce không được lặp

CBC giấu được nội dung nhưng không biết bản mã có bị sửa. AES-GCM giải quyết: mã hóa và tạo tag xác thực trong một bước, sửa một byte là giải mã từ chối. Bài này đo thật bằng python cryptography: bản mã kèm tag, tamper cho InvalidTag, và cái bẫy chết người — lặp nonce làm lộ XOR hai bản rõ mà không cần khóa.

Bảo mật 22/09/2026 5 phút

RSA: mã hóa bất đối xứng — hai khóa, và vì sao không mã được dữ liệu lớn

AES mã nhanh nhưng cả hai bên phải chung một khóa bí mật — làm sao trao khóa qua mạng không lộ? RSA giải: mỗi người một cặp khóa công khai + riêng. Bài này đo thật bằng openssl: ai cũng mã bằng khóa công khai, chỉ khóa riêng giải được; giải sai khóa thất bại; và giới hạn cốt tử — RSA chỉ mã được vài trăm byte nên thực tế dùng mã hóa lai.

Bảo mật 22/09/2026 5 phút

Đường cong elliptic (EC): vì sao khóa 256-bit mạnh ngang RSA 3072 — đo thật

RSA khóa càng dài càng chậm và cồng kềnh. Đường cong elliptic đạt cùng mức an toàn với khóa nhỏ hơn nhiều nhờ dựa trên một bài toán khó khác. Bài này đo thật bằng openssl: khóa riêng EC P-256 chỉ 241 byte so với RSA 3072 là 2484 byte, và ECDSA ký nhanh hơn RSA tới ~90 lần — kèm đánh đổi RSA verify vẫn nhanh hơn.

Bảo mật 22/09/2026 5 phút

Chữ ký số: ký bằng khóa riêng, ai cũng xác thực bằng khóa công khai

Làm sao chứng minh một file/token/bản cập nhật đúng do bạn tạo và chưa bị sửa, mà ai cũng kiểm được nhưng không ai giả được? Chữ ký số: dùng cặp khóa NGƯỢC với mã hóa — ký bằng khóa riêng, xác thực bằng khóa công khai. Bài này đo thật bằng openssl: ký OK, sửa một ký tự thì verify thất bại, sai khóa công khai cũng thất bại — và khác HMAC ở chống chối bỏ.