Nonce ve başlatma vektörü (IV)
Kısaca: Nonce (“number used once”) ve başlatma vektörü, aynı iletinin aynı anahtarla her seferinde farklı şifrelenmesini sağlayan ek değerlerdir.
Biraz daha ayrıntılı: Gizli değildirler ama özellikleri belirleyicidir: Bir nonce asla tekrarlanmamalı, bir IV kipe göre öngörülemez (rastgele) olmalıdır.
Ayrıntılı
- Neden gerekli: Onlar olmadan aynı düz metinler aynı şifreli metinleri verirdi ve tekrarlar görülürdü.
- Nonce: Çoğunlukla bir sayaç veya rastgele bir değer. CTR/GCM/ChaCha20’de “tek” olması yeter, rastgelelik gerekmez; ama tekrar ölümcüldür: Aynı anahtar ve aynı nonce’lu iki ileti düz metinlerinin XOR’unu ele verir, GCM’de kimlik doğrulama anahtarı açığa çıkabilir.
- CBC’de IV: Rastgele ve öngörülemez olmalıdır.
- Birlikte gönderme: Nonce/IV çoğunlukla şifreli metnin başına eklenir ve açık gönderilir.
- Rastgele nonce: 96 bitte ve çok sayıda iletide çarpışma tehlikesi vardır (doğum günü paradoksu). O zaman sayaçlar veya anahtar değişimi daha iyidir. Bkz. rastgele sayılar.
- Şifrelemenin dışında: Giriş protokollerinde ve blok zincirlerinde tekrara (“replay”) karşı tek kullanımlık değer olarak.
Ayrıca bak: ChaCha20-Poly1305