Score:1

เหตุใดจึงใช้การบิดเกลียวแบบเนกาไซคลิกสำหรับการคูณพหุนามแทนการบิดแบบปกติ

ธง pm

เมื่อคูณพหุนามจาก $\mathbb{Z}_q[X] / (X^n-1) $มีการใช้ NTT แบบแยกเนื่องจาก: $$ f \cdot g = \mathsf{NTT}_n^{-1}\left( \mathsf{NTT}_n\left(f\right) * \mathsf{NTT}_n\left(g\right) \right )$$ อย่างไรก็ตาม ในแทบทุกรูปแบบที่ฉันเคยเห็นมา เนกาไซคลิก ใช้การบิด - วงแหวนคือ $\mathbb{Z}_q[X] / (X^n+1) $ และใช้เล่ห์เหลี่ยมในการคำนวณ $\mathsf{NTT}_{2n}^{-1}\left( \mathsf{NTT}_{2n}\left(f\right) * \mathsf{NTT}_{2n}\left(g\right ) \ขวา) $ โดยใช้ $\mathsf{NTT}_n$ เพราะเราต้องคูณพหุนามเข้าไป $\mathbb{Z}_q[X] / (X^{2n}-1) $.
คำถามของฉันคือ - ทำไมต้องกังวลด้วย $\mathbb{Z}_q[X] / (X^n+1) $ และไม่เพียงแค่ใช้ $\mathbb{Z}_q[X] / (X^n-1) $จึงสมัคร $\mathsf{NTT}_n$ ด้วยวิธีที่ตรงไปตรงมาโดยไม่มีข้อยุ่งยากเพิ่มเติม?

Score:1

ปัญหาหนักพื้นฐานที่ใช้ในการสร้างการเข้ารหัสดั้งเดิมทำให้เราต้องใช้โมดูโลวงแหวนพหุนามนั้น $X^n + 1$.

ตัวอย่างเช่น หากความปลอดภัยของโครงร่างของคุณขึ้นอยู่กับ RLWE คุณต้องยึดติดกับวงแหวนที่ทำให้ RLWE ปลอดภัย ซึ่งหมายความว่าคุณไม่สามารถใช้ $X^n - 1$ตามที่กล่าวไว้ใน คำตอบนี้.

คุณมีสถานการณ์เดียวกันสำหรับ ปัญหา Ring-SIS.

โดยทั่วไป คุณต้องระมัดระวังเมื่อคุณยกตัวอย่างปัญหาใดๆ $X^n - 1$ เป็นโมดูลัสเพราะสามารถประเมินพหุนามได้ $1$ เพื่อทำงานกับจำนวนเต็มแทนพหุนาม ซึ่งจะกล่าวถึง เช่น ในหัวข้อ "การประเมินพหุนาม" ของ กระดาษแผ่นนี้.

Score:1
ธง sa

คุณระบุ (ฉันได้แก้ไขสัญกรณ์ของคุณแล้ว คลาสที่เหลือจะถูกนำด้วย a $/$ ไม่ $\แบ็กสแลช)$ อดีตคือ setminus ซึ่งไม่เหมือนกัน:

อย่างไรก็ตาม ในแทบทุกรูปแบบที่ฉันเคยเห็นมา เนกาไซคลิก ใช้การบิด - วงแหวนคือ $\mathbb{Z}_q[X] / (X^n+1) $ และใช้เล่ห์เหลี่ยมในการคำนวณ $\mathsf{NTT}_{2n}^{-1}\left( \mathsf{NTT}_{2n}\left(f\right) * \mathsf{NTT}_{2n}\left(g\right ) \ขวา) $ โดยใช้ $\mathsf{NTT}_n$ เพราะเราต้องคูณพหุนามเข้าไป $\mathbb{Z}_q[X] / (X^{2n}-1) $.

และถามคำถาม:

ทำไมต้องยุ่งกับ $\mathbb{Z}_q[X] / (X^n+1) $ และไม่เพียงแค่ใช้ $\mathbb{Z}_q[X] \setminus (X^n-1) $?

ถ้าเรามีการแยกตัวประกอบพหุนาม $x^{2n}-1=(x^n-1)(x^n+1)$ จากนั้นทำการคำนวณแบบโมดูโล $x^{2n}-1$ สามารถเร่งความเร็วได้โดยการหมุนเวียน (ผ่าน NTT) ตามปัจจัยแต่ละอย่างแล้วรวมกัน ดังนั้น

  1. เรามีการแยกตัวประกอบที่นำไปสู่การแปลงอย่างรวดเร็ว เราจึงใช้เส้นทางนี้ กรณีที่รุนแรงคือ FFT ที่ซับซ้อนเมื่อเราสามารถแยกตัวประกอบเป็นตัวประกอบเชิงเส้นได้ทั้งหมด $x^n-1=\prod_{i=1}^n (\omega^i-1)$ กับ $\โอเมก้า$ ดั้งเดิม $n^{th}$ รากของความสามัคคี
  2. การแยกตัวประกอบนั้นไม่ซ้ำกัน คุณใช้ไม่ได้ $(x^n+1)$ ตั้งแต่นั้นเป็นต้นมา $(x^n+1)^2=(x^{2n}+2 x^n+1)$ และ $คิว$ โดยทั่วไปไม่ใช่ลักษณะ 2 ถ้าคุณหมายถึงจริง ๆ ก็แค่ใช้ $x^{2n}-1$ โดยตรง คุณจะไม่มีการเร่งความเร็ว
pm flag
ขอโทษ ฉันไม่ดีกับสัญกรณ์เชาวน์ ฉันคิดว่าคุณเข้าใจคำถามของฉันผิด (หรือฉันเข้าใจคำตอบของคุณผิด) ฉันไม่ได้ถามวิธีคูณพหุนามของดีกรี $(2n-1)$ โดยใช้ NTTs ของคำสั่ง $n$ และฉันไม่ได้ถามว่าทำไมมันเป็นไปไม่ได้ที่จะคูณพหุนามจาก $\mathbb{Z}_q[X]/(X ^n+1)$ ด้วย NTT ฉันถามว่าทำไมใช้พหุนาม modolu $X^n+1$ ในตอนแรก (ซึ่งต้องการเคล็ดลับด้วย $(X^{2n}-1)$) และไม่ใช้พหุนาม modolu $X^n-1$
kodlu avatar
sa flag
ถ้าความยาวของคุณคือ $N=2n,$ นั่นคือเลขคู่ นี่คือตัวประกอบที่คุณต้องใช้เพื่อขึ้นต้นด้วย เช่น $x^{2n}-1=(x^n-1)(x^n+1)$ เนื่องจากราก $2n^{th}$ ใดๆ ของเอกภาพในฟิลด์หรือวงแหวนใดๆ อาจเป็นคำสั่ง $2n$ (ซึ่งเป็น -1 เมื่อยกกำลัง $n$) หรือมีคำสั่งหาร $n$
kodlu avatar
sa flag
คุณเริ่มต้นด้วย $N$ ตามที่กำหนด

โพสต์คำตอบ

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