Score:4

ความแตกต่างระหว่าง FFT และ NTT

ธง in

อะไรคือความแตกต่างหลักระหว่างการแปลงฟูริเยร์แบบเร็ว (FFT) และการแปลงตามทฤษฎีเชิงตัวเลข (NTT)

เหตุใดเราจึงใช้ NTT และไม่ใช่ FFT ในแอปพลิเคชันการเข้ารหัส

ข้อใดเป็นลักษณะทั่วไปของอีกข้อหนึ่ง

Score:3
ธง ng

ข้อจำกัดความรับผิดชอบ: Comp-Sci คณิตศาสตร์ล่วงหน้า นักคณิตศาสตร์ที่เหมาะสมระวัง ;)

การแปลงฟูเรียร์แบบเร็ว (FFT) และการแปลงฟูริเยร์แบบไม่ต่อเนื่อง (DFT)

FFT เป็นอัลกอริทึมที่ช่วยในการคำนวณ DFT รวมถึงค่าผกผันสำหรับสัญญาณที่มีมูลค่าซับซ้อน

นั่นคือ: ให้สัญญาณที่มีค่าเชิงซ้อน $x = (x_0, \ldots, x_{n-1})$ ความยาว $n$, FFT ช่วยให้สามารถคำนวณได้ $\operatorname{DFT}(x) = (X_0, \ldots, X_{n-1})$ส่วนประกอบที่กำหนดเป็น: $$ X_l = \sum_{j = 0}^{n-1} x_j g^{-jl} $$ ที่ไหน $g$ เป็นแบบดั้งเดิม $n$-th รากของเอกภาพในฟิลด์เชิงซ้อน เช่น $e^{i 2 \pi / n}$.

ปัญหาเมื่อทำงานในฟิลด์ที่ซับซ้อน

อย่างไรก็ตาม ในวิทยาการคอมพิวเตอร์มีข้อเสียในการทำงานด้านจำนวนเชิงซ้อน คือ:

  • เราต้องกังวลเกี่ยวกับปัญหาการปัดเศษ
  • การดำเนินการกับตัวเลขทศนิยมมักจะมีประสิทธิภาพน้อยกว่าตัวเลขจำนวนเต็ม

การสรุปโครงสร้างพีชคณิตอื่นๆ ด้วยการแปลงตามทฤษฎีเชิงตัวเลข (NTT)

อย่างไรก็ตาม ปรากฎว่าคำนิยามของ DFT ยังมีความหมายเหนือโครงสร้างพีชคณิตอื่นๆ นอกเหนือจากฟิลด์ที่ซับซ้อน ตราบใดที่สามารถหารากเหง้าของเอกภาพที่เหมาะสมได้

จากนั้น NTT อ้างถึง 'การแปลง' ของปัญหาเป็นโครงสร้างอื่น โดยเฉพาะอย่างยิ่งเพื่อดำเนินการ DFT บนฟิลด์จำกัด - โดยปกติจะเป็นฟิลด์จำกัด $F_p$ ของจำนวนเต็ม โมดูโล a ไพรม์ $p$.

ข้อดีของการทำงานในสาขาที่จำกัด

การทำงานในพื้นที่จำกัดหมายความว่า:

  • เราไม่ต้องกังวลเกี่ยวกับการปัดเศษ
  • การดำเนินการจำนวนเต็มมีแนวโน้มที่จะมีประสิทธิภาพ
  • การดำเนินการจำนวนเต็มบางอย่าง (เช่น การคูณด้วยกำลังสอง) สามารถทำได้มีประสิทธิภาพมากยิ่งขึ้น

ซึ่งเป็นเหตุผลว่าทำไมในวิทยาการคอมพิวเตอร์ เรามักจะใช้ NTT เพื่อทำงานในสาขาที่จำกัด แทนที่จะทำงานในสาขาที่ซับซ้อน

สรุป

หากต้องการกลับมาที่คำถามของคุณ:

  • ในวิทยาการคอมพิวเตอร์ เรามักจะใช้ NTT มากกว่า FFT ในสาขาที่ซับซ้อนเนื่องจากใช้งานได้จริงและมีประสิทธิภาพมากกว่า
  • ในแง่หนึ่ง คุณอาจพิจารณาว่า generic-ring-DFT เป็นการทำให้เป็นภาพรวมของ complex-field-DFT (คำนวณผ่าน FFT) กับโครงสร้างพีชคณิตอื่นๆ จากนั้น NTT จะเป็นแอปพลิเคชันของ generic-ring-DFT กับฟิลด์จำกัด ฉันไม่รู้ว่าฉันจะเรียก NTT ว่าเป็นลักษณะทั่วไปของ FFT หรือไม่

การอ่าน

ข้อมูลข้างต้นอิงจาก "Prime Numbers: A Computational Perspective" ของ Crandall & Pomerance (978-0387252827) ของ Crandall & Pomerance ซึ่งเป็นเนื้อหาส่วนใหญ่ที่ฉันได้รับเกี่ยวกับเรื่องนี้ นอกจากนี้ยังมีบทความวิกิพีเดียเกี่ยวกับ DFT บนฟิลด์ที่ซับซ้อน, ลักษณะทั่วไปของแหวนตามอำเภอใจซึ่งภายหลังมีหัวข้อว่า NTT อนุญาตให้นำไปใช้กับฟิลด์ที่ จำกัด

