It supplies primitives and constructions for properties such as confidentiality, integrity, origin authentication, entity authentication, and evidence that may support non-repudiation, then combines them within protocols and systems whose security depends on explicit assumptions, keys, parameters, and operating conditions.
Its tools include encryption, cryptographic hash functions, message authentication codes, digital signatures, key-establishment methods, and secure random-bit generation. Selecting an approved primitive is only one part of engineering a secure implementation and lifecycle.
Key points
Purpose and modelState the required security property, protected assets, adversary capabilities, trust boundaries, acceptable algorithms and parameters, and the protocol context in which a primitive will be used.
Keys and randomnessGenerate unpredictable values, protect private or secret keys, bind keys to authorized purposes, distribute them securely, rotate or replace them when required, and destroy them appropriately.
Implementation and maintenanceUse reviewed constructions and libraries, avoid unsafe composition, test interoperability and failure handling, reduce side-channel exposure, and migrate before algorithms or parameter sizes become unsuitable.
Important limitationCryptography does not make an entire system secure. Correct primitives can be defeated by weak randomness, key theft, protocol mistakes, vulnerable endpoints, metadata leakage, implementation defects, obsolete parameters, or misuse by an authorized party.