Score:2

CPA + ลายเซ็นที่แข็งแกร่งเพียงครั้งเดียว --> CCA?

ธง cn

การรวมโครงร่าง CPA PKE (การเข้ารหัสคีย์สาธารณะ) เข้ากับลายเซ็นที่แข็งแกร่งเพียงครั้งเดียวจะสร้างโครงร่าง CCA PKE หรือไม่ โดยเฉพาะอย่างยิ่งให้ $(Enc,ธ.ค.)$ เป็นโครงการ CPA PKE และ $(วี,เอส)$ เป็นลายเซ็นแบบใช้ครั้งเดียว กล่าวคือ ไม่สามารถปลอมแปลงลายเซ็นที่ถูกต้องได้ แม้แต่ข้อความที่มีการสืบค้นครั้งเดียวโดยไม่มี $S$.

จากนั้นสร้างโครงร่าง PKE ใหม่:

$Enc'$ เปิดอัลกอริทึม $(pk,m,s)$: $$c1 = Enc(pk,m),$$ $$c2=เครื่องหมาย(s,c1),$$ $$ ผลตอบแทน (c1,c2).$$ และ $Dec'$ เปิดอัลกอริทึม $(sk,c,v)$: $$if \ Very(v,c2)=0,\ return \ False;$$ $$else \ return \ Dec(sk,c1).\ \ \ \ $$

นี่เป็นโครงการ CCA หรือไม่

Mark avatar
ng flag
แม้ว่าสิ่งนี้จะไม่ครอบคลุมถึงการก่อสร้างที่คุณเสนอ แต่โดยทั่วไปผู้คนมักจะใช้การแปลง Fujisaki-Okomoto สำหรับสิ่งที่คุณต้องการ ซึ่งคล้ายกันมาก การเปลี่ยนแปลงเฉพาะที่คุณพูดถึงมีความสำคัญหรือไม่ หรือคุณต้องการแค่ตัวชี้ทั่วๆ ไปเพื่อให้ได้รับความปลอดภัย CCA
Huanhuan Chen avatar
cn flag
ขอบคุณมาร์ค ฉันได้แนวคิดนี้เมื่อฉันอ่านการแปลง Naor-Yung ซึ่งใช้ NIZP + Signature + CPA เพื่อสร้างโครงร่างที่มีการรักษาความปลอดภัย CCA ฉันสงสัยว่าจำเป็นต้องใช้ NIZP ในโครงการนี้หรือไม่ ดังนั้นฉันจึงถามคำถามนี้
us flag
อัลกอริทึมการถอดรหัสได้รับคีย์การตรวจสอบลายเซ็นอย่างไร
Mark avatar
ng flag
@Mikero นี่เป็นคำวิจารณ์ที่ถูกต้องสำหรับแนวคิดนี้ แต่ "ย้อนกลับ" รหัสการตรวจสอบลายเซ็นสามารถเปิดเผยต่อสาธารณะได้ ดังนั้นคุณจึงสามารถรวมรหัสนี้ไว้ในรหัสลับของโครงร่างโดยรวมได้อย่างอิสระ โดย "ย้อนกลับ" ฉันหมายความว่าเราไม่สามารถคำนวณการเข้ารหัสแบบสาธารณะได้ เนื่องจากคีย์การลงนามจะต้องเก็บเป็นความลับเพื่อความปลอดภัย ดังนั้นหากติดอยู่ในคีย์สาธารณะของ $Enc'$ คุณจะไม่สามารถอุทธรณ์ถึงความปลอดภัยของแบบแผนลายเซ็นได้ไม่ว่าจะด้วยวิธีใดก็ตาม ทางที่มีความหมาย
Huanhuan Chen avatar
cn flag
ขอบคุณมาร์ค ฉันได้มันแล้ว
Score:5
ธง us

การก่อสร้างไม่สามารถรักษาความปลอดภัย CCA ได้

