Tôi muốn tạo một thuật toán mã hóa an toàn theo nhiều cách, tôi thấy rất khó, vì vậy tôi đã nảy ra một số ý tưởng về cách triển khai thuật toán đó bằng cách sử dụng một số thuật toán nguyên thủy mà tôi biết và tôi thực sự đã phát hiện ra một số thuật toán trực tuyến tương tự như vậy. nó, nhưng tôi nghĩ đã đến lúc tham khảo diễn đàn về nó.
Đầu tiên tôi nên xác định mục tiêu của mình. Tất cả những người tham gia đều có khóa riêng và khóa chung. Giao tiếp phải có thể thực hiện được mà không cần bất kỳ thỏa thuận nào được thực hiện trước (không có khóa bí mật, đối xứng). Điều này không đáng kể vì tài sản khác ...Về cơ bản, tôi muốn những người tham gia tìm thấy tin nhắn hướng đến họ, một cách ngẫu nhiên, bất ngờ, vẫn có thể giải mã chúng trong khi vẫn duy trì tất cả các mức bảo mật.
Giả sử chúng ta có S, người gửi và R, người nhận. Khi tôi nói ai đó "không thể", ý tôi là họ vẫn có thể đặt câu hỏi và đoán theo cách thức và số lượng như được mô tả cho IND-CCA2. Tôi đang phân biệt thông tin về phần cuối của văn bản thuần hoặc bản mã, với bất kỳ thông tin nào khác về chúng (đó là nội dung và tôi sẽ gọi đó là thông tin về bản rõ). Biết nội dung mạnh hơn theo nghĩa là tôi sẽ cho phép bất kỳ ai suy luận ít nhất điều gì đó về kết thúc, nếu họ biết ít nhất điều gì đó về nội dung. Tôi muốn những thuộc tính này:
- Chỉ R mới có thể phân biệt bản mã khỏi nhiễu ngẫu nhiên.
- Chỉ S mới có thể tạo ra một bản mã chính xác.
- Chỉ R mới có thể giải mã.
- Chỉ S mới có thể mã hóa.
- Chỉ R và S mới có thể phân biệt bản mã với nhiễu ngẫu nhiên, với bản rõ.
- Đưa ra một bản mã với các bit bị hỏng ở giữa một số luồng dữ liệu ngẫu nhiên, không ai có thể tìm hiểu bất kỳ thông tin nào về phần cuối của bản mã hoặc bất kỳ thông tin nào về bản rõ.
- Đưa ra một bản mã có các bit bị hỏng ở đầu hoặc cuối của một số luồng dữ liệu ngẫu nhiên, không ai có thể tìm hiểu bất kỳ thông tin nào về đầu kia của bản mã hoặc bất kỳ thông tin nào về bản rõ.
- Đưa ra một bản mã với các bit bị hỏng, biết cả hai đầu của nó, không ai có thể tìm hiểu bất kỳ thông tin nào về bản rõ.
- Đưa ra một bản mã chính xác ở đầu một số luồng dữ liệu ngẫu nhiên, chỉ R mới có thể (và điều đó một cách hiệu quả, trong thời gian tuyến tính) tìm thấy phần cuối của bản mã và không ai khác có thể làm điều đó.
- Sự khác biệt giữa độ dài của bản mã và bản rõ là không đổi.
Sẽ ổn nếu bạn có thể cho tôi biết về một số hệ thống mật mã cung cấp một số và có thể không phải tất cả các thuộc tính này. Có lẽ tôi có thể tìm ra cách để hoàn thành nó. Và bạn có thể thêm cách giải thích của riêng mình về sự khác biệt của thông tin về phần cuối và bản rõ.
Tôi sẽ cần một chút thời gian để dịch sang tiếng Anh các tệp của mình với các ý tưởng thuật toán hiện tại của tôi, nhưng hầu như không có gì cả. Tôi để ý OAEP++ và thấy vài điểm giống với ý tưởng của tôi, nhưng chỉ có vậy thôi. Tôi liên tục không giữ được quá nhiều chi tiết trong đầu ...
Đây là nỗ lực của tôi.