An toàn và bảo mật thông tin

Hệ thống Mã hóa & Hàm băm

Hệ thống tích hợp: Mã hóa cổ điển (Z26/Z29), Mã hóa hiện đại (DES, AES), Mã hóa công khai (RSA) và Hàm băm (MD5, SHA). Hỗ trợ nhập khóa và bản rõ dưới dạng chữ cái tiếng Việt & tiếng Anh, cho phép chuyển sang chuỗi bit trực quan.

Sinh viên: Ngô Quang Thiện
MSSV: 24102651
Lớp: N06
Nhóm thuật toán

Mã dịch chuyển ký tự theo độ dịch k modulo m.

Khóa mã hóa

Nhập số nguyên k; khóa sẽ được tính theo modulo của hệ chữ.

Khóa phải chứa đủ mỗi chữ cái đúng một lần.

Khóa gồm các chữ thuộc đúng bảng chữ cái đang chọn.

Điều kiện: gcd(a, m) = 1, với m là 26 hoặc 29.

Định thức ma trận phải có nghịch đảo modulo m.

Khóa dạng chữ cái sẽ chuyển thành 64 bit (hoặc nhập 16 ký tự Hex chuẩn Stallings).

Khóa chữ cái sẽ được chuyển thành chuỗi 128 bit (16 byte) theo chuẩn AES-128.

Số nguyên tố p
Số nguyên tố q
Khóa e (gcd(e,φ)=1)
n = 3233, φ = 3120, d = 2753 | Khóa công khai: (17, 3233) | Khóa bí mật: (2753, 3233)
Chọn thuật toán băm (MD5 / SHA):
Cài đặt thuật toán băm:
Hàm băm MD5 (Message Digest 5) Chuẩn RFC 1321: Khối 512 bit (16 từ 32-bit), 4 vòng lặp (F, G, H, I) gồm 64 bước nén, đệm độ dài little-endian, tạo giá trị tóm yếu 128 bit (32 ký tự hex).

Bản rõ

Đầu vào mã hóa

Bản mã

Đầu vào giải mã
Biểu diễn Bit (Bit Stream Inspector) — Chuyển chữ cái sang Bit
Bit bản rõ (Plaintext Bits)
Chưa có dữ liệu bit...
Bit khóa (Key Bits)
Chưa có dữ liệu bit...
Bit bản mã / Mã băm (Ciphertext / Hash Bits)
Chưa có dữ liệu bit...
📜 Chi tiết các bước thực hiện thuật toán băm (Execution Trace)

Nhấn nút "Tạo mã băm (Hash) →" để xem chi tiết các bước: Padding bit, Khởi tạo thanh ghi, Message Schedule W, và các vòng lặp nén.

Đang tải môi trường Python...

Z26: ABCDEFGHIJKLMNOPQRSTUVWXYZ

Quy ước Z26 & Z29

Z26 gồm 26 chữ A–Z (0–25). Z29 tiếng Việt gồm 29 chữ: A, Ă, Â, B, C, D, Đ, E, Ê, G, H, I, K, L, M, N, O, Ô, Ơ, P, Q, R, S, T, U, Ư, V, X, Y (0–28).

Chuyển chữ sang Bit

Hỗ trợ chuyển đổi theo chỉ số bảng chữ cái (5-bit: 00000–11100) hoặc theo mã byte UTF-8 (8-bit) chuẩn hóa quốc tế.

Mã hóa hiện đại (DES, AES)

DES xử lý khối 64 bit qua 16 vòng Feistel. AES xử lý khối 128 bit qua 10 vòng mã hóa với SubBytes, ShiftRows, MixColumns và AddRoundKey.

Hàm băm MD5 & SHA (Tự cài đặt)

Cài đặt thuần Python (RFC 1321 & FIPS 180-4) với Padding bit, thanh ghi trạng thái, vòng lặp nén và kiểm chứng 100% với hashlib. Tham khảo: Viblo MD5 | Viblo SHA-256.