🔍
AllesAll VeiligSafe ConditioneelConditional VermijdenAvoid Post-Quantum
0
VeiligSafe
0
ConditioneelConditional
0
VermijdenAvoid
0
Post-Quantum
1. Symmetrisch1. Symmetric 2. Asymmetrisch2. Asymmetric 3. Hashing & MAC 4. Key Exchange 5. TLS & Protocol 6. Post-Quantum 7. KDF & RNG 8. Levenscyclus8. Lifecycle 9. Normen9. Standards A. BevindingenA. Findings
Algemene Cryptografische PrincipesGeneral Cryptographic Principles Fundamentele regels voor veilig gebruik van cryptografieFundamental rules for safe use of cryptography PrincipesPrinciples

Nonce/IV Hergebruik: Het hergebruiken van een Nonce (Number used once) of IV (Initialization Vector) met dezelfde sleutel is in de meeste versleutelingsmodi (vooral AES-GCM) fataal en leidt tot volledig verlies van vertrouwelijkheid en/of authenticiteit. Zorg altijd voor unieke, bij voorkeur cryptografisch willekeurige, waarden per versleutelingsoperatie.Nonce/IV Reuse: Reusing a Nonce (Number used once) or IV (Initialization Vector) with the same key is fatal in most encryption modes (especially AES-GCM) and leads to complete loss of confidentiality and/or authenticity. Always ensure unique, preferably cryptographically random, values per encryption operation.

1 Symmetrische VersleutelingSymmetric Encryption
AES-GCM Geauthenticeerde versleuteling (AEAD) — voorkeur voor bulk dataAuthenticated encryption (AEAD) — preferred for bulk data VeiligSafe

Geauthenticeerde versleuteling (AEAD) — voorkeur voor bulk data. Combineert encryptie en authenticatie in één operatie.Authenticated encryption (AEAD) — preferred for bulk data. Combines encryption and authentication in a single operation.

SleutellengteKey length256-bit (aanbevolen)(recommended), min. 128-bit
IV / Nonce96-bit, uniek per sleutel (random of counter-based) — hergebruik is fataal96-bit, unique per key (random or counter-based) — reuse is fatal
Tag lengteTag length128-bit aanbevolen; nooit <96-bit128-bit recommended; never <96-bit
Max berichten/sleutelMax messages/key≈2³² bij random nonces (collision-risico); exacte limiet afhankelijk van datavolume≈2³² with random nonces (collision risk); exact limit depends on data volume
AES-CCM Alternatief AEAD, veel gebruikt in IoT / constrained omgevingenAlternative AEAD, widely used in IoT / constrained environments VeiligSafe

Alternatief AEAD-schema, veel gebruikt in IoT en constrained omgevingen.Alternative AEAD scheme, widely used in IoT and constrained environments.

SleutellengteKey length128 of 256-bit
Nonce7–13 byte
Tag8–16 byte
ChaCha20-Poly1305 Alternatief zonder AES-hardware; geschikt voor streaming en mobielAlternative without AES hardware; suitable for streaming and mobile VeiligSafe

Alternatief zonder AES-hardware-acceleratie; geschikt voor streaming en mobiel.Alternative without AES hardware acceleration; suitable for streaming and mobile.

SleutelKey256-bit
Nonce96-bit (of 192-bit XChaCha20)
Tag128-bit (Poly1305)
AES-CBC / CTR Alleen encryptie — géén authenticatie ingebouwdEncryption only — no built-in authentication ConditioneelConditional

Alleen data-versleuteling — géén authenticatie ingebouwd. Altijd combineren met Encrypt-then-MAC.Data encryption only — no built-in authentication. Always combine with Encrypt-then-MAC.