Score:3
ธง sa

TL;ดร คุณต้องมี NTT สำหรับเลขคณิตที่แน่นอนในแอปพลิเคชัน crypto

FFT เป็นเพียง อัลกอริทึม สำหรับการประเมินค่า DFT แบบดั้งเดิม สำหรับค่าเชิงซ้อน (จำนวนจริงและจำนวนเต็มเป็นชุดย่อยของฟิลด์เชิงซ้อน $(f_0,\dots,f_{N-1})$ ความยาว $N$ ซึ่งกำหนดไว้เหนือฟิลด์ที่ซับซ้อน $\mathbb{C}$ โดยใช้รากที่ซับซ้อนของเอกภาพของระเบียบ $N.$

ที่นี่เรามี $$ F(\lambda)=\sum_{k=0}^{N-1} f_k e^{2 \pi i \lambda k/N}= \sum_{k=0}^{N-1} f_k \xi_N^{\แลมบ์ดา k}, \quad \xi_N:=e^{2 \pi i /N}, \lambda=0,1,\ldots,N-1 $$

รากเหง้าแห่งเอกภาพอันซับซ้อนดังกล่าวมีอยู่สำหรับทุกคน $N$อย่างไรก็ตาม FFT จะมีประสิทธิภาพมากกว่าหาก $N$ เป็นแบบคอมโพสิตซึ่งได้รับประสิทธิภาพสูงสุดสำหรับ $N=2^ม,$ สำหรับจำนวนเต็ม $ม.$

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

ตอนนี้ NTT ไม่ว่าจะขึ้นอยู่กับฟิลด์จำกัดหรือรากจำนวนเต็มของเอกภาพโมดูโลบางวง ให้ความแม่นยำอย่างเต็มที่ (DFT ที่ซับซ้อนไม่สามารถทำได้และไม่สามารถใช้สำหรับการเข้ารหัสลับ) และได้รับการประเมินในวงแหวนดั้งเดิมที่ใช้ในการเข้ารหัส พวกเขายังคงเป็น DFT และในระยะเวลาหนึ่งก็สามารถมีการใช้งานที่มีประสิทธิภาพได้

การเลือก NTT:

สมมติว่าเวกเตอร์อินพุตเป็นลำดับของ $N$ จำนวนเต็มไม่เป็นลบ

โดยทั่วไปจำเป็นต้องเลือกโมดูลัส $M$ ดังนั้น $1â¤N<M$ และทุกค่าที่ป้อนอยู่ในช่วง $[0,ม).$ หากเรากำลังพูดถึงการใช้งาน crypto เราก็รู้โมดูลัสแล้ว

เลือกจำนวนเต็ม $kâ¥1$ และกำหนด $N'=kN+1$ เป็นโมดูลัสการทำงาน พวกเราต้องการ $N'â¥M,$ และเพื่อความเรียบง่าย $N'$ ให้เป็นจำนวนเฉพาะ ทฤษฎีบทของไดริชเลตรับรองว่าเป็นเช่นนั้น $N$ และ $ม,$ สามารถเลือกได้ $k$ เพื่อทำ $N'$ นายกรัฐมนตรี

เพราะ $N'$ เป็นจำนวนเฉพาะ, กลุ่มคูณของ $\mathbb{Z}_{N'}$ มีขนาด $Ï(N')=N'â1=kN$ เช่นเดียวกับเครื่องกำเนิดไฟฟ้า $ก,$ ซึ่งเป็นรากฐานดั้งเดิม (N'â1) ของความสามัคคี

อนุญาต $\omegaâ¡g^k \pmod N'.$ แล้ว $\โอเมก้า$ เป็นแบบดั้งเดิม $N$รูทของเอกภาพตามที่กำหนดเพื่อให้ได้ความยาว DFT $N,$ นี่คือ NNT: $$ F(\lambda)=\sum_{k=0}^{N-1} f_k \omega^{\lambda k},\quad \lambda \in \mathbb{Z}_N $$ เป็นไปได้ที่จะใช้การลดลงของมอนต์โกเมอรี (หรือการลดลงของ Barrett ที่มีประสิทธิภาพน้อยกว่า) เพื่อเพิ่มความเร็วของการคำนวณทางคณิตศาสตร์แบบโมดูลาร์ใน NTT

C.S. avatar
in flag
ขอขอบคุณ! คุณหมายถึงอะไรโดย "วัตถุที่มีขอบเขตจำกัด เราสามารถได้รับความแม่นยำเต็มรูปแบบซึ่งใช้ไม่ได้ในทางปฏิบัติในสนามที่ซับซ้อน" คุณหมายถึงอะไรโดย "ความแม่นยำ"?
kodlu avatar
sa flag
เลขคณิตจำนวนเต็มนั้นแน่นอน หากคุณทำการลดค่าโมดูโล มันก็จำกัดเช่นกัน เนื่องจากค่าสูงสุดคือค่าโมดูลัสลบหนึ่ง ในการดำเนินการภาคสนามที่ซับซ้อนจะต้องดำเนินการโดยปริมาณบิตความยาวจำกัด ซึ่งเป็นการประมาณโดยธรรมชาติของจำนวนจริง ความแม่นยำจะแสดงด้วยจำนวนบิตที่ใช้

โพสต์คำตอบ

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