Score:2

LWE - การเข้ารหัส/ถอดรหัสข้อความที่มีขนาดใหญ่กว่า 1 บิต

ธง in

ฉันต้องการทราบว่า LWE (และตัวแปร: RLWE และ MLWE) สามารถเข้ารหัสข้อความที่ใหญ่กว่า 1 บิตได้หรือไม่ เป็นไปได้ไหม? ฉันไม่พบการอ้างอิงใด ๆคุณช่วยอธิบายให้ฉันฟังหรือให้ข้อมูลอ้างอิงที่ดีเกี่ยวกับเรื่องนี้ได้ไหม

ขอบคุณล่วงหน้า.

อัปเดต: ฉันอ่านเอกสารบางฉบับและบางทีคำถามของฉันควรจะแตกต่างออกไปเล็กน้อย: มีโครงร่างที่ใช้ LWE และตัวแปรที่ไม่ใช่ FHE (เข้ารหัสมากกว่า 1 บิตในแต่ละครั้ง) หรือไม่ ตัวอย่างเช่น เมื่อพิจารณาจากข้อเสนอของ NIST ฉันไม่เข้าใจว่าพวกเขาเป็น FHE หรือไม่ ฉันสังเกตเห็นว่าข้อความรหัสมีขนาดใหญ่กว่าข้อความธรรมดาเมื่อฉันใช้ Crystals-Kyber เป็นต้น ดังนั้นฉันคิดว่ามันคือ FHE หรือเข้ารหัส 1 บิตในแต่ละครั้ง

Score:1
ธง ng

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

ตลอด ฉันจะอ้างถึงรูปแบบการเข้ารหัสมาตรฐาน "Regev-type"

$$\mathsf{Enc}_s(m) = (A, As + e + (q/2)m),\qquad \mathsf{Dec}(A, b) = \lfloor b - As\rceil_2$$

โดยที่ฟังก์ชัน $\lfloor x\rceil_p = p\floor x/p\rceil$ รอบ $x$ เป็นจำนวนเต็มที่ใกล้เคียงที่สุดคูณด้วย $p$ (และ $\ชั้น x\rceil$ เป็นฟังก์ชันมาตรฐาน "ปัดเศษเป็นจำนวนเต็มที่ใกล้เคียงที่สุด")

อันดับแรก มีวิธีมาตรฐานในการไปจากพื้นที่ข้อความของ $\mathbb{Z}/2\mathbb{Z}$ ถึง $(\mathbb{Z}/2\mathbb{Z})^n$กล่าวคือผ่าน "โครงร่างการเข้ารหัสเมทริกซ์" ความคิดคือการมี $n$ คีย์อิสระ $s_1, s_2,\จุด, s_n$. คุณสามารถรวบรวมสิ่งเหล่านี้เป็นเมทริกซ์ $\mathbf{S} = [s_1,\dots,s_n]$แล้วเข้ารหัสด้วย

$$\mathsf{Enc}_{\mathbf{S}}(\vec m) = (A, A\mathbf{S} + \vec e + (q/2)\vec m)$$

ในทางปฏิบัติเรากำลัง "ใช้ซ้ำ" $A$ ข้าม $n$ การเข้ารหัสที่แตกต่างกัน เนื่องจาก $A$ เป็นส่วนที่ใหญ่ที่สุด (ตามขนาด) ของโครงการ นี่เป็นการประหยัดที่เหมาะสม คีย์เพิ่มขึ้นตามตัวคูณ $n$ แม้ว่า. ฉันเชื่อว่าการเพิ่มประสิทธิภาพนี้มีการกล่าวถึงใน PVW08 ("Lossy Trapdoor Functions and their Applications" อาจจะ?) แต่ไม่รู้ว่านี่เป็นครั้งแรกหรือไม่

อีกวิธีที่จะไปจากพื้นที่ข้อความของ $\mathbb{Z}/2\mathbb{Z}$ ถึง $(\mathbb{Z}/2\mathbb{Z})^n$ คือการใช้เสียงกริ่งทั่วไป เช่น ใช้ RLWE นี่ค่อนข้างไม่สำคัญทางคณิตศาสตร์ ดังนั้นฉันจะให้ภาพรวมระดับสูง ขณะนี้ Ciphertexts อยู่ในรูปแบบ $(a, เป็น + e + (q/2)m)$ที่ตอนนี้ $a, s, e, m$ ล้วน พหุนาม ของปริญญา $n$. โดยเฉพาะอย่างยิ่ง หนึ่งได้รับการเข้ารหัสสำหรับเวกเตอร์บิตใน $(\mathbb{Z}/2\mathbb{Z})^n$ "ฟรี" โดยเฉพาะอย่างยิ่ง ปราศจาก ต้องเพิ่มขนาดของรหัสลับ นี่เป็นหนึ่งในวิธีที่มีประสิทธิภาพมากกว่าการเข้ารหัสบิต และเป็นที่นิยมอย่างมากในทางปฏิบัติ (ตัวอย่างเช่น โซลูชัน NIST ทุกตัวใช้เวอร์ชันนี้ เช่น RLWE, MLWE หรือ NTRU ที่ไม่ใช่จำนวนเต็ม ยกเว้น FrodoKEM ซึ่งจงใจไม่ทำเพื่อความปลอดภัย)

