Điểm:3

Hai hàm băm khác nhau có thể tạo hai khóa `ed25519` không thể liên kết từ cùng một mức độ ngẫu nhiên không?

lá cờ cn

Giả sử tình huống sau:

  1. Alice có quyền truy cập vào 32 byte ngẫu nhiên thực sự $s$.
  2. Băm Alice $s$ với SHA-512 và sử dụng hàm băm kết quả làm bí mật $d_{A}$Ed25519. Giả sử kẹp số, v.v. được thực hiện chính xác.
  3. Băm Alice $s$ với một hàm băm khác, giả sử BLAKE-2 hoặc hàm băm $s$ hai lần với SHA-512 và sử dụng kết quả làm khóa bí mật $d_{A'}$Ed25519.

Giả sử một mô hình tiên tri ngẫu nhiên và độ cứng của logarit rời rạc. Sau đó:

  1. Hai khóa công khai kết quả có thể được liên kết với cả hai đều thuộc về Alice không?
  2. Bằng cách nào đó, hai khóa công khai thu được có thể được sử dụng để truy xuất các khóa bí mật thu được không?

Đối với tôi, có vẻ như sẽ tốt hơn nếu sử dụng một CSPRNG ở đây và tạo ra đủ độ ngẫu nhiên cho hai Ed25519 phím.Nhưng tôi cũng không thể xác định bất kỳ vấn đề nào trong cách tiếp cận trên.

Điểm:3
lá cờ in

Các hàm băm là ứng cử viên cho các lời tiên tri ngẫu nhiên. SHA-3 và BLAKE2 gần như là một nhưng không phải SHA-512 vì nó có một cuộc tấn công mở rộng độ dài mà chúng tôi không mong đợi từ RO.

Các hàm băm khác nhau đã tạo ra các kết quả đầu ra khác nhau, ngay cả SHA-512 và phiên bản rút gọn SHA-512/256 của nó vì các giá trị ban đầu của chúng là khác nhau.

Trên thực tế, bạn không cần hai hàm băm để đạt được những gì bạn muốn.Bạn có thể sử dụng một hàm băm để phân tách các miền có tiền tố ban đầu. Sử dụng BLAKE2 hoặc SHAKE256.

Băm theo đường cong Elliptic, dự thảo ietf đưa ra một định nghĩa hay về phân tách miền;

Các giao thức mật mã sử dụng lời tiên tri ngẫu nhiên thường được phân tích theo giả định rằng các nhà tiên tri ngẫu nhiên chỉ trả lời các truy vấn được tạo bởi giao thức đó. Trong thực tế, giả định này không đúng nếu hai các giao thức truy vấn cùng một lời tiên tri ngẫu nhiên. Cụ thể, xem xét giao thức $P1$$P2$ truy vấn Oracle ngẫu nhiên đó $R$: nếu $P1$$P2$ cả truy vấn $R$ trên cùng một giá trị $x$, phân tích bảo mật của một hoặc cả hai giao thức có thể bị vô hiệu.

Một cách tiếp cận phổ biến để giải quyết vấn đề này được gọi là miền tách biệt, cho phép một nhà tiên tri ngẫu nhiên duy nhất mô phỏng nhiều, nhà tiên tri độc lập. Điều này được thực hiện bằng cách đảm bảo rằng mỗi mô phỏng oracle nhìn thấy các truy vấn khác với những truy vấn mà tất cả những người khác nhìn thấy tiên tri mô phỏng. Ví dụ, để mô phỏng hai nhà tiên tri $R1$$R2$ đưa ra một lời tiên tri duy nhất $R$, người ta có thể định nghĩa

$$R1(x) := R(\text{"R1"} \mathbin\| x)$$ $$R2(x) := R(\text{"R2"} \mathbin\| x)$$

Trong ví dụ này, $\text{"R1"}$$\text{"R2"}$ được gọi là miền thẻ tách; họ đảm bảo rằng các truy vấn để $R1$$R2$ không thể dẫn đến các truy vấn giống hệt nhau để $R$. Vì vậy, nó là an toàn để điều trị $R1$$R2$ như những nhà tiên tri độc lập

  1. Hai khóa công khai kết quả có thể được liên kết với cả hai đều thuộc về Alice không?

Không, miễn là hàm băm an toàn như SHA3. BLACK2/3, LẮC. Sử dụng;

  1. $d_A = \operatorname{BLAKE2}(\texttt{Key A}\mathbin\|s)$
  2. $d_{A'} = \operatorname{BLAKE2}(\texttt{Key A prime}\mathbin\|s)$
  1. Bằng cách nào đó, hai khóa công khai thu được có thể được sử dụng để truy xuất các khóa bí mật thu được không?

Curve25519 là một đường cong an toàn đối với Nhật ký rời rạc (DLog) cổ điển. Nó có bảo mật khoảng 126-bit chống lại DLog cổ điển.

Lưu ý rằng với một Máy tính lượng tử mật mã (CQC) được xây dựng cho thuật toán tài trợ thời gian của Shor, logarit rời rạc của đường cong elip sẽ không an toàn. Tuy nhiên, các hàm băm có kích thước lớn hơn 384 đầu ra sẽ an toàn trước Grover's hoặc Đồng thau và cộng sự.phương pháp của.

Do đó, bí mật được bảo mật đối với cổ điển và CQC, tuy nhiên, các khóa riêng không an toàn đối với CQC.


Lưu ý rằng, bạn cũng được hưởng lợi từ đa dạng hóa song sinh để liên kết hai khóa công khai để đạt được một số ẩn danh và sau đó bạn có thể chứng minh rằng chúng thuộc về bạn mà không tiết lộ bí mật của bạn.

Điểm:2
lá cờ gb

Trong mô hình Oracle ngẫu nhiên, điều này là an toàn vì bạn có thể sử dụng một Oracle duy nhất $\mathcal{O}$ và sử dụng phân tách miền để có được hai nhà tiên tri độc lập từ nó (ví dụ: $\mathcal{O}(1 \parallel \cdot)$$\mathcal{O}(2 \parallel \cdot)$, ở đâu $\song song$ biểu thị nối). Sau đó, bạn có thể coi các đầu ra là hoàn toàn độc lập với nhau.

Vì vậy, trong thực tế, nó thực sự phụ thuộc vào việc bạn sử dụng hàm băm nào. Miễn là nó là một ứng cử viên RO tốt (ví dụ như SHA-3), nó có thể được sử dụng theo cách tương tự: $$x_1 = H(1 \parallel s)\ x_2 = H(2 \parallel s)$$

Vì hai bí mật được tạo ra là độc lập nên câu trả lời cho cả câu hỏi 1 và 2 là: không. Việc có thể truy xuất các khóa bí mật riêng lẻ từ các khóa chung hay không (ví dụ: trong trường hữu hạn hoặc mật mã đường cong elip) chính xác là DLP, do đó, miễn là bạn sử dụng các bí mật trong sơ đồ an toàn, điều đó là không thể. Cách duy nhất để liên kết cả hai là tính ngẫu nhiên của hạt giống ban đầu $s$ được tiết lộ - sau đó bất kỳ ai cũng có thể tính toán lại hai khóa riêng lẻ và thấy rằng chúng thực sự khớp nhau. Mặt khác, ngay cả khi hai bí mật riêng lẻ bị rò rỉ (ví dụ: nếu DLP bị hỏng), chúng không thể được liên kết trở lại $s$ hoặc nhau do tính một chiều (kháng ảnh trước) của hàm băm.

Đă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.