SleutelKey256-bit (128-bit nog acceptabelstill acceptable)
IVRandom, nooit hergebruikennever reuse
MACVerplichtRequired — Encrypt-then-MAC (HMAC-SHA-256)
3DES / DES / RC4 Gebroken of verouderd — niet inzettenBroken or outdated — do not use VermijdenAvoid
AlgoritmeAlgorithmRedenReason
DES56-bit effectief — triviaal te breken56-bit effective — trivially breakable
3DESSWEET32-aanval, effectief 112-bitSWEET32 attack, effective 112-bit
RC4Bias in keystream — cryptografisch gebrokenBias in keystream — cryptographically broken
2 Asymmetrische CryptografieAsymmetric Cryptography
RSA Versleuteling en handtekeningen — niet voor key exchangeEncryption and signatures — not for key exchange ConditioneelConditional

Versleuteling en handtekeningen — niet gebruiken voor key exchange.Encryption and signatures — do not use for key exchange.

Min. sleutellengteMin. key length3072-bit (NIST t/m 2030+), 4096-bit alleen voor high-assuranceonly for high-assurance
Padding versleutelingEncryption paddingOAEP (RSA-OAEP-SHA256)
Padding handtekeningSignature paddingPSS (RSA-PSS)
PKCS#1 v1.5Verboden — kwetsbaar voor Bleichenbacher-aanvalProhibited — vulnerable to Bleichenbacher attack
Publieke exponent ePublic exponent e65537
ECDSA Digitale handtekeningen op elliptische krommenDigital signatures on elliptic curves VeiligSafe

Digitale handtekeningen op elliptische krommen.Digital signatures on elliptic curves.

CurvesP-256 (= secp256r1), P-384 (= secp384r1), P-521 (= secp521r1) — NIST standaardstandard
Nonce kDeterministisch verplicht (RFC 6979)Deterministic required (RFC 6979)anders private key lekotherwise private key leak
HashSHA-256 (P-256/secp256r1), SHA-384 (P-384/secp384r1), SHA-512 (P-521/secp521r1)
OpmerkingNotesecp256k1 (Koblitz, ≠ secp256r1/P-256): niet standaard in TLS/PKI — gebruik P-256 of Ed25519 voor interoperabiliteitnot standard in TLS/PKI — use P-256 or Ed25519 for interoperability
Ed25519 / Ed448 (EdDSA) EdDSA — voorkeur boven ECDSA voor nieuwe implementatiesEdDSA — preferred over ECDSA for new implementations VeiligSafe

EdDSA — voorkeur boven ECDSA voor nieuwe implementaties.EdDSA — preferred over ECDSA for new implementations.

CurveCurve25519 (Ed25519), Curve448 (Ed448)
NonceDeterministisch ingebouwd — geen extern risicoDeterministic built-in — no external risk
SleutelgrootteKey size32 byte (Ed25519)
HandtekeninggrootteSignature size64 byte (Ed25519)
DSA (klassiek) Verouderd — zwak in vergelijking met ECDSAOutdated — weak compared to ECDSA VermijdenAvoid
ProbleemProblemDetail
SleutellengteKey lengthMax 3072-bit — zwak in vergelijking met ECDSAMax 3072-bit — weak compared to ECDSA
Nonce kHergebruik leidt direct tot private key herstelReuse leads directly to private key recovery
3 Hashing & Berichtauthenticatie (MAC)Hashing & Message Authentication (MAC)
SHA-2 familie SHA-256, SHA-384, SHA-512 — standaard hashingSHA-256, SHA-384, SHA-512 — standard hashing VeiligSafe
VariantSecurity bitsStatus
SHA-256128-bitVeiligSafe
SHA-384192-bitVeiligSafe
SHA-512256-bitVeiligSafe
SHA-224112-bitLiever SHA-256Prefer SHA-256
SHA-3 familie Keccak sponge-constructie — onafhankelijk alternatief voor SHA-2Keccak sponge construction — independent alternative to SHA-2 Post-Quantum

Keccak sponge-constructie — onafhankelijk alternatief voor SHA-2, bruikbaar waar diversiteit van hash-algoritmen gewenst is.Keccak sponge construction — independent alternative to SHA-2, useful where diversity of hash algorithms is desired.

