Lattice Based Cryptography
LWE (Learning With Errors) 1-Bit Interactive Demo 🔐
Mã hóa 1 bit. Bạn có thể tạo ngẫu nhiên hoặc tự nhập các tham số.
Thông điệp M được mã hóa là một bit đơn: {0, 1}.
1. Bước Tạo Khóa 🔑
Kết quả Tạo Khóa:
Vector bí mật s (n x 1):
Ma trận A (m x n):
Vector nhiễu e (m x 1):
Vector b = (A.s + e) mod q (m x 1):
Khóa công khai là (A, b). Khóa bí mật là s.
2. Bước Mã Hóa ✉️
Người gửi chọn một thông điệp M và một vector nhị phân u.
Kết quả Mã Hóa:
Vector ngẫu nhiên/tùy chỉnh u (dạng cột, m x 1):
Ciphertext c1 = (uT . A) mod q (1 x n):
Ciphertext c2 = (uT . b + M * floor(q/2)) mod q (scalar):
Bản mã là (c1, c2).
3. Bước Giải Mã 🔓
Người nhận sử dụng khóa bí mật s để giải mã.
Kết quả Giải Mã:
Giá trị v = (c2 - c1 . s) mod q:
Thông điệp giải mã được M':