Chương 3: Các Tiêu Chuẩn 3.1 Tiêu chuẩn mật mã khĩa cơng khai :
1.5. Các tập tin demo (*.c):
1.5.1. Rsagen.c
- Đây là chương trình demo tạo cặp khĩa cơng khai RSA. Sau khi user nhập các thơng tin về bản thân (ví dụ: tên, định danh, địa chỉ, passsword, chiều dài khĩa…) thì chương trình sẽ lưu thơng tin của user vào thư mục (default là usrpass) và tạo cặp khĩa RSA: đối với user mới thì khĩa cơng khai được cập nhật vào thư mục khĩa cơng khai (default là keypub), khĩa bí mật được mã hĩa bằng khĩa DES (password của user) và được lưu vào file, cịn đối với user cũ thì tìm trong thư mục xem đã cĩ khĩa cơng khai đĩ chưa, nếu chưa cĩ thì cập nhật vào, ngược lại báo cho user biết là trong thư mục đã tồn tại khĩa cơng khai đĩ rồi.
- Các hàm chính dùng trong chương trình:
R_RandomCreate: tạo random cho hàm tạo khĩa. DoGenerateKeys: tạo cặp khĩa RSA.
Des_EncodePri: mã hĩa khĩa bí mật bằng khĩa DES (password của user). WriteUserPass: lưu tên, password của user vào thư mục (default = usrpass). WritePublicKey: lưu tên, định danh và khĩa cơng khai của user vào thư mục
khĩa cơng khai (default = keypub).
WritePrivateKey: lưu tên, định danh và khĩa bí mật của user vào file (default = keypri).
1.5.2. PubDir.c
- Đây là chương trình demo xem thư mục khĩa cơng khai RSA. Sau khi user nhập các thơng tin về bản thân (ví dụ: tên, định danh, địa chỉ, passsword, user mới hay cũ, chiều dài khĩa…), nếu là user cũ thì chương trình sẽ tìm trong thư mục usrpass xem cĩ user này khơng, nếu cĩ thì tiếp tục, ngược lại thì yêu cầu user nhập lại thơng tin, cịn nếu là user mới thì cập nhật vào thư mục usrpass và tiếp tục. Cuối cùng in ra danh sách các khĩa cơng khai cĩ trong thư mục khĩa cơng khai.
- Các hàm chính dùng trong chương trình: DoKeysDir: thư mục khĩa cơng khai RSA.
GetPublic: in khĩa cơng khai, dùng trong hàm DoKeysDir.
Search_Usr: tìm user trong thư mục usrpass dùng trong hàm DoKeysDir. WriteUserPass: ghi thơng tin user mới vào thư mục usrpass.
1.5.3. PubFind.c
- Đây là chương trình demo tìm khĩa cơng khai trong thư mục khĩa cơng khai RSA. Sau khi user nhập các thơng tin về bản thân (ví dụ: tên, định danh, địa chỉ, passsword, user mới hay cũ, chiều dài khĩa…), nếu là user cũ thì chương trình sẽ tìm trong thư mục usrpass xem cĩ user này khơng, nếu cĩ thì tiếp tục, ngược lại thì yêu cầu user nhập lại thơng tin, cịn nếu là user mới thì cập nhật vào thư mục usrpass và tiếp tục. Sau đĩ yêu cầu user nhập vào user muốn tìm, nếu user này cĩ trong thư mục khĩa cơng khai thì in ra khĩa cơng khai của user này, ngược lại báo “khơng cĩ khĩa cơng khai này, nhập lại thơng tin cần tìm”.
- Các hàm chính dùng trong chương trình: GetPublic: in khĩa cơng khai.
Search_Usr: tìm user trong thư mục usrpass.
WriteUserPass: ghi thơng tin user mới vào thư mục usrpass. Search_key: tìm khĩa cơng khai trong thư mục khĩa cơng khai.
Kết Luận
* Những cơng việc đã thực hiện:
1. Trình bày lý thuyết về mật mã hĩa thơng tin: + Các giải thuật DES, RSA, MD5.
+ Vấn đề quản lý và phân bố các khĩa. + Vấn đề bảo mật các khĩa.
+ Các tiêu chuẩn PKCS, X.509.
2. Xây dựng các chương trình nguồn và các chương trình demo. + Chương trình nguồn:
. Mật mã RSA theo chuẩn PKCS. . Mật mã DES.
. Giải thuật băm MD5.
. Các chương trình phụ trợ như tạo khĩa, kiểm tra số nguyên tố, .... + Chương trình demo:
. Tạo khĩa RSA cho user. . Xem thư mục khĩa cơng khai.
. Tìm khĩa cơng khai trong thư mục khĩa cơng khai.
* Những cơng việc cần thực hiện tiếp: 1. Hồn chỉnh trang Web server.
2. Để tăng tính bảo mật thì khĩa dùng chung giữa server và user khơng là password của user mà là khĩa chủ của user (KMT). Khĩa này ở server được mã hĩa bằng khĩa bí mật của server, khi cĩ nhu cầu sử dụng, server sẽ giải mã khĩa này bằng khĩa bí mật của mình.
3. Xây dựng thêm các chương trình demo như hủy bỏ khĩa cơng khai trong thư mục khĩa cơng khai, chữ ký số,....