Score:4

เหตุใดบล็อกรหัสส่วนใหญ่จึงใช้เป็นรหัสสตรีม

ธง al

การใช้การเข้ารหัสแบบบล็อกโดยใช้โหมด CTR หรือ GCM ทำให้เรามีรหัสสตรีม ข้อแตกต่างเพียงอย่างเดียวคือ CTR ไม่รวมแท็ก MAC หรือ AAD แต่ GCM มี ฉันคิดว่านี่เป็นโหมดการทำงานที่ใช้บ่อยที่สุดสำหรับ block ciphers เนื่องจาก ECB ไม่ปลอดภัยและ CBC ไม่สามารถขนานกันได้

สิ่งนี้ไม่ลดขนาดบล็อกอัลกอริทึมที่มีประสิทธิภาพเป็น 1 บิตเนื่องจากบิตหนึ่งถูกแมปกับบิตอื่นขึ้นอยู่กับบิตคีย์สตรีมหรือไม่ จะดีกว่าไหมที่จะเก็บขนาดบล็อกของรหัสไว้

Score:7
ธง in

เหตุใดบล็อกรหัสส่วนใหญ่จึงใช้เป็นรหัสสตรีม

โหมด CTR ไม่ต้องการการเติมเหมือนโหมด CBC ที่ทำให้เกิดการโจมตีจำนวนมากในช่วงหลายปีที่ผ่านมา ซึ่งเรียกว่าการโจมตีจากช่องว่างภายใน [1] [2]. ในที่สุด, CBC ถูกลบออกจาก TLS, TLS 1.3 มีการเข้ารหัสโหมด CTR เท่านั้น (rfc8446).

          +------------------------------+------------+
          | คำอธิบาย | ค่า |
          +------------------------------+------------+
          | TLS_AES_128_GCM_SHA256 | {0x13,0x01} |
          | | |
          | TLS_AES_256_GCM_SHA384 | {0x13,0x02} |
          | | |
          | TLS_CHACHA20_POLY1305_SHA256 | {0x13,0x03} |
          | | |
          | TLS_AES_128_CCM_SHA256 | {0x13,0x04} |
          | | |
          | TLS_AES_128_CCM_8_SHA256 | {0x13,0x05} |
          +------------------------------+------------+

การโจมตีและการตัดสินใจของ TLS เพิ่มการใช้งานโหมด CTR โปรดจำไว้ว่าความปลอดภัยทางอินเทอร์เน็ตเกือบทั้งหมดใช้ TLS จากการสำรวจของ SSLlabs %46.6 ของไซต์ยอมรับ TLS 1.3 ( รองรับโปรโตคอล )

ทั้งโหมด CTR หรือ CBC หรือ CFB (โหมดการดำเนินการเก็บถาวรทั้งหมด) ไม่มี MAC โดยการออกแบบ ในการมี mac ให้ใช้ HMAC หรือใช้ GCM, CCM, Poly1305 เป็นต้น

หากเราพูดถึงโหมดในทางทฤษฎี CBC และ CTR สามารถให้ Ind-CPA ได้เท่านั้น นอกเหนือจากนี้ต้องการความสมบูรณ์สำหรับ Ind-CCAx ในทางกลับกัน การเข้ารหัสที่ผ่านการรับรองความถูกต้อง (GCM,CCM,Poly1305) ให้ความปลอดภัยที่สูงกว่า Ind-CCAx

สิ่งนี้ไม่ลดขนาดบล็อกอัลกอริทึมที่มีประสิทธิภาพเป็น 1 บิตเนื่องจากบิตหนึ่งถูกแมปกับบิตอื่นขึ้นอยู่กับบิตสตรีมคีย์หรือไม่

