มีอะไรพิเศษเกี่ยวกับ


12

ในอัลกอริทึมการเข้ารหัสเล็ก :

ค่าคงที่เวทย์มนตร์ที่แตกต่างกันถูกนำมาใช้เพื่อป้องกันการโจมตีแบบง่าย ๆ โดยพิจารณาจากความสมมาตรของรอบ ค่าคงที่เวทย์มนตร์ 2654435769 หรือ 9E3779B9 16ถูกเลือกเป็นโดยที่ ϕ คืออัตราส่วนทองคำ232/ϕ

ซึ่งคุณสมบัติไม่มีที่ทำให้มันมีประโยชน์ในบริบทนี้?232/ϕ


1
อาจมีความเกี่ยวข้อง: en.wikipedia.org/wiki/Nothing_up_my_sleeve_number
ชาร์ลส์

คำตอบ:


11

AFAIK ค่า "เวทมนต์" ดังกล่าวมีคุณสมบัติสองอย่างต่อไปนี้:

  1. พวกมันไม่เหมือนใครและดูแบบสุ่ม
  2. พวกเขาสามารถมีส่วนร่วมในการดำเนินการเกี่ยวกับพีชคณิตซ้ำ ๆ ; นั่นคือแม้หลังจากใช้การดำเนินการที่เฉพาะเจาะจง (พูดการคูณหรือการยกกำลัง) หลายครั้งค่า "เวทมนต์" ยังสามารถสร้างค่าใหม่ได้

คุณอาจพบกรณีที่คล้ายกันในMD5 พิจารณาบรรทัดต่อไปนี้:

k[i] := floor(abs(sin(i + 1)) × (2 pow 32))

ที่นี่sin(i + 1)มีวัตถุประสงค์เพื่อสร้างค่าเวทมนตร์; ซึ่งมีลักษณะเฉพาะที่ดูสุ่มและสามารถทำงานได้หลายiอย่าง (จริง ๆ แล้วเป็นiช่วงใน 0..63)

แก้ไข:อ่านกระดาษต้นฉบับใน TEAเราเข้าใจดีว่าคำตอบที่ได้รับจาก "Steven Stadnicki" นั้นถูกต้อง โปรดทราบว่าค่าคงที่มายากลคือชื่อเดลต้า:

มีการใช้เดลต้าหลายตัวที่แตกต่างกันในแต่ละรอบเพื่อไม่ให้บิตของทวีคูณจะไม่เปลี่ยนบ่อย เราสงสัยว่าอัลกอริทึมไม่ไวต่อค่าของเดลต้าและเราเพียงต้องการหลีกเลี่ยงค่าที่ไม่ดี มันจะถูกบันทึกไว้ว่าเดลต้ากลายเป็นแปลกด้วยการตัดหรือปัดเศษที่ใกล้ที่สุดดังนั้นจึงไม่จำเป็นต้องมีข้อควรระวังเพิ่มเติมเพื่อให้แน่ใจว่าตัวเลขทั้งหมดของการเปลี่ยนแปลงผลรวม

เนื่องจากมีการใช้เดลต้าเพียง 32 รายการเท่านั้น (หนึ่งรายการต่อแต่ละรอบ) จึงไม่แปลกที่อัลกอริทึมจะไม่ไวต่อเดลตาใด ๆ มากนัก (ดูคำตอบของ Steven Stadnicki สำหรับข้อมูลเพิ่มเติม)

แก้ไข 2:อนึ่งMD4ใช้รากที่สองของ 2 (0x5a827999) และ 3 (0x6ed9eba1) เป็นค่าคงที่ "เวท" ในการดำเนินการ ส่วนที่ 5.4.4 ของความปลอดภัยเครือข่ายหนังสือ: การสื่อสารส่วนตัวในโลกสาธารณะอธิบายได้ดี:

เพื่อแสดงให้เห็นว่านักออกแบบไม่ได้เลือกค่าคงที่ของค่าคงที่โดยเจตนาค่าคงที่จะขึ้นอยู่กับรากที่สองของ 2

คำอธิบายนี้เหมือนกับจุดที่ทำไว้ด้านล่างในความคิดเห็นโดย Gilles


ฟังดูสมเหตุสมผล 2 ^ 32 / pi หรือ 2 ^ 32 / sqrt (2) ก็ใช้ได้เหมือนกันไหม

