Score:2

ระบบเข้ารหัสลับ LWE ที่ปลอดภัยของ CPA จะถูกทำลายโดยผู้โจมตีที่ใช้งานอยู่ได้อย่างไร

ธง cn

LWE-cryptosystem เป็นเพียง CPA-secure ดังตัวอย่างที่ระบุไว้ใน ทศวรรษแห่งการเข้ารหัสแบบ Lattice-Based. พิจารณาระบบต่อไปนี้ที่อธิบายไว้ในนั้น (ข้อ 5.2)

  • รหัสลับเป็นความลับ LWE ที่เหมือนกัน $s \in \mathbb{Z}_q^n$และคีย์สาธารณะคือบางส่วน $m \ประมาณ (n+1) \log(q)$ ตัวอย่าง $(\bar{a}_i, b_i = \left <\bar{a}_i, s \right > +e$ รวบรวมเป็นคอลัมน์ของเมทริกซ์ $A$ $$A = \begin{pmatrix} \bar{A} \ b^t \end{pmatrix} \in \mathbb{Z}_q^{(n+1) \times m}$$ ที่ไหน $b^t = s^t \bar{A} +e e^t \mod q$.
  • เพื่อเข้ารหัสบิต $\mu \in \mathbb{Z}_2 = \{0,1\}$ โดยใช้รหัสสาธารณะ $A$หนึ่งเลือกยูนิฟรอม $x \ใน {0,1}^m$ และส่งออกไซเฟอร์เท็กซ์ $$c = A \cdot x + (0, \mu \cdot \lfloor \frac{q}{2} \rceil) \in \mathbb{Z}_q^{n+1}$$
  • ในการถอดรหัสโดยใช้รหัสลับ $\mathbb{s}$หนึ่งเครื่องคำนวณ: $$(-s, 1)^t \cdot c = (-s, 1)^t \cdot A \cdot x +\mu \cdot \lfloor \frac{q}{2} \rceil) \in \mathbb {Z}_q^{n+1}$$ $$ = e^t \cdot x + \mu \cdot \lfloor \frac{q}{2} \rceil) \in \mathbb{Z}_q^{n+1}$$ $$\around \mu \cdot \lfloor \frac{q}{2} \rceil \in \mathbb{Z}_q^{n+1} \mod q$$ และทดสอบว่าใกล้จะถึงหรือยัง $0$ หรือ $\frac{q}{2} \mod q$.

กระดาษระบุว่า "เราทราบว่าระบบสามารถแตกหักได้เล็กน้อยภายใต้การโจมตีแบบแอ็กทีฟหรือที่เลือกไว้"

การโจมตีดังกล่าวจะมีลักษณะอย่างไร? ฉันจะพิจารณาที่จะเข้ารหัส $0$ สักหน่อยด้วย $x$ เป็นทั้งหมด $1$-s เวกเตอร์ที่จะดึง $e$ แล้วเรียกคืน $s$ ทาง $\bar{A}^{-1} \cdot (b-e)$. มีวิธีอื่นที่ทราบหรือไม่? และมีวิธีใดบ้างที่เป็นที่รู้จักในการขยายการโจมตีเหล่านี้ไปยังผู้สมัครที่เข้ารอบสุดท้าย NIST-pqc เวอร์ชันที่ปลอดภัย CPA เช่น Kyber

Score:2
ธง in

พิจารณาศัตรูนั้น $A$ เลือกสองข้อความ $m_1 = 0$ และ $m_2 = 1$ ตาม Ind-CCA1 เกมและเล่นกับผู้ท้าชิง

  • ศัตรู A ส่ง $m_1$ และ $m_2$ ให้กับผู้ท้าชิง

  • ผู้ท้าชิงสุ่มเลือก $ข$ ระหว่าง $0$ และ $1$; $b \stackrel{$}{\leftarrow}${0,1}

  • ผู้ท้าชิงคำนวณ $c:=Enc(s,m_b)$ และส่ง $ค$ ถึง $A$.

  • ฝ่ายตรงข้ามดำเนินการเพิ่มเติมในเวลาพหุนาม รวมถึงการเรียกออราเคิลเข้ารหัส/ถอดรหัส สำหรับข้อความเข้ารหัสที่แตกต่างจาก $ค$.

    • $c_0 = EncOracle(0)$

    • $c' = c \oบวก c_0$

      เช่น ดำเนินการเพิ่มโฮโมมอร์ฟิคของ $m_b$ ด้วยศูนย์!.

    • $m' = DecOracle(c')$

      นี่เป็นคำขอที่ถูกต้องตั้งแต่ $c' \neq ค$.

    • และเรามี $m' = m_b$

  • ถ้า $m' = 0$ กลับ $0$
    อย่างอื่นกลับมา $1$

ฝ่ายตรงข้ามชนะเกมด้วยความได้เปรียบ 1

กล่าวอีกนัยหนึ่ง ciphertexts สามารถเปลี่ยนแปลงได้ ไม่มีความสมบูรณ์ที่จะป้องกันศัตรู CCA1

cryptobeginner avatar
cn flag
ขอบคุณ! มีคำถามหนึ่งข้อ: การโจมตีที่วางไว้เรียกการถอดรหัสของออราเคิล _after_ เพื่อรับความท้าทาย อย่างไรก็ตาม คำอธิบายของลิงก์ IND-CCA1 ระบุว่าผู้โจมตีต้องเรียกการถอดรหัส oracle _before_ เพื่อรับความท้าทาย: "_นั่นหมายความว่า: ฝ่ายตรงข้ามสามารถเข้ารหัสหรือถอดรหัสข้อความโดยอำเภอใจก่อนที่จะได้รับข้อความเข้ารหัสที่ท้าทาย_" การโจมตีที่วางไว้ที่นี่จะไม่ละเมิดข้อกำหนดนี้หรือไม่?

โพสต์คำตอบ

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