ฉันกำลังพยายามเลือกโหมดการทำงานของการเข้ารหัสซึ่งมีความอ่อนตัวต่ำที่สุด
โหมดการทำงานของการเข้ารหัสที่รักษารูปแบบไว้นั้นให้ความต้านทานต่อความอ่อนตัวในอุดมคติ (สำหรับโหมดที่ไม่เคยให้เอาต์พุต 'การตรวจสอบความถูกต้องล้มเหลว'); การเปลี่ยนแปลงใด ๆ โดยพลการในข้อความเข้ารหัส (ไม่ว่าจะเป็นการพลิกบิตเดียวของบิตสุดท้ายในข้อความเข้ารหัส การจัดลำดับบล็อกใหม่ หรือสิ่งอื่นที่รุนแรงกว่านั้น) จะส่งผลให้เกิดข้อความธรรมดาที่คาดเดาไม่ได้อย่างสมบูรณ์ (อ่านไม่ออก) ในการถอดรหัส [1] ถ้าจะไปทางนี้แนะนำให้ดูที่ โหมด FF1 จากเอกสารนี้.
BTW: มีเหตุผลเฉพาะที่คุณไม่ต้องการทำการตรวจสอบสิทธิ์ข้อความหรือไม่ โหมดการทำงานใดๆ ของ AEAD ที่เหมาะสมจะรับประกันได้ดียิ่งขึ้น เหตุผลเดียวที่ถูกต้องที่ฉันคิดได้คือ 'ข้อความเข้ารหัสต้องแม่นยำตราบเท่าที่ข้อความธรรมดา'...
[1]: ข้อยกเว้นที่ชัดเจนคือหากผู้โจมตีแทนที่ข้อความเข้ารหัสด้วยข้อความเข้ารหัสที่ถูกต้องซึ่งสร้างขึ้นก่อนหน้านี้ สิ่งนี้สามารถจัดการได้โดยการรวมการปรับแต่งที่แตกต่างกันไปตามข้อความ (เช่น หมายเลขลำดับซึ่งได้รับการตรวจสอบโดยผู้รับที่เพิ่มขึ้นเสมอ) ผลลัพธ์ของการถอดรหัสขึ้นอยู่กับการปรับแต่ง ดังนั้นจึงรักษาคุณสมบัติ