VariantStatusOpmerkingNote
SHA3-256VeiligSafe
SHA3-512VeiligSafe
SHAKE128VeiligSafeXOF — variabele output
SHAKE256VeiligSafeXOF — variabele output
HMAC Hash-based Message Authentication Code VeiligSafe
HashHMAC-SHA-256 of hoger
SleutellengteKey length≥ hash output lengte
VergelijkingComparisonConstant-time (timing-aanvallen voorkomenprevent timing attacks)
BLAKE2 / BLAKE3 Snelle cryptografische hashfunctiesFast cryptographic hash functions VeiligSafe
VariantOutputGebruikUsage
BLAKE2bTot 512-bitGeneriek gebruik
BLAKE2sTot 256-bitEmbedded / IoT
BLAKE3VariabelParallel, hoge snelheid
AEAD-tags als MAC Authenticatietags van AEAD-schema'sAuthentication tags from AEAD schemes VeiligSafe
Minimale tagMinimum tag128-bit aanbevolen128-bit recommended
TruncatieTruncationNooit onder 96-bit; 128-bit is best practiceNever below 96-bit; 128-bit is best practice
MD5 / SHA-1 Gebroken — collision-aanvallen aangetoondBroken — collision attacks demonstrated VermijdenAvoid
AlgoritmeAlgorithmAanvalAttack
MD5Collision in seconden berekenbaarCollision computable in seconds
SHA-1SHAttered (Google 2017) — collision aangetoondcollision demonstrated
4 Sleuteluitwisseling (Key Exchange)Key Exchange
ECDHE / X25519 Voorkeur voor sleuteluitwisseling — uitsluitend ephemeral (ECDHE)Preferred for key exchange — ephemeral only (ECDHE) VeiligSafe

Voorkeur voor sleuteluitwisseling — uitsluitend ephemeral (ECDHE). Statisch ECDH is niet toegestaan wegens het ontbreken van forward secrecy.Preferred for key exchange — ephemeral only (ECDHE). Static ECDH is not permitted due to lack of forward secrecy.

Curve voorkeurPreferred curveX25519 (= Curve25519 = ECDHE opon Curve25519)
AlternatievenAlternativesP-256 (secp256r1), P-384 (secp384r1), X448
Forward SecrecyVerplichtRequiredgebruik ephemeral sleutels (ECDHE)use ephemeral keys (ECDHE)
Statisch ECDHStatic ECDH❌ Verboden — geen forward secrecy❌ Prohibited — no forward secrecy
ValidatieValidationPublic key punt-op-curve verificatie verplichtPublic key point-on-curve verification required
Diffie-Hellman (klassiek) Alleen bij gebrek aan ECC-ondersteuningOnly when ECC support is unavailable ConditioneelConditional

Alleen inzetten bij gebrek aan ECC-ondersteuning.Only deploy when ECC support is unavailable.

Min. moduluslengteMin. modulus length3072-bit (NIST 2030+)
GroepGroupRFC 3526 / RFC 7919 veilige groepensafe groups
EphemeralDHE verplichtDHE required voor Perfect Forward Secrecyfor Perfect Forward Secrecy
Statisch DHStatic DHGeen forward secrecyNo forward secrecy
HPKE (RFC 9180) Moderne asymmetrische encryptie — combineert KEM, KDF en AEADModern asymmetric encryption — combines KEM, KDF and AEAD VeiligSafe

Moderne asymmetrische encryptie die KEM, KDF en AEAD combineert in één gestandaardiseerd framework (RFC 9180). Wordt gebruikt in MLS, Oblivious HTTP en ECH.Modern asymmetric encryption combining KEM, KDF and AEAD in a single standardized framework (RFC 9180). Used in MLS, Oblivious HTTP and ECH.

