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ỏ.

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

Diffie-Hellman: tạo bí mật chung mà không hề gửi nó qua mạng — đo thật

RSA giải bài trao khóa bằng cách mã khóa AES rồi gửi. Diffie-Hellman làm điều còn ảo diệu hơn: hai bên tự tính ra CÙNG một khóa bí mật mà bí mật đó không bao giờ đi qua mạng. Bài này đo thật bằng openssl X25519 — Alice và Bob mỗi bên chỉ dùng khóa riêng của mình + khóa công khai của người kia, cho ra hai giá trị giống hệt nhau. Kèm forward secrecy và bẫy MITM.

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

Mã hóa file bằng mật khẩu: ghép AES, PBKDF2 và salt lại — đo thật bằng openssl

Người dùng nhớ mật khẩu, nhưng AES-256 cần khóa nhị phân 32 byte — khoảng cách đó do hàm dẫn khóa (KDF) lấp. Bài này mã hóa một file thật bằng openssl với AES-256-CBC + PBKDF2: xem header Salted__ tự chứa salt, giải mã đúng ra nội dung còn sai mật khẩu thì bad decrypt, và cùng file+mật khẩu hai lần cho bản mã khác nhau nhờ salt ngẫu nhiên.

Bảo mật ứng dụng web 02/09/2026 9 phút

Bắt tay TLS tốn chưa tới 1 ms và chỉ trả một lần — nên 'TLS chậm' là cớ; cái thật sự nguy là dòng CERT_NONE viết lúc dev rồi theo bài lên production

Cùng một chữ HTTPS trên thanh địa chỉ có thể là TLS 1.3 cipher 256-bit, cũng có thể là máy chủ vẫn nhận TLS 1.0 và chứng chỉ chẳng ai ký. Tôi đo thời gian bắt tay (dưới 1 ms, trả một lần), thử ép giao thức cũ (bị từ chối), và chứng minh vì sao tắt kiểm chứng chỉ là vứt bỏ chống MITM — mã hoá mà không xác minh danh tính là khoá cửa rồi đưa chìa cho người lạ.