İçeriğe geç

Sabit IV/nonce (ARCH2114)

Anahtar python.security.static-iv · Önem error · Kategori security · CWE CWE-329

Sabit veya sıfır IV/nonce, CBC/CTR/GCM modlarının anlamsal güvenliğini yok eder ve aynı anahtarla tekrar kullanımda kritik açıklara yol açar. Her mesaj için rastgele IV üretin.

from cryptography.hazmat.primitives.ciphers.aead import AESGCM
def encrypt(key, data):
nonce = b"\x00" * 12
return AESGCM(key).encrypt(nonce, data, None)
import os
from cryptography.hazmat.primitives.ciphers.aead import AESGCM
def encrypt(key, data):
nonce = os.urandom(12)
return nonce + AESGCM(key).encrypt(nonce, data, None)

Her şifreleme işlemi için kriptografik olarak rastgele, benzersiz bir IV/nonce üretin.