KEMDHKEM(X25519, HKDF-SHA256), DHKEM(P-256, HKDF-SHA256)
KDFHKDF-SHA256
AEADAES-128-GCM, ChaCha20-Poly1305
GebruikUsageMLS, Oblivious HTTP, ECH
RSA Key Exchange Geen forward secrecy — verwijderd uit TLS 1.3No forward secrecy — removed from TLS 1.3 VermijdenAvoid
ProbleemProblemDetail
Forward SecrecyOntbreekt volledigCompletely absent
TLS 1.3Verwijderd uit specificatieRemoved from specification
5 TLS & Protocol Parameters
TLS VersiesTLS Versions Overzicht van TLS/SSL versies en statusOverview of TLS/SSL versions and status TLS 1.3
VersieVersionStatusOpmerkingNote
TLS 1.3AanbevolenRecommended0-RTT voorzichtig gebruikenUse 0-RTT carefully
TLS 1.2ConditioneelConditionalAlleen met veilige cipher suitesOnly with secure cipher suites
TLS 1.1VerbodenProhibitedRFC 8996 deprecated
TLS 1.0VerbodenProhibitedPOODLE, BEAST aanvallen
SSL 2.0/3.0VerbodenProhibitedFundamenteel gebrokenFundamentally broken
TLS 1.3 Cipher Suites Aanbevolen cipher suites voor TLS 1.3Recommended cipher suites for TLS 1.3 VeiligSafe
Cipher SuiteStatus
TLS_AES_256_GCM_SHA384VoorkeurPreferred
TLS_AES_128_GCM_SHA256VeiligSafe
TLS_CHACHA20_POLY1305_SHA256Veilig (mobiel/IoT)Safe (mobile/IoT)
TLS 1.2 — AanbevolenTLS 1.2 — Recommended ECDHE/DHE + AEAD — gouden standaard voor TLS 1.2ECDHE/DHE + AEAD — gold standard for TLS 1.2 VeiligSafe

Forward Secrecy via ephemeral sleutels + AEAD-authenticatie ingebouwd. ECDHE heeft voorkeur boven DHE (sneller, kortere sleutels).Forward Secrecy via ephemeral keys + built-in AEAD authentication. ECDHE preferred over DHE (faster, shorter keys).

Cipher SuiteKey ExchangeEncryptieEncryptionStatus
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384ECDHE + ECDSAAES-256-GCMVoorkeurPreferred
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256ECDHE + ECDSAAES-128-GCMVeiligSafe
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384ECDHE + RSAAES-256-GCMVeiligSafe
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256ECDHE + RSAAES-128-GCMVeiligSafe
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256ECDHE + ECDSAChaCha20VeiligSafe
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256ECDHE + RSAChaCha20VeiligSafe
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384DHE + RSAAES-256-GCMVeilig (fallback)Safe (fallback)
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256DHE + RSAAES-128-GCMVeilig (fallback)Safe (fallback)
TLS 1.2 — AcceptabelTLS 1.2 — Acceptable Niet gebroken, maar specifieke tekortkomingen — legacy gebruikNot broken, but specific shortcomings — legacy use ConditioneelConditional

ECDHE + CBC-modus: Forward secrecy aanwezig, maar CBC is complexer en kwetsbaarder dan GCM/AEAD (BEAST, Lucky13, padding oracle).ECDHE + CBC mode: Forward secrecy present, but CBC is more complex and vulnerable than GCM/AEAD (BEAST, Lucky13, padding oracle).

Cipher SuiteRisicoRiskStatus
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384CBC: BEAST, Lucky13Legacy
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256CBC: BEAST, Lucky13Legacy
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHACBC + SHA-1 HMACLegacy
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHACBC + SHA-1 HMACLegacy
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHACBC + SHA-1 HMACLegacy
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHACBC + SHA-1 HMACLegacy

Statische RSA + AEAD: Versleuteling is sterk, maar zonder Perfect Forward Secrecy. Toekomstige compromittering van de server-key ontsleutelt alle eerder opgenomen sessies.Static RSA + AEAD: Encryption is strong, but without Perfect Forward Secrecy. Future compromise of the server key decrypts all previously recorded sessions.

