Xác thực-: Tôi hiểu rằng xác thực về cơ bản là chữ ký điện tử.
Bạn có thể sử dụng chữ ký số để xác thực, có thể là xác thực thực thể (ví dụ: trong giao thức TLS) hoặc xác thực thông báo (ví dụ: trong giao thức PGP).Tuy nhiên, cũng có thể sử dụng các phương tiện khác, ví dụ: MAC nếu bạn chia sẻ khóa bí mật: chữ ký điện tử là phương tiện để đạt được mục đích cuối cùng.
Trong mã hóa RSA, chúng tôi sử dụng khóa chung (của người gửi hoặc người nhận?) Để mã hóa và khóa riêng (của ai?) Để giải mã.
Bạn sẽ sử dụng khóa chung của người nhận. Tuy nhiên, trước tiên bạn cần thiết lập niềm tin vào khóa công khai. Đây là lý do tại sao bạn có thể ví dụ: ký các khóa trong PGP để bạn có thể sử dụng nó web đáng tin cậy.
Họ nói rằng hàm băm được mã hóa bằng RSA. Nhưng tại sao ở đây chúng ta lại sử dụng PRIVATE KEY (của người gửi) (thay vì public key) và public key của người gửi thay vì private key?
Khóa riêng của người gửi được sử dụng để tạo chữ ký. Có thể chỉ ra rằng khóa riêng của người gửi được sử dụng bằng cách xác minh chữ ký. Hàm băm trên dữ liệu được sử dụng để tính toàn vẹn và tính xác thực của thông điệp được duy trì.
Nó là tốt nhất không phải coi đó là mã hóa bằng khóa riêng, vì vậy họ đã hiểu sai. Cả việc tạo và mã hóa chữ ký trong RSA đều phụ thuộc vào lũy thừa mô-đun. Tuy nhiên, đó là nơi những điểm tương đồng kết thúc. Để biết thêm thông tin, hãy xem câu hỏi tự trả lời của tôi đây.
Lưu ý rằng hai các cặp khóa được sử dụng nếu bạn muốn mã hóa và ký tên. Phần mã hóa được thực hiện bằng cặp khóa của người nhận, trong khi việc tạo chữ ký được thực hiện bằng cặp khóa của người gửi. Mã hóa luôn được thực hiện bằng khóa chung, giải mã bằng khóa riêng. Để tạo chữ ký, khóa riêng được sử dụng, để xác minh khóa chung.
Thường thì dữ liệu hoặc khóa phiên được mã hóa thay vì tin nhắn trực tiếp. Đó chỉ là vì mã hóa đối xứng hiệu quả hơn (không chỉ về thời gian tính toán mà còn về kích thước bản mã thu được). Tương tự như vậy, bạn thường ký mã băm thay vì thông báo - mặc dù cũng có một số lý do liên quan đến bảo mật cho điều đó.