ถ้าคุณใช้ CBC และใช้ช่องว่างภายใน คุณก็จะดำเนินการต่างๆ ได้มากกว่าการละทิ้งบิตที่ไม่จำเป็นของบล็อก ในทั้งสองกรณี จำนวนบล็อกที่เข้ารหัสเกือบจะเท่ากัน (ยกเว้นในกรณีที่บล็อกเต็ม ดังนั้นสำหรับ PKCS#7 จะต้องมีบล็อกเพิ่มเติม) จากนั้น การใช้ช่องว่างภายในและการยกเลิกช่องว่างเป็นฟังก์ชันเพิ่มเติมที่จะใช้ โหมด CTR จำเป็นต้อง x-หรือสตรีม

ตามที่ระบุไว้ในความคิดเห็น โหมด CTR สามารถปรับขนานกันได้สูง แม้กระทั่งเปิดใช้งานการเข้าถึงแบบสุ่มหรือการแคชสตรีมล่วงหน้า การแสดง OpenSLL ด้านล่างในเครื่องของฉัน

ความเร็ว opensl -evp aes-128-cbc aes-128-ctr
พิมพ์ 16 ไบต์ 64 ไบต์ 256 ไบต์ 1024 ไบต์ 8192 ไบต์ 16384 ไบต์
aes-128-cbc 818912.47ก 1365115.22ก 1404590.75ก 1409671.85ก 1410523.14ก 1411497.98ก
aes-128-ctr 561928.57ก 1899517.87ก 3908505.17ก 5220669.78ก 5835377.32ก 5876869.80ก

อย่างที่เราเห็น ยกเว้นข้อความสั้นๆ ที่ CTR ชนะ CBC ใน AES-NI

จะดีกว่าไหมที่จะเก็บขนาดบล็อกของรหัสไว้

ไม่

  • เราต้องจัดการกับช่องว่างภายในและปัญหาความไม่ปลอดภัย ทำไมไม่เอาออกเลยเมื่อเรามีโหมด CTR

  • นอกจากนี้ยังเพิ่มขนาดของข้อมูลได้สูงสุด 16 ไบต์สำหรับ AES

  • โหมด CTR โดยการออกแบบใช้ PRF แทน PRP (บล็อกรหัสคือ PRP's) ทำให้มีฟังก์ชันการใช้งานที่หลากหลายมากขึ้น เช่นเดียวกับที่เราใช้ ChaCha20 ในโหมด CBC เราต้องใช้ PRP


แน่นอนว่าไม่มีอะไรสมบูรณ์แบบ! แต่ละโหมดมีข้อดีและข้อเสีย ขึ้นอยู่กับบริบทที่คุณสามารถเลือกได้ ตามปกติแล้ว ในการเข้ารหัสสมัยใหม่ เราชอบโหมดการเข้ารหัสที่รับรองความถูกต้อง เช่น AES-GCM (อาจใช้กับ SIV) และ ChaCha20-Poly1305 (ดีกว่า xChaCha20-1305 สำหรับ 192 บิต nonces)

SEJPM avatar
us flag
นอกจากนี้ ความสามารถในการขนานกันของรหัสสตรีม (โดยเฉพาะอย่างยิ่งสำหรับรหัสที่ใช้ AES) ยังมีประโยชน์ในการประมวลผลแบบเธรดเดียวในฐานะตัวประมวลผลสมัยใหม่ _love_ คำแนะนำที่เป็นอิสระ ซึ่งช่วยให้คุณได้รับประสิทธิภาพ AES ที่ดีขึ้น 4-8 เท่าจากโหมดอนุกรม เช่น การเข้ารหัส CBC ไปจนถึงโหมดคู่ขนาน เช่น CTR อาร์กิวเมนต์ที่คล้ายกันเกิดขึ้นเมื่อคุณไม่มีคำสั่ง AES แต่มีการใช้งาน AES แบบแยกส่วนแทน
kelalaka avatar
in flag
ใช่ เนื่องจากมีการรวม OP ว่า _CBC ไม่สามารถขนานได้_ (แม้ว่าการถอดรหัสจะไม่ใช่กรณีนี้ก็ตาม) ฉันไม่ได้เขียนเกี่ยวกับเรื่องนี้ AFAIK วงเล็บที่คุณใช้เป็นเพราะขนาดบล็อกของ ChaCha20 ใช่ไหม

โพสต์คำตอบ

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