Cipher SuiteRisicoRiskStatus
TLS_RSA_WITH_AES_256_GCM_SHA384Geen PFSNo PFSAfbouwenPhase out
TLS_RSA_WITH_AES_128_GCM_SHA256Geen PFSNo PFSAfbouwenPhase out
TLS 1.2 — VerbodenTLS 1.2 — Prohibited Gebroken of onveilige cipher suitesBroken or insecure cipher suites VermijdenAvoid
PatroonPatternRedenReasonStatus
TLS_RSA_WITH_AES_*_CBC_*Geen PFS + CBC kwetsbaarhedenNo PFS + CBC vulnerabilitiesVerbodenProhibited
TLS_RSA_WITH_3DES_EDE_CBC_SHAGeen PFS + 3DES SWEET32No PFS + 3DES SWEET32VerbodenProhibited
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA3DES SWEET32 (64-bit)VerbodenProhibited
*_RC4_*RC4 keystream bias — gebrokenRC4 keystream bias — brokenStrikt verbodenStrictly prohibited
*_NULL_*Geen versleutelingNo encryptionStrikt verbodenStrictly prohibited
*_EXPORT_*Verzwakte sleutels (40/56-bit) — FREAK/LogjamWeakened keys (40/56-bit) — FREAK/LogjamStrikt verbodenStrictly prohibited
*_DES_*56-bit sleutel — triviaal te breken56-bit key — trivially breakableStrikt verbodenStrictly prohibited
*_anon_*Geen authenticatie — MitM mogelijkNo authentication — MitM possibleStrikt verbodenStrictly prohibited
Protocol Parameters Aanvullende TLS/certificaat vereistenAdditional TLS/certificate requirements VereistenRequirements
Cert lengte (RSA)Cert length (RSA)≥ 2048-bit (aanbevolenrecommended: 4096-bit)
Cert lengte (ECDSA)Cert length (ECDSA)P-256 of hoger
Hash in certificaatCertificate hashSHA-256 of hoger
HSTSVerplicht + preload aanbevolenRequired + preload recommended
OCSP StaplingAanbevolenRecommended
Certificate TransparencyVerplicht voor publieke webcertificaten (browser ecosystem)Required for public web certificates (browser ecosystem)
Session Tickets (TLS 1.2)Veilig mits ticket keys frequent roteren en beperkt gedeeldSafe if ticket keys rotate frequently and are limited in scope
RenegotiatieRenegotiationUitzetten tenzij absoluut nodigDisable unless absolutely needed
6 Post-Quantum Cryptografie (PQC)Post-Quantum Cryptography (PQC)
NIST PQC Standaarden (2024)NIST PQC Standards (2024) ML-KEM, ML-DSA, SLH-DSA — FIPS geratificeerdML-KEM, ML-DSA, SLH-DSA — FIPS ratified Post-Quantum

Geratificeerde FIPS-standaarden — gereed voor implementatie.Ratified FIPS standards — ready for implementation.

AlgoritmeAlgorithmTypeFIPSStatus
ML-KEM (Kyber)KEM / Key EncapsulationFIPS 203AanbevolenRecommended
ML-DSA (Dilithium)Digitale handtekeningDigital signatureFIPS 204AanbevolenRecommended
SLH-DSA (SPHINCS+)Hash-gebaseerde handtekeningHash-based signatureFIPS 205Conservatieve keuzeConservative choice
FrodoKEM Lattice-gebaseerd KEM — conservatieve optie, aanbevolen door BSI/ANSSI/NLNCSALattice-based KEM — conservative option, recommended by BSI/ANSSI/NLNCSA Post-Quantum

Lattice-gebaseerd KEM (Key Encapsulation Mechanism). NIST Round 3 alternate, aanbevolen door o.a. BSI, ANSSI, NLNCSA als conservatieve optie. Onderweg naar ISO-standaardisatie (ISO/IEC 18033-2 Amendment 2).Lattice-based KEM (Key Encapsulation Mechanism). NIST Round 3 alternate, recommended by BSI, ANSSI, NLNCSA as a conservative option. On track for ISO standardization (ISO/IEC 18033-2 Amendment 2).

