Linear Congruential Generators ซึ่งเป็นคลาสของเครื่องกำเนิดแบบสุ่มหลอกที่มีกฎแบบเรียกซ้ำ
$x_{n+1}\equiv a\cdot x_n +b\ \ (\mod m)$, $a,b,x_n\ใน Z/mZ$, $m,n\ใน N$
ถือว่าไม่เหมาะสมสำหรับใช้ในการเข้ารหัส เป็นค่าคงที่ $a$, $ข$ อาจอนุมานได้จากผลลัพธ์ชุดเล็กๆ $x_n$. ตอนนี้เมื่อคุณเลือก $m=p-1$ สำหรับนายกแปลก ๆ $p$ลำดับ $(x_n)_{n\ใน N}$ อาจอยู่เป็นเลขยกกำลังของตัวสร้างบางตัว $g$ ของกลุ่มวงจรทวีคูณ $Z/pZ^*$, เช่น $y_n:=g^{x_n}, n\ใน N$:
$y_{n+1}\equiv g^{x_{n+1}}\equiv g^{a\cdot x_n+b}\equiv (g^{x_n})^a\cdot g^b\equiv y_n ^a\cdot g^b\ (\mod p)$
นี่คือซีรีย์พลังงานที่เทียบเท่ากัน
การกระจายที่เท่าเทียมกันมาพร้อมกับระยะเวลาสูงสุด เงื่อนไขระยะเวลาสูงสุด $m$ ของลำดับ $(y_n)_{n\ใน N}$ กำหนดโดยทฤษฎีบทของ Knuth
- $gcd(m,b)=1$
- สำหรับการสลายตัวที่สำคัญ $m=:\prod p_i^{\alpha_i}$ และปัจจัยสำคัญทั้งหมด $p_i$: $\ \ \ p_i/(a-1)$
- $m\equiv 0\ (\mod 4) \หมายถึง a-1\equiv 0\ (\mod 4)$
เนื่องจาก $m=p-1$ เท่ากันและมีจำนวนเฉพาะที่มีรูปร่างน้อยมาก $p=2^k+1$, องค์ประกอบทั่วไปที่ง่ายที่สุดของ $p-1$ จากจำนวนเฉพาะจะเป็น $p-1=2^k\cdot p'$, $k\geq 1$ กับ $p'$ นายกรัฐมนตรีอีกคน
ตามเงื่อนไขที่ 2 ตัวเลือกที่น้อยที่สุดของ $a$ คือโดย $a-1=2\cdot p'$.
เพื่อหลีกเลี่ยงกรณีเล็กน้อย $a-1=m$, $k\geq 2$ เป็นสิ่งที่จำเป็น ด้วยเหตุนี้เราจึงเข้าสู่เงื่อนไขที่ 3 ดังนั้น $a-1$ มีปัจจัยอย่างน้อยสองเท่า $2$.
อีกครั้ง จำเป็นต้องหลีกเลี่ยงกรณีเล็กน้อย $k\geq 3$.
ตอนนี้คู่หลัก $(พี,พี')$ สมการเชิงเส้น $p=8p'+1$ ช่วยให้ทางเลือกที่ไม่สำคัญ $a-1=4p'$ และด้วยชุดพลังนี้ $(y_n)$ อาจมีระยะเวลาสูงสุด $m$.
คำถาม: เนื่องจากเรามี 3 พารามิเตอร์ที่ซ่อนอยู่ $g, g^a,g^b$ และการหาลอการิทึมในกลุ่มคูณถือว่ายาก สามารถสุ่มลำดับ $(y_n){n\ใน N}$ ถือว่าปลอดภัยสำหรับใช้ในการเข้ารหัส มีทางเลือกที่ดีกว่าสำหรับค่าคงที่หรือไม่ $a$?
แก้ไข $g$ จริงๆ แล้วไม่สำคัญเท่าพารามิเตอร์ ขณะที่เรายกกำลังให้ $a$ซึ่งนอกจากนี้ $p$ ไม่เป็นที่รู้จักจากเอาต์พุต เช่น พารามิเตอร์ที่ไม่รู้จักคือ $(p, a, g^b)$ .