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
Ở 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
Nhập thông số tương tự như Mã hóa
P, alpha phải giống như lúc Mã hóa. a 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”