การเข้ารหัสหลายรายการสำหรับการรักษาความปลอดภัยแบบหลายคีย์
ฉันมีคำถามสมมุติเกี่ยวกับการเข้ารหัสหลายรายการหลังจากอ่านบล็อกของ Matthew Green เกี่ยวกับการเข้ารหัสหลายรายการ สำหรับผู้ที่คุ้นเคยกับ GCMâ¦ฉันต้องการเข้าใจประสิทธิภาพของการรักษาความปลอดภัยแบบหลายคีย์ผ่านการใช้งานการเข้ารหัสหลายรายการด้วยรูปแบบการเข้ารหัสที่ปลอดภัยที่รับรองความถูกต้อง เช่น AES-256-GCM
https://blog.cryptographyengineering.com/2012/02/02/multiple-encryption/
สมมติว่าเรากำลังเรียงซ้อนรูปแบบการเข้ารหัสที่ปลอดภัยแบบเดียวกัน:
C = EncryptA(KC, EncryptA(KB,(EncryptA(KA,P))))
⢠EncryptA เป็นอัลกอริทึมที่เผยแพร่และใช้งานอย่างไม่มีที่ติสำหรับ AES-256-GCM
⢠แต่ละ IV จะใช้เพียงครั้งเดียว โดยมีความยาว 96 บิต และแต่ละบิตจะถูกสร้างโดย Cryptographic Random Number Generator (CSPRNG) ใหม่
แต่ละคีย์ (KA, KB และ KC) จะใช้เพียงครั้งเดียว โดยมีความยาว 256 บิต และแต่ละคีย์จะถูกสร้างโดย Cryptographic Random Number Generator (CSPRNG) ใหม่
⢠แต่ละ IV และแท็กทั้งสามเป็นความรู้สาธารณะ
⢠ciphertext สุดท้าย C เป็นความรู้สาธารณะ
⢠P คือ 1 ใน 2^132 ข้อความธรรมดาที่เป็นไปได้
แต่ละคีย์จะถูกจัดเก็บแยกกัน สมมติว่าคนสามคนแต่ละคนมีกุญแจหนึ่งดอกในตู้นิรภัยของตนเอง และไม่มีสำเนาของกุญแจเหล่านี้อยู่ที่อื่น
ทีนี้สมมติว่าคนสองคนมาพร้อมกุญแจในการถอดรหัส แต่ไม่มีกุญแจดอกที่สาม:
P = DecryptA(KA, DecryptA(KB,(DecryptA(KC,C))))
มีสถานการณ์ใด (แน่นอนว่าเป็นไปได้ทางสถิติ) ที่สามารถเปิดเผย P โดยไม่มีคีย์ที่สามได้หรือไม่? มันจะสำคัญว่ากุญแจหายไปหรือไม่? สนใจที่จะฟังความคิดของคุณ!