Score:0

จะเลือกระหว่าง AES256-GCM, XSalsa20Poly1305 และ XChaCha20Poly1305 ได้อย่างไร

ธง is

ใน libsodium มีการเข้ารหัสแบบสมมาตร 3 แบบ (รหัสสตรีม) ซึ่งได้แก่ AES256-GCM (เร่งด้วยฮาร์ดแวร์), XSalsa20Poly1305 และ XChaCha20Poly1305 (ไม่แน่ใจว่า libsodium เวอร์ชันใดเพิ่มการรองรับ XChaCha20Poly1305)

เมื่อพิจารณาว่า AES256-GCM จะเป็นตัวเลือกหลักหากฮาร์ดแวร์รองรับ เนื่องจากเป็นมาตรฐานอุตสาหกรรมซึ่งพบได้ทั่วไปในที่จัดเก็บไฟล์หรือแพลตฟอร์มอื่นที่เกี่ยวข้อง

AES256-GCM มักพบในที่จัดเก็บไฟล์ เนื่องจากเซิร์ฟเวอร์จะขอความลับของผู้ใช้ เช่น รหัสผ่าน/ข้อความรหัสผ่าน เพื่อรับคีย์ จากนั้นทำการเข้ารหัส/ถอดรหัส

ในสถานการณ์ที่ใช้การเข้ารหัสปลายทางทั้งหมด (ไม่ส่งความลับของผู้ใช้ไปยังเซิร์ฟเวอร์) การเข้ารหัสจะทำบนอุปกรณ์แทนเซิร์ฟเวอร์

หากอุปกรณ์ไม่รองรับ AES256-GCM (เร่งด้วยฮาร์ดแวร์) จะเลือกระหว่าง XSalsa20Poly1305(crypto_secretbox_easy) และ XChaCha20Poly1305(secretbox_xchacha20poly1305) ได้อย่างไร

kelalaka avatar
in flag
หากไม่มีฮาร์ดแวร์ XSalsa20 > XChaCha20 > AES-256 ที่มีขนาดคีย์ 256 บิต เรามีคำแนะนำมากมายเกี่ยวกับเรื่องนี้ในเว็บไซต์ของเรา [ChaCha20/Salsa มีความแข็งแรงของบิตเท่ากับ AES สำหรับขนาดคีย์ที่เหมือนกันหรือไม่](https://crypto.stackexchange.com/q/70894/18298) และโปรดทราบว่า Salsa เป็น ChaCha ที่อัปเดตแล้ว และ ChaCha/Salsa จะเร็วกว่าบนซอฟต์แวร์ [ChaCha20 ปลอดภัยกว่า AES ในแง่ของการโจมตีช่องทางด้านข้างหรือไม่](https://crypto.stackexchange.com/a/48264/18298)
kelalaka avatar
in flag
[Poly1305-AES กับ AES-GCM](https://crypto.stackexchange.com/q/43112/18298) [การทำความเข้าใจผลกระทบของการแบ่งพาร์ติชันของการโจมตีของออราเคิลในการเข้ารหัสสตรีม](https://crypto.stackexchange.com/q/88716/18298)
kelalaka avatar
in flag
ไม่ใช่ปัญหาเฉพาะของฮาร์ดแวร์/ระบบปฏิบัติการใช่หรือไม่ [มีปัญหาอะไรบ้างขณะใช้ /dev/urandom ของ Linux ในการสร้างคีย์การเข้ารหัส](https://crypto.stackexchange.com/q/85533/18298) ดูหน้า libsodium https://doc.libsodium.org/generating_random_data
Hern avatar
is flag
ได้เลย ขอบคุณ ฉันได้เรียนรู้บางอย่าง
cn flag
@kelalaka จริงๆ แล้ว ChaCha นั้นใหม่กว่า Salsa ด้วยประสิทธิภาพที่ดีขึ้น
kelalaka avatar
in flag
@LightBit นั่นเป็นความจริงอย่างสมบูรณ์ ความผิดพลาดของฉัน. ซัลซ่าในปี 2548 ChaCha ในปี 2551 ขอบคุณที่แจ้งให้ทราบ
Score:2
ธง cn

นี่เป็นเรื่องส่วนตัว ตัวเลือกทั้งหมดควรจะดี

ถ้าฉันต้องเลือก ฉันจะเลือก XChaCha20Poly1305 เนื่องจากการรองรับฮาร์ดแวร์ AES มีจำกัด โดยปกติแล้วจะเร็วกว่าซอฟต์แวร์ AES และปลอดภัยจากการโจมตีช่องทางด้านข้าง

เหตุผลเดียวที่ใช้ XSalsa20Poly1305 คือการสนับสนุนไลบรารีเก่า (ซึ่งคงไม่ใช่ความคิดที่ดีอยู่ดี) Salsa20 นั้นเก่ากว่าและช้ากว่าเล็กน้อยใน CPU ส่วนใหญ่ และมีการแพร่กระจายที่ช้ากว่าเล็กน้อย

Hern avatar
is flag
อยู่ที่ว่าใครจะมองอย่างไร หากพวกเขาต้องการสตรีมรหัสรุ่นทดสอบที่ดีกว่า ควรใช้ XSalsa20Poly1305 หากพวกเขาต้องการเวอร์ชันที่เร็วกว่าและ "น่าจะ" ปลอดภัยกว่า ให้เลือก XChaCha20Poly1305
cn flag
@Hern ฉันจะบอกว่า ChaCha ได้รับการทดสอบดีกว่า Salsa เพราะมันใช้สำหรับฟังก์ชันแฮชของ Blake ด้วย แม้ว่าซัลซ่าจะถูกเลือกสำหรับ eSTREAM แต่ ChaCha ก็ได้รับความนิยมมากขึ้น ซัลซ่ามีอายุเพียง 3 ปี (ที่จริงเผยแพร่ก่อน ChaCha เพียง 1 ปี) Google ใช้ ChaCha ระบบปฏิบัติการที่คล้ายกับ UNIX จำนวนมากใช้สำหรับสร้างตัวเลขสุ่ม
Hern avatar
is flag
อัปเดต: เพิ่งยืนยันบางอย่างกับผู้พัฒนา libsodium พวกเขากล่าวว่าการมีอยู่ของ XChaCha20Poly1305 นั้นมีอยู่สำหรับ DNSCrypt เท่านั้น บางทีนั่นอาจเป็นเหตุผลว่าทำไมพวกเขาไม่ใส่ใจที่จะใส่เอกสารลงใน repo libsodium-doc github และเว็บไซต์ของพวกเขา (https:/ /doc.libsodium.org/)
Hern avatar
is flag
พวกเขาไม่ได้บอกว่ามันจะถูกลบออก ดังนั้นการผูกมัดของฉันอาจจะยังคงมีรหัสนั้นอยู่

โพสต์คำตอบ

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