CryptoViz – Công cụ trực quan hóa các thuật toán mã hóa AES-128/192/256, ChaCha20, SHA-256, RSA, Diffie-Hellman, XOR, Vigenère. Xem được từng bước hoạt động bên trong: SubBytes, ShiftRows, MixColumns, 64 round SHA-256, trace modexp RSA...
Stack: C++17 (engine lõi chuẩn FIPS/RFC) + pybind11 + FastAPI + HTML/CSS/JS thuần, không cần framework. Tổng ~4.800 dòng code.
Tính năng nổi bật: Animation từng bước có play/pause/tua tốc độ, S-Box grid tương tác, streaming AES real-time qua SSE, mô phỏng tấn công MITM (Diffie-Hellman), tấn công crib-drag (XOR), phân tích tần số + Index of Coincidence (Vigenère). Có hệ thống CTF 3 mức độ khó tự động chấm điểm, phân tích Entropy và Avalanche Effect.
XEM THÊM ==> Hướng dẫn cài đặt chi tiết
HƯỚNG DẪN CÀI ĐẶT
pip install fastapi uvicorn pybind11 pycryptodome
Sau khi cài xong, build C++ extension bằng lệnh: python build.py (yêu cầu g++ hoặc clang++ hỗ trợ C++17 và Python dev headers). Lệnh này sẽ tạo file .so nếu dùng Linux và .pyd nếu là Python trong thư mục build và copy vào project root.
Khởi động server: python server.py. Mở trình duyệt vào địa chỉ http://localhost:8000 là dùng được.
Lưu ý: Nếu máy không build được C++ (thiếu compiler), chương trình vẫn chạy được ở chế độ fallback dùng pycryptodome và hashlib — một số tính năng visualizer chi tiết sẽ bị giới hạn. Frontend tự động phát hiện chế độ này qua API /api/status.
Nguồn: Topcode.vn