3.1. Mô tả chương trình sẽ xây dựng
Mục đích xây dựng chương trình nhằm thực hiện việc sinh khóa riêng và khóa chung bằng thuật toán RSA, công bố khóa chung của mình cho mọi người, quản lý được khóa riêng, khóa chung do mình tạo ra cũng như khóa chung của mọi người để sử dụng các khóa ấy trong việc mã hóa và giải mã trong quá trình trao đổi dữ liệu. Đồng thời người sử dụng có thể dùng chương trình để mã hóa dữ liệu của chính mình để bảo vệ khỏi các nguy cơ mất an toàn thông tin. Thao tác sử dụng đơn giản với người dùng cuối, đảm bảo an toàn. Thời gian mã hóa và giải mã dữ liệu phải nhanh.
Chương trình xây dựng được đóng gói và giải mã vào bộ nhớ ngoài là usb, các khóa đều được lữu trữ và quản lý trong usb này. Khi được cắm vào máy tính sẽ tự động chạy chương trình cho người sử dụng.
Quá trình mã hóa dữ liệu, chương trình sẽ sử dụng một khóa để mã hóa dữ liệu. Khóa tham gia mã hóa có thể là khóa riêng của bạn để gửi dữ liệu của bạn cho mọi người có khóa riêng của bạn hay là khóa chung của người mà bạn muốn gửi dữ liệu cho họ. Cũng có thể sử dụng một khóa bí mật được sinh ngẫu nhiên từ khóa riêng hoặc một cụm từ được coi như là mật khẩu bảo vệ khóa bí mật để mã hóa dữ liệu của riêng bạn.
Hình 3. 1. Mã hóa dữ liệu
Quá trình giải mã sử dụng khóa riêng tương ứng với khóa công khai của bạn mà mọi người đã mã hóa để gửi tài liệu cho bạn. Cũng tương tự như mã hóa, có
59
thể sử dụng khóa công khai của người khác để giải mã dữ liệu mà họ có chủ đích gửi nó cho bạn xem hoặc sử dụng mật khẩu bảo vệ khóa bí mật hay khóa riêng để giải mã các dữ liệu mà bạn đã mã hóa trước đó.
Hình 3. 2. Giải mã dữ liệu