เมื่อนึกถึงการเข้ารหัสการใช้งานครั้งแรกที่นึกถึงคือการเข้ารหัสเมื่อไม่ได้ใช้งานและการเข้ารหัสระหว่างการขนส่ง อันแรกอนุญาตให้จัดเก็บข้อมูลบางอย่างในฮาร์ดไดรฟ์ที่เข้ารหัสอุปกรณ์แบบถอดได้หรือแม้แต่ฐานข้อมูลบนคลาวด์และรับประกันว่ามีเพียงเจ้าของที่ถูกต้องตามกฎหมายเท่านั้นที่สามารถดูหรือแก้ไขเนื้อหาข้อความธรรมดาได้ การเข้ารหัสระหว่างการขนส่งรับประกันว่าข้อมูลที่ส่งผ่านอินเทอร์เน็ตสามารถเข้าถึงได้โดยผู้รับที่กําหนดเท่านั้นแม้ว่าจะส่งผ่านเราเตอร์หรือช่องทางสาธารณะก็ตาม ทั้งสองสถานการณ์อาศัยการเข้ารหัสโดยมีการรับประกันความสมบูรณ์เพิ่มเติมว่าข้อมูลจะไม่ถูกดัดแปลงโดยผู้โจมตีที่เป็นอันตรายในระหว่างนั้น สิ่งนี้เรียกว่าการเข้ารหัสที่ได้รับการรับรองความถูกต้อง: เมื่อข้อมูลถูกเข้ารหัสแล้วไม่มีใครในห่วงโซ่สามารถอนุมานข้อมูลบิตเดียว (การรักษาความลับ) และไม่มีใครสามารถเปลี่ยนแปลงข้อความเข้ารหัสได้โดยที่ไม่มีการตรวจพบ (ความสมบูรณ์ / ความถูกต้อง)
กรณีการใช้งานร่วมกันบางกรณีกําหนดให้อนุญาตให้มีการประมวลผลที่ไม่สําคัญบางอย่างได้แม้ในข้อความเข้ารหัส นี่คือโดเมนของเทคนิคการรักษาความเป็นส่วนตัวหรือการเข้ารหัสที่ใช้งานโดยมีการเข้ารหัสแบบ homomorphic อย่างสมบูรณ์ (FHE) เป็นหนึ่งในนั้น ตัวอย่างหนึ่งคือการลงคะแนนอิเล็กทรอนิกส์ในระบบคลาวด์: ตัวอย่างเช่นผู้มีสิทธิเลือกตั้งอาจเข้ารหัสบัตรลงคะแนนของพวกเขาจากนั้นหน่วยงานบางแห่งที่อยู่ตรงกลางจะรวบรวมบัตรลงคะแนนทั้งหมดเพื่อนับจํานวนคะแนนเสียงและจะมีการเผยแพร่เฉพาะผลลัพธ์สุดท้ายเท่านั้น น่าเสียดายที่ด้วยการเข้ารหัสที่ได้รับการรับรองความถูกต้องเอนทิตีที่อยู่ตรงกลางจะต้องถอดรหัสบัตรลงคะแนนทั้งหมดเพื่อทําการคํานวณดังกล่าวและจะเห็นการลงคะแนนของแต่ละบุคคลอย่างชัดเจนซึ่งค่อนข้างยุ่งยาก ในทางทฤษฎีเราสามารถสับเปลี่ยนบัตรลงคะแนนได้ (โปรโตคอลการลงคะแนนอิเล็กทรอนิกส์บางอย่างพึ่งพาสิ่งนี้จริง ๆ ) แต่แตกต่างจากบัตรลงคะแนนกระดาษกลไกการเข้ารหัสแบบดั้งเดิมที่รับประกันความสมบูรณ์ยังทําให้ยากต่อการยกเลิกการเชื่อมโยงบัตรลงคะแนนที่เข้ารหัสจากตัวตนของผู้ส่ง ในรูปแบบการลงคะแนนอิเล็กทรอนิกส์เราสามารถเพิ่มกําแพงฮาร์ดแวร์รอบ ๆ หน่วยงานที่นับคะแนนเสียงได้ ตัวอย่างเช่นนี่คือวัตถุประสงค์ของวงล้อมการดําเนินการที่เชื่อถือได้ วงล้อมดังกล่าวจะทําให้ผู้โจมตีโต้ตอบกับเอนทิตีได้ยากขึ้นมาก แต่แล้วความล้มเหลวในฮาร์ดแวร์อาจทําให้คีย์ถอดรหัสรั่วไหลและแตกต่างจากข้อผิดพลาดของซอฟต์แวร์ช่องโหว่ในการออกแบบฮาร์ดแวร์ไม่สามารถแก้ไขได้อย่างง่ายดาย
เพื่อแก้ไขปัญหานี้และ use case ที่คล้ายกันเราสามารถใช้ Fully Homomorphic Encryption (FHE) ได้ FHE เป็นรูปแบบของการเข้ารหัสที่ช่วยให้เราสามารถคำนวณฟังก์ชันบน ciphertext โดยไม่ต้องถอดรหัสและเพื่อให้ได้รหัสลับของผลลัพธ์ของฟังก์ชันโดยตรง
เป็นเวลานานที่ฟังก์ชัน f ที่จะประเมินคือสาธารณะดังนั้นลำดับขั้นตอนการปรับเปลี่ยนการเข้ารหัสของ f(x) เป็นความรู้สาธารณะและสามารถดำเนินการในระบบคลาวด์โดยไม่ต้องมีการเก็บเอกสารใด ๆ
รูปนี้แสดงให้เห็นถึง 3 สถานการณ์สําหรับการปลุกเร้า: ในภาพซ้ายสุดเอนทิตีที่เชื่อถือได้จะสับเปลี่ยนและถอดรหัสการโหวตของแต่ละบุคคลก่อนที่จะเผยแพร่เพิ่มเติม เราต้องไว้วางใจหน่วยงานที่ทําการคํานวณเพื่อรักษาความเป็นส่วนตัวของผู้มีสิทธิเลือกตั้งและนับคะแนนอย่างถูกต้อง ในภาพตรงกลาง Trusted Enclave ซึ่งได้รับความไว้วางใจให้รับประกันความสมบูรณ์และความเป็นส่วนตัวจะใช้ในการคํานวณแบบเดียวกัน ในภาพด้านขวาจะใช้การเข้ารหัสแบบ homomorphic: สามารถเพิ่มคะแนนเสียงที่เข้ารหัสได้ (ในที่สาธารณะ) ก่อนที่ผลลัพธ์จะถูกถอดรหัส ) หมายถึงการดําเนินการเข้ารหัสในขณะที่ D () หมายถึงการถอดรหัส
FHE cũngกระทบเข้าไปยังการถอดรหัสเท่านั้นที่ขึ้นอยู่กับจำนวนของบิตในผลลัพธ์ข้อความประโยค มันไม่ขึ้นอยู่กับการทำงานต่อเนื่องที่ถูกนำไปใช้งาน สิ่งนี้ทำให้ระบบไม่เป็นระบบที่ไม่กะทบเข้าไปยังการถอดรหัสเท่านั้นที่ไม่สมบูรณ์ที่อาจจะนำข้อความไปต่อกันว่างๆ ที่ผู้รับสามารถทำงานโดยการถอดรหัสข้อความแล้วนำไปใช้งาน
การเอาท์ซอร์ส FHE มักถูกนําเสนอเป็นทางเลือกในการรักษาความปลอดภัยโดยพิจารณาจากความแข็งของปัญหาทางคณิตศาสตร์มากกว่าอุปสรรคในทางปฏิบัติ ดังนั้น FHE จึงคงกระพันอย่างสมบูรณ์ต่อการโจมตีช่องทางด้านข้างแบบพาสซีฟหรือความเสียหายอื่น ๆ ของโฮสต์คลาวด์ ลองนึกภาพว่ามีคนต้องการจ้างคอมพิวเตอร์จากภายนอก แต่ข้อมูลนั้นละเอียดอ่อนจริงๆ บุคคลนั้นอาจลังเลที่จะใช้ VM บนคลาวด์หากมีคนอื่นสามารถรูทบนเครื่องได้ พวกเขาอาจจะลังเลที่จะเรียกใช้ในวงล้อมเช่น SGX โดยรู้ว่า CPU และหน่วยความจําของโฮสต์คลาวด์ได้รับการตรวจสอบอย่างต่อเนื่องสําหรับการโหลดพลังงานอุณหภูมิ บางทีข้อมูลบางอย่างสามารถดึงมาจากการวัดเหล่านี้ บุคคลนั้นอาจมั่นใจได้ด้วยคํามั่นสัญญาของ FHE ว่าการดึงข้อมูลใด ๆ เพียงเล็กน้อยจําเป็นต้องทําลายปัญหาทางคณิตศาสตร์หลังควอนตัมโดยไม่ขึ้นกับการวัดใด ๆ ที่เราสามารถรวบรวมได้
หากความลับที่โดยแผนการจัดสรรได้รับการป้องกันไม่ให้ผู้โจมตีอ่านบิตใด ๆ ของข้อมูลโดยไม่มีกุญแจลับ ความสามารถของ FHE ในการแฟล็ปบิตที่คำนวณ: ในวงจรนี้จะเหมือนกับการโจมตีแบบด้านข้างที่ใช้กำลังเผยแพร่ที่สามารถเป้าหมายได้ บางบางอาจเป็นสิ่งที่น่ากลัวมากใน FHE การโจมตีเหล่านี้จะสอดคล้องกับการดำเนินการโฮโมมอร์ฟิกที่ไม่เต็มใจ สามารถหลีกเลี่ยงได้โดยการเพิ่มการทำซ้ำหรือการทำซ้ำในการคำนวณ
FHE มักถูกนำเสนอในรูปแบบ public key โดยมี:
เจ้าของคีย์ถอดรหัสเป็นเจ้าของความลับที่ละเอียดอ่อนที่สุดของระบบการเข้ารหัสลับ บุคคลนี้มีหน้าที่รับผิดชอบในการตรวจสอบให้แน่ใจว่าห่วงโซ่ของการดําเนินการ homomorphic ที่ดําเนินการนั้นถูกต้องตามกฎหมายและข้อความเข้ารหัสสุดท้ายนั้นปลอดภัยในการถอดรหัสแล้วถอดรหัสผลลัพธ์ข้อความธรรมดา หากมีการดําเนินการที่เป็นอันตรายในห่วงโซ่คีย์ถอดรหัสอาจรั่วไหลในเวลาถอดรหัส โชคดีที่การดําเนินการแบบ homomorphic สามารถทําได้ในที่สาธารณะและตรวจสอบได้
ในส่วนนี้เราจะอธิบายเหตุการณ์บางรายการที่ FHE สามารถใช้งานได้ รวมถึงบางข้อดีและข้อเสียของแต่ละการตั้งค่า
ในรูปนี้ปุ่มสีส้มเป็นสัญลักษณ์ของคีย์ถอดรหัส (และเจ้าของ) ข้อความเข้ารหัส FHE จะแสดงด้วยล็อคที่มีสีเดียวกับคีย์ถอดรหัส ฝ่ายที่มีส่วนร่วมกับข้อมูลส่วนตัวจะถูกแสดงด้วยกระบอกสูบ: ที่นี่มีเพียงอลิซเท่านั้นที่มีส่วนร่วมกับข้อมูลส่วนตัว ในฝั่งของ Bob ฟังก์ชันการประเมินและคีย์การประเมินเป็นสาธารณะและการคํานวณที่แสดงโดยกล่องสีเขียวสามารถทําได้ตามที่กําหนด ทุกคนสามารถย้อนกลับการคํานวณและตรวจสอบว่าข้อความเข้ารหัสเอาต์พุตที่อ้างสิทธิ์ไม่ถูกต้องหรือไม่
นี่เป็นกรณีการใช้งานครั้งแรกที่เผยแพร่สําหรับ FHE มีจุดมุ่งหมายเพื่อเปลี่ยนการประมวลผลแบบคลาวด์ให้เป็นการประมวลผลส่วนตัวที่คล้ายกับวงล้อมที่ปลอดภัย แต่ขึ้นอยู่กับความปลอดภัยของการเข้ารหัสแทนที่จะเป็นความปลอดภัยของฮาร์ดแวร์ ในการตั้งค่าดังกล่าวอลิซเป็นเจ้าของข้อมูลส่วนตัวบางอย่าง แต่มีความสามารถในการประมวลผลที่ จํากัด Bob เลียนแบบอินสแตนซ์ระบบคลาวด์ที่มีพลังการประมวลผลที่ใหญ่กว่ามาก บ๊อบไม่ได้มีส่วนร่วมกับข้อมูลส่วนตัวเพิ่มเติมใด ๆ อลิซสามารถจ้างคอมพิวเตอร์จากภายนอกโดยการเข้ารหัสอินพุตจากนั้นบ็อบจะประเมินฟังก์ชันที่ต้องการ (สาธารณะ) แบบ homomorphically และส่งผลลัพธ์ที่เข้ารหัสกลับไปยังอลิซ
ด้วยความสามารถของฮาร์ดแวร์ปัจจุบันโหมดการออกแบบยังคงช้าเล็กน้อยที่จะใช้ในทางปฏิบัติอย่างสมบูรณ์ - เราสามารถนับได้โดยทั่วไปว่ามีค่าโอเวอร์เฮดของเวลารัน 1 ล้านและค่าโอเวอร์เฮดของหน่วยความจำ 1,000 ในกรณีการใช้ที่ไม่เชิงเส้น อย่างไรก็ตาม ฮาร์ดแวร์ FHE กำลังถูกพัฒนาอยู่เพื่อทำให้ระยะห่างลดลงโครงการ Darpa DPRIVEหรือCryptoLight.
ปัจจุบันโหมดการออกแบบใช้งานจริงในกรณีการใช้ PIR (การดึงข้อมูลส่วนตัว) ที่เซิร์ฟเวอร์ (บ็อบ) มีฐานข้อมูลสาธารณะขนาดใหญ่ ลูกค้า (อลิซ) ส่งออกคิวรี และดัชนีที่ถูกคิวรีควรเก็บไว้เป็นความลับ ระบบ PIR เช่นนี้มีประโยชน์มากจากความเชื่อมโยงและความกระจายของการดำเนินการที่ถูกเข้ารหัสแบบโฮโมมอร์ฟิก ในขณะที่ความลึกของการคูณที่เล็กของวงจรรักษาต้นทุนการคำนวณอยู่ในขอบเขตที่สมเหตุสมผล
ตารางนี้สรุปข้อดีและข้อเสียของโหมดการนอกรอง
ภาพรวมนี้ใช้การเข้ารหัสสีเดียวกับเดิม ในครั้งนี้ Bob เป็นส่วนหนึ่งในการคำนวณด้วยข้อมูลส่วนตัวบางส่วน การคำนวณที่ Bob ทำไม่สามารถตรวจสอบได้สาธารณะอีกต่อไป ซึ่งแสดงด้วยกล่องสีแดง โหมดนี้ควรจะถูกจำกัดเฉพาะในกรณีการใช้งานที่ซื่อสัตย์แต่อาจมีความอยากรู้
ในการติดตั้งระบบใหม่นี้ ความแตกต่างเพียงอย่างเดียวคือ Bob มีส่วนร่วมในการคำนวณด้วยข้อมูลส่วนตัวบางส่วน ในกรณีนี้ FHE เป็นการแก้ปัญหาการคำนวณสองฝ่ายที่ดีมาก โดยมีการสื่อสารเพียงเล็กน้อยและให้ความมั่นใจสูงในฝั่งผู้สอบถาม: Bob ไม่เรียนรู้อะไรเกี่ยวกับข้อมูลของ Alice และ Alice ได้เรียนรู้ผลลัพธ์ของการคำนวณ
แอพพลิเคชันที่เป็นไปได้สำหรับสถานการณ์นี้คือปัญหาของเศรษฐี ที่เอลิซและบ็อบเป็นเศรษฐีสองคนที่ต้องการทราบว่าใครรวยกว่าโดยไม่เปิดเผยความมั่งคั่งของตนเองให้กับฝ่ายอื่น ๆ โซลูชันสำหรับปัญหานี้ถูกใช้ในแอพพลิเคชันอีคอมเมิร์ซ
นี่คือการปรับปรุงโหมดการออกแบบที่ขัดแย้งกัน ที่ข้อมูลจากผู้เข้าร่วมหลายคนสามารถรวมกันในลักษณะที่กระชับ (ในทางที่ผลลัพธ์ไม่ขยายตัวพร้อมกับปริมาณของผู้เข้าร่วม) และสามารถตรวจสอบได้สาธารณะ การใช้ที่สามารถเป็นไปได้รวมถึงการเรียนรู้แบบระบบราชการและการลงคะแนออนไลน์
การตั้งค่านี้เป็นการปรับปรุงของโหมดการคำนวณสองฝ่าย โดยที่ฝ่ายคำนวณตอนนี้ให้บริการคำนวณที่ปลอดภัยให้กับลูกค้าหลายคนที่มีคีย์ลับของตนเอง FHE สามารถใช้เป็นบริการทำนายโมเดลส่วนตัว (เช่น บริการ ML ที่มีโมเดลและข้อมูลเป็นส่วนตัว) โดยเซิร์ฟเวอร์มีโมเดลส่วนตัว (เป็นส่วนตัวแต่อยู่ในรูปข้อความธรรมดา) และแต่ละลูกค้ามีข้อมูลของตนเองและต้องการเรียกใช้การทำนาย ผลลัพธ์คือแต่ละลูกค้าจะได้รับการทำนายที่เข้ารหัสของตนเอง ด้วยคีย์ลับของตนเอง
การใช้ FHE ในสถานการณ์การทํางานร่วมกันนั้นง่ายกว่าเสมอซึ่งผู้เข้าร่วมแต่ละคนมีแรงจูงใจในการปฏิบัติตามโปรโตคอลอย่างซื่อสัตย์ ตัวอย่างเช่น FHE สามารถใช้ในการคํานวณสถิติระหว่างสองนิติบุคคลของกลุ่มเดียวกันในสองประเทศที่แตกต่างกัน: กฎระเบียบเช่น GDPR อนุญาตให้มีการเผยแพร่สถิติบางอย่าง แต่ป้องกันไม่ให้รวบรวมข้อมูล indidividual ทั้งหมดในที่เดียวกัน ในกรณีนี้การใช้ FHE เป็นไปได้และผู้เข้าร่วมทุกคนมีแรงจูงใจที่จะปฏิบัติตามโปรโตคอลอย่างซื่อสัตย์ ในสถานการณ์ที่ไม่ทํางานร่วมกันวิธีที่ง่ายที่สุดในการตรวจสอบให้แน่ใจว่ามีการคํานวณฟังก์ชันที่เกี่ยวข้องคือการแนะนําความซ้ําซ้อน ตัวอย่างเช่นในสถานการณ์การเอาท์ซอร์สและการรวมการคํานวณแบบโฮโมมอร์ฟิกเป็นสาธารณะทั้งหมดและสามารถกําหนดได้ ตราบใดที่เอนทิตีอิสระสองเอนทิตีขึ้นไปลงเอยด้วยข้อความเข้ารหัสเอาต์พุตเดียวกันการคํานวณนั้นถูกต้องและผลลัพธ์จะปลอดภัยในการถอดรหัส ยิ่งมีความซ้ําซ้อนมากเท่าไหร่ความมั่นใจก็จะยิ่งสูงขึ้นเท่านั้นซึ่งแน่นอนว่าเป็นการแลกเปลี่ยนกับประสิทธิภาพ
นอกจากนี้เมื่อคู่คำนวณรับรองผลลัพธ์ FHE โดยลงนามดิจิทัลแบบ ciphertexts ข้อมูลเข้าและเอาท์พุตทุกคนสามารถติดตามการคำนวณ FHE เดียวกันและตรวจสอบว่าพิสูจน์ถูกต้องหรือไม่ การพยายามหลอกลวงโดยคู่คำนวณ FHE สามารถถูกจับได้สาธารณะและเกี่ยวข้องกับใบรับรองที่สามารถตรวจสอบได้สาธารณะซึ่งเปิดเผยการทุจริตและผู้ทุจริต - เราเรียกแบบนี้ว่าแบบจำลองความปลอดภัยแบบซ่อนแข็ง
ลายเซ็นแบบ Fully Homomorphicเป็นวิธีอีกวิธีหนึ่งในการยืนยันความถูกต้องของการคำนวณ โดยไม่ต้องมีผู้ตรวจสอบอิสระ แต่ต้องใช้ทรัพยากรมากขึ้นโดยทั่วไป
วิธีที่ง่ายที่สุดในการทำเช่นนี้คือการตรวจสอบว่าเจ้าของกุญแจถอดรหัสไม่สามารถเข้าถึงข้อความที่เข้ารหัสได้ในระหว่างทางใดๆ
ในสถานการณ์ที่มีสองฝ่าย หรือในสถานการณ์เซิร์ฟเวอร์และไคลเอนต์ อลิซเข้ารหัสข้อมูลนำเข้า บ็อบทำการคำนวณบนข้อความที่เข้ารหัสและส่งผลลัพธ์ที่เข้ารหัสกลับไปยังอลิซ จึงชัดเจนว่าอลิซจะสามารถถอดรหัสผลลัพธ์เท่านั้น เธอไม่สามารถเข้าถึงตัวแปรอื่น ๆ
ในสถานการณ์การรวมระบบคลาวด์ เช่น e-voting ที่ผู้เข้าร่วมจํานวนมากส่งบัตรลงคะแนนที่เข้ารหัสบนคลาวด์ทั่วไป จะใช้เทคนิคอื่น: โดยทั่วไปคีย์ถอดรหัสจะไม่มอบให้กับผู้รับรายเดียว แต่เป็นการแบ่งปันแบบลับๆ ระหว่างสมาชิกที่แตกต่างกันของผู้มีอํานาจในการถอดรหัส ในกรณีนี้การถอดรหัสสามารถเรียกใช้บนข้อความเข้ารหัสเฉพาะเพียงข้อความเดียวโดยดําเนินการคํานวณแบบหลายฝ่ายซึ่งเกี่ยวข้องกับการสื่อสารออนไลน์ระหว่างสมาชิกของผู้มีอํานาจ หากสมาชิกคนหนึ่งปฏิเสธที่จะถอดรหัสข้อความเข้ารหัสการถอดรหัสเป็นไปไม่ได้ สิ่งนี้ทําให้มั่นใจได้ว่าเฉพาะข้อความเข้ารหัสที่ตกลงกันโดยสมาชิกผู้มีอํานาจทั้งหมดเท่านั้นที่สามารถถอดรหัสได้
การเข้ารหัสแบบโฮโมมอร์ฟิกมีสามประเภท: การเข้ารหัสแบบโฮโมมอร์ฟิกบางส่วน (PHE), การเข้ารหัสแบบโฮโมมอร์ฟิกแบบปรับระดับ (LHE) และการเข้ารหัสแบบโฮโมมอร์ฟิกอย่างสมบูรณ์ (FHE) การเข้ารหัสแบบโฮโมมอร์ฟิกบางส่วนช่วยให้เราสามารถคํานวณชุดฟังก์ชันที่ จํากัด เท่านั้น (เช่นเฉพาะผลรวมเฉพาะฟังก์ชันเชิงเส้นฟังก์ชันสองบรรทัดเท่านั้น) ในขณะที่การเข้ารหัสแบบ homomorphic ที่ปรับระดับและสมบูรณ์สามารถประเมินวงจรโดยพลการหรือเทียบเท่าฟังก์ชันที่มีกระแสการควบคุมเป็นอิสระจากข้อมูล สําหรับ LHE พารามิเตอร์การเข้ารหัสขึ้นอยู่กับฟังก์ชันและเติบโตตามความซับซ้อนของวงจรซึ่งจะส่งผลให้ข้อความเข้ารหัสและคีย์มีขนาดใหญ่ขึ้น รูปแบบ FHE อนุญาตให้ใช้ชุดพารามิเตอร์ที่กําหนดดังนั้นสําหรับขนาดคีย์และรหัสที่กําหนดเราจะประเมินฟังก์ชันใด ๆ ที่สามารถแสดงเป็นวงจรที่มีเลขคณิตหรือไบนารีเกต นั่นคือในทางตรงกันข้ามกับ LHE แม้ว่าวงจรในการประเมินจะเติบโตมากขึ้นเรื่อย ๆ พารามิเตอร์โครงร่าง (และคีย์และข้อความเข้ารหัส) จะไม่ใหญ่ขึ้น
กล่าวอีกนัยหนึ่งเมื่อคําถามถูกถามว่าวงจรข้อความธรรมดาที่กําหนดสามารถทํางานแบบ homomorphically ได้หรือไม่และมีค่าใช้จ่ายเท่าใด (ในเวลาและค่าใช้จ่ายหน่วยความจํา) PHE อาจตอบคําถามไม่ได้ LHE ตอบว่าใช่ แต่อาจกําหนดต้นทุนสูงโดยพลการสําหรับวงจรที่ซับซ้อน FHE ยังตอบว่าใช่และนอกจากนี้ยังมีคีย์การเข้ารหัสและอัลกอริธึมการถอดรหัสและวิธีการประเมินชุดเกตสากลแบบ homomorphically ก่อนที่จะระบุวงจรข้อความธรรมดาด้วยซ้ํา ดังนั้น FHE จึงเป็นโหมดเดียวที่รับประกันว่าหน่วยความจําและเวลาทํางานของการประเมิน homomorphic ยังคงเป็นสัดส่วนกับวงจรข้อความธรรมดาดั้งเดิม ในการทําเช่นนี้แผนการ FHE ทั้งหมดที่รู้จักกันในปัจจุบันจัดการกับข้อความเข้ารหัสที่มีเสียงดังมากขึ้นเรื่อย ๆ เมื่อคํานวณเสร็จแล้ว เพื่อหลีกเลี่ยงเสียงรบกวนล้นเข้าไปในการคํานวณที่ทําและนําไปสู่ข้อผิดพลาดในการถอดรหัสแผนการเหล่านี้จะดําเนินการที่ค่อนข้างแพงที่เรียกว่า bootstrapping ซึ่งช่วยลดเสียงรบกวนกลับสู่ระดับที่จัดการได้ ข้อมูลเพิ่มเติมเกี่ยวกับลักษณะเฉพาะของแต่ละรูปแบบเกี่ยวกับ bootstrapping และวิธีลดเสียงรบกวนและค่าใช้จ่ายอื่น ๆ ด้วยคอมไพเลอร์ FHE ในบล็อกโพสต์ที่สองของชุดนี้!
Пригласить больше голосов
เมื่อนึกถึงการเข้ารหัสการใช้งานครั้งแรกที่นึกถึงคือการเข้ารหัสเมื่อไม่ได้ใช้งานและการเข้ารหัสระหว่างการขนส่ง อันแรกอนุญาตให้จัดเก็บข้อมูลบางอย่างในฮาร์ดไดรฟ์ที่เข้ารหัสอุปกรณ์แบบถอดได้หรือแม้แต่ฐานข้อมูลบนคลาวด์และรับประกันว่ามีเพียงเจ้าของที่ถูกต้องตามกฎหมายเท่านั้นที่สามารถดูหรือแก้ไขเนื้อหาข้อความธรรมดาได้ การเข้ารหัสระหว่างการขนส่งรับประกันว่าข้อมูลที่ส่งผ่านอินเทอร์เน็ตสามารถเข้าถึงได้โดยผู้รับที่กําหนดเท่านั้นแม้ว่าจะส่งผ่านเราเตอร์หรือช่องทางสาธารณะก็ตาม ทั้งสองสถานการณ์อาศัยการเข้ารหัสโดยมีการรับประกันความสมบูรณ์เพิ่มเติมว่าข้อมูลจะไม่ถูกดัดแปลงโดยผู้โจมตีที่เป็นอันตรายในระหว่างนั้น สิ่งนี้เรียกว่าการเข้ารหัสที่ได้รับการรับรองความถูกต้อง: เมื่อข้อมูลถูกเข้ารหัสแล้วไม่มีใครในห่วงโซ่สามารถอนุมานข้อมูลบิตเดียว (การรักษาความลับ) และไม่มีใครสามารถเปลี่ยนแปลงข้อความเข้ารหัสได้โดยที่ไม่มีการตรวจพบ (ความสมบูรณ์ / ความถูกต้อง)
กรณีการใช้งานร่วมกันบางกรณีกําหนดให้อนุญาตให้มีการประมวลผลที่ไม่สําคัญบางอย่างได้แม้ในข้อความเข้ารหัส นี่คือโดเมนของเทคนิคการรักษาความเป็นส่วนตัวหรือการเข้ารหัสที่ใช้งานโดยมีการเข้ารหัสแบบ homomorphic อย่างสมบูรณ์ (FHE) เป็นหนึ่งในนั้น ตัวอย่างหนึ่งคือการลงคะแนนอิเล็กทรอนิกส์ในระบบคลาวด์: ตัวอย่างเช่นผู้มีสิทธิเลือกตั้งอาจเข้ารหัสบัตรลงคะแนนของพวกเขาจากนั้นหน่วยงานบางแห่งที่อยู่ตรงกลางจะรวบรวมบัตรลงคะแนนทั้งหมดเพื่อนับจํานวนคะแนนเสียงและจะมีการเผยแพร่เฉพาะผลลัพธ์สุดท้ายเท่านั้น น่าเสียดายที่ด้วยการเข้ารหัสที่ได้รับการรับรองความถูกต้องเอนทิตีที่อยู่ตรงกลางจะต้องถอดรหัสบัตรลงคะแนนทั้งหมดเพื่อทําการคํานวณดังกล่าวและจะเห็นการลงคะแนนของแต่ละบุคคลอย่างชัดเจนซึ่งค่อนข้างยุ่งยาก ในทางทฤษฎีเราสามารถสับเปลี่ยนบัตรลงคะแนนได้ (โปรโตคอลการลงคะแนนอิเล็กทรอนิกส์บางอย่างพึ่งพาสิ่งนี้จริง ๆ ) แต่แตกต่างจากบัตรลงคะแนนกระดาษกลไกการเข้ารหัสแบบดั้งเดิมที่รับประกันความสมบูรณ์ยังทําให้ยากต่อการยกเลิกการเชื่อมโยงบัตรลงคะแนนที่เข้ารหัสจากตัวตนของผู้ส่ง ในรูปแบบการลงคะแนนอิเล็กทรอนิกส์เราสามารถเพิ่มกําแพงฮาร์ดแวร์รอบ ๆ หน่วยงานที่นับคะแนนเสียงได้ ตัวอย่างเช่นนี่คือวัตถุประสงค์ของวงล้อมการดําเนินการที่เชื่อถือได้ วงล้อมดังกล่าวจะทําให้ผู้โจมตีโต้ตอบกับเอนทิตีได้ยากขึ้นมาก แต่แล้วความล้มเหลวในฮาร์ดแวร์อาจทําให้คีย์ถอดรหัสรั่วไหลและแตกต่างจากข้อผิดพลาดของซอฟต์แวร์ช่องโหว่ในการออกแบบฮาร์ดแวร์ไม่สามารถแก้ไขได้อย่างง่ายดาย
เพื่อแก้ไขปัญหานี้และ use case ที่คล้ายกันเราสามารถใช้ Fully Homomorphic Encryption (FHE) ได้ FHE เป็นรูปแบบของการเข้ารหัสที่ช่วยให้เราสามารถคำนวณฟังก์ชันบน ciphertext โดยไม่ต้องถอดรหัสและเพื่อให้ได้รหัสลับของผลลัพธ์ของฟังก์ชันโดยตรง
เป็นเวลานานที่ฟังก์ชัน f ที่จะประเมินคือสาธารณะดังนั้นลำดับขั้นตอนการปรับเปลี่ยนการเข้ารหัสของ f(x) เป็นความรู้สาธารณะและสามารถดำเนินการในระบบคลาวด์โดยไม่ต้องมีการเก็บเอกสารใด ๆ
รูปนี้แสดงให้เห็นถึง 3 สถานการณ์สําหรับการปลุกเร้า: ในภาพซ้ายสุดเอนทิตีที่เชื่อถือได้จะสับเปลี่ยนและถอดรหัสการโหวตของแต่ละบุคคลก่อนที่จะเผยแพร่เพิ่มเติม เราต้องไว้วางใจหน่วยงานที่ทําการคํานวณเพื่อรักษาความเป็นส่วนตัวของผู้มีสิทธิเลือกตั้งและนับคะแนนอย่างถูกต้อง ในภาพตรงกลาง Trusted Enclave ซึ่งได้รับความไว้วางใจให้รับประกันความสมบูรณ์และความเป็นส่วนตัวจะใช้ในการคํานวณแบบเดียวกัน ในภาพด้านขวาจะใช้การเข้ารหัสแบบ homomorphic: สามารถเพิ่มคะแนนเสียงที่เข้ารหัสได้ (ในที่สาธารณะ) ก่อนที่ผลลัพธ์จะถูกถอดรหัส ) หมายถึงการดําเนินการเข้ารหัสในขณะที่ D () หมายถึงการถอดรหัส
FHE cũngกระทบเข้าไปยังการถอดรหัสเท่านั้นที่ขึ้นอยู่กับจำนวนของบิตในผลลัพธ์ข้อความประโยค มันไม่ขึ้นอยู่กับการทำงานต่อเนื่องที่ถูกนำไปใช้งาน สิ่งนี้ทำให้ระบบไม่เป็นระบบที่ไม่กะทบเข้าไปยังการถอดรหัสเท่านั้นที่ไม่สมบูรณ์ที่อาจจะนำข้อความไปต่อกันว่างๆ ที่ผู้รับสามารถทำงานโดยการถอดรหัสข้อความแล้วนำไปใช้งาน
การเอาท์ซอร์ส FHE มักถูกนําเสนอเป็นทางเลือกในการรักษาความปลอดภัยโดยพิจารณาจากความแข็งของปัญหาทางคณิตศาสตร์มากกว่าอุปสรรคในทางปฏิบัติ ดังนั้น FHE จึงคงกระพันอย่างสมบูรณ์ต่อการโจมตีช่องทางด้านข้างแบบพาสซีฟหรือความเสียหายอื่น ๆ ของโฮสต์คลาวด์ ลองนึกภาพว่ามีคนต้องการจ้างคอมพิวเตอร์จากภายนอก แต่ข้อมูลนั้นละเอียดอ่อนจริงๆ บุคคลนั้นอาจลังเลที่จะใช้ VM บนคลาวด์หากมีคนอื่นสามารถรูทบนเครื่องได้ พวกเขาอาจจะลังเลที่จะเรียกใช้ในวงล้อมเช่น SGX โดยรู้ว่า CPU และหน่วยความจําของโฮสต์คลาวด์ได้รับการตรวจสอบอย่างต่อเนื่องสําหรับการโหลดพลังงานอุณหภูมิ บางทีข้อมูลบางอย่างสามารถดึงมาจากการวัดเหล่านี้ บุคคลนั้นอาจมั่นใจได้ด้วยคํามั่นสัญญาของ FHE ว่าการดึงข้อมูลใด ๆ เพียงเล็กน้อยจําเป็นต้องทําลายปัญหาทางคณิตศาสตร์หลังควอนตัมโดยไม่ขึ้นกับการวัดใด ๆ ที่เราสามารถรวบรวมได้
หากความลับที่โดยแผนการจัดสรรได้รับการป้องกันไม่ให้ผู้โจมตีอ่านบิตใด ๆ ของข้อมูลโดยไม่มีกุญแจลับ ความสามารถของ FHE ในการแฟล็ปบิตที่คำนวณ: ในวงจรนี้จะเหมือนกับการโจมตีแบบด้านข้างที่ใช้กำลังเผยแพร่ที่สามารถเป้าหมายได้ บางบางอาจเป็นสิ่งที่น่ากลัวมากใน FHE การโจมตีเหล่านี้จะสอดคล้องกับการดำเนินการโฮโมมอร์ฟิกที่ไม่เต็มใจ สามารถหลีกเลี่ยงได้โดยการเพิ่มการทำซ้ำหรือการทำซ้ำในการคำนวณ
FHE มักถูกนำเสนอในรูปแบบ public key โดยมี:
เจ้าของคีย์ถอดรหัสเป็นเจ้าของความลับที่ละเอียดอ่อนที่สุดของระบบการเข้ารหัสลับ บุคคลนี้มีหน้าที่รับผิดชอบในการตรวจสอบให้แน่ใจว่าห่วงโซ่ของการดําเนินการ homomorphic ที่ดําเนินการนั้นถูกต้องตามกฎหมายและข้อความเข้ารหัสสุดท้ายนั้นปลอดภัยในการถอดรหัสแล้วถอดรหัสผลลัพธ์ข้อความธรรมดา หากมีการดําเนินการที่เป็นอันตรายในห่วงโซ่คีย์ถอดรหัสอาจรั่วไหลในเวลาถอดรหัส โชคดีที่การดําเนินการแบบ homomorphic สามารถทําได้ในที่สาธารณะและตรวจสอบได้
ในส่วนนี้เราจะอธิบายเหตุการณ์บางรายการที่ FHE สามารถใช้งานได้ รวมถึงบางข้อดีและข้อเสียของแต่ละการตั้งค่า
ในรูปนี้ปุ่มสีส้มเป็นสัญลักษณ์ของคีย์ถอดรหัส (และเจ้าของ) ข้อความเข้ารหัส FHE จะแสดงด้วยล็อคที่มีสีเดียวกับคีย์ถอดรหัส ฝ่ายที่มีส่วนร่วมกับข้อมูลส่วนตัวจะถูกแสดงด้วยกระบอกสูบ: ที่นี่มีเพียงอลิซเท่านั้นที่มีส่วนร่วมกับข้อมูลส่วนตัว ในฝั่งของ Bob ฟังก์ชันการประเมินและคีย์การประเมินเป็นสาธารณะและการคํานวณที่แสดงโดยกล่องสีเขียวสามารถทําได้ตามที่กําหนด ทุกคนสามารถย้อนกลับการคํานวณและตรวจสอบว่าข้อความเข้ารหัสเอาต์พุตที่อ้างสิทธิ์ไม่ถูกต้องหรือไม่
นี่เป็นกรณีการใช้งานครั้งแรกที่เผยแพร่สําหรับ FHE มีจุดมุ่งหมายเพื่อเปลี่ยนการประมวลผลแบบคลาวด์ให้เป็นการประมวลผลส่วนตัวที่คล้ายกับวงล้อมที่ปลอดภัย แต่ขึ้นอยู่กับความปลอดภัยของการเข้ารหัสแทนที่จะเป็นความปลอดภัยของฮาร์ดแวร์ ในการตั้งค่าดังกล่าวอลิซเป็นเจ้าของข้อมูลส่วนตัวบางอย่าง แต่มีความสามารถในการประมวลผลที่ จํากัด Bob เลียนแบบอินสแตนซ์ระบบคลาวด์ที่มีพลังการประมวลผลที่ใหญ่กว่ามาก บ๊อบไม่ได้มีส่วนร่วมกับข้อมูลส่วนตัวเพิ่มเติมใด ๆ อลิซสามารถจ้างคอมพิวเตอร์จากภายนอกโดยการเข้ารหัสอินพุตจากนั้นบ็อบจะประเมินฟังก์ชันที่ต้องการ (สาธารณะ) แบบ homomorphically และส่งผลลัพธ์ที่เข้ารหัสกลับไปยังอลิซ
ด้วยความสามารถของฮาร์ดแวร์ปัจจุบันโหมดการออกแบบยังคงช้าเล็กน้อยที่จะใช้ในทางปฏิบัติอย่างสมบูรณ์ - เราสามารถนับได้โดยทั่วไปว่ามีค่าโอเวอร์เฮดของเวลารัน 1 ล้านและค่าโอเวอร์เฮดของหน่วยความจำ 1,000 ในกรณีการใช้ที่ไม่เชิงเส้น อย่างไรก็ตาม ฮาร์ดแวร์ FHE กำลังถูกพัฒนาอยู่เพื่อทำให้ระยะห่างลดลงโครงการ Darpa DPRIVEหรือCryptoLight.
ปัจจุบันโหมดการออกแบบใช้งานจริงในกรณีการใช้ PIR (การดึงข้อมูลส่วนตัว) ที่เซิร์ฟเวอร์ (บ็อบ) มีฐานข้อมูลสาธารณะขนาดใหญ่ ลูกค้า (อลิซ) ส่งออกคิวรี และดัชนีที่ถูกคิวรีควรเก็บไว้เป็นความลับ ระบบ PIR เช่นนี้มีประโยชน์มากจากความเชื่อมโยงและความกระจายของการดำเนินการที่ถูกเข้ารหัสแบบโฮโมมอร์ฟิก ในขณะที่ความลึกของการคูณที่เล็กของวงจรรักษาต้นทุนการคำนวณอยู่ในขอบเขตที่สมเหตุสมผล
ตารางนี้สรุปข้อดีและข้อเสียของโหมดการนอกรอง
ภาพรวมนี้ใช้การเข้ารหัสสีเดียวกับเดิม ในครั้งนี้ Bob เป็นส่วนหนึ่งในการคำนวณด้วยข้อมูลส่วนตัวบางส่วน การคำนวณที่ Bob ทำไม่สามารถตรวจสอบได้สาธารณะอีกต่อไป ซึ่งแสดงด้วยกล่องสีแดง โหมดนี้ควรจะถูกจำกัดเฉพาะในกรณีการใช้งานที่ซื่อสัตย์แต่อาจมีความอยากรู้
ในการติดตั้งระบบใหม่นี้ ความแตกต่างเพียงอย่างเดียวคือ Bob มีส่วนร่วมในการคำนวณด้วยข้อมูลส่วนตัวบางส่วน ในกรณีนี้ FHE เป็นการแก้ปัญหาการคำนวณสองฝ่ายที่ดีมาก โดยมีการสื่อสารเพียงเล็กน้อยและให้ความมั่นใจสูงในฝั่งผู้สอบถาม: Bob ไม่เรียนรู้อะไรเกี่ยวกับข้อมูลของ Alice และ Alice ได้เรียนรู้ผลลัพธ์ของการคำนวณ
แอพพลิเคชันที่เป็นไปได้สำหรับสถานการณ์นี้คือปัญหาของเศรษฐี ที่เอลิซและบ็อบเป็นเศรษฐีสองคนที่ต้องการทราบว่าใครรวยกว่าโดยไม่เปิดเผยความมั่งคั่งของตนเองให้กับฝ่ายอื่น ๆ โซลูชันสำหรับปัญหานี้ถูกใช้ในแอพพลิเคชันอีคอมเมิร์ซ
นี่คือการปรับปรุงโหมดการออกแบบที่ขัดแย้งกัน ที่ข้อมูลจากผู้เข้าร่วมหลายคนสามารถรวมกันในลักษณะที่กระชับ (ในทางที่ผลลัพธ์ไม่ขยายตัวพร้อมกับปริมาณของผู้เข้าร่วม) และสามารถตรวจสอบได้สาธารณะ การใช้ที่สามารถเป็นไปได้รวมถึงการเรียนรู้แบบระบบราชการและการลงคะแนออนไลน์
การตั้งค่านี้เป็นการปรับปรุงของโหมดการคำนวณสองฝ่าย โดยที่ฝ่ายคำนวณตอนนี้ให้บริการคำนวณที่ปลอดภัยให้กับลูกค้าหลายคนที่มีคีย์ลับของตนเอง FHE สามารถใช้เป็นบริการทำนายโมเดลส่วนตัว (เช่น บริการ ML ที่มีโมเดลและข้อมูลเป็นส่วนตัว) โดยเซิร์ฟเวอร์มีโมเดลส่วนตัว (เป็นส่วนตัวแต่อยู่ในรูปข้อความธรรมดา) และแต่ละลูกค้ามีข้อมูลของตนเองและต้องการเรียกใช้การทำนาย ผลลัพธ์คือแต่ละลูกค้าจะได้รับการทำนายที่เข้ารหัสของตนเอง ด้วยคีย์ลับของตนเอง
การใช้ FHE ในสถานการณ์การทํางานร่วมกันนั้นง่ายกว่าเสมอซึ่งผู้เข้าร่วมแต่ละคนมีแรงจูงใจในการปฏิบัติตามโปรโตคอลอย่างซื่อสัตย์ ตัวอย่างเช่น FHE สามารถใช้ในการคํานวณสถิติระหว่างสองนิติบุคคลของกลุ่มเดียวกันในสองประเทศที่แตกต่างกัน: กฎระเบียบเช่น GDPR อนุญาตให้มีการเผยแพร่สถิติบางอย่าง แต่ป้องกันไม่ให้รวบรวมข้อมูล indidividual ทั้งหมดในที่เดียวกัน ในกรณีนี้การใช้ FHE เป็นไปได้และผู้เข้าร่วมทุกคนมีแรงจูงใจที่จะปฏิบัติตามโปรโตคอลอย่างซื่อสัตย์ ในสถานการณ์ที่ไม่ทํางานร่วมกันวิธีที่ง่ายที่สุดในการตรวจสอบให้แน่ใจว่ามีการคํานวณฟังก์ชันที่เกี่ยวข้องคือการแนะนําความซ้ําซ้อน ตัวอย่างเช่นในสถานการณ์การเอาท์ซอร์สและการรวมการคํานวณแบบโฮโมมอร์ฟิกเป็นสาธารณะทั้งหมดและสามารถกําหนดได้ ตราบใดที่เอนทิตีอิสระสองเอนทิตีขึ้นไปลงเอยด้วยข้อความเข้ารหัสเอาต์พุตเดียวกันการคํานวณนั้นถูกต้องและผลลัพธ์จะปลอดภัยในการถอดรหัส ยิ่งมีความซ้ําซ้อนมากเท่าไหร่ความมั่นใจก็จะยิ่งสูงขึ้นเท่านั้นซึ่งแน่นอนว่าเป็นการแลกเปลี่ยนกับประสิทธิภาพ
นอกจากนี้เมื่อคู่คำนวณรับรองผลลัพธ์ FHE โดยลงนามดิจิทัลแบบ ciphertexts ข้อมูลเข้าและเอาท์พุตทุกคนสามารถติดตามการคำนวณ FHE เดียวกันและตรวจสอบว่าพิสูจน์ถูกต้องหรือไม่ การพยายามหลอกลวงโดยคู่คำนวณ FHE สามารถถูกจับได้สาธารณะและเกี่ยวข้องกับใบรับรองที่สามารถตรวจสอบได้สาธารณะซึ่งเปิดเผยการทุจริตและผู้ทุจริต - เราเรียกแบบนี้ว่าแบบจำลองความปลอดภัยแบบซ่อนแข็ง
ลายเซ็นแบบ Fully Homomorphicเป็นวิธีอีกวิธีหนึ่งในการยืนยันความถูกต้องของการคำนวณ โดยไม่ต้องมีผู้ตรวจสอบอิสระ แต่ต้องใช้ทรัพยากรมากขึ้นโดยทั่วไป
วิธีที่ง่ายที่สุดในการทำเช่นนี้คือการตรวจสอบว่าเจ้าของกุญแจถอดรหัสไม่สามารถเข้าถึงข้อความที่เข้ารหัสได้ในระหว่างทางใดๆ
ในสถานการณ์ที่มีสองฝ่าย หรือในสถานการณ์เซิร์ฟเวอร์และไคลเอนต์ อลิซเข้ารหัสข้อมูลนำเข้า บ็อบทำการคำนวณบนข้อความที่เข้ารหัสและส่งผลลัพธ์ที่เข้ารหัสกลับไปยังอลิซ จึงชัดเจนว่าอลิซจะสามารถถอดรหัสผลลัพธ์เท่านั้น เธอไม่สามารถเข้าถึงตัวแปรอื่น ๆ
ในสถานการณ์การรวมระบบคลาวด์ เช่น e-voting ที่ผู้เข้าร่วมจํานวนมากส่งบัตรลงคะแนนที่เข้ารหัสบนคลาวด์ทั่วไป จะใช้เทคนิคอื่น: โดยทั่วไปคีย์ถอดรหัสจะไม่มอบให้กับผู้รับรายเดียว แต่เป็นการแบ่งปันแบบลับๆ ระหว่างสมาชิกที่แตกต่างกันของผู้มีอํานาจในการถอดรหัส ในกรณีนี้การถอดรหัสสามารถเรียกใช้บนข้อความเข้ารหัสเฉพาะเพียงข้อความเดียวโดยดําเนินการคํานวณแบบหลายฝ่ายซึ่งเกี่ยวข้องกับการสื่อสารออนไลน์ระหว่างสมาชิกของผู้มีอํานาจ หากสมาชิกคนหนึ่งปฏิเสธที่จะถอดรหัสข้อความเข้ารหัสการถอดรหัสเป็นไปไม่ได้ สิ่งนี้ทําให้มั่นใจได้ว่าเฉพาะข้อความเข้ารหัสที่ตกลงกันโดยสมาชิกผู้มีอํานาจทั้งหมดเท่านั้นที่สามารถถอดรหัสได้
การเข้ารหัสแบบโฮโมมอร์ฟิกมีสามประเภท: การเข้ารหัสแบบโฮโมมอร์ฟิกบางส่วน (PHE), การเข้ารหัสแบบโฮโมมอร์ฟิกแบบปรับระดับ (LHE) และการเข้ารหัสแบบโฮโมมอร์ฟิกอย่างสมบูรณ์ (FHE) การเข้ารหัสแบบโฮโมมอร์ฟิกบางส่วนช่วยให้เราสามารถคํานวณชุดฟังก์ชันที่ จํากัด เท่านั้น (เช่นเฉพาะผลรวมเฉพาะฟังก์ชันเชิงเส้นฟังก์ชันสองบรรทัดเท่านั้น) ในขณะที่การเข้ารหัสแบบ homomorphic ที่ปรับระดับและสมบูรณ์สามารถประเมินวงจรโดยพลการหรือเทียบเท่าฟังก์ชันที่มีกระแสการควบคุมเป็นอิสระจากข้อมูล สําหรับ LHE พารามิเตอร์การเข้ารหัสขึ้นอยู่กับฟังก์ชันและเติบโตตามความซับซ้อนของวงจรซึ่งจะส่งผลให้ข้อความเข้ารหัสและคีย์มีขนาดใหญ่ขึ้น รูปแบบ FHE อนุญาตให้ใช้ชุดพารามิเตอร์ที่กําหนดดังนั้นสําหรับขนาดคีย์และรหัสที่กําหนดเราจะประเมินฟังก์ชันใด ๆ ที่สามารถแสดงเป็นวงจรที่มีเลขคณิตหรือไบนารีเกต นั่นคือในทางตรงกันข้ามกับ LHE แม้ว่าวงจรในการประเมินจะเติบโตมากขึ้นเรื่อย ๆ พารามิเตอร์โครงร่าง (และคีย์และข้อความเข้ารหัส) จะไม่ใหญ่ขึ้น
กล่าวอีกนัยหนึ่งเมื่อคําถามถูกถามว่าวงจรข้อความธรรมดาที่กําหนดสามารถทํางานแบบ homomorphically ได้หรือไม่และมีค่าใช้จ่ายเท่าใด (ในเวลาและค่าใช้จ่ายหน่วยความจํา) PHE อาจตอบคําถามไม่ได้ LHE ตอบว่าใช่ แต่อาจกําหนดต้นทุนสูงโดยพลการสําหรับวงจรที่ซับซ้อน FHE ยังตอบว่าใช่และนอกจากนี้ยังมีคีย์การเข้ารหัสและอัลกอริธึมการถอดรหัสและวิธีการประเมินชุดเกตสากลแบบ homomorphically ก่อนที่จะระบุวงจรข้อความธรรมดาด้วยซ้ํา ดังนั้น FHE จึงเป็นโหมดเดียวที่รับประกันว่าหน่วยความจําและเวลาทํางานของการประเมิน homomorphic ยังคงเป็นสัดส่วนกับวงจรข้อความธรรมดาดั้งเดิม ในการทําเช่นนี้แผนการ FHE ทั้งหมดที่รู้จักกันในปัจจุบันจัดการกับข้อความเข้ารหัสที่มีเสียงดังมากขึ้นเรื่อย ๆ เมื่อคํานวณเสร็จแล้ว เพื่อหลีกเลี่ยงเสียงรบกวนล้นเข้าไปในการคํานวณที่ทําและนําไปสู่ข้อผิดพลาดในการถอดรหัสแผนการเหล่านี้จะดําเนินการที่ค่อนข้างแพงที่เรียกว่า bootstrapping ซึ่งช่วยลดเสียงรบกวนกลับสู่ระดับที่จัดการได้ ข้อมูลเพิ่มเติมเกี่ยวกับลักษณะเฉพาะของแต่ละรูปแบบเกี่ยวกับ bootstrapping และวิธีลดเสียงรบกวนและค่าใช้จ่ายอื่น ๆ ด้วยคอมไพเลอร์ FHE ในบล็อกโพสต์ที่สองของชุดนี้!