มีหลายสถานการณ์ที่ไม่สามารถแทนที่การเข้ารหัสแบบอสมมาตรด้วยการเข้ารหัสแบบไฮบริด ในระดับสูง คุณลักษณะทั่วไปของสถานการณ์เหล่านี้คือการใช้ประโยชน์จากคุณสมบัติเชิงพีชคณิตของโครงร่างการเข้ารหัสแบบอสมมาตร ซึ่งวิธีการเข้ารหัสแบบไฮบริดอาจใช้งานไม่ได้ สิ่งนี้มักจะเกิดขึ้นเมื่อเราไม่ต้องการเพียงอย่างเดียว สื่อสาร ข้อมูล แต่ยังต้องการ จัดการกับมัน ในลักษณะการรักษาความเป็นส่วนตัว
วิธีทั่วไปสองวิธีในการใช้ประโยชน์จากคุณสมบัติเชิงพีชคณิตของโครงร่างการเข้ารหัสแบบอสมมาตรคือ:
- โฮโมมอร์ฟิซึ่ม: ให้สองไซเฟอร์เท็กซ์ $\mathsf{Enc}(m_0)$ และ $\mathsf{Enc}(m_1)$เป็นไปได้ที่จะขย้ำพวกมันเป็นไซเฟอร์เท็กซ์ $\mathsf{Enc}(m_0 \boxplus m_1)$, ที่ไหน $\boxplus$ คือการดำเนินการบางอย่าง (เช่น การบวกหรือการคูณ)
- การพิสูจน์ที่เป็นมิตร: มีการพิสูจน์ที่ไม่มีความรู้ที่มีประสิทธิภาพสำหรับการพิสูจน์ข้อความในรูปแบบ "$ค$ เป็นการเข้ารหัสของข้อความ $m$ ที่ไหน $m$ สนองทรัพย์ที่ให้มา"
ให้ฉันอธิบายทั้งสองอย่างด้วยสถานการณ์ของเล่น สมมติว่าเราต้องการลงคะแนนเสียงระหว่างผู้สมัครสองคน $C_0$ และ $C_1$และมี $n$ ผู้มีสิทธิเลือกตั้ง $V_1, \cdots, V_n$. เราต้องการค้นพบผลการโหวตโดยไม่เปิดเผยคะแนนโหวตแต่ละรายการ วิธีแก้ไขที่เป็นไปได้ (อย่างง่าย) มีดังนี้: ผู้มีสิทธิเลือกตั้งแต่ละคน $V_i$ เข้ารหัสการลงคะแนนซึ่งเป็นอย่างใดอย่างหนึ่ง $0$ (ถ้า $V_i$ โหวตให้ $C_0$) หรือ $1$ (อื่น). ให้ฉันโทรหา $(E_1, \cdots, E_n)$ คะแนนเสียงที่เข้ารหัส สังเกตว่าสิ่งที่เราต้องการทราบมีดังต่อไปนี้: ผลรวมของค่าข้อความธรรมดาคืออะไร? ผลลัพธ์หารด้วย $n$ ตรงกับเศษคะแนนเสียงที่ $C_1$ ได้; ถ้ามากกว่า $50\%$พวกเขาชนะการเลือกตั้ง
ฉันคิดว่ารูปแบบการเข้ารหัสคือ โฮโมมอร์ฟิคเพิ่มเติม: จากการเข้ารหัสของ $m_0$ และ $m_1$เราสามารถคำนวณการเข้ารหัสของผลรวมแบบโฮโมมอร์ฟิกได้ $m_0+m_1$ (อย่างเป็นทางการกว่านั้น เรายังต้องการข้อกำหนดทางเทคนิคที่เรียกว่าความเป็นส่วนตัวในการทำงาน: ข้อมูลไซเฟอร์เท็กซ์ที่เป็นผลลัพธ์ไม่ควรรั่วไหลของข้อมูลมากไปกว่าผลรวมนี้)
เราจะมีสองหน่วยงาน: ผู้รวบรวม และ ก ตัวถอดรหัส. ผู้รวบรวมใช้ไซเฟอร์เท็กซ์ $E_1, \cdots E_n$, รวมเข้าด้วยกันแบบโฮโมมอร์ฟิก, ได้รับการเข้ารหัส $E$ ของผลลัพธ์และส่งไปยังตัวถอดรหัส ตัวถอดรหัสมีรหัสลับและเผยแพร่ผลการเลือกตั้ง
แต่เดี๋ยวก่อน มีปัญหา! จะเกิดอะไรขึ้นถ้าตัวถอดรหัสโกหกเกี่ยวกับค่าที่ถอดรหัส เกิดอะไรขึ้นถ้า $V_i$ เข้ารหัส พูด $18$ แทน $0$ หรือ $1$? สิ่งนี้จะเพิ่มได้อย่างมีประสิทธิภาพ $18$ โหวตให้ $C_1$. การเข้ารหัสมีวิธีจัดการกับสิ่งที่เรียกว่า การพิสูจน์ความรู้เป็นศูนย์ซึ่งอนุญาตให้ผนวกการพิสูจน์กับวัตถุ (เช่น ciphertext) เพื่อรับประกันว่าเป็นไปตามคุณสมบัติบางอย่าง โดยไม่กระทบต่อความเป็นส่วนตัว นี่ละ $V_i$ สามารถแนบหลักฐานได้ว่า $E_i$ ทำการเข้ารหัสเล็กน้อย (โดยไม่เปิดเผยว่าอันไหน) และตัวถอดรหัสยังสามารถส่งหลักฐานได้ว่า $E$ ถอดรหัสเป็นผลลัพธ์ที่ถูกต้อง (โดยไม่เปิดเผยคีย์ถอดรหัสลับ)
ดังที่คุณเห็นจากด้านบน ด้วยรูปแบบการเข้ารหัสที่มี (1) โฮโมมอร์ฟิซึ่มแบบเติมแต่ง และ (2) ความเป็นไปได้ในการดำเนินการพิสูจน์ความรู้ที่ไม่มีความรู้ เราสามารถสร้างแอปพลิเคชันที่น่าสนใจได้ - การลงคะแนนเสียงเป็นตัวอย่างที่เป็นธรรมชาติ คุณสามารถโน้มน้าวใจตัวเองได้อย่างง่ายดายว่าการเข้ารหัสแบบไฮบริดทำลายโฮโมมอร์ฟิซึมโดยทั่วไป และหากคุณคุ้นเคยกับการพิสูจน์แบบไม่มีความรู้ คุณจะสังเกตได้ว่าการเข้ารหัสแบบไฮบริดจะทำให้การเข้ารหัสไม่มีประสิทธิภาพอย่างมาก
ฉันสามารถแสดงรายการตัวอย่างอื่นๆ มากมายตามรายการข้างต้น: e-cash, การประมูลทางอิเล็กทรอนิกส์, ข้อมูลประจำตัวที่ไม่ระบุตัวตน และอื่นๆ อีกมากมาย สิ่งที่พวกเขามีเหมือนกันคือเราต้องการทำมากกว่าการส่งข้อมูล: เราต้องการจัดการ ซึ่งต้องใช้ความละเอียดอ่อนบางอย่าง และเราต้องการทำอย่างปลอดภัย ซึ่งต้องการความสามารถในการตรวจสอบว่ามีการดัดแปลงที่ได้รับอนุญาตเท่านั้นที่ได้ทำไปแล้ว ทั้งคู่ต้องการการเข้ารหัสแบบอสมมาตรเฉพาะพร้อมคุณสมบัติที่เหมาะสม