@Tim: ฉันเดา แต่มันเป็นเครื่องมือที่จะตรวจสอบหมายเลขมายากลใหม่ในบริบทของการดำเนินงานภายใน TEA
MS Dousti

5
นอกจากนี้เหตุผลในการเลือกค่าคงที่ทางคณิตศาสตร์เช่น 2 ^ 32 / phi แทนที่จะเป็นค่าแบบสุ่มที่สร้างขึ้นด้วยคุณสมบัติที่ยอมรับได้คือการให้ความมั่นใจเล็กน้อยว่านี่ไม่ใช่ค่าที่เลือกสำหรับคุณสมบัติที่ยังไม่ได้รับการเปิดเผยเพิ่มเติม - ค่าลับๆ .
Gilles 'หยุดความชั่วร้าย'

2
@Gilles แน่นอนพวกเขายังถูกเรียกว่า "ไม่มีอะไรเหลือแขนเสื้อของฉัน" ด้วยเหตุผลนั้นดูen.wikipedia.org/wiki/Nothing_up_my_sleeve_number
Henno Brandsma

12

φnφφ{nφ}{nα}α

Cπ=232/π=1367130551(355Cπ)mod232=41157Cφ=232/φ=2654435769n|(nCφ)mod232|216n=28657XnXn+kของเครื่องกำเนิดเลขสุ่มเชิงเส้นสมมาตรสำหรับขนาดเล็กบางตัว; สำหรับส่วนใหญ่แล้วมันเป็นเวทมนตร์สีดำชาวบ้านขึ้นอยู่กับสัญชาตญาณว่า 'ทวีคูณเล็ก ๆ ของจำนวนนี้เป็น mod ขนาดเล็กจะไม่ดี' กว่าผลทางทฤษฎีใด ๆ ที่เฉพาะเจาะจงk232


1
Sadeq: 'mod 1' หมายถึงส่วนที่เป็นเศษส่วนของทวีคูณ - ในกรณีนี้สิ่งเหล่านี้จะเป็น [.62, .24, .85, .47, .09, .71, .94, .94, .56,. 18] Equidistribution ในขีด จำกัด หมายความว่าช่วงย่อยใด ๆ [a, b] ของ [0, 1] มีสัดส่วนที่คาดหวัง (ba) ของค่าเหล่านี้; ในขณะที่ปรากฎว่าเศษส่วนของส่วนทวีคูณของจำนวนอตรรกยะใด ๆ มีการกระจายอย่างเท่าเทียมกันใน [0, 1], วิธีอัตราส่วนทองคำที่แม้แต่กระจายเร็วกว่าหมายเลขอื่น ๆ ; พวกเขาไม่ 'กอ' ในช่วงหน่วย
Steven Stadnicki

8
πยกตัวอย่างเช่นการประมาณอย่างใกล้ชิดของภายใน 355/113 หมายความว่าจะเข้าใกล้จำนวนเต็มมากกว่าที่ควรจะเป็น 'และนี่จะแสดงเป็นกลุ่มของส่วนที่เป็นเศษส่วนของค่า จะอยู่ใกล้กับพิเศษ อัตราส่วนทองคำไม่มีการประมาณที่ดีเช่นนั้น การประมาณทั้งหมดนั้นอยู่ห่างจากมันมากที่สุด ( en.wikipedia.org/wiki/ครอบคลุมเนื้อหานี้)113π{(n+113)π}{nπ}
Steven Stadnicki

8
นั่นเป็นสมบัติที่ประณีตมากของอัตราส่วนทองคำ
Suresh Venkat

2
ขอบคุณสำหรับคำอธิบายที่ดี มันยอดเยี่ยมจริงๆ! คุณมีความคิดเห็นใด ๆk[i]ตามที่กำหนดไว้ใน MD5 หรือไม่ (ดูคำตอบของฉันด้านบน)
MS Dousti

2
น่าเสียดายที่ฉันไม่; - สิ่งเดียวที่อยู่ในใจคือพวกเขาอาจได้รับเลือกให้เป็นอิสระโดยประมาณเชิงเส้นเนื่องจากฟังก์ชั่นมีความเป็นอิสระเป็นเส้นตรงมากกว่า - แต่ฉันไม่รู้เหตุผลใด ๆ ที่จะเชื่อว่าชุดของค่านี้ควร นำไปสู่ค่าที่ค่อนข้างใหญ่สำหรับในความสัมพันธ์เชิงเส้นใด ๆ0 sin(nx)xaiΣaik[i]=0
Steven Stadnicki
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.