Để khắc phục vấn đề hiệu quả, hãy sử dụng một khóa phiên (được thảo luận tại mục 8.2.2). Đặc biệt, Alice (1) chọn một khóa ngẫu nhiên đối xứng phiên, KS, (2) mã hóa thông điệp của mình, m, với khóa đối xứng, (3) mã hóa
khóa đối xứng với khóa công khai của Bob, KB, (4) nối chúng lại được mã hóa
tin nhắn và khóa đối xứng được mã hóa để tạo thành một "gói", và (5) gửi
gói đến địa chỉ e-mail của Bob. Các bước được minh họa trong hình 8.19. (Trong bài này các con số tiếp theo, các vòng "+" đại diện nối và các huống cled "-". Đại diện deconcatenation) Khi Bob nhận được gói, ông (1) sử dụng khóa riêng của mình, K -, để có được chìa khóa đối xứng , K, và (2) sử dụng KS khóa đối xứng để giải mã thông điệp m.
Sau khi đã thiết kế một hệ thống e-mail an toàn cung cấp bảo mật, bây giờ chúng ta
thiết kế một hệ thống cung cấp cả xác thực người gửi và toàn vẹn thông điệp. Chúng tôi sẽ cho rằng, trong thời điểm này, Alice và Bob không còn quan tâm đến bảo mật (họ muốn chia sẻ cảm xúc của mình với tất cả mọi người!), Và đang quan tâm chỉ về xác thực người gửi và toàn vẹn thông điệp. Để thực hiện nhiệm vụ này, chúng tôi sử dụng chữ ký số và tiêu hóa tin nhắn, như mô tả trong Phần 8.3. Cụ thể, Alice (1) áp dụng một hàm băm, H (ví dụ, MD5), để thông điệp của mình, m, để có được một thông điệp tiêu hóa, (2) ký kết quả của hàm băm với khóa riêng của mình, K -, để tạo ra một chữ ký kỹ thuật số, (3) móc nối với bản gốc (không mã hóa) nhắn với chữ ký để tạo ra một gói phần mềm, và (4) gửi gói đến địa chỉ e-mail của Bob. Khi Bob nhận được gói, ông (1) áp dụng khóa công khai của Alice, K +, vào tin nhắn ký digest và (2) so sánh các kết quả của hoạt động này với băm của riêng mình, H, của tin nhắn. Các bước này được minh họa trong
đang được dịch, vui lòng đợi..