Score:1

คีย์สตรีมแทนกำหนดการคีย์

ธง tf
Tom

ลองพิจารณาบล็อกรหัสในโหมด CTR และลองพิจารณา PRNG ที่มีคีย์หรือ PRNG ที่ดีที่มีเมล็ดเป็นคีย์ PRNG จะต้องเร็วมาก

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

แน่นอนว่าแม้แต่ PRNG ที่รวดเร็วก็ยังต้องการเวลาในการสร้าง 128 สักเล็กน้อย คีย์ -bit สำหรับตัวเลข แต่สิ่งนี้ไม่ได้เพิ่มความปลอดภัยให้กับอัลกอริทึมดังกล่าวมากนักใช่ไหม หากตัวอัลกอริทึมเองเป็นแบบดั้งเดิมที่รวดเร็วมาก (เช่น เร็วเท่ากับ Chacha20) ก็ควรมีความปลอดภัยที่ยอดเยี่ยมและความเร็วที่ดีหากเชื่อมโยงกับ "สตรีมกำหนดการที่สำคัญ" เช่นนี้

อย่างไรก็ตาม ฉันสงสัยว่าความเร็วของโซลูชันดังกล่าวอาจเป็นอุปสรรคสำคัญ เอาล่ะ เรามาเปลี่ยนแปลงทุกครั้งที่มีการทำซ้ำอัลกอริทึม (การเข้ารหัสเดี่ยว) โดยพลิกคีย์เพียงบิตเดียวต่อรอบ หากอัลกอริทึมต้องการหนึ่งคีย์ต่อรอบและมีสิบรอบ เราต้องการเพียงสิบบิต PRNG จะสร้างบิตดังกล่าวอย่างรวดเร็ว จากนั้นคีย์จะเปลี่ยนไปหลังจากการเข้ารหัสแต่ละครั้ง ไม่มาก (เราเปลี่ยนเพียงบิตเดียวในทุกคีย์) แต่น่าจะเป็นอุปสรรคอย่างมากสำหรับผู้โจมตี

บางทีเราอาจใช้อะไรง่ายๆ เช่น AES สองรอบ แต่ไม่เพิ่มอีกสองรอบในการเข้ารหัส ลองใช้สิ่งนี้เพื่อสร้างคีย์สตรีมเพื่อผสมกับคีย์ในการเข้ารหัสใหม่

คำถามของฉันเกี่ยวกับข้อเสียของโซลูชันดังกล่าว เท่าที่ฉันรู้ มันไม่ได้ใช้ - ทำไม? กล่าวอีกนัยหนึ่ง เหตุใดเราจึงใช้ค่าคงที่และคีย์เดียวกันในรอบ (เมื่อเข้ารหัสข้อความจำนวนมาก ) เมื่อคีย์สามารถแก้ไขได้ด้วยต้นทุนที่ต่ำหลังจากการเข้ารหัสแต่ละครั้ง ตัวอย่างเช่น โดยการเพิ่มหนึ่งบิต mod 2 (หลังจากการเข้ารหัสอื่น เราจะเพิ่มอีกหนึ่งบิตในตำแหน่งที่สูงขึ้น เป็นต้น เปลี่ยนคีย์ 128 บิตทั้งหมดหลังจากการเข้ารหัส 128)

SAI Peregrinus avatar
si flag
โหมด CTR ใช้เพื่อเปลี่ยนรหัสบล็อกเป็นรหัสสตรีม รหัสบล็อกนั้นค่อนข้างไร้ประโยชน์สำหรับการเข้ารหัส (เนื่องจากสามารถเข้ารหัสได้หนึ่งบล็อกต่อหนึ่งคีย์อย่างปลอดภัย) ดังนั้นเราจึงใช้โหมดการทำงานที่แตกต่างกันเพื่อเข้ารหัสสิ่งต่าง ๆ จริง ๆ นอกจากนี้ยังมีรหัสสตรีมแบบเนทีฟ PRNG ที่คีย์อย่างมีประสิทธิภาพ ซึ่งไม่มีรหัสบล็อกอยู่ภายใน คุณกำลังเสนอให้ใส่รหัสบล็อกภายในด้วยรหัสสตรีม จากนั้นใช้ในโหมด CTR เพื่อเปลี่ยนกลับเป็นรหัสสตรีม ทำไมไม่ใช้รหัสสตรีมโดยตรง การก่อสร้างของคุณมีข้อดีอะไรบ้าง?
Tom avatar
tf flag
Tom
ข้อได้เปรียบคือระดับความปลอดภัยที่สูงขึ้นของการเข้ารหัสบล็อกยิ่งไปกว่านั้น หากเราสามารถสร้างการปรับปรุงการเข้ารหัสบล็อกด้วยเทคโนโลยีนี้ ซึ่งเร็วกว่าและในขณะเดียวกันก็ปลอดภัยกว่าอัลกอริทึมดั้งเดิม ทำไมจะไม่ใช้มันล่ะ หาก AES ที่มีรอบสั้นลงแต่การป้อนรหัสสตรีมจะเร็วกว่า ทำไมไม่ทำล่ะ อาจมีอัลกอริทึมที่สามารถปรับปรุงและเร่งด้วยวิธีนี้ ฉันคิดว่าการมีตัวสร้างคีย์พื้นฐานที่เป็นอิสระจากการเข้ารหัสอาจเป็นการปรับปรุงครั้งใหญ่ในแง่ของความปลอดภัย
SAI Peregrinus avatar
si flag
คำถามนำ: สิ่งนี้จะปรับปรุงความปลอดภัยเหนือการเข้ารหัสของสตรีมหรือไม่ ChaCha20 มีความปลอดภัยมากกว่า AES-256 สำหรับขนาดคีย์เดียวกัน การใช้ ChaCha20 แทนกำหนดการสำคัญของ AES จะลบจุดอ่อนของกำหนดการสำคัญที่ทำให้ AES อ่อนแอลง แต่จะทำให้การเข้ารหัสที่ได้ช้าลงหรือเร็วขึ้น และจะปลอดภัยกว่า ChaCha20 อย่างมีนัยสำคัญหรือไม่ เพราะเหตุใด (ลองพิสูจน์สิ่งเหล่านี้ด้วยตัวคุณเอง)?
Tom avatar
tf flag
Tom
ในการตัดสินใจว่าคุ้มค่าหรือไม่ที่เราจะต้องตัด AES สองสามรอบและแทนที่ด้วยการสตรีมคีย์ ไม่ ฉันไม่สามารถพูดได้ว่ามันจะคุ้มค่าหรือไม่ แต่ฉันสงสัยว่าเราจะเข้ารหัสได้เร็วและปลอดภัยยิ่งขึ้นด้วยวิธีนี้ ฉันถามคำถามเพื่อค้นหาว่าเห็นได้ชัดว่าเป็นความคิดที่ไม่ดีไม่ทางใดก็ทางหนึ่ง แน่นอนตอนนี้ฉันไม่มีความคิดที่จะทำกับรหัสใด ๆ แต่การที่เราใช้คีย์ "ถาวร" ในการเข้ารหัสนั้น โดยทั่วไปแล้วดูเหมือนว่าจะไม่เข้าใจสำหรับฉันจากมุมมองที่ฉันนำเสนอ
SAI Peregrinus avatar
si flag
กำหนดการสำคัญของ AES นั้นรวดเร็วมาก ไม่ใช่คอขวดสำหรับ AES การแทนที่ด้วย ChaCha20 จะทำให้สิ่งต่าง ๆ ช้าลง และ *ไม่มีการรักษาความปลอดภัยเพิ่มเติมนอกเหนือจากที่คุณได้รับจากการเข้ารหัสของสตรีมเพียงอย่างเดียว* แม้ว่าคุณจะลดจำนวนรอบลง นอกจากนี้เราไม่ค่อย (ถ้าเคย) ใช้คีย์ถาวรคีย์ส่วนใหญ่ (เช่น สำหรับการเชื่อมต่อ TLS) เป็นแบบชั่วคราว คีย์เหล่านี้จะถูกลบทันทีที่ปิดการเชื่อมต่อ แน่นอนว่าคีย์การเข้ารหัสดิสก์มีอายุการใช้งานที่ยาวนานขึ้น แต่นั่นเป็นเพราะดิสก์มีข้อมูลจำนวนมากและการเข้ารหัสซ้ำจะช้า ไม่ใช่เพราะการตั้งเวลาคีย์ช้า (ไม่ใช่)
Maarten Bodewes avatar
in flag
เรามีคำถามอื่นๆ เกี่ยวกับการแทนที่กำหนดการสำคัญด้วยสิ่งอื่น คำถามปัจจุบันมีปัญหาต่อไปนี้ในความคิดของฉัน: 1. คุณใช้กำหนดการคีย์ด่วนแบบอื่น - ตอนนี้ **คุณต้องแสดง** ว่าสิ่งนี้ปลอดภัยหรือ 2.คุณใช้กำหนดการคีย์ความปลอดภัยที่รู้จัก ซึ่งในกรณีนี้ **คุณต้องแสดง** ประโยชน์ด้านความปลอดภัยที่มากกว่าการใช้สตรีมคีย์ความปลอดภัยโดยตรง

โพสต์คำตอบ

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