TypeLattice-gebaseerd KEMLattice-based KEM
StatusNIST Round 3 alternateNIST Round 3 alternate
Aanbevolen doorRecommended byBSI, ANSSI, NLNCSA
StandaardisatieStandardizationISO/IEC 18033-2 Amendment 2
Classic McEliece Code-gebaseerd KEM — zeer conservatieve beveiliging, grotere publieke sleutelsCode-based KEM — very conservative security, larger public keys Post-Quantum

Code-gebaseerd KEM (Key Encapsulation Mechanism). NIST PQC-inzending (standaardisatie uitgesteld voor ISO-afstemming), aanbevolen door o.a. BSI, NLNCSA. Zeer conservatieve beveiliging, maar met aanzienlijk grotere publieke sleutels en potentieel complexere sleutelgeneratie dan lattice-gebaseerde KEM's.Code-based KEM (Key Encapsulation Mechanism). NIST PQC submission (standardization deferred for ISO alignment), recommended by BSI, NLNCSA. Very conservative security, but with significantly larger public keys and potentially more complex key generation than lattice-based KEMs.

TypeCode-gebaseerd KEMCode-based KEM
StatusNIST PQC-inzending, ISO-standaardisatie onderwegNIST PQC submission, ISO standardization in progress
Aanbevolen doorRecommended byBSI, NLNCSA
KenmerkenCharacteristicsGrotere publieke sleutels, complexere sleutelgeneratieLarger public keys, more complex key generation
StandaardisatieStandardizationISO/IEC 18033-2 Amendment 2
ML-KEM Parameters Kyber varianten per security levelKyber variants by security level Post-Quantum
NiveauLevelVariantSecurity bitsGebruikUsage
Level 1ML-KEM-512~128-bitEmbedded / IoT
Level 3ML-KEM-768~192-bitAlgemeen gebruikGeneral use
Level 5ML-KEM-1024~256-bitHigh-assurance
Hybride MigratiestrategieHybrid Migration Strategy Klassiek + PQ combineren voor de transitieperiodeCombine classic + PQ for the transition period AanbevolenRecommended

Combineer klassiek + PQ voor de transitieperiode — biedt bescherming in beide richtingen.Combine classic + PQ for the transition period — provides protection in both directions.

CombinatieCombinationStatus
X25519 (Curve25519) + ML-KEM-768 (Kyber)Aanbevolen (TLS hybride)Recommended (TLS hybrid)
P-256 (secp256r1) + ML-KEM-768 (Kyber)NIST-compliant alternatief
ECDSA + ML-DSA (Dilithium)Dual-signature certificaten
Alleen PQ (geen klassiek)PQ only (no classic)Wacht op bredere implementatieAwait broader implementation
Harvest Now, Decrypt Later (HNDL) Tijdlijn en urgentie voor PQ-migratieTimeline and urgency for PQ migration TijdlijnTimeline

Aanvallers kunnen nu versleuteld verkeer opslaan en later ontsleutelen met een quantumcomputer. De urgentie hangt af van hoe lang data gevoelig blijft.Attackers can store encrypted traffic now and decrypt it later with a quantum computer. The urgency depends on how long data remains sensitive.

2024–2026
Inventariseer cryptografie, start PQ-migratie planningInventory cryptography, start PQ migration planning
Nu
Kritieke data: hybride encryptie direct inzettenCritical data: deploy hybrid encryption immediately
2030
RSA/ECC alleen nog conditioneel (NIST)RSA/ECC conditional only (NIST)
2035+
Klassieke publieke sleutelalgoritmen obsoleetClassical public key algorithms obsolete
7 Sleutelafleiding (KDF) & Willekeurigheid (RNG)Key Derivation (KDF) & Randomness (RNG)
HKDF HMAC-based Extract-and-Expand KDF — RFC 5869 VeiligSafe

HMAC-based Extract-and-Expand KDF — RFC 5869. Standaard in TLS 1.3 en Signal Protocol.HMAC-based Extract-and-Expand KDF — RFC 5869. Standard in TLS 1.3 and Signal Protocol.

