ฉันกำลังอ่าน BIP340 และฉันมีปัญหาในการทำความเข้าใจส่วนนี้:
ตัวอย่างเช่น หากไม่มีการแฮชแท็ก ลายเซ็น BIP340 ก็อาจใช้ได้กับรูปแบบลายเซ็นเช่นกัน โดยที่ข้อแตกต่างเพียงอย่างเดียวคืออาร์กิวเมนต์ของฟังก์ชันแฮชจะถูกจัดลำดับใหม่ ที่แย่กว่านั้น หากฟังก์ชันการสืบทอด BIP340 nonce ถูกคัดลอกหรือสร้างโดยอิสระ ดังนั้น nonce อาจถูกนำกลับมาใช้ใหม่โดยไม่ตั้งใจในโครงร่างอื่นที่รั่วไหลของรหัสลับ
ฉันถือว่าประโยคแรกใช้ได้เฉพาะในกรณีที่อาร์กิวเมนต์เกิดขึ้นเพื่อแบ่งปันค่า ถูกต้องหรือไม่ ตัวอย่างเช่น แฮชที่ใช้โดย BIP340 คือ $\text{hash}(R||P||m)$. หากใช้โครงร่างอื่น $\text{แฮช}(R||m||P)$จากนั้นแผนทั้งสองนี้จะส่งผลให้เกิดการชนกันหากข้อความ $m$ การเซ็นชื่อเกิดขึ้นเท่ากับคีย์สาธารณะ $พี$ทำให้ลายเซ็นในรูปแบบหนึ่งถูกต้องในอีกรูปแบบหนึ่ง
คำถามหลักของฉันเกี่ยวข้องกับประโยคที่สอง การไม่ติดแท็กแฮชจะทำให้เกิดการใช้ nonce ซ้ำในรูปแบบแยกต่างหากเพื่อทำให้คีย์ส่วนตัวรั่วไหลได้อย่างไร ฉันกำลังพยายามคำนวณทางคณิตศาสตร์เพื่อดูว่ามันจะทำงานอย่างไร
สมมติว่าเรามีโครงร่าง Schnorr สองแบบซึ่งสร้างแฮชดังนี้:
โครงการที่ 1: $e_1=\text{แฮช}(R||P||m)$
โครงการที่ 2: $e_2=\text{แฮช}(R||m||P)$
ฉันเห็นว่าการใช้ nonce ซ้ำจะทำให้คีย์ส่วนตัวรั่วได้อย่างไรหากใช้คีย์เดียวกันในทั้งสองแผนและแฮชต่างกัน สักครั้ง $k$คีย์ส่วนตัว $d$และลายเซ็น $s_1$ และ $s_2$ เรามี:
\begin{จัด}
s_1 &= k + e_1 \cdot d \
s_2 &= k + e_2 \cdot d \
s_1 - s_2 &= ง (e_1 - e_2) \
d &= (s_1 - s_2) (e_1 - e_2) ^ {-1}
\end{แนว}
อย่างไรก็ตาม หากแฮชแตกต่างกันอยู่แล้ว การแก้ไขอาร์กิวเมนต์แฮชด้วยแท็กเฉพาะสคีมจะไม่สร้างความแตกต่าง
อีกวิธีหนึ่งที่ฉันเห็นคือคีย์ส่วนตัวแตกต่างกันและแฮชเหมือนกันหรือไม่ เนื่องจากฉันเดาว่าประโยคแรกในใบเสนอราคา BIP มีความหมายโดยนัย หากคีย์ส่วนตัวถูก $d_1$ และ $d_2$และแฮชมีการปะทะกันและเป็นทั้งคู่ $e$ดังนั้นความแตกต่างในคีย์ส่วนตัวอาจรั่วไหลได้ดังนี้:
\begin{จัด}
s_1 &= k + e \cdot d_1 \
s_2 &= k + อี \cdot d_2 \
s_1 - s_2 &= อี \cdot (d_1 - d_2) \
d_1 - d_2 &= (s_1 - s_2) \cdot จ^{-1}
\end{แนว}
แม้ว่าสิ่งนี้จะทำให้ความแตกต่างของคีย์ส่วนตัวรั่ว ซึ่งอาจจะไม่เหมาะ แต่ฉันก็ไม่เห็นว่าคีย์ส่วนตัวจะรั่วไหลออกมาได้อย่างไร
บางทีฉันอาจจะไปผิดทาง คณิตศาสตร์ทำงานอย่างไรในแง่ของการรั่วไหลของคีย์ส่วนตัวอันเป็นผลมาจากทั้งการใช้ nonce ซ้ำและไม่ได้ติดแท็กแฮช