เป็นไปได้หรือไม่ที่จะสร้างวิทยาการเข้ารหัสลับทั้งสาขาในตระกูลของแหล่งสุ่มหลอก
ในทางทฤษฎีใช่. ถ้า มีเครื่องสร้าง Pseudo Random Number Generator ที่มีประสิทธิภาพและปลอดภัยซึ่งสร้างขึ้นจากระบบที่ไม่เป็นระเบียบ ซึ่งสามารถใช้เป็นรากฐานของการเข้ารหัสแบบสมมาตรที่ใช้งานได้จริงและแม้แต่ลายเซ็น
ปัญหาคือเราไม่รู้สิ่งนั้น PRNG ที่สร้างขึ้นจากระบบที่ยุ่งเหยิงและมีข้อโต้แย้งด้านความปลอดภัยที่น่าเชื่อถือแม้เพียงเล็กน้อย ประสิทธิภาพยังอ่อนเมื่อเทียบกับ CSPRNG² สมัยใหม่ (เว้นแต่เราจะขยายคำจำกัดความของ "ระบบที่วุ่นวาย" ออกไปให้ไกลกว่าฟังก์ชันต่อเนื่องที่วนซ้ำตามปกติ $\mathbb R$หรือการประมาณแบบไม่ต่อเนื่อง)
ตัวสร้างตัวเลขสุ่มหลอก (ปลอดภัยด้วยการเข้ารหัส) ในนั้น คำนิยามที่ทันสมัยเป็นเครื่องมือที่มีประสิทธิภาพเพียงพอที่จะสร้างฟังก์ชันการเข้ารหัสแบบสมมาตรอื่นๆ ทั้งหมด: ส.ส.ท และ CCA(2)- การเข้ารหัสที่ปลอดภัย บล็อกรหัส, รหัสยืนยันข้อความ, เข้ารหัสรับรองความถูกต้อง, กัญชา⦠ตัวอย่างบางส่วน:
- รหัสสามารถสร้างขึ้นจาก (CS)PRNG โดยใช้คีย์และ IV สุ่มแบบสุ่มอย่างแท้จริงเพื่อเพาะ PRNG และสร้างข้อความรหัสโดย XOR ของเอาต์พุตของ PRNG ด้วยข้อความธรรมดา³การรักษาความปลอดภัยตามมาจาก PRNG โดยตรง และนั่นเป็นวิธีที่ดีและทั่วไปในการสร้างรหัสที่มีชื่อ: รหัสสตรีม.
- บล็อกรหัสสามารถสร้างจาก PRNG เป็น a รหัส Feistelโดยใช้ PRNG เพื่อสร้างฟังก์ชันแบบกลม คีย์ ตัวเลขกลม และครึ่งขวาของบล็อกวาง PRNG ซึ่งเอาต์พุตเป็นค่า XOR กับครึ่งซ้าย
สิ่งก่อสร้างเหล่านี้คือ แสดงให้เห็น ปลอดภัยด้วยการเข้ารหัสหากเป็น PRNG แต่ยกเว้นสตรีม ciphers พวกเขาจะไม่ได้ใช้ในทางปฏิบัติ โดยหลักแล้วเพื่อเหตุผลด้านประสิทธิภาพ CSPRNG ทั่วไปสร้างจากบล็อกรหัสลับหรือ/และแฮช แทนที่จะใช้วิธีอื่นๆ
เป็นไปได้หรือไม่ที่จะสร้างคีย์สาธารณะ crypto ดั้งเดิมจาก PRNG
ใช่สำหรับลายเซ็น. เราสามารถสร้างแฮชที่ปลอดภัยจาก PRNG ที่ปลอดภัย จากนั้นจึงรักษาความปลอดภัยลายเซ็นจากแฮชด้วยวิธีการต่างๆ รวมถึง สฟิงส์. ด้วยเส้นทางนี้ PRNG ที่มีประสิทธิภาพจะนำไปสู่โครงร่างลายเซ็นที่น่าเชื่อถือ
สำหรับการเข้ารหัสและการแลกเปลี่ยนคีย์ ฉันสงสัยว่าวิธีการที่มีการพิสูจน์ความปลอดภัยหรือแม้แต่อาร์กิวเมนต์ที่น่าเชื่อถือนั้นเป็นที่รู้จัก ฉันไม่มั่นใจในความพยายามสร้างการเข้ารหัสแบบอสมมาตรจากระบบที่วุ่นวายต่อเนื่องโดยเส้นทางที่ตรงกว่า
¹ เราไม่สามารถขอหลักฐานทางคณิตศาสตร์ได้ เนื่องจากเราไม่มีหลักฐานความปลอดภัยดังกล่าวสำหรับ CPRNG ใดๆ แต่เราไม่ต้องการยอมรับข้อเท็จจริงของการผ่านการทดสอบการสุ่มที่กำหนดไว้ล่วงหน้าเป็นข้อโต้แย้งด้านความปลอดภัย เช่น NIST SP800-22rev1a หรือ มิจฉาทิฐิ. อย่างน้อยควรมีการทดสอบเชิงทดลอง: เป็นไปไม่ได้สำหรับนักเข้ารหัสที่มีทักษะ รู้การออกแบบของ PRNGซึ่งได้รับความช่วยเหลือจากคอมพิวเตอร์คลาสสิก เพื่อแยกแยะผลลัพธ์ของ PRNG ที่เกิดจากการสุ่มที่แท้จริงออกจากการสุ่มที่แท้จริง และเราต้องการขยายไปสู่ความเป็นไปไม่ได้ดังกล่าว โดยเริ่มจากค่าต่ำสุดของพารามิเตอร์บางตัวของ PRNG เช่น ขนาดสถานะหรือ/และจำนวนรอบ โดยตั้งค่าพารามิเตอร์ที่ใช้งานจริงให้ใหญ่ขึ้นอย่างสบายๆ
² เช่นที่ได้มาจาก ชาช่า โดยพิจารณาว่าคีย์และ IV เป็นเมล็ด และข้อความธรรมดาเป็นศูนย์ทั้งหมด
³ การถอดรหัสจะคล้ายกับข้อความธรรมดาและการแลกเปลี่ยนข้อความเข้ารหัส ยกเว้นว่าการเข้ารหัสจะดึง IV และทำให้เป็นคำนำของข้อความไซเฟอร์ ในขณะที่การถอดรหัสจะแยก IV ออกจากคำนำ
â' อย่างใดอย่างหนึ่ง พยายาม (เพย์วอลล์) ใช้ พหุนาม Chebyshev $T_r$ ในระดับมาก $r$. รหัสส่วนตัวคือ $r$คีย์สาธารณะที่ตรงกันคือ $T_r(x)$ สำหรับประชาชนบางส่วนคงสุ่มเลือกจริง $x\in[-1,1]$. สำหรับจำนวนเต็มใดๆ $s>0$ มันถือ $T_r(T_s(x))=T_s(T_r(x))$ และ (ไม่สนใจปัญหาของวิธีคำนวณ) ที่อนุญาตให้ใช้อะนาล็อกของ การแลกเปลี่ยนคีย์ Diffie-Hellmanและจากนั้น การเข้ารหัส ElGamal. เมื่อฉันอ่านครั้งแรก ฉันไม่มั่นใจในการยืนยันความปลอดภัยที่ปราศจากข้อโต้แย้ง รวมถึงความเป็นไปได้บางประการ (เช่น ด้วยความแม่นยำ 2048 บิตสำหรับค่าจริง จำนวนเต็ม $r$ และ $s$ สามารถเลือกเป็นจำนวนเต็ม 910 บิตแบบสุ่ม แทนที่จะเป็นผลคูณของจำนวนเฉพาะสูงสุด 133 ดังในบทความ)
อัปเดต: ระบบเข้ารหัสลับพบว่าไม่ปลอดภัย โปรดดูสิ่งนี้ บทความ (เพย์วอลล์). ยังคงนำเสนออยู่ในนี้ บทที่เกี่ยวกับการเข้ารหัสคีย์สาธารณะ (paywalled) ในภายหลัง หนังสือเกี่ยวกับการเข้ารหัสตามความโกลาหล (เพย์วอลล์) โดยรับทราบถึงความไม่ปลอดภัย ฉันพบว่ามันบอกถึงสถานะของสาขาวิชาทั้งหมดนั้น และที่ดีที่สุดคือ: การกล่าวอ้างเรื่องความปลอดภัยส่วนใหญ่ซึ่งสร้างจากข้อโต้แย้งที่ค่อนข้างอ่อนแอ ไม่เคยถูกสอบสวนและพิสูจน์ว่าผิดอย่างจริงจัง