• Trang chủ
    • Môn học
    • Kỳ thi
    • Báo lỗi
    • Hướng dẫn
    🔐

    Hộp công cụ mật mã

    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.

    Chuyển đổi mã hoá ký tự

    Đầu vào là

    13 byte · Hex: 58 69 6e 20 63 68 c3 a0 6f 20 4e 45 55

    Chuyển sang

    Hàm băm của đầu vào

    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 (mã xác thực thông điệp)

    HMAC-SHA-256:

    Base64 của SHA-256: …

    Dịch theo từng chữ của khoá, lặp lại khoá.

    Bản mã

    LXFOPV EF RNHR

    Tần suất chữ cái của văn bản

    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.

    ABCDEFGHIJKLMNOPQRSTUVWXYZ

    Số học modulo

    Trao đổi khoá Diffie–Hellman

    RSA từng bước

    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.

    Dạng đầu vào

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