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$ và $P2$ truy vấn Oracle ngẫu nhiên đó $R$: nếu $P1$ và $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$ và $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"}$ và $\text{"R2"}$ được gọi là miền
thẻ tách; họ đảm bảo rằng các truy vấn để $R1$ và $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$ và
$R2$ như những nhà tiên tri độc lập
- 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;
- $d_A = \operatorname{BLAKE2}(\texttt{Key A}\mathbin\|s)$
- $d_{A'} = \operatorname{BLAKE2}(\texttt{Key A prime}\mathbin\|s)$
- 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.