SHA

Files CCore/inc/crypton/SHA.h CCore/src/crypton/SHA.cpp

Files CCore/inc/crypton/PlatformSHA.h

Software SHA implementation

The following HashFunction<....> classes implement the SHA hash algorithms:


using SHA1   = HashFunction<....> ;
using SHA224 = HashFunction<....> ;
using SHA256 = HashFunction<....> ;
using SHA384 = HashFunction<....> ;
using SHA512 = HashFunction<....> ;

SHAnnn implements the correspondent SHA-nnn algorithm.

The following KeyedHashFunction<....> classes implement the HMAC hash functions based on SHA algorithms:


using KeyedSHA1   = KeyedHashFunction<....> ;
using KeyedSHA224 = KeyedHashFunction<....> ;
using KeyedSHA256 = KeyedHashFunction<....> ;
using KeyedSHA384 = KeyedHashFunction<....> ;
using KeyedSHA512 = KeyedHashFunction<....> ;

KeyedSHAnnn implements the HMAC based on the correspondent SHA-nnn algorithm.

Platform SHA

The file PlatformSHA.h contains stub definitions for the PlatformSHA types.


using PlatformSHA1 = SHA1 ;
using PlatformSHA224 = SHA224 ;
using PlatformSHA256 = SHA256 ;
using PlatformSHA384 = SHA384 ;
using PlatformSHA512 = SHA512 ;

using PlatformKeyedSHA1 = KeyedSHA1 ;
using PlatformKeyedSHA224 = KeyedSHA224 ;
using PlatformKeyedSHA256 = KeyedSHA256 ;
using PlatformKeyedSHA384 = KeyedSHA384 ;
using PlatformKeyedSHA512 = KeyedSHA512 ;

A target may override this header file and provide its own definitions with efficient platform-dependent SHA implementation.