[ ] Threat Model ist dokumentiert (Assets, Angreifer-Capabilities, Trust Boundaries, Failure Modes)
[ ] Algorithm Selection ist explizit und begründet (kein „home-grown crypto“; veraltete Primitives vermeiden)
[ ] Key Material Handling: Keys/Seed Material werden niemals geloggt, niemals unbeabsichtigt persistiert, in sicheren Containern gespeichert
[ ] Randomness: Cryptographic Randomness kommt von approved CSPRNG; kein ad-hoc RNG; keine time-based Seeds
[ ] Nonce/IV Rules werden by Design erzwungen (einzigartig wo erforderlich; niemals wiederverwendet; bevorzugt intern generiert)
[ ] Constant-time Comparisons für MACs, Hashes und secret-dependent Equality Checks
[ ] Side-channel Posture ist angegeben (Timing/Cache/Power Expectations) und relevante Operationen haben Mitigations
[ ] Input Validation ist strikt und lehnt malformed Encodings ab; Length Checks vor Allocation
[ ] Zeroization / Lifecycle: Secret Buffers werden zeroized wo machbar; Key Objects haben deterministische Disposal Patterns
[ ] Error Behavior: Crypto Failures geben non-revealing Errors zurück (no oracle leaks); Callers können secret-dependent Failure Branches nicht unterscheiden
[ ] Versioning & Agility: Protocol/Blob Formats sind versioniert; Parameter sind mit Ciphertext/Signature encodiert wo erforderlich
[ ] Interoperability Tests existieren (Golden Vectors oder Cross-Implementation Tests)
[ ] Negative Tests existieren (Tamper, Replay, Truncation, Wrong Key, Wrong Nonce/IV, Wrong Context)