(Sử dụng phần mềm mã nguồn mở GnuPG để mô phỏng) Ký thông điệp:
Nếu A muốn gửi một thông điệp được ký đến B, trƣớc tiên A phải có khoá công khai của B, khoá công khai này đƣợc CA cấp phát nhƣ mô phỏng ở trên.
- Giả sử khoá công khai của B là trungvd@thanhhoa.gov.vn-key. - A nhập khoá công khai của B vào cơ sở dữ liệu của A bằng lệnh:
--import trungvd@thanhhoa.gov.vn-key
- Để đảm bảo rằng A đã tin tƣởng B, A khởi tạo ký nhận cho khoá của B
--sign-key “trungvd@thanhhoa.gov.vn”
(trungvd@thanhhoa.gov.vn là Realname của B)
- Xem Realname của B sau khi đã import vào CSDL:
--list-key
Chƣơng trình yêu cầu A nhập passphare của A để xác nhận.
A muốn gửi dữ liệu đã được mã hoá cho B, thực hiện như sau:
-sear "trungvd@thanhhoa.gov.vn" data_sendto_B
Chƣơng trình yêu cầu A xác nhận với passphare đã chọn. Cuối cùng nó sinh ra file data_sendto_B.asc đƣợc mã hóa. Sau đó, A có thể gửi cho B public key của A
Xác thực chữ ký:
Để đọc dữ liệu A gửi trƣớc hết B phải import a_key.asc vào database của B,
sau đó để mở file dữ liệu B chỉ cần thực hiện:
-d data_sendto_B.asc
Chƣơng trình yêu cầu B nhập passphare (khóa cá nhân của B) để xác nhận nếu đúng thì một file data_sendto_B đƣợc sinh ra với dữ liệu ban đầu và B biết đƣợc
thông tin A gửi cho anh ta. Mã hoá thông điệp:
Giả sử A đã có sẵn một cặp khoá và bây giờ dùng nó để mã hoá cho file
secret_data, ta làm nhƣ sau:
-r "a_realname" -e secret_data
(a_realname đã đƣợc A nhập lúc sinh key).
Chƣơng trình sẽ sinh ra một file dữ liệu đƣợc mã hóa với tên là secret_data.gpg
Để giải mã trở lại, ta thực hiện:
-d secret_data.gpg
Chƣơng trình yêu cầu A nhập passpharse để xác nhận. Nếu đúng nó sẽ xuất ra file secret_data ban đầu.