Score:12

จำนวนของการดำเนินการบิตที่จำเป็นสำหรับการโจมตีการถอดรหัสชุดข้อมูลบนระบบเข้ารหัสที่ใช้รหัส?

ธง dk

คำถามนี้อาจเกี่ยวข้องกับมาตรฐานการเข้ารหัสหลังควอนตัมของ NIST ซึ่งเกี่ยวข้องกับระบบเข้ารหัสที่ใช้รหัส เช่น McEliece, BIKE และ HQC

กระดาษแผ่นนี้ ประมาณการจำนวนบิตที่ชัดเจนของการดำเนินการที่จำเป็นสำหรับการโจมตี MayâMeurerâThomae (MMT) data set decoding (ISD) แสดงให้เห็นว่าสิ่งนี้น้อยกว่า ISD อื่นๆ ที่พิจารณา รวมถึงอัลกอริทึม BJMM ซึ่งได้รับการพิจารณาอย่างกว้างขวางว่าเป็นการปรับปรุงเหนือ MMT (เช่น สำหรับชุดพารามิเตอร์ 8192128 แบบคลาสสิกของ McEliece กระดาษจะให้ความซับซ้อนของ MMT เป็น $2^{249.74}$ ตรงข้ามกับ $2^{299.89}$ สำหรับ BJMM) การวิเคราะห์นี้ถูกต้องหรือไม่?

หากการวิเคราะห์ถูกต้อง ดูเหมือนว่าสิ่งนี้อาจคุกคามไม่เพียงแค่พารามิเตอร์บางตัวของ McEliece เท่านั้น แต่ยังรวมถึงพารามิเตอร์บางตัวของโครงร่างโค้ดอื่นๆ ด้วย ถ้าไม่ แหล่งที่มาที่ดีสำหรับตัวเลขที่ถูกต้องคืออะไร

(กระดาษอ้าง $2^{87.95}$ ความซับซ้อนของหน่วยความจำสำหรับ MMT เมื่อเปรียบเทียบกับ $2^{79.97}$ สำหรับ BJMM และ $2^{67.64}$ สำหรับอัลกอริทึมของสเติร์น ดูตารางที่ 5 ซึ่งดูเหมือนจะไม่ใหญ่พอที่จะชดเชยความคลาดเคลื่อนในโมเดลที่เป็นไปได้สำหรับต้นทุนของหน่วยความจำเทียบกับการดำเนินการบิต MMT ถูกอ้างว่าถูกกว่าสำหรับชุดพารามิเตอร์และโครงร่างอื่นๆ ในทำนองเดียวกัน)

คำถามนี้ถูกโพสต์ในฟอรัม NIST PQC ที่นี่.

Score:5
ธง jp

ฉันไม่สามารถสร้างความซับซ้อนบิตที่แน่นอนจากกระดาษที่กล่าวถึงได้ [1]ผู้เขียนไม่ได้ให้ซอร์สโค้ด ฉันกำลังโพสต์ตัวประมาณสำหรับการโจมตี MMT และ BJMM ที่นี่.

