ในขณะที่คุณไม่ได้กล่าวถึงแหล่งที่มาที่นี่ หนึ่ง. จริงๆแล้ว ตระกูล XSalsa อธิบายไว้ในเอกสารของเบิร์นสไตน์
"X" ใน XSalsa20Poly1305 หมายถึง nonce 192 บิตหรือไม่
ใช่ หมายความว่าขนาดที่ไม่เป็นมาตรฐานของ XSalsa คือ 192 บิต ในขณะที่ Salsa มี 64 บิต นี่เป็นเรื่องใหญ่มากที่แม้แต่การสุ่ม nonce ก็ต้องสร้าง $2^{96}$ ไม่มีเครื่องแบบเพื่อให้การชนเกิดขึ้นด้วยความน่าจะเป็น 50% สิ่งนี้สำคัญมากในคีย์ระยะยาว ถ้าคู่ (key,nonce) ถูกดำเนินการต่อ การรักษาความลับจะหายไป 192 บิตป้องกันสิ่งนี้ เป็นเหตุการณ์ที่แทบจะไม่มีวันเกิดขึ้นเลยสำหรับการเข้ารหัส
มีข้อได้เปรียบที่สำคัญของการใช้ XSalsa20Poly1305 หรือไม่?
การเปรียบเทียบ OpenSSL (ChaCha ไม่ใช่ Salsa);
พิมพ์ |
16 ไบต์ |
64 ไบต์ |
256 ไบต์ |
1024 ไบต์ |
8192 ไบต์ |
16384 ไบต์ |
chacha20 |
361334.62ก |
665775.85ก |
1334323.20ก |
2750173.87ก |
2945690.28ก |
2972353.50ก |
aes-128-ctr NI |
525049.40ก |
1867614.12ก |
3840132.18ก |
5231174.31ก |
5816388.27ก |
5875471.70ก |
aes-128-ctr |
190707.84ก |
228983.55ก |
236486.66ก |
243153.92ก |
242283.86ก |
242614.27ก |
นอกจากนี้ โปรดทราบว่าในกระดาษ Bernstein ให้หลักฐานความปลอดภัย ถ้า Salsa20 ปลอดภัย XSalsa ก็เช่นกัน
ได้รับการพิสูจน์แล้วว่า 15 รอบของ Salsa20 ปลอดภัยจากการโจมตีที่แตกต่างกัน
โปรดทราบว่ามีรูปแบบใหม่ของตระกูล Salsa; ครอบครัวชาช่า ตระกูล ChaCha มีเป้าหมายเพื่อเพิ่มการแพร่กระจายต่อรอบด้วยความเร็วเกือบเท่าเดิม ตระกูล ChaCha ถูกดัดแปลงมากกว่าตระกูล Salsa, TLS 1.3 ใช้ ChaCha20-Pol1305
ChaCha20 ยังมี XChaCha20-Poly1305 (ร่าง IETF) ที่ใช้ขนาด nonce 192 บิตเหมือนกัน เป็นที่นิยมมากกว่า XSalsa20-Poly1305 โปรดทราบว่าตระกูล ChaCha ได้รับการศึกษาน้อยกว่าตระกูล Salsa เนื่องจากมีตัวแทนของ Salsa โครงการ eSTREAM.
ชอบ XChaCha20-Poly1305 ถ้าทำได้
โปรดทราบว่าต้องมีการเข้ารหัสที่รับรองความถูกต้องในการส่ง จึงแนะนำให้ใช้กับข้อมูลที่เหลือ