Score:1

อัลกอริทึมการถอดรหัสของ Patterson สำหรับรหัส Goppa

ธง jp

จาก หน้า Wiki นี้: ได้รับรหัส Goppa $\Gamma(g, L)$ และคำที่เป็นเลขฐานสอง $v=(v_0,...,v_{n-1})$ซินโดรมของมันถูกกำหนดให้เป็น $$s(x)=\sum_{i=0}^{n-1}\frac{v_i}{x-L_i} \mod g(x).$$ ในการแก้ไขข้อผิดพลาด อัลกอริทึมของ Patterson ดำเนินการดังนี้:

  • คำนวณ $$v(x)=\sqrt{s(x)^{-1}-x}\mod g(x)$$ (อันนี้ถือว่า $s(x)\ne 0$ซึ่งเป็นกรณีนี้เสมอเว้นแต่ $v$ เป็นของ $\Gamma(g,L)$ และไม่ต้องแก้ไข)

  • ใช้ EEA เพื่อรับพหุนาม $a(x)$ และ $b(x)$ ดังนั้น $$ ก(x)=b(x)v(x)\mod g(x)$$

  • คำนวณพหุนาม $p(x)=ก(x)+xb(x)^2$. สมมติว่าคำต้นฉบับสามารถถอดรหัสได้ คำนี้ควรเหมือนกับคำที่แยกตัวประกอบ ตัวระบุตำแหน่งข้อผิดพลาด พหุนาม $$\sigma(x)=\prod_{i\in B}(x-L_i) $$ ที่ไหน $B=\{i \text{ เซนต์ } e_i\ne 0\}$.

  • สมมติว่าคำต้นฉบับสามารถถอดรหัสได้ (นั่นคือ $|B|<d$ ที่ไหน $d$ คือระยะทางที่น้อยที่สุดของรหัส) เราก็คำนวณหา รากของ $\sigma(x)$: ถ้า $L_i$ เป็นรูท แล้วเกิดข้อผิดพลาดดังใน เดอะ $i$ตำแหน่งที่

ฉันมีคำถามเดียว: เราจะแสดงพหุนามนั้นได้อย่างไร $p(x)$ ที่ได้รับในขั้นตอนที่สามตรงกับ $\sigma(x)$ ตามที่กำหนดไว้ข้างต้น?

Score:2
ธง ru

โปรดทราบว่า $$\frac{\sigma'(x)}{\sigma(x)}=\sum_{i\in B}\frac 1{x-L_i}$$ และถ้าเราเขียน $C$ สำหรับตำแหน่งบิตของโค้ดเวิร์ด รหัส Goppa ถูกกำหนดโดย $$\sum_{i\in C}\frac 1{x-L_i}\equiv 0\pmod{g(x)}$$ ดังนั้น $$\frac{\sigma'(x)}{\sigma(x)}\equiv\sum_{i\in B\ominus C}\frac 1{x-L_i}\pmod{g(x)}$$ และด้านขวาเป็นเพียง $s(x)$.

เราแยกกัน $\sigma(x)$ เป็นเอกนามดีกรีคี่และเลขคู่เพื่อให้เราสามารถหาพหุนามได้ $\sigma_{คี่}$ และ$\sigma_{เลขคู่}$ ดังนั้น $$\sigma(x)=x\sigma_{คี่}(x^2)+\sigma_{เลขคู่}(x^2) \qสี่เหลี่ยม (1)$$ เนื่องจากเราอยู่ในฟิลด์ที่มีลักษณะเฉพาะ 2 พหุนามที่มีเทอมกำลังสองเท่านั้นจึงเป็นกำลังสองของพหุนามดีกรีอื่นๆ $(\deg g-1)/2$ และเรามีเป้าหมายที่จะฟื้นตัว $a(x)$ และ $b(x)$ พอใจระดับนี้ผูกพันเช่นนั้น $a(x)^2=\sigma_{เลขคู่}(x^2)$ และ $b(x)^2=\sigma_{คี่}$.

ความแตกต่าง (1) ให้ $$\sigma'(x)=\sigma_{คี่}(x^2)$$ และอื่น ๆ $$\frac{\sigma(x)}{\sigma'(x)}=x+\frac{\sigma_{even}(x^2)}{\sigma_{odd}(x^2)}$$ ซึ่งบอกเราว่า $$\frac1{s(x)}-x\equiv \frac{\sigma_{even}(x^2)}{\sigma_{odd}(x^2)}\pmod{g(x)}.$ $ ดังนั้นพหุนาม $v(x)$ เทียบเท่ากับฟังก์ชันตรรกยะ $a(x)/b(x)$ ที่เราแสวงหาโมดูโล $ก(x)$. อัลกอริทึมแบบยุคลิดแบบขยายจะส่งกลับพหุนามสองชื่อเช่นนั้น $$\frac{c(x)}{d(x)}\equiv v(x)\pmod{g(x)}$$ กับ $\deg c$ และ $\deg d$ ทั้งน้อยกว่า $(\deg g)/2$ และพหุนามเหล่านี้จะต้องเท่ากับที่เราต้องการ $a(x)$ และ $b(x)$ มิฉะนั้น $a(x)d(x)-b(x)c(x)$ เป็นพหุนามดีกรีน้อยกว่า $d$ และหารด้วย $ก(x)$. ฟื้นแล้ว $a(x)$ และ $b(x)$ ตอนนี้เราสามารถสร้าง $\sigma(x)=a(x)^2+xb(x)^2$ ซึ่งเป็นคำจำกัดความของ $p(x)$ ที่มักจะได้รับ

kodlu avatar
sa flag
ขอบใจ. คุณทุบตีฉัน
Daniel S avatar
ru flag
@kodlu ขออภัยสำหรับการกระโดดที่นี่ ฉันชอบความคิดที่ฉลาดอย่างแพตเตอร์สัน
kodlu avatar
sa flag
ไม่ต้องขอโทษ ฉันชอบผลงานของคุณ...

โพสต์คำตอบ

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