Score:0

ใช้ Diffie Hellman เพื่อแบ่งปันความลับ

ธง br

ฉันพยายามใช้ Diffie Hellman เพื่อตกลงเรื่องคีย์ก่อน แล้วจึงใช้คีย์นั้นเพื่อแบ่งปันความลับอย่างสมมาตร รหัส python3 ที่ใช้ไลบรารีการเข้ารหัสมีลักษณะดังนี้

#สร้างพารามิเตอร์บางอย่าง สามารถนำกลับมาใช้ใหม่ได้
พารามิเตอร์ = dh.generate_parameters (เครื่องกำเนิดไฟฟ้า = 2, key_size = 2048)
# สร้างรหัสส่วนตัวสำหรับใช้ในการแลกเปลี่ยน
server_key = พารามิเตอร์สร้าง_private_key()
n=1
client_key=[parameters.generate_private_key() for i in range(n)]

#รหัสที่ใช้ร่วมกันสำหรับลูกค้าแต่ละราย
shared_key = [server_key.exchange(client_key[i].public_key()) for i in range(n)]

ตอนนี้ขนาดของคีย์ที่ใช้ร่วมกันคือ 256 ไบต์ ดังนั้นเมื่อฉันพยายามใช้การรวมและแกะ AES หรือรูปแบบการเข้ารหัสแบบสมมาตร ฉันได้รับข้อผิดพลาดเกี่ยวกับขนาดคีย์ ใครก็ได้โปรดช่วยฉันด้วยรูปแบบที่จะใช้คีย์ DH รูปแบบที่อาจใช้กับรูปแบบการเข้ารหัสที่แตกต่างกันในไลบรารี crypto ขอบคุณ

Maarten Bodewes avatar
in flag
โดยปกติคุณจะใช้ KDF อย่างน้อยหนึ่งครั้งบนเอาต์พุต *ขนาดคงที่* เพื่อรับคีย์ ด้วยเหตุนี้ `shared_key` จึงน่าจะตั้งชื่อว่า `shared_secret` ดีกว่า เพราะอย่างที่คุณทราบ คีย์นี้ไม่สามารถใช้เป็นคีย์ได้โดยตรง สำหรับ KDF สมัยใหม่ คุณสามารถใช้ HKDF สำหรับการแฮ็กอย่างรวดเร็ว เพียงใช้ SHA-256

โพสต์คำตอบ

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