Requirements#
Hash Requirements
|
status: draft
security: NO
safety: ASIL_B
|
||||
Hash Library
|
status: valid
security: NO
safety: ASIL_B
|
||||
Functional Requirements#
Hash Computation from Byte Data
|
status: valid
security: YES
safety: ASIL_B
|
||||
The hash library shall compute a hash value over a contiguous byte sequence supplied by the caller, accumulating state across one or more data inputs and producing the final digest upon finalization. |
|||||
Hash Value Retrieval as Raw Bytes
|
status: valid
security: YES
safety: ASIL_B
|
||||
The hash library shall expose the computed hash value as a raw byte sequence. |
|||||
Hash Value Retrieval as Hexadecimal String
|
status: valid
security: YES
safety: ASIL_B
|
||||
The hash library shall expose the computed hash value as a hexadecimal string representation. |
|||||
Algorithm Selection via Factory
|
status: valid
security: YES
safety: ASIL_B
|
||||
The hash library shall allow the hash algorithm to be selected and a calculator instance to be created independently of the code that performs the computation, so that the calling code is not coupled to any specific algorithm implementation. |
|||||
Cryptographic Hash Algorithms
|
status: valid
security: YES
safety: ASIL_B
|
||||
The hash library shall support SHA-1, SHA-256, SHA-384, and SHA-512 as cryptographic hash algorithms. |
|||||
CRC-32 Checksum Algorithm
|
status: valid
security: YES
safety: ASIL_B
|
||||
The hash library shall support IEEE CRC-32 as a checksum algorithm. |
|||||
Exception-Free Error Propagation
|
status: valid
security: YES
safety: ASIL_B
|
||||
The hash library shall propagate errors from hash calculator instantiation via return-value types, enabling use in safety-critical contexts where exception handling is not available. |
|||||