Lesson 47 — TLS & Crypto Basics
Ba module tương tác: (1) xem từng message của TLS 1.3 handshake giữa client và server; (2) lần theo certificate chain leaf → intermediate → root; (3) so sánh tốc độ & nguy cơ của MD5 / SHA-256 / bcrypt để hiểu vì sao mỗi hàm hash dùng cho mục đích khác nhau.
1. TLS 1.3 Handshake
Bấm Bước tiếp → để đi qua từng message. TLS 1.3 chỉ cần 1 round-trip trước khi gửi data; session key được derive bằng ECDHE nên có forward secrecy.
2. Certificate Chain Visualizer
Server gửi leaf + intermediate (không gửi root — client đã có sẵn). Client verify từng chữ ký đi lên cho tới root nằm trong trust store của OS/browser. Click vào mỗi cert để xem chi tiết.
self-signed cert chính là leaf tự ký cho mình (issuer = subject),
không có cha trong trust store → browser báo NET::ERR_CERT_AUTHORITY_INVALID.
3. Hash Compare — MD5 / SHA-256 / bcrypt
Nhập text rồi bấm Hash. Bảng so sánh tốc độ (nhanh = tốt cho checksum nhưng tệ cho password) và nguy cơ. Lưu ý: digest ở đây tính bằng JS minh hoạ — bcrypt hiển thị định dạng mẫu, không thực thi vòng lặp cost.
| Thuật toán | Tốc độ (hash/giây) | Nguy cơ | Digest |
|---|---|---|---|
| MD5 128-bit · 1991 |
~10 tỉ/s (GPU)
|
Collision đã bị phá cấm dùng cho security |
— |
| SHA-256 256-bit · 2001 |
~1 tỉ/s (GPU)
|
An toàn cho checksum nhưng quá nhanh cho password |
— |
| bcrypt cost 10 · adaptive |
~12/s (cố tình chậm)
|
Tốt cho password có salt + cost |
— |