Chữ ký số sử dụng giải thuật RSA!

RSA chữ ký số

Update source:(Hãy email cảm ơn mình nhé, mình sẽ rất vui đấy 😀 )

Link tải tại đây.

***********************************************************************

Cụ thể nguyên lý, demo thì mình đã nói trong video. Các bạn xem để biết. Riêng phần source code thì các bạn mail đến email: khiemnd5@gmail.com để lấy source. Mình sẽ gửi cho các bạn thực sự cần.

Một vài điều lưu ý khi các bạn báo cáo:

1. Đây là chữ ký số và người nhận xác minh nên việc sử dụng thuật toán RSA sẽ đảo 1 chút. Tức là: Trong RSA thì dùng khóa công khai để mã hóa, khóa bí mật để giải mã còn trong RSA chữ ký số thì dùng khóa bí mật để mã hóa, khóa công khai để giải mã.

2.Tại sao không mã hóa (ký) luôn mà phải băm dữ liệu rồi mới gửi? Bởi vì 2 vấn đề sau:
+ Giải thuật băm SHA-1 chỉ băm 1 chiều do vậy là khi mà bên nhận nhận được thì khi có khóa công khai thì cũng không thể nào giải mã được dữ liệu gốc trước khi băm.

+Nếu ký trực tiếp thì giả sử file muốn ký là 4gb. Như vậy dung lượng sau khi ký là > 4gb. Lúc ấy 4gb gốc + > 4gb gửi đi thì rất nặng trong khi ấy nếu băm ra thì dung lượng file gửi đi chỉ có 4gb đầu + đoạn mã băm.

+ Vì dữ liệu và khóa công khai gửi trên môi trường internet nên khi hacker mà bắt đc dữ liệu sẽ sửa và băm lại. Lúc ấy người nhận sẽ ko thể biết được dữ liệu đã bị thay đổi.

3. Để an toàn hơn nữa trong việc mã hóa thì ta nên mã hóa kép. Tức là cả 2 bên cùng mã hóa để khi có kẻ trung gian mà bắt được dữ liệu họ cũng không thể đọc và dịch được.

Video:
https://drive.google.com/drive/folders/1gaE5S7Eo2Cj9-1JCeBbTz5c89WyQqQ0g