Vì vậy, tôi nghĩ, tốt, ok; Tôi sẽ cung cấp cho mỗi nút một cặp khóa riêng/công khai, sử dụng Mã hóa kết hợp để mã hóa thư bằng khóa chung của người nhận và sử dụng Chữ ký số để ký thư bằng khóa riêng của người gửi.
Coi chừng đây là mã hóa-rồi-ký. Chỉ OK nếu bạn chỉ tin tưởng một nhóm người tham gia cụ thể và bạn tin tưởng những người tham gia không thay thế chữ ký của bất kỳ người tham gia nào khác.
1. Đây có phải là thuộc tính cơ bản của các cơ chế mật mã có liên quan không?
Không, không phải vậy. Và họ quên thể hiện mã hóa lai sử dụng RSA.
2. Có thực sự không có cách nào để sử dụng cùng một cặp khóa để ký cũng như mã hóa, hoặc thậm chí có thể giữa bất kỳ hai cơ chế đối xứng nào được đưa ra ở đây không?
Có, bạn có thể sử dụng RSA cho cả hai và các cặp khóa ECDH thường cũng tương thích với ECDSA. Tuy nhiên, API này là để sử dụng mật mã một cách an toàn và sử dụng cùng một khóa cho cả hai quá trình tạo chữ ký và giải mã không được coi là thực hành tốt nhất.
3. Tôi có phải theo dõi nhiều khóa trên mỗi nút không? Tôi đã ấp ủ hy vọng xác định được các nút bằng khóa công khai của chúng; nó có vẻ là một giải pháp đặc biệt tao nhã ....
Nó không phải. Thông thường bạn cần phải có quản lý chìa khóa. Các khóa thường có khung thời gian xác định khi chúng hợp lệ. Ví dụ, các chứng chỉ có không phải trước đây
và không phải sau khi
các trường không chỉ cho biết thời điểm chứng chỉ hợp lệ mà còn cho biết khóa riêng (và thường là khóa chung) có thể được sử dụng trong bao lâu.
Có vẻ như thư viện này là một thư viện trợ giúp cho các nhà phát triển. Nó không thực sự chỉ định bất kỳ giao thức nào.Thành thật mà nói, tôi nghĩ rằng những loại "thư viện trình bao bọc" không triển khai và/hoặc không dành riêng cho ứng dụng này sẽ bị hạn chế sử dụng.
Tôi thực sự khuyên bạn nên sử dụng hai cặp khóa, một cặp để mã hóa và ký. Để tạo khung tin cậy, bạn có thể sử dụng PKI. Cuối cùng, có vẻ như bạn yêu cầu an ninh vận tải; trong trường hợp đó, tôi muốn giới thiệu TLS.