Điểm:0

Có hệ thống mật mã khóa công khai, "không thỏa thuận", tất cả hoặc không có gì, "tin nhắn có độ dài bí mật" hoặc một số cách dễ dàng để lấy được nó không?

lá cờ br

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:

  1. Chỉ R mới có thể phân biệt bản mã khỏi nhiễu ngẫu nhiên.
  2. Chỉ S mới có thể tạo ra một bản mã chính xác.
  3. Chỉ R mới có thể giải mã.
  4. Chỉ S mới có thể mã hóa.
  5. 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õ.
  6. Đư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õ.
  7. Đư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õ.
  8. Đư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õ.
  9. Đư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 đó.
  10. 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.

SAI Peregrinus avatar
lá cờ si
Yêu cầu 2, 4 và tính không thể phân biệt được với ngẫu nhiên khiến điều này trở nên khá phức tạp. Có lẽ tôi sẽ kết thúc với thứ gì đó bằng cách sử dụng Elligator để ẩn khóa, Ristretto cho các nhóm chữ ký & trao đổi khóa và hệ thống đăng nhập rồi mã hóa trong đó văn bản gốc được ký, sau đó được mã hóa bằng lược đồ Mã hóa bảo hiểm rủi ro được xác thực với dữ liệu được liên kết với việc ký khóa công khai và hàm băm của khóa bí mật tạm thời trong dữ liệu được liên kết. Pad với PADMÃ. Điều đó sẽ cho phép R từ chối tin nhắn từ bất kỳ ai khác ngoài S, cung cấp một tin nhắn trông ngẫu nhiên, v.v. Mặc dù vậy, rất khó để hiểu đúng.
kodlu avatar
lá cờ sa
Sự khác biệt giữa 2 và 4 là gì? Không phải là họ tương đương?
poncho avatar
lá cờ my
Nếu yêu cầu 9 có nghĩa là 'thời gian tuyến tính theo độ dài của bản rõ' (có thể ngắn hơn đáng kể so với bản mã), thì có sự mâu thuẫn giữa điều đó và 8. Để 9 đúng, bộ giải mã không thể kiểm tra toàn bộ bản mã để xác định độ dài bản rõ; 8 khẳng định rằng việc sửa đổi một số bit của bản mã ngăn không cho bất kỳ ai biết được bất kỳ điều gì về bản rõ (bao gồm cả độ dài); điều gì sẽ xảy ra nếu các bit được sửa đổi không được kiểm tra khi xác định độ dài của bản rõ?
donaastor avatar
lá cờ br
@SAIPeregrinus Cảm ơn bạn rất nhiều! Đó là rất nhiều thông tin chi tiết mà tôi sẽ sẵn lòng dành thời gian xem xét và quay lại với nhiệm vụ của mình và bài viết này sẽ dễ đọc hơn.
donaastor avatar
lá cờ br
@kodlu Không hẳn. Về lý thuyết, một người có thể tạo ra một bản mã bắt đầu từ một thứ không phải là bản rõ và vẫn tin rằng những gì anh ta tạo ra là một bản mã phù hợp, nhưng mặt khác, không thể tạo ra bản mã, bắt đầu từ bản rõ. Vì vậy, 4 ngụ ý 2, nhưng tôi không chắc chắn rằng 2 ngụ ý 4.
donaastor avatar
lá cờ br
@poncho Bạn nói đúng, lỗi của tôi. Tôi đã gặp khó khăn khi viết 3 thuộc tính cuối cùng vì tôi không thể thấy rõ cách phân tách thông tin về độ dài ngoài tất cả các thông tin khác (như nội dung của tin nhắn). Bạn nhận thấy một mâu thuẫn trong lần thử đầu tiên của tôi, tôi sẽ cố gắng khắc phục nó ngay bây giờ.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.