HashSHA-256 of hoger
SaltRandom, ≥ hash output lengte
InfoContext-specifieke label (voorkomt domein-overlap)Context-specific label (prevents domain overlap)
PBKDF2 Wachtwoord-gebaseerde KDF — minder voorkeur dan Argon2idPassword-based KDF — less preferred than Argon2id ConditioneelConditional

Wachtwoord-gebaseerde sleutelafleiding — acceptabel maar minder voorkeur dan Argon2id.Password-based key derivation — acceptable but less preferred than Argon2id.

IteratiesIterationsZodanig dat hashing ~100ms duurt op target hardware (typisch 300k–1M+)Such that hashing takes ~100ms on target hardware (typically 300k–1M+)
HashHMAC-SHA-256
Salt16 byte random
Output≥ 256-bit
Argon2id Voorkeur voor wachtwoord-hashing — winnaar PHCPreferred for password hashing — PHC winner VeiligSafe

Voorkeur voor wachtwoord-hashing — winnaar Password Hashing Competition (PHC).Preferred for password hashing — winner of the Password Hashing Competition (PHC).

GeheugenMemory≥ 64 MB (aanbevolenrecommended: 128 MB)
IteratiesIterations≥ 3
ParallelismeParallelism4 (hardware-afhankelijkhardware-dependent)
Salt16 byte random
Output32 byte
scrypt / bcrypt Acceptabel — voorkeur gaat naar Argon2idAcceptable — preference goes to Argon2id ConditioneelConditional
AlgoritmeAlgorithmParameterWaardeValue
bcryptCost factor≥ 12 (2024)
bcryptWachtwoord limietPassword limitMax 72 bytes — pre-hash bij langere wachtwoordenpre-hash for longer passwords
scryptN≥ 2¹&sup7;
CSPRNG Cryptografisch Veilige WillekeurigheidCryptographically Secure Randomness VeiligSafe

Altijd OS-level cryptografisch veilige RNG gebruiken.Always use OS-level cryptographically secure RNG.

