วิธีที่ชัดเจนในการโจมตีสิ่งนี้ (และเรากำลังทำให้สั้นลง $\text{SHA256}(ม)$ เช่น $S(ม.)$ :
สำหรับข้อความจำนวนมาก $m_i$,คำนวณ $S(m_i)$และปัจจัยที่ ถ้าจะให้ราบรื่น ให้บันทึกข้อความและปัจจัยหลักในตาราง หากไม่ราบรื่นให้ปฏิเสธ
เมื่อคุณบันทึกข้อความ (และปัจจัยสำคัญ) ในตารางของคุณเพียงพอแล้ว ให้ตัดตารางปัจจัยสำคัญออกเพื่อค้นหาชุดของข้อความและปัจจัยที่จำนวนเฉพาะทั้งหมดของข้อความที่เลือกเมื่อคูณด้วยปัจจัยทั้งหมดจะรวมกันเป็น 0
หากเรามีผลิตภัณฑ์ดังกล่าว (และตัวคูณที่ตรงกับข้อความใดข้อความหนึ่ง ให้พูดว่า $S(m_0)$, คือ 1) แล้วเรามี (โดยที่ $p_i$ เป็นตัวคูณที่เรากำหนดให้กับข้อความ $i$):
$$S(m_1)^{-p_1} \cdot S(m_2)^{-p_2} \cdot ... \cdot S(m_n)^{-p_n} \equiv S(m_0)$$
จึงขอลายเซ็นของ $m_1, m_2, ..., m_n$; จากนั้นคุณสามารถสรุปลายเซ็นสำหรับ $m_0$.
ดังนั้นเป็นไปได้แค่ไหน? ตรรกะส่วนใหญ่นั้นชวนให้นึกถึงสิ่งที่ทำใน Quadratic Field Sieve (QFS); ขนาด (256 บิต) คือสิ่งที่คุณได้รับเมื่อคุณใช้ QFS กับโมดูลัส 512 บิต QFS สามารถแยกโมดูลัส 512 บิตได้ ฉันสรุปได้ว่าอัลกอริทึมนี้ก็เป็นไปได้เช่นกัน