Score:2

คุณสามารถใช้ RSA ใน “โหมด CBC” ได้ไหม

ธง cn

มีข้อกังวลด้านความปลอดภัยใดๆ เกี่ยวกับการใช้ RSA ใน âCBC modeâ หรือไม่

โดยเฉพาะ: ถ้าฉันใช้การเข้ารหัส RSA เป็นการดำเนินการบล็อกรหัสของฉัน และใช้การดำเนินการโหมด CBC มาตรฐาน รวมทั้ง IV แบบสุ่ม ข้อความรหัสที่ได้จะให้ความปลอดภัยตามทฤษฎีในระดับเดียวกับปัญหา RSA พื้นฐานหรือไม่

ฉันกำลังพิจารณา RSA เพียงอย่างเดียว ไม่มีรูปแบบการขยาย ฉันรู้ว่าตามธรรมเนียมแล้ว RSA จะไม่ปลอดภัยหากไม่มีการเติมที่เหมาะสม แต่ในโหมด CBC ฉันไม่เห็นว่าทำไมการเติมจึงจำเป็น (และทำให้ปัญหาซับซ้อนขึ้นโดยการนำองค์ประกอบที่ไม่ได้กำหนดมาไว้)

ฉันเข้าใจด้วยว่า CTR, CFB และโหมดเข้ารหัสบล็อกอื่นๆ ที่ใช้ฟังก์ชันการเข้ารหัสบล็อกสำหรับทั้งการเข้ารหัสและถอดรหัสจะล้มเหลวอย่างมากด้วย RSA เกี่ยวข้องกับ CBC เท่านั้น

