Mã hóa và Giải mã Elgamal

Cách tính Beta:

Vì a là khóa bí mật của hệ mã, không thể public a. Cho nên khi mã hóa thì không thể nhập a vào để mã hóa mà cần phải tính beta trước.
Công thức:

Cách 1:
Có thể áp dụng phương pháp Bình phương và nhân để tính trên giấy trước để lấy được Beta
Cách 2:
Sử dụng Công cụ tích hợp trong chương trình: Vào menu Công cụ chọn Tính mũ MOD hoặc bấm tổ hợp phím Ctrl + M
Nhập các chỉ số tương ứng rồi bấm Tính mũ
Giả sử Alpha=2; a=765; P=2579 thì nhập như hình:

Cách 3:
Cách tính nhanh bằng ngay bên Bản mã. Phần văn bản giải mã không nhập gì cả, chỉ nhập Alpha, a, P vào bên dưới phần Bản mã rồi bấm nút Giải mã
Beta sẽ được tự sinh, đọc và ghi lại vào bên Bản rõ là được


Hướng dẫn mã hóa:

Ở bên Bản rõ, nhập văn bản cần mã hóa, hoặc có thể bấm Mở để chọn 1 file văn bản text từ đĩa cứng vào để mã hóa
P: Nhập 1 số nguyên tố
K: 1 số ngẫu nhiên phải nhỏ hơn P và lớn hơn 0 (Hoặc có thể bấm Random K để chọn K ngẫu nhiên)
alpha: Nên để mặc định =2
B: Chính là Beta vừa tính được ở phần trên
Sau khi đã nhập đầy đủ thông số thì bấm Mã hóa. Kết quả ta thu được văn bản đã mã hóa ở bênBản mã
Có thể bấm Lưu để lưu văn bản đó vào file trên đĩa cứng

Hướng dẫn giải mã:

Nhập thông số tương tự như Mã hóa
Palpha phải giống như lúc Mã hóaa thì phải lấy giống như lúc tính Beta cho Mã hóa
Beta (B) không cần điền
Phần văn bản cần giải mã thì có thể đọc từ file hoặc là paste trực tiếp vào vùng soạn văn bản.
Nếu vừa Mã hóa xong mà muốn Giải mã luôn để kiểm tra chương trình thì có thể giữ nguyên bên Bản mã, xóa hết bên Bản rõ, nhập P và a vào rồi bấm Giải mã

One Reply to “Phần thứ 2: Mã hóa và Giải mã Elgamal”

Bình luận