Crypto Requirements#
Crypto Requirements
|
status: draft
security: YES
safety: QM
|
||||
Hash Functionality#
The requirements in this section specify behavior provided by the Crypto component’s hash API. They do not make qualification claims about a complete deployed system.
Support SHA-2 hash algorithms
|
status: valid
security: YES
safety: QM
|
||||
The Crypto component shall provide SHA-256, SHA-384, and SHA-512 hash operations. |
|||||
Provide streaming hash operation
|
status: valid
security: YES
safety: QM
|
||||
The Crypto component shall support incremental hashing through the ordered
|
|||||
Provide single-shot hash operation
|
status: valid
security: YES
safety: QM
|
||||
The Crypto component shall support hashing an input buffer through
|
|||||
Report hash digest size
|
status: valid
security: YES
safety: QM
|
||||
For each supported hash algorithm, the Crypto component shall expose through the hash interface the digest output size, in bytes, required by that algorithm. |
|||||
Reject undersized hash output buffers
|
status: valid
security: YES
safety: QM
|
||||
The Crypto component shall reject a hash operation when the caller-provided output buffer is smaller than the digest size of the configured algorithm. |
|||||
Preserve hash state after output-buffer validation
|
status: valid
security: YES
safety: QM
|
||||
When streaming hash finalization reports that the output buffer is too small,
the Crypto component shall preserve the active hash state so that
|
|||||
Reject unsupported hash algorithms
|
status: valid
security: YES
safety: QM
|
||||
The Crypto component shall report an unsupported-algorithm error when a hash algorithm cannot be resolved by the selected provider and shall not substitute a digest size or another algorithm. |
|||||
Maintain provider-independent hash results
|
status: valid
security: YES
safety: QM
|
||||
For each supported hash algorithm, the Crypto stack shall return identical digests for identical input bytes independent of the selected provider. |
|||||
Provider Selection#
Honor preferred-provider fallback for context creation
|
status: valid
security: YES
safety: QM
|
||||
When context creation requests a preferred provider category, the Crypto component shall use the corresponding fallback category only if the preferred provider is unavailable or does not support the requested operation. |
|||||
Hash Context Lifecycle#
Reset reusable hash contexts
|
status: valid
security: YES
safety: QM
|
||||
The Crypto component shall allow an initialized or completed hash context to be reset to the idle state without changing its algorithm or provider binding. |
|||||