Tôi nghĩ rằng một trong số chúng có liên quan đến các cuộc tấn công đa mục tiêu và cái còn lại liên quan đến các cuộc tấn công va chạm. Nhưng tôi không thể tìm thấy tiền điện tử dựa trên hàm băm có liên quan như thế nào đến xung đột hàm băm.
1-) Xem xét lược đồ chữ ký một lần Lamport sau đây
- Giả sử hàm băm 128 bit $H$ Được sử dụng
- Chọn ngẫu nhiên $p_i$ và $r_i $ vì $1\leq i \leq 128$
- $SK=\{(p_i,r_i)\}_i$ là khóa bí mật và $PK=\{(H(p_i),H(r_i))\}_i$ là khóa công khai.
- cho tin nhắn $M$, chúng tôi lấy hàm băm $h=H(M)$. Để cho $h=h_1h_2\cdots h_{128}$
- Để ký $M$, chúng tôi xuất bản $p_i$ nếu $h_i=0$ và $r_i$ nếu $h_i=1$ cho mỗi $i$.
Làm thế nào đối thủ có thể áp dụng $2^{64}$-chi phí tấn công?
Bảo mật của chương trình này là gì? (Tôi nghĩ 120 bit vì áp dụng đa mục tiêu, tức là đủ để tìm ít nhất một trong số $p_i,r_i$'S. Một dự đoán ngẫu nhiên có xác suất $\frac{256}{2^{128}}$)
2-) Xem xét cây Merkle ban đầu với $2^{10}$ Lamport chữ ký một lần không có bitmask với hàm băm $H$ được sử dụng ở trên. Bảo mật của chương trình này là gì? (Tương tự như trên ta có bảo mật 120-t bit sau $2^t$ chữ ký vì $\frac{256\cdot 2^t}{2^{128}}$)
Tôi nghĩ rằng nếu chúng ta sử dụng hàm băm có khóa HOẶC mặt nạ bit ở đây, tính bảo mật của sơ đồ này sẽ là 128-bit. Vậy tại sao chúng ta cần cả hai?
HOẶC, tính bảo mật của SPHINCS+ không có hàm băm hoặc mặt nạ bit có khóa là gì?