โดยทั่วไปไม่มี
ในการเข้ารหัส ลักษณะของสตริงตัวเลข "สุ่ม" โดยทั่วไปค่อนข้างน่าสงสัย --- จะเกิดอะไรขึ้นหากมีตัวเลือกตัวเลขที่ "อ่อนแอ" บางตัวที่ทำให้การก่อสร้างทั้งหมดไม่ปลอดภัย คุณรู้ได้อย่างไรว่านักออกแบบไม่ได้ใช้อิสระในการเลือกตัวเลขเหล่านี้เพื่อฝังประตูหลัง โปรดทราบว่าสิ่งนี้ ทำ เกิดขึ้น ตัวอย่างที่มีชื่อเสียงได้แก่
โปรดทราบว่ามี "ค่าคงที่ตามอำเภอใจ" บางอย่างที่ถูกมองว่าน่าสงสัยน้อยกว่า --- ตัวเลือกทั่วไปคือตัวเลขของ $\pi$หรือสิ่งของในลักษณะนี้ (พูดเลขของ $\sqrt{2}$ หรือ $\sqrt{3}$). สิ่งเหล่านี้มักถูกเรียกว่า ไม่มีอะไรขึ้นหมายเลขแขนเสื้อของฉันและสามารถเข้าถึงได้เมื่อผู้ออกแบบต้องการเพียงตัวเลขตามอำเภอใจที่ตอบสนองข้อจำกัดขั้นต่ำบางประการที่ตัวเลข "ส่วนใหญ่" ควรตอบสนอง
อย่างไรก็ตาม กลับไปที่ RIPEMD
มันถูกระบุไว้ในเอกสารปี 1995 เรื่อง "Integrity primitives for secure information systems" (หาข้อมูลได้จาก ลิงค์นี้).
โดยเฉพาะอย่างยิ่งข้อกำหนดที่มีอยู่ใน เอกสารนี้.
ฉันดึงความสนใจของคุณไปที่หน้า 75 ของเอกสาร (ในหน้า 7 ของไฟล์ PDF)
ค่าคงที่สี่ค่าที่ใช้ในการดำเนินการเหล่านี้ไม่ได้ถูกเลือกแบบสุ่ม พวกเขา
เป็นส่วนจำนวนเต็มของ $2^{30}\sqrt{2}, 2^{30}\sqrt{3}, 2^{30}\sqrt[3]{2}, 2^{30}\sqrt[3]{3}$ ตามลำดับ อย่างไรก็ตาม ไม่มีเหตุผลเฉพาะสำหรับตัวเลือกนี้
สิ่งนี้จะอธิบายถึงค่าคงที่ใน เพิ่มค่าคงที่
ส่วนหนึ่งของไฟล์ที่คุณเชื่อมโยง --- ไม่มีอะไรเกินหมายเลขแขนเสื้อของฉัน
ขออภัย ตารางเฉพาะที่คุณถามไม่ได้รับการอธิบายอย่างน่าพอใจ
ผู้เขียนระบุว่าพวกเขาจำลองการดัดแปลงฟังก์ชันการบีบอัดของ MD4 (รวมถึงตารางที่คุณสังเกตเห็น) แต่เพียงระบุว่ามีการดัดแปลงของ B. den Boer ซึ่งพวกเขาอ้างว่าเป็น การสื่อสารส่วนบุคคล (ดังนั้นจึงไม่ทราบเหตุผลเฉพาะสำหรับการแก้ไข)
โชคไม่ดีที่เนื้อหาอื่น ๆ ในรหัสไม่ได้ให้ความกระจ่างเช่นกัน
พิจารณา การโจมตีครั้งนี้ บนแฮช
ผู้เขียนกล่าวถึง (ตามที่ปรากฏอย่างชัดเจน) ว่าดัชนี "การเลือกข้อความข้อความ" จะต้องเป็นการเรียงสับเปลี่ยนโดยเฉพาะ (ซึ่งถูกกล่าวถึงในข้อกำหนดเบื้องต้นเช่นกัน) แต่ก็ไม่ชัดเจน ทำไม เลือกการเรียงสับเปลี่ยนเฉพาะเหล่านั้น
สิ่งสุดท้ายที่ฉันจะพูดถึงคือบางครั้งคุณอยู่ในสถานการณ์ที่มีทางเลือกที่เป็นไปได้มากมายสำหรับบางคน มีโครงสร้าง วัตถุ (เช่นการเรียงสับเปลี่ยน ดังนั้นคุณจึงไม่สามารถคาดหวังตัวเลขของ $\pi$ ก็เพียงพอแล้ว) และคุณต้องเลือกอย่างใดอย่างหนึ่ง
กลยุทธ์หนึ่งที่คุณสามารถทำได้ (แทนที่จะดึงมันออกมาจากอากาศ) คือ:
- พยายาม "จัดอันดับ" วัตถุที่มีโครงสร้างตามเมตริกประสิทธิภาพ จากนั้น
- เลือก "อันดับแรก" (ในลำดับปกติ) ของวัตถุ "มีประสิทธิภาพสูงสุด"
สิ่งนี้คลุมเครือ ดังนั้นตัวอย่างเฉพาะอาจมีประโยชน์
การออกแบบ AES ต้องใช้เลขคณิตมากกว่า $\mathsf{GF}(2^8)$. พหุนามดีกรี 8 ที่ลดไม่ได้ใดๆ $\mathbb{F}_2$ กำหนดสำเนา "แตกต่าง" (แต่ทั้งหมดร่วมกัน isomorphic) ของ $\mathsf{GF}(2^8)$.
ในกรณีนี้ คุณจะเลือกพหุนามใดในการออกแบบ AES
นักออกแบบ AES ให้เหตุผลกับตัวเลือกนี้ (และตัวเลือกอื่นๆ ที่คุณอาจพบว่าน่าสนใจ) ส่วนที่ 7 ของข้อเสนอของพวกเขา.
พหุนาม $ม(x)$ ...สำหรับการคูณใน $\mathsf{GF}(2^8)$ เป็นรายการแรกของพหุนามลดไม่ได้ของดีกรี 8 ที่กำหนดใน [LiNi86, p. 378].
ดังนั้นพวกเขาจึงอุทธรณ์ต่อคำสั่งของผู้แต่งบางคนที่ไม่ใช่พวกเขา
ฉันได้เห็น (และคิดว่าฉันมีสำหรับ AES โดยเฉพาะ) ทางเลือกที่จะ:
- รวบรวมพหุนามที่ลดไม่ได้ทั้งหมด
- จัดเรียงตามน้ำหนักการตอก (เมตริกประสิทธิภาพ)
- ของน้ำหนักการตอกขั้นต่ำ ให้เลือกอันแรกตามพจนานุกรม
แน่นอนว่าสิ่งนี้ไม่มีประโยชน์สำหรับตารางของคุณโดยเฉพาะ