อัลกอริทึมที่คุณเขียนไม่ได้บอกว่าอัลกอริทึมการถอดรหัสได้รับคีย์การตรวจสอบลายเซ็นอย่างไร

  • หากรหัสยืนยันเป็นส่วนหนึ่งของรหัสสาธารณะ จะไม่มีใครสามารถเข้ารหัสได้เนื่องจากไม่มีใครสามารถเข้าถึงรหัสการลงนามได้ (ตามที่ Mark สังเกตในความคิดเห็นด้านบน) นอกจากนี้ ดูเหมือนจะไม่เหมาะกับข้อเสนอของคุณในการใช้ลายเซ็นแบบใช้ครั้งเดียว

  • หากคีย์การตรวจสอบรวมอยู่ในข้อความเข้ารหัส (ชัดเจน) แสดงว่าใช้ไม่ได้เช่นกัน ตอนนี้ไซเฟอร์เท็กซ์มีรูปแบบ $$(c=\textsf{Enc}(pk,m), vk, \sigma=\textsf{Sign}(sk,c\|vk))$$ ที่ไหน $(sk,vk)$ เป็นคู่คีย์ลายเซ็นแบบใช้ครั้งเดียว ฉันสามารถนำไซเฟอร์เท็กซ์ของแบบฟอร์มนี้ไปแก้ไขได้ $ค$ แต่อย่างใดและแทนที่ $vk,\sigma$ ด้วยตัวฉันเอง $vk',\sigma'$ ที่ฉันสร้างขึ้น สิ่งนี้ทำให้ฉันสามารถทำการโจมตีด้วยไซเฟอร์เท็กซ์ที่เลือกได้โดยตรง $\textsf{Enc}$ ในรูปแบบใหม่นี้

  • หากคีย์การตรวจสอบอยู่ในการเข้ารหัส วิธีนี้จะดีกว่าแต่ยังไม่ปลอดภัย ตอนนี้ไซเฟอร์เท็กซ์มีรูปแบบ $$(c=\textsf{Enc}(pk,m\|vk), \sigma=\textsf{เครื่องหมาย}(sk,c))$$ เป้าหมายคือโครงร่างใหม่นั้นปลอดภัยสำหรับ CCA ใดๆ ทางเลือกของ CPA-secure $\textsf{Enc}$. อย่างไรก็ตาม เป็นไปได้ที่จะสร้างโครงร่าง CPA ที่ปลอดภัยทางพยาธิวิทยา ซึ่งสามารถเปลี่ยนได้ $\textsf{Enc}(pk,m\|vk)$ เข้าไปข้างใน $\textsf{Enc}(pk,m\|vk')$ สำหรับใดๆ $vk'$ ของทางเลือกของผู้โจมตีและไม่มีความรู้ $m$ หรือ $vk$. ดังนั้นการโจมตี CCA ในโครงการใหม่จึงเกี่ยวข้องกับการเปลี่ยนแปลง $ค$ เข้าไปข้างใน $c'$ ด้วยวิธีนี้ด้วย $vk'$ เลือกโดยผู้โจมตีจากนั้นผู้โจมตีสามารถสร้างลายเซ็นที่ถูกต้องขึ้นมาใหม่ $c'$ และขอให้ถอดรหัสเพื่อเปิดเผย $m$.

ไม่มีโครงสร้างที่ "เรียบง่าย" ที่รวบรวม CPA เข้ากับ CCA security

มีปัญหาเปิดที่มีชื่อเสียงในการเข้ารหัส:

มีโครงสร้างกล่องดำของโครงร่างการเข้ารหัสคีย์สาธารณะที่ปลอดภัยของ CCA จากโครงร่างการเข้ารหัสคีย์สาธารณะที่ปลอดภัยของ CPA โดยพลการในรูปแบบธรรมดาหรือไม่

เป็นไปได้ที่จะสร้างรูปแบบที่ปลอดภัยของ CCA จากรูปแบบที่ปลอดภัยของ CPA หากเราเปลี่ยนพารามิเตอร์ของปัญหาที่เปิดอยู่นี้:

  • หากเราปล่อยโมเดลธรรมดาไว้และอนุญาตให้ใช้ oracles แบบสุ่ม การแปลง Fujisaki-Okamoto จะได้รับความปลอดภัย CCA

  • หากเราอนุญาตโครงสร้างที่ไม่ใช่กล่องดำ เราก็สามารถบรรลุความปลอดภัย CCA โดยใช้การแปลง Naor-Yung ไม่ใช่กล่องดำหมายความว่ารูปแบบที่ปลอดภัยของ CCA ใช้วิธีใดวิธีหนึ่ง รหัสแหล่งที่มา ของโครงการ CPA-secure ในกรณีของ Naor-Yung คุณต้องมีซอร์สโค้ดของโครงร่าง CPA-secure เพื่อพิสูจน์การอ้างสิทธิ์ที่ไม่มีความรู้เกี่ยวกับข้อความเข้ารหัส

มีบางอย่าง ความคืบหน้าบางส่วน การพิสูจน์ปัญหาแบบเปิดนี้ โดยเฉพาะอย่างยิ่ง จะต้องไม่มีโครงสร้างดังกล่าวหากอัลกอริทึมการถอดรหัส CCA ไม่ใช้อัลกอริทึมการเข้ารหัส CPA

เทคนิคที่คุณใช้ในคำถามนี้เป็นกล่องดำทั้งหมด ดังนั้นจึงไม่น่าจะมีประโยชน์ในการสร้างแผนความปลอดภัย CCA

เทคนิคที่คล้ายกันนี้ใช้ได้ผลหากรูปแบบ CPA อิงตามข้อมูลประจำตัว

การก่อสร้างของคุณทำให้ฉันนึกถึง การเปลี่ยนแปลง Canetti-Halevi-Katz จาก CPA-secure ตามเอกลักษณ์ โครงร่างเป็นโครงร่าง CCA ที่ปลอดภัย (ไม่อิงตามข้อมูลประจำตัว)

อนุญาต $\textsf{Enc}(pk,id,m)$ หมายถึงการเข้ารหัสตามข้อมูลประจำตัว (IBE) ของ $m$ เพื่อความเป็นตัวตน $id$โดยใช้พารามิเตอร์ส่วนกลางสาธารณะ $pk$. จากนั้นการก่อสร้าง CHK คือ: $$ \textsf{Enc}^*(pk,m) = (vk, c = \textsf{Enc}(pk, vk, m), \sigma = \textsf{Sign}(sk,c)) $$ กล่าวอีกนัยหนึ่งเพื่อเข้ารหัส:

  1. สร้างคู่คีย์ลายเซ็นแบบใช้ครั้งเดียว $(sk,vk)$.
  2. เข้ารหัสข้อความธรรมดาด้วย IBE โดยใช้ $vk$ เป็นตัวตน
  3. ลงนามในข้อความรหัส IBE ด้วย $sk$
  4. ให้ $vk$, ไซเฟอร์เท็กซ์ IBE และลายเซ็น

ผลลัพธ์ที่ได้คือ CCA-secure และสัญชาตญาณคร่าวๆ ก็คือ IBE ที่ปลอดภัยของ CPA อาจอ่อนได้เมื่อเทียบกับข้อความธรรมดา แต่จะต้องไม่อ่อนเมื่อเทียบกับ อัตลักษณ์.

Huanhuan Chen avatar
cn flag
ขอบคุณ มิเคโระ มันชัดเจนมาก ฉันเข้าใจ.
Patriot avatar
cn flag
@Huanhuan Chen โปรดพิจารณาโหวตคำตอบที่คุณยอมรับ
Huanhuan Chen avatar
cn flag
ขออภัยสำหรับการลงคะแนนล่าช้า ฉันเพิ่งได้รับสิทธิพิเศษ

โพสต์คำตอบ

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