cn flag
นี่เป็นคำถามสมมุติ ฉันไม่ได้ใช้ระบบที่ใช้ RSA ในวิธีนี้ แค่อยากรู้ทฤษฎี
kelalaka avatar
in flag
การทำซ้ำที่เป็นไปได้ของ 1) [สามารถใช้ RSA (ในทางทฤษฎี) เป็นรหัสบล็อกได้หรือไม่](https://crypto.stackexchange.com/q/32916/18298) 2) [โหมดการทำงานของรหัสบล็อกที่ดีที่สุดสำหรับ RSA คืออะไร ](https://crypto.stackexchange.com/q/66314/18298) และอีกมากมาย [รหัสบล็อก RSA](https://crypto.stackexchange.com/search?q=RSA+block+cipher)
cn flag
สิ่งนี้อาจถูกถามในอดีต แต่เธรดทั้งหมดที่ฉันพบในการค้นหาครั้งแรกของฉันนั้นเกี่ยวกับการใช้ RSA + OAEP ร่วมกับโหมดเข้ารหัสบล็อกบางโหมด นั่นทำให้เกิดภาวะแทรกซ้อนอื่น ๆคำตอบของ Mikero นั้นดีเพราะมันช่วยเติมช่องว่างให้ฉันเกี่ยวกับสถานการณ์เฉพาะนี้
Score:5
ธง us

นี่เป็นความคิดที่บ้ามาก ดังนั้นฉันขอปรบมือให้คุณ แต่มันไม่ปลอดภัยอย่างจริงจัง การตีความ "RSA-CBC" ของฉันจะทำงานดังนี้:

$$ \begin{array}{l} \textsf{RSA-CBC}\Bigl( (N,e), ​​m_1 \| m_2 \| \ldots \|m_\ell \Bigr): \ \quad c_0 \gets \mathbb{Z}_N \ \quad \mbox{สำหรับ $i=1$ ถึง $\ell$:} \ \quad\quad c_i := (c_{i-1} + m_i)^e \bmod N \ \quad \mbox{return } c_0 \| ค_1 \| \ldots \| ม_\เอล \end{อาร์เรย์}$$

นี่ละ $m_i$ และแต่ละคน $c_i$ คือ $\mathbb{Z}_N$-ธาตุ. RSA-CBC เลือก "IV" แบบสุ่ม (องค์ประกอบของ $\mathbb{Z}_N$) จากนั้นเข้ารหัสบล็อกข้อความธรรมดาแต่ละบล็อกโดยเพิ่มบล็อกข้อความเข้ารหัสก่อนหน้า จากนั้นใช้ฟังก์ชัน RSA

แล้วเกิดอะไรขึ้นกับมัน? สมมติว่าฉันเห็นการเข้ารหัสของข้อความธรรมดาที่ไม่รู้จัก ถ้าให้ผมเดา $m_i$จากนั้นฉันสามารถตรวจสอบได้ว่าการเดาของฉันถูกต้องหรือไม่ผ่านทาง $c_i \overset?= (c_{i-1} + m_i)^e \bmod N$. ฉันสามารถดำเนินการตรวจสอบนี้ได้เนื่องจากเลขยกกำลัง RSA $e$ เป็นที่สาธารณะ

โดยทั่วไปแล้ว CBC จะไม่ทำงานกับการดำเนินการคีย์สาธารณะ ทุกคนสามารถทำซ้ำขั้นตอนที่ทำระหว่างการเข้ารหัส CBC ได้ หากรหัสบล็อกถูกแทนที่ด้วยการดำเนินการคีย์สาธารณะที่ทุกคนสามารถทำได้

cn flag
สวย. ฉันรู้ว่ามีบางอย่างที่ฉันขาดหายไป
kelalaka avatar
in flag
เราสามารถออกแบบสิ่งนี้ด้วยการเติม PKCS และ OAEP ที่ปลอดภัยได้เช่นกัน $$c_i := (pad(c_{i-1} + m_i))^e \bmod N$$ (ไม่ระบุขนาดที่ลดลงของช่องว่างภายใน)
us flag
@kelalaka $c_{i-1}+m_i$ เป็นองค์ประกอบ "ขนาดเต็ม" ของ $\mathbb{Z}_N$ อยู่แล้ว ดังนั้นฉันไม่แน่ใจว่าคุณสามารถใช้ช่องว่างภายในส่วนใดในขณะที่ยังคงรักษาผลลัพธ์ไว้ใน $\ คณิตศาสตร์bb{Z}_N$.
kelalaka avatar
in flag
@Mikero ต้องลดขนาดอินพุตของโครงร่างนี้เช่น 11 ไบต์สำหรับการเติม PKCS#1 v1.5 ( ดูสิ่งนี้สำหรับ [OAEP] (https://crypto.stackexchange.com/q/42097/18298) ) อย่างที่บอก(อาจไม่ชัดขออภัยด้วย) จากนั้นการเข้ารหัสจะปลอดภัยตราบเท่าที่การเติม PKCS#1 v1.5 หรือ OEAP ปลอดภัย ยังไงก็ต้องใช้ ECIES...
us flag
ตกลง ในกรณีนั้น "การผูกมัด CBC" จะไม่เพิ่มอะไรเลย คุณอาจทำ RSA-OAEP ในโหมด "ECB" เช่นกัน)
kelalaka avatar
in flag
ใช่ OAEP และ PKCS เป็นการเข้ารหัสที่น่าจะเป็นไปได้ อย่างไรก็ตาม CBC ยังมีการผูกมัดบางอย่างที่อาจต้องการ และไม่ควรสับสนกับการรับรองความถูกต้องเนื่องจากสามารถโจมตี CBC ด้วย [การพลิกบิต](https://crypto.stackexchange.com/q/66085/18298)
us flag
"ถ้าฉันเดาได้สำหรับ mi ฉันก็จะตรวจสอบได้" สิ่งนี้ใช้ในลักษณะเดียวกับ ECB ดังนั้นข้อความจริงของคุณคือ "CBC ไม่มีการปรับปรุง" และช่องว่างด้านความปลอดภัยที่อนุญาตให้ตรวจสอบการเดาที่มาจากรหัสสาธารณะที่ผู้โจมตีรู้จัก คิดว่าในโปรโตคอล TLS เขาจะไม่มีสิ่งนี้

โพสต์คำตอบ

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