TLS 1.3 มีการล้างข้อมูลครั้งใหญ่หลังจากเกิดความล้มเหลว เรามีแต่ 5 ชุดการเข้ารหัส ใน TLS 1.3 ด้วย ID ของพวกเขา:
{0x13,0x01}
- TLS_AES_256_GCM_SHA384
{0x13,0x02}
- TLS_CHACHA20_POLY1305_SHA256
{0x13,0x03}
- TLS_AES_128_GCM_SHA256
{0x13,0x04}
- TLS_AES_128_CCM_8_SHA256
{0x13,0x05}
- TLS_AES_128_CCM_SHA256
ณ ปัจจุบัน อาร์เอฟซี 8446:
แอปพลิเคชันที่สอดคล้องกับ TLS ต้อง ใช้ชุดรหัส TLS_AES_128_GCM_SHA256 [GCM] และ ควร ใช้ชุดการเข้ารหัส TLS_AES_256_GCM_SHA384 [GCM] และ TLS_CHACHA20_POLY1305_SHA256 [RFC8439]
ชุดเข้ารหัสทั้งหมดนี้ใช้โหมด CTR, AES คือ Pseudo-Random Permutation (PRP) และ Chacha20 คือ Pseudo-Random Function (PRF); ผลที่ตามมา, ChaCha20 ดีกว่า สำหรับโหมด CTR เช่น PRF ใดๆ
AES-256 เป็นมาตรฐานทองคำและได้รับการอนุมัติจาก NIST และมีความปลอดภัยแบบควอนตัม (อัลกอริทึมของ Grover) (ChaCha ปลอดภัยต่อ QC ด้วย) AES มีคำสั่ง CPU ที่เรียกว่า AES-NI ของ Intel อินเทลยังเพิ่ม PCLMULQDQ
คำแนะนำในปี 2014 เพื่อเพิ่มประสิทธิภาพการทำงานของ GCM ดังนั้นเราจะเห็นมากกว่าที่อื่น
- GCM (โหมดเคาน์เตอร์ Galois) เป็นโหมดที่ใช้มากที่สุด*.
- ซี.ซี.เอ็ม เป็นโหมดที่ต้องการสภาพแวดล้อมที่ จำกัด
- ChaCha20-Poly1305 เป็นที่ต้องการของ Google และไม่มีภูมิคุ้มกันต่อการโจมตีตามเวลาโดยการออกแบบ
โปรดทราบว่า ในซอฟต์แวร์ ChaCha20 ชนะ AES และนี่ไม่ใช่เรื่องน่าแปลกใจเนื่องจากได้รับการออกแบบมาให้เป็นมิตรกับซีพียู
*GCM ยากที่จะใช้อย่างถูกต้องมีมากมาย หลุมพราง.