รูปแบบการเข้ารหัสนี้จะมีความปลอดภัยตามความยาวของคีย์หรือไม่ ฉันจะมีความแข็งแกร่งในการเข้ารหัส 8192 บิตหรือไม่
ไม่ ความปลอดภัยถูกจำกัดด้วย
$$security = min\{\text{Argon2 input_size}\;, \;\text{ขนาดสรุปแฮช}\}$$ ในกรณีของคุณกับ BLAKE2-512 เป็นการรักษาความปลอดภัย 512 บิต ไม่ใช่ 8192
เหตุผลนั้นชัดเจน Argon2 กลับมา ส่งคืนแฮช (C, tagLength)
(ฟังก์ชันแฮชที่มีความยาวผันแปรได้) หรือดู จากเอกสาร Argon2 หน้า 6 *
เธ�เธญเธ‡เธฒเธ™
และหากใช้ BLAKE2 64 ไบต์แรกจะเป็นเอาต์พุตของ BLAKE2หากความต้องการเอาต์พุตคือ > 64 ไบต์ ไบต์ที่เหลือจะมาจากเอาต์พุตของการเรียก BLAKE2 ก่อนหน้า
V1 â Blake2b (digestSize ⥠FinalBlock, 64);
บล็อกที่ตามมาสร้างขึ้นจากบล็อกก่อนหน้า
สำหรับฉัน â 2 ถึง r do
Vi â Blake2b(Vi-1, 64)
Vi ต่ำกว่า 32 ไบต์จะถูกส่งคืน
ดังนั้นจึงไม่สามารถมีความปลอดภัยที่ใหญ่กว่าขนาดการสรุปแฮชได้ และนี่ควรจะเพียงพอสำหรับแม้แต่ฝ่ายตรงข้ามหลังควอนตัม
และ, ความปลอดภัย 256 บิตเพียงพอสำหรับทุกคน. Argon2 ได้รับการออกแบบมาสำหรับการแฮชรหัสผ่าน แม้ว่าจะสามารถใช้สิ่งนี้กับโหมด CTR ได้ แต่ก็ยังต้องการ xChaCha20-Poly1305 เพื่อรับการรักษาความลับ ความสมบูรณ์ และการรับรองความถูกต้อง ซึ่งเร็วกว่า Argon2 สำหรับการเข้ารหัส xChaCha20 เป็นส่วนเสริมของ ChaCha20 ที่มี nonce 192 บิตที่เปิดใช้งาน nonce แบบสุ่มโดยไม่ต้องกลัวว่าจะเกิดปัญหา nonce ซ้ำของโหมด CTR
* เอาต์พุตเริ่มต้นจะส่งออกแฮชเดี่ยวเท่านั้น สิ่งนี้ทำให้ไคลเอ็นต์ไม่ขึ้นกับการอัปเดตคือ ข้อกำหนดด้านการทำงานของการแข่งขันการแฮชรหัสผ่าน.