Vấn đề là bạn (và tôi) đã không đọc tài liệu đúng cách;
Trong phần được trích dẫn của bạn, họ xem xét việc tấn công biến thể chữ ký Schnorr, Để đơn giản hóa, tôi sẽ sử dụng một ký hiệu ngắn hơn là $H(m)$
Vâng, họ xem xét vụ va chạm cho cuộc tấn công. Nếu có chữ ký $sign(prv,H(m))$ và bạn muốn giả mạo, bạn cần các cuộc tấn công tiền hình ảnh vào hàm băm $H$ để bạn có thể khẳng định rằng $m'$ là thông điệp dự định.
Trong phần được trích dẫn của tài liệu Bip340, đây là trường hợp. Bạn muốn người đồng ký của mình ký một thông điệp mà bình thường họ không muốn ký. Vì vậy, bạn tìm thấy một số cặp va chạm $m_i \neq m'_i$ như vậy mà $H(m_i) = H(m'_i)$ với tài sản bổ sung; cosigner của bạn sẽ ký cho $m_i$ nhưng không phải cho $m'_i$ mà cái thứ hai là vì lợi ích của bạn chứ không phải của họ. Họ sẽ không nghi ngờ $m_i$ ký và họ sẽ ký và bạn sẽ sử dụng $m'_i$ làm thông báo đã ký để đạt được lợi thế so với người đồng ký tên của bạn.
sau này họ viết là;
Vì chúng tôi muốn tránh sự mong manh đi kèm với các hàm băm ngắn, $e$ biến thể không cung cấp lợi thế đáng kể. chúng tôi chọn $R$-option, hỗ trợ xác minh hàng loạt.
Nếu bạn cam kết $m$ trước chữ ký, thì cả va chạm và hình ảnh trước sẽ không hoạt động. Để xem;
Trong trường hợp này, người đồng ký ác ý cần tấn công $cam kết$ để tìm một tin nhắn thứ hai khác $m'$ như là $H(m) = H(m')$, tức là thực hiện một cuộc tấn công trước hình ảnh thứ hai và điều này sẽ giữ cho $\text{hash}(R || P || m) = \text{hash}(R || P || m')$, quá. Hoàn toàn không thể.