จะทำอย่างไรถ้าคุณไม่ชอบรูปลักษณ์ของ $\mathbb{Z}/2\mathbb{Z}$ ทุกที่? เรื่องราวข้างต้นสามารถสรุปให้มีพื้นที่ข้อความได้ $\mathbb{Z}p/\mathbb{Z}$ (แทนที่จะเป็นกรณีเฉพาะของ $p = 2$) โดยเปลี่ยนศัพท์ $(q/2)m$ ถึง $(q/p)m$ (โดยในกรณีแรกเราเลือก $คิว$ ดังนั้น $2\กลาง q$. หลังจากการกล่าวทั่วไป เราต้องการ $p\กลาง q$). สิ่งนี้ให้การเข้ารหัสด้วยพื้นที่ข้อความ $\mathbb{Z}/p\mathbb{Z}$หรือหลังจากการเพิ่มประสิทธิภาพทั้งสองอย่างที่ฉันกล่าวถึง $(\mathbb{Z}/p\mathbb{Z})^n$.

โปรดทราบว่าสิ่งนี้ไม่ได้มาฟรี --- พูดอย่างคร่าว ๆ คำนี้ $(q/2)m$ ใช้เพื่อให้แน่ใจว่าการระงับการถอดรหัสถูกต้อง และทำงานเมื่อมีข้อผิดพลาด $|จ| < คิว/4$ ในแต่ละพิกัด สำหรับทั่วไป $p$, ขอบเขตนี้กระชับขึ้นและต้องมีข้อผิดพลาด $|จ| < คิว/2p$ ในแต่ละพิกัด ข้อผิดพลาดเล็กน้อยนี้นำไปสู่โครงร่างที่ปลอดภัยน้อยลง เราสามารถหลีกเลี่ยงสิ่งนี้ได้โดยการเปลี่ยนพารามิเตอร์ใหม่ แต่ประเด็นก็คือการเปลี่ยนจาก $\mathbb{Z}/2\mathbb{Z}\mapsto \mathbb{Z}/p\mathbb{Z}$ ไม่ได้มา "ฟรี"


สำหรับคำถามที่อัปเดตของคุณ เป็นสิ่งที่ควรค่าแก่การกล่าวถึงว่ามีโครงร่างการเข้ารหัสตาม LWE (แม้แต่ FHE!!) พร้อมปัจจัยการขยายข้อความเข้ารหัส (เหมาะสมที่สุดตามเส้นกำกับ) ดู

Felipe Rampazzo avatar
in flag
คำอธิบายที่ยอดเยี่ยม @Mark นี่คือสิ่งที่ฉันกำลังมองหา ขอบคุณ!
Score:0
ธง au

ใช่ เป็นไปได้ ตัวอย่างเช่น หลายบิต ใช้วิธีการนี้ เช่น ถ้าข้อความของเราใหญ่กว่า 1 บิต คุณก็แค่แปลงค่าที่คุณต้องการเข้ารหัสโดยใช้ รหัสลับ ซึ่งเก็บคีย์ส่วนตัวของเราไว้ เคและเราสามารถสร้างรหัสสาธารณะได้ด้วย พี ซึ่งอิงตามตัวเลขการทำนายและสร้างชุดตัวเลขขึ้นมา เอ็นและข้อผิดพลาดในการแจ้งเตือน อีด้วยฟังก์ชัน เช่น $N_{i}=A_{i}S+E_{i} \text{ (mod q)}$. ง ด้วยบิตจำนวนมาก เราจะใช้ค่าของเราและแปลงเป็นบิต และหลังจากที่เราเข้ารหัสแต่ละค่าแล้ว

ในการอ้างอิงด้วยรหัสคุณสามารถอ่านได้ https://medium.com/asecuritysite-when-bob-met-alice/multi-bit-public-key-encryption-with-learning-with-errors-lwe-e6c7cad02758

และกระดาษสามารถ https://cims.nyu.edu/~regev/papers/lwesurvey.pdf

kelalaka avatar
in flag
ฉันคิดว่า OP ไม่ถามเกี่ยวกับการแสดงข้อความด้วย 4 บิตแล้วเข้ารหัส แต่พวกเขาพิจารณาว่าพื้นที่ข้อความของ LWE-Enc นั้นใหญ่กว่า $\mathbb F_2$ บทความขนาดกลางล้มเหลวในเรื่องนั้น!.
Felipe Rampazzo avatar
in flag
สวัสดีทุกคน ขอบคุณสำหรับคำตอบของคุณ อย่างที่ @kelalaka พูดไว้ ไอเดียแรกของฉันคือการเข้ารหัสมากกว่า 1 บิตในแต่ละครั้ง แต่ฉันไม่รู้ว่าเป็นไปได้ไหม เนื่องจากฉันพบการอ้างอิงโดยใช้ตัวอย่างของ PK เพื่อเข้ารหัส 1 บิตต่อตัวอย่างเท่านั้น ฉันยังไม่เข้าใจว่าตัวอย่างถูกกำหนดอย่างไรและเหตุใดจึงใช้บล็อกแทนไม่ได้

โพสต์คำตอบ

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