Score:0

RC4-40 พร้อมการตั้งค่า IV (32 บิต)

ธง pk

ฉันได้ดำเนินการ นี้ การนำ RC4 ไปใช้เขียนด้วยภาษาซี

ฉันมีคีย์ 40 บิตและ 32 บิต IV (ทั้งในรูปแบบฐานสิบหก)

ดังนั้นคำถามเกี่ยวกับ ขั้นตอน กยศ:

  1. ฉันจะแปลงค่าคีย์ hex เป็น char array ได้อย่างไร แค่แปลงเป็น long?

  2. ฉันควรแนะนำ IV ที่ไหน (บางคนเขียนเพื่อเชื่อมกับคีย์, คนอื่นเขียนว่า S เป็น IV แล้ว)

  3. ถ้า S เป็น IV แล้ว ฉันจะแปลง IV 32 บิตเป็นอาร์เรย์ 40 บิตได้อย่างไร ดังต่อไปนี้ ?

    สำหรับ (int i = 0; i < 32; i++) S[i] = (iv >> (32 - 1 - i)) & 1; ?

ฉันได้ทำการตรวจสอบก่อนที่จะถามที่นี่ แต่ไม่พบคำตอบ

fgrieu avatar
ng flag
ตามที่บอกใน [คำตอบ](https://crypto.stackexchange.com/a/99456/555) 40 บิตเป็นคีย์ที่สั้นเกินไปและไม่ปลอดภัย และการต่อคีย์ที่กว้างกว่าและ IV นั้นไม่ปลอดภัย ดังนั้นจึงไม่ชัดเจนว่าจะเข้าใจคำถาม "ควร" ได้อย่างไร มันผลิตซ้ำระบบที่มีอยู่หรือไม่? ในกรณีนี้ควรศึกษาว่าระบบนี้คืออะไรและทำหน้าที่อะไร การเชื่อมโยงคีย์และ IV (และอาจขยายด้วยศูนย์ถึง 256 ไบต์) จะเป็นหนึ่งในวิธีที่ง่ายที่สุด แต่อีกครั้งนี้ไม่ปลอดภัย หากต้องการระบบที่ปลอดภัยโดยใช้ RC4 [key streching](https://en.wikipedia.org/wiki/Key_stretching) จะช่วยได้
Score:3
ธง fr

RC4 ไม่ใช้ IV นี่เป็นเรื่องค่อนข้างแปลกในการเข้ารหัสของสตรีม แต่เป็นกรณีนี้ใน RC4

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

คุณไม่ควรใช้ RC4 เพื่อวัตถุประสงค์ใดๆ ในปัจจุบัน และไม่ควรใช้กับคีย์ 40 บิต หากคุณต้องการการเข้ารหัสสตรีมที่ปลอดภัยด้วย IV ฉันขอแนะนำ ChaCha20 ด้วยคีย์ 256 บิต ทั้งปลอดภัยกว่าและเร็วกว่า RC4

หากคุณวางแผนที่จะใช้ IV แบบสุ่ม ฉันขอแนะนำตัวแปร XChaCha20 ซึ่งอนุญาตให้สุ่ม 192 บิต nonce nonce สำหรับ ChaCha20 ปกตินั้นสั้นเกินไปที่จะใช้ nonce แบบสุ่มเนื่องจากมีความเสี่ยงที่จะเกิดการชนกัน แต่ก็ไม่เป็นไรถ้าคุณจะใช้วิธี nonce ที่อิงกับเคาน์เตอร์

หากคุณกำลังใช้สิ่งนี้ในโลกแห่งความเป็นจริง คุณจะต้องได้รับการปกป้องความสมบูรณ์เช่นกัน ซึ่งโดยปกติแล้ว Poly1305 จะให้บริการร่วมกับ ChaCha แต่คุณสามารถใช้ HMAC เข้ารหัสแล้วจากนั้นเป็น MAC ได้เช่นกัน

โพสต์คำตอบ

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