PlatformVereiste APIRequired API
Linuxgetrandom() of /dev/urandom
WindowsBCryptGenRandom
OpenSSLRAND_bytes()
Pythonsecrets module
JavaSecureRandom
VerbodenProhibitedrand(), Math.random(), srand()
8 Sleutellevenscyclus & Implementatie-eisenKey Lifecycle & Implementation Requirements
SleutellevenscyclusKey Lifecycle Rotatie, geldigheid, archivering en vernietigingRotation, validity, archival and destruction RichtlijnenGuidelines
Symmetrische rotatieSymmetric rotation≤ 1 jaar (gevoelig: maandelijks)≤ 1 year (sensitive: monthly)
TLS sessiesleutelsEphemeral — per sessie vernieuwenrenew per session
RSA/ECC certificatenMax 398 dagen (browser-policy)
Code signing certsMax 3 jaar
Root CA geldigheidMax 25 jaar — offline opslag vereistoffline storage required
SleutelarchiveringKey archivalHSM verplichtHSM required voor kritieke sleutelsfor critical keys
SleutelvernietigingKey destructionCryptografisch wissen + audit logCryptographic erasure + audit log
Implementatie-eisenImplementation Requirements Vereisten voor veilige cryptografische implementatieRequirements for secure cryptographic implementation VerplichtRequired
Constant-timeVerplichtRequired voor alle geheime vergelijkingenfor all secret comparisons
Side-channelBlinding, padding bij RSA-operatiesfor RSA operations
ZeroizationVerplichtRequiredsleutelmateriaal wissen na gebruikerase key material after use
Error messagesGeen crypto-detail in foutmeldingenNo crypto detail in error messages
BibliothekenLibrariesOpenSSL ≥ 3.x, libsodium, BoringSSL
Eigen cryptoCustom cryptoAbsoluut verbodenAbsolutely prohibited
HSM / Secure EnclaveVerplichtRequired voor kritieke private sleutelsfor critical private keys
Key ceremonyDubbele controle bij root CA generatieDual control for root CA generation
Aanbevolen BibliothekenRecommended Libraries Vertrouwde cryptografische bibliotheken per platformTrusted cryptographic libraries by platform ReferentieReference
OpenSSL ≥ 3.x
C / systeemniveausystem level
FIPS 140-3 module beschikbaarFIPS 140-3 module available
libsodium
Multi-platform
Eenvoudige API, veilige defaultsSimple API, safe defaults
BoringSSL
C / Google
TLS-stack voor embeddedTLS stack for embedded
Bouncy Castle
Java / .NET
Uitgebreid, incl. PQCComprehensive, incl. PQC
cryptography
Python
Wrapper om OpenSSL/libsodium
rustls
Rust
Memory-safe TLS implementatieMemory-safe TLS implementation
Go standard library (crypto)
Go
Robuust, veilig by default, breed gebruiktRobust, safe by default, widely used
Web Crypto API
JavaScript (Browser)
Ingebouwde browser API, veiligBuilt-in browser API, secure
noble
JavaScript / TypeScript
Pure JS/TS, modulair, incl. PQCPure JS/TS, modular, incl. PQC
PyCryptodome
Python
Moderne, onafhankelijke implementatieModern independent implementation
9 Normen & ReferentiekadersStandards & Reference Frameworks
Normen OverzichtStandards Overview NIST, BSI, ETSI, ISO, IETF en ENISA standaardenNIST, BSI, ETSI, ISO, IETF and ENISA standards ReferentieReference
NormOrganisatieOrganizationToepassingsgebiedScope
NIST SP 800-57NIST (VS)Sleutelbeheer aanbevelingenKey management recommendations
NIST SP 800-131ANIST (VS)Transitie cryptografische algoritmenCryptographic algorithm transition
NIST FIPS 140-3NIST (VS)Cryptografische module validatieCryptographic module validation
NIST FIPS 203/204/205NIST (VS)ML-KEM, ML-DSA, SLH-DSA standaardenML-KEM, ML-DSA, SLH-DSA standards
BSI TR-02102BSI (DE)Duitsland / EU cryptografische richtlijnenGermany / EU cryptographic guidelines
ETSI TS 119 312ETSI (EU)Europese cryptografische suitesEuropean cryptographic suites
ISO/IEC 18033ISOVersleutelingsalgoritmenEncryption algorithms
RFC 8446IETFTLS 1.3 specificatieTLS 1.3 specification
RFC 8032IETFEdDSA (Ed25519/Ed448)
RFC 7748IETFElliptic Curves ECDH (X25519/X448)
RFC 5869IETFHKDF
ENISA PQC GuidelinesENISA (EU)Post-quantum migratie EuropaPost-quantum migration Europe
A Meest Voorkomende BevindingenMost Common Findings
1Nonce-hergebruik bij AES-GCMfatale fout, volledig verlies van vertrouwelijkheid én authenticiteitfatal error, complete loss of confidentiality and authenticity
2PKCS#1 v1.5 padding in RSAnog wijdverspreid in legacy systemen, kwetsbaar voor Bleichenbacherstill widespread in legacy systems, vulnerable to Bleichenbacher
3SHA-1 in certificaatketensbrowsers blokkeren dit, maar legacy backends accepteren het nogbrowsers block this, but legacy backends still accept it
4Statische DH zonder forward secrecyhistorische sessies kunnen later ontsleuteld wordenhistorical sessions can be decrypted later
5Gebruik van rand() voor sleutelgeneratieUse of rand() for key generationniet cryptografisch veilignot cryptographically secure
6TLS 1.0/1.1 nog actiefveelal via verkeerde server-configuratieoften due to incorrect server configuration
7Geen sleutelrotatieNo key rotationsymmetrische sleutels die jarenlang ongewijzigd in gebruik zijnsymmetric keys in use unchanged for years
8Hardcoded sleutelmateriaalHardcoded key materialsleutels in broncode of configuratiebestandenkeys in source code or configuration files
Geen resultaten gevonden. Probeer een andere zoekterm of filter.No results found. Try a different search term or filter.