Score:0

อัลกอริทึมสำหรับการคำนวณลอการิทึมแยกในกลุ่มของคำสั่ง $2^n$

ธง cn

ในหลักสูตรวิทยาการเข้ารหัสลับ ครูของเราบอกว่าการแก้ปัญหาลอการิทึมแบบไม่ต่อเนื่องในกลุ่มคำสั่ง $2^e$ เป็นเรื่องง่าย และเขาให้อัลกอริทึมต่อไปนี้แก่เรา:

อนุญาต $G$ เป็นกลุ่มวัฏจักรด้วย $|G|=2^e$ และ $g\ใน G$ เครื่องกำเนิดไฟฟ้า อัลกอริทึมการคำนวณต่อไปนี้ $x$ ดังนั้น $h=g^x$:

  • การคำนวณล่วงหน้า: $g^{-1}=g^{n-1}$.

  • การเริ่มต้น: $x_0=0$, $b_0=h$, $m_0=\log_2(ออร์ด(h))$.

  • การทำซ้ำ:
    ในขณะที่ $m_i> 0$:
    $x_{i+1}=x_i+2^{e-m_i}$
    $b_{i+1}=b_i(g^{-1})^{2^{e-m_i}}$
    $m_{i+1}=\log_2(\text{ord}(b_{i+1}))$

  • เอาท์พุต: $x=x_i$

สิ่งที่ฉันต้องการทำคือการพิสูจน์ว่าอัลกอริทึมหยุดลง $x$ เป็นลอการิทึมที่ไม่ต่อเนื่องและทำงานในเวลาพหุนาม เพื่อให้อัลกอริทึมหยุด เราต้องตรวจสอบเท่านั้น $m_{i+1}<m_i~\forall~i$ซึ่งเท่ากับแสดงว่า $\text{ord}(b_{i+1})<\text{ord}(b_i)$. ถ้า $\text{ord}(b_i)=2^l$ แล้ว: $$b_{i+1}^{2^l}=(b_i(g^{-1})^{2^{e-m_i}})^{2^l}=b_i^{2^l} (g^{-1})^{2^{e-l}2^l}=1$$ ซึ่งพิสูจน์ได้ว่า $\text{ord}(b_{i+1})\leq\text{ord}(b_i)$แต่ฉันไม่สามารถรับอสมการที่เข้มงวดได้ สำหรับอีกสองส่วนฉันไม่มีความคิดที่ดีในการแก้ปัญหา ...

ฉันเป็นนักคณิตศาสตร์ที่เป็นผู้เริ่มต้นในการเข้ารหัส ดังนั้นฉันจึงไม่รังเกียจหากคุณถือว่ามีความรู้ทางคณิตศาสตร์ ซึ่งเป็นสิ่งที่ฉันคุ้นเคย ขอบคุณสำหรับความช่วยเหลือของคุณ.

Sam Jaques avatar
us flag
1) ฉันคิดว่าคุณต้องถือว่า $G$ เป็นวงจรด้วย (เพื่อให้บันทึกแยกชัดเจน $h$ ต้องอยู่ในกลุ่มย่อยของวงจรที่สร้างโดย $g$ ดังนั้นนี่จึงไม่ใช่ข้อจำกัดที่แท้จริง) จากนั้นลองแสดงคุณสมบัติบางอย่างขององค์ประกอบด้วยคำสั่ง 2 (2) ลองแสดง $b_i$ ในรูปของ $h$, $g$ และ $x_i$
Marcos avatar
cn flag
@SamJaques คุณพูดถูก ฉันลืมบอกว่า $G$ เป็นวัฏจักร ขอบคุณ
Marcos avatar
cn flag
@SamJaques โดยการเหนี่ยวนำ ฉันสามารถพิสูจน์ได้ว่า $b_n=h(g^{-1})^{x_n}$ ซึ่งแน่นอนว่าถ้า $m_n=0$ เรามี $b_n=1$ ดังนั้น $g ^{x_n}=h$ นี่เป็นการพิสูจน์ว่าเมื่ออัลกอริทึมเสร็จสิ้นเราจะได้ลอการิทึมที่ไม่ต่อเนื่อง ขอบคุณ :) คุณช่วยฉันพิสูจน์ว่าอัลกอริทึมทำงานในเวลาพหุนามได้ไหม
kelalaka avatar
in flag
กำหนดขนาดอินพุต ซึ่งมีอยู่ทั่วไปในจำนวนบิต จากนั้นกำหนดจำนวนการดำเนินการ คุณแน่ใจหรือว่า $\log_2$ ไม่ได้ปูพื้น?
Marcos avatar
cn flag
@kelalaka ใช่ มันไม่มีพื้นเนื่องจากเราอยู่ในกลุ่มของคำสั่ง $2^e$ ดังนั้นทฤษฎีบทของลากรองจ์จึงบอกเราว่าลำดับของทุกองค์ประกอบเป็นตัวหารของ $2^e$ ดังนั้น $\log_2(\text{ord }(\cdot))$ จะเป็นจำนวนเต็มเสมอ

โพสต์คำตอบ

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