This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

CRYS_HASH, SHA384 and MD5, error_code = Illegal operation mode, BUT others work well.

It shows that MD5 is avaliable in the nRF sdk documents, and I actualy run the hash(SHA1, SHA224, SHA256, SHA512) function successfully. But SHA384 and MD5 don't work well ,they return "Illegal operation mode".

I disassemble the file D:\nRF5_SDK_15.2.0_9412b96\external\nrf_cc310\lib\libnrf_cc310_0.9.10.a, finding that there is only  "NO.0, NO.1, NO.2, NO.4" which is the work well hash function.The details are as follows.

typedef enum {
    CRYS_HASH_SHA1_mode          = 0,    /*!< SHA1. */
    CRYS_HASH_SHA224_mode        = 1,    /*!< SHA224. */
    CRYS_HASH_SHA256_mode        = 2,    /*!< SHA256. */
    CRYS_HASH_SHA384_mode        = 3,    /*!< SHA384. */
    CRYS_HASH_SHA512_mode        = 4,    /*!< SHA512. */
    CRYS_HASH_MD5_mode           = 5,    /*!< MD5. */
    /*! Number of hash modes. */
    CRYS_HASH_NumOfModes,
    /*! Reserved. */
    CRYS_HASH_OperationModeLast= 0x7FFFFFFF,

}CRYS_HASH_OperationMode_t;

I want to run the md5 function. Is this hash function obsolete? How do I use the MD5 function?

Related