อย่างไรก็ตาม ฉันไม่สามารถหาวิธีที่จะละเมิดสิ่งนี้ได้ และหวังว่าจะมีใครสักคนชี้ทางที่ถูกต้องให้ฉันได้ โดยเฉพาะอย่างยิ่ง จากที่ฉันเห็น เช็คซัมป้องกันไม่ให้ฉันปลอมแปลงลายเซ็น แม้ว่าข้อความที่แตกต่างกันสองข้อความจะถูกเซ็นชื่อด้วยคีย์เดียวกันก็ตาม ทำไมไม่เป็นเช่นนี้?
ให้เรายกตัวอย่างที่ค่อนข้างง่าย พิจารณากรณีที่มีการใช้ตัวเลข WOTS หลักเดียวเพื่อแสดงแฮช (และดังนั้นจึงใช้ตัวเลข WOTS หลักเดียวเพื่อแสดงผลรวมตรวจสอบ) สำหรับตัวอย่างนี้ เราจะมี $W=16$.
ข้อความแรกที่เราเซ็นคือค่าแฮช 2; นั่นหมายความว่าเราเผยแพร่ $H^2(x)$ (ที่ไหน $x$ มาจากคีย์ส่วนตัว) พร้อมกับเช็คซัม 14 ซึ่งเราเผยแพร่เป็น $H^{14}(ย)$ (ที่ไหน $y$ ก็มาจากคีย์ส่วนตัวเช่นกัน)
ตอนนี้ เราลงชื่อ (ด้วยคีย์ส่วนตัวเดียวกัน) ค่าแฮช 13; นั่นหมายความว่าเราเผยแพร่ $H^{13}(x)$ และการตรวจสอบ $H^3(ย)$.
ณ จุดนี้ ผู้โจมตีมีข้อมูลเพียงพอที่จะสร้างการปลอมแปลงสำหรับ (เช่น) ค่าแฮช 7 ในการทำเช่นนั้น เขาจะใช้ $H^2(x)$ ค่าจากลายเซ็นแรก (ซึ่งเราจะเรียกว่า $a$) และคำนวณ $H^5(ก)$; เขาจะเอา $H^3(ย)$ จากลายเซ็นที่สอง (ซึ่งเราจะเรียกว่า $ข$) และคำนวณ $H^6(ข)$. คู่ $H^5(ก), H^6(ข)$ เท่ากับ $H^7(x), H^9(y)$และเป็นลายเซ็นที่ถูกต้องสำหรับ 7 แม้ว่าผู้โจมตีจะไม่ทราบว่าค่าใดสำหรับ $x$ และ $y$ เป็น.
การโจมตีนี้ขยายไปถึงระบบ WOTS จริงได้อย่างง่ายดาย (ซึ่งข้อความแสดงเป็นตัวเลขหลายตัว) และการปรับเปลี่ยน WOTS+ (ซึ่งเปลี่ยนค่าที่ไม่ซ้ำกันสำหรับการเรียกใช้แฮชแต่ละครั้ง) ไม่ได้ทำให้งานของผู้โจมตียากขึ้น