การสรุปว่าอัลกอริทึม BJMM แย่กว่า MMT นั้นไม่ถูกต้อง เนื่องจาก MMT เป็นกรณีพิเศษของ BJMM โดยสังเขป BJMM คือ MMT ที่ไม่มีการแสดงประเภท $1 = 0+0 \bmod 2 $ สำหรับเวกเตอร์ข้อผิดพลาด ความสับสนมาจากความจริงที่ว่าผู้เขียนของ [1] พิจารณา BJMM ด้วยความลึกคงที่ของแผนผังการค้นหา (กล่าวคือ ความลึก 3 ตามที่ทำในกระดาษต้นฉบับ [2]. อย่างไรก็ตาม สิ่งนี้อาจไม่เหมาะสมสำหรับระบอบการปกครองแบบกระจัดกระจาย ดังนั้น ข้อสรุปที่ผิดว่า BJMM นั้นแย่กว่า MMT ฉันให้รายละเอียดเพิ่มเติมด้านล่าง

หัวใจสำคัญของทั้งอัลกอริทึม MMT และ BJMM คือแนวคิดของ คลุมเครือ แยกเวกเตอร์ข้อผิดพลาด $e \ใน \{0,1\}^k$ ของน้ำหนัก $p$ เช่น $e = e_1 + e_2$. MMT ใช้เวลา $e_1, e_2 \ใน \{0,1\}^k$ น้ำหนักแต่ละ $p/2$จึงให้ $\binom{p}{p/2}$ วิธีการเป็นตัวแทน $0$-พิกัดเป็น $0+1$ หรือ $1+0$ ใน $e$. BJMM ใช้เวลา $e_1, e_2 \ใน \{0,1\}^k$ น้ำหนักแต่ละ $p/2 + \varepsilon$จึงให้ $\binom{p}{p/2} \cdot \binom{k-p}{\varepsilon}$ การเป็นตัวแทน (ตัวคูณที่สองคือจำนวนการแทนประเภท $0 = 1+1$).

ปรากฎว่าสำหรับปัญหาการถอดรหัสในระบอบการปกครองที่หนาแน่นนั่นคือเมื่อน้ำหนักของ $e$ เป็นระเบียบเรียบร้อย $\เธต้า(n)$อัลกอริทึม BJMM นั้นเร็วกว่าเมื่อเราทำกระบวนการซ้ำโดยเป็นตัวแทน $e_1$, $e_2$ ในทางที่คลุมเครือ ดังนั้นจึงจบลงด้วยโครงสร้างแผนผังการค้นหาของอัลกอริทึม โดยที่ความลึกที่เหมาะสมของแผนผังคือพารามิเตอร์ที่จะปรับให้เหมาะสม จาก [2] สำหรับระบอบการปกครองที่หนาแน่น มันจะเป็น 3

สำหรับพารามิเตอร์ Classic McEliece ปรากฎว่าการทำความลึก -2 นั้นเหมาะสมที่สุด โดยสัญชาตญาณแล้ว ตัวกระจายข้อผิดพลาด ยิ่งต้นไม้ที่เหมาะสมที่สุดตื้นเท่าไร เพราะเราไม่สามารถแบ่งน้ำหนักเล็กน้อยออกเป็นสองซีกได้หลายครั้งเกินไป

โดยเฉพาะอย่างยิ่ง ฉันได้รับหลักทรัพย์บิตต่อไปนี้ (และความซับซ้อนของหน่วยความจำ) ด้วยตัวประมาณของฉัน สิ่งเหล่านี้น่าจะถูกประเมินต่ำเกินไป $โพลี(n)$ ปัจจัยต่างๆ จะถูกละเว้น คุณสามารถทำซ้ำได้โดยเรียกใช้สคริปต์

-------------------- MMT --------------------

n = 3488 k = 2720 w = 64 {'รันไทม์': 133.610045757394, 'mem': 61.4108701659799}

n = 4608 k = 3360 w = 96 {'รันไทม์': 174.170500202444, 'mem': 76.7183814578096}

n = 6960 k = 5413 w = 119 {'รันไทม์': 244.706198594600, 'mem': 123.451330788046}

n = 8192 k = 6528 w = 128 {'รันไทม์': 277.268692835670, 'mem': 140.825234863797}

BJMM ความลึก 2 มีประสิทธิภาพดีกว่าทั้ง MMT และ BJMM ความลึก 3 เล็กน้อย

---------------- BJMM ความลึก 2 ----------------

n = 3488 k = 2720 w = 64 {'รันไทม์': 127.121142192395,'mem': 65.4912086419963,'eps': 4}

n = 4608 k = 3360 w = 96 {'รันไทม์': 164.510671206084, 'mem': 88.1961572319148, 'eps': 6}

n = 6960 k = 5413 w = 119 {'รันไทม์': 231.228308300186, 'mem': 118.193072674123, 'eps': 8}

n = 8192 k = 6528 w = 128 {'รันไทม์': 262.367185095806,'mem': 134.928413147468, 'eps': 8}

---------------- BJMM ความลึก 3 ----------------

n = 3488 k = 2720 w = 64 {'รันไทม์': 132.929177320070, 'mem': 30.8744409777593, 'eps': [2, 0]}

n = 4608 k = 3360 w = 96 {'รันไทม์': 167.443669507488, 'mem': 45.4015594758618, 'eps': [6, 0]}

n = 6960 k = 5413 w = 119 {'รันไทม์': 236.346159271338, 'mem': 67.5649403829532,'eps': [6, 0]}

n = 8192 k = 6528 w = 128 {'รันไทม์': 269.431207750362, 'mem': 70.1193015124538, 'eps': [6, 0]}

[1] https://www.mdpi.com/1999-4893/12/10/209/pdf

[2] https://eprint.iacr.org/2012/026.pdf

Alessandro Barenghi avatar
mu flag
ซอร์สโค้ดมีอยู่ [ที่นี่](https://github.com/LEDAcrypt/LEDAtools) ลิงก์มีไว้เป็นข้อมูลอ้างอิง [26] ในเอกสาร
sa flag
TMM
$1 = 0 + 0 \mod 2$ ควรเป็น $0 = 1 + 1 \mod 2$ หรือไม่

โพสต์คำตอบ

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