Score:0

แยกคีย์ AES-256 ออกเป็นสองส่วนหรือไม่

ธง cn

ฉันเข้าใจว่ามีคำถามสองสามข้อที่นี่ซึ่งคล้ายกัน แต่ของฉันแตกต่างกันเล็กน้อยตรงที่ฉันต้องการแยก AES 256 บิตออกเป็นสองคีย์ 128 บิต จากนั้นใช้คีย์ AES อื่นของ 128 บิตเพื่อเข้ารหัสคีย์ 128 บิตสองคีย์สำหรับการขนส่ง คีย์ระหว่างสองโปรเซสเซอร์สิ่งนี้ปลอดภัยหรือไม่ ขณะนี้ฉันมีข้อจำกัดเนื่องจากการออกแบบระบบของฉัน ต่อไปนี้เป็นสิ่งที่ฉันต้องการ:

  • ฉันจำเป็นต้องขนส่ง AES 256 ไปยังโปรเซสเซอร์อื่น
  • โปรเซสเซอร์ตัวใดตัวหนึ่งไม่มีประสิทธิภาพเพียงพอสำหรับการสร้างคีย์ทั่วไปที่แรงกว่า ดังนั้นฉันจำเป็นต้องสามารถขนส่งสิ่งนี้ด้วยคีย์ที่อ่อนแอกว่า
kelalaka avatar
in flag
ไม่! คุณจะมีความปลอดภัย 128 บิต ฉันจะไม่เขียนคำตอบ เพราะหากคุณระบุปัญหาของคุณอย่างชัดเจน เราอาจพบวิธีแก้ปัญหา
Sad.coder avatar
cn flag
สิ่งนี้ช่วยได้หรือไม่?
Sad.coder avatar
cn flag
ขออภัย มันค่อนข้างยากในการออกแบบระบบ แต่ส่วนสำคัญของมันคือเรื่องนั้น
Sad.coder avatar
cn flag
จะเกิดอะไรขึ้นถ้าฉันเข้ารหัสด้วยคีย์ 128 บิตที่แตกต่างกันสองคีย์
kelalaka avatar
in flag
มันควรจะดีในมุมมองของฉัน ทำไมคุณไม่ดำเนินการ DHKE
Score:1
ธง vn

ฉันเข้าใจว่ามีคำถามสองสามข้อที่นี่ซึ่งคล้ายกัน แต่ของฉันแตกต่างกันเล็กน้อยตรงที่ฉันต้องการแยก AES 256 บิตออกเป็นสองคีย์ 128 บิต จากนั้นใช้คีย์ AES อื่นของ 128 บิตเพื่อเข้ารหัสคีย์ 128 บิตสองคีย์สำหรับการขนส่ง คีย์ระหว่างสองโปรเซสเซอร์ สิ่งนี้ปลอดภัยหรือไม่

รองรับการรักษาความปลอดภัยแบบ 128 บิตเท่านั้น เนื่องจากผู้โจมตีต้องการเพียงแค่ทำลายคีย์การขนส่งแบบ 128 บิตเท่านั้น ซึ่งปลอดภัย แต่คุณไม่ได้รับความปลอดภัยจากการใช้คีย์ 256 บิต


หากคุณใช้คีย์ 128 บิตแยกกัน 2 คีย์ จะค่อนข้างยุ่งยากเล็กน้อย หากผู้โจมตีมีวิธีตรวจสอบโดยอิสระว่าพวกเขาถอดรหัสได้อย่างถูกต้องในแต่ละครึ่งของคีย์ 256 บิต ตัวอย่างเช่น หากอัลกอริทึมการเข้ารหัสคีย์ได้รับการตรวจสอบความถูกต้องแล้ว ผู้โจมตีจะสามารถถอดรหัสได้โดย

  1. การค้นหาคีย์ 128 บิตแรกโดยใช้กำลังเดรัจฉาน ($2^{128}$ ขั้นตอน);
  2. การค้นหาคีย์ 128 บิตที่สองโดยใช้กำลังเดรัจฉาน ($2^{128}$ ขั้นตอน);

ซึ่งเป็น $2^{128} + 2^{128} = 2 \คูณ 2^{128} = 2^{129}$ ขั้นตอน ดังนั้นคุณจะได้รับความปลอดภัย 129 บิตเท่านั้น

อย่างไรก็ตาม หากอัลกอริทึมการเข้ารหัสคีย์ไม่มีวิธียืนยันการถอดรหัสที่ถูกต้อง และคีย์ 256 บิตเป็นแบบสุ่ม การโจมตีนั้นจะไม่ทำงานเนื่องจากไม่มีวิธียืนยันในขั้นตอนที่ #1 ว่าคุณมีคีย์ที่ถูกต้อง ครึ่งแรก อัลกอริทึมกำลังเดรัจฉานจะกลายเป็น:

  • สำหรับแต่ละค่าที่เป็นไปได้ (จาก $2^{128})$ ของคีย์แรก:
    • สำหรับแต่ละค่าที่เป็นไปได้ (จาก $2^{128}$) ของคีย์ที่สอง:
      • ลองถอดรหัสแต่ละคีย์ที่ส่งผ่านครึ่งหนึ่งด้วยชุดค่าผสมนั้น จากนั้นถอดรหัสข้อความด้วยคีย์ 256 บิตที่คุณได้รับ

และนี่คือ $2^{128} \คูณ 2^{128} = 2^{128 + 128} = 2^{256}$ ขั้นตอนและไม่มีอะไรดีไปกว่าการโจมตีคีย์ 256 บิตด้วยกำลังดุร้าย

อัลกอริทึมการเข้ารหัสที่แนะนำตามปกติในปัจจุบันนี้เรียกว่า "AEAD" (การเข้ารหัสที่รับรองความถูกต้องพร้อมข้อมูลที่เกี่ยวข้อง) ซึ่งจะจัดอยู่ในประเภทแรก ดังนั้นคุณจึงมีความแข็งแกร่งเพียง 129 บิตเท่านั้น คุณต้องใช้อัลกอริธึมที่ไม่ใช่ AEAD ที่เก่ากว่าเพื่อส่งคีย์ครึ่งหนึ่ง

โพสต์คำตอบ

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