Added sha256 hash function and hmac functions (with and without salt) to the kernel

and userspace.

In userspace, this is accessed through #include <secure.h>
In the kernel, this is access through #include <kern/secure.h>

There is a unit test for this (hm1) that computes the hmac and compares it to
the known value.  The salted vesion tested offline.

-----

Also, fixed usespace compile issue with not changing KERNEL_SECRET => SECRET.
This commit is contained in:
Scott Haseley
2016-02-01 01:35:53 -05:00
parent dc49fc79a4
commit a97b1c80b2
13 changed files with 3449 additions and 4 deletions

View File

@@ -491,6 +491,7 @@ static const char *testmenu[] = {
"[fs4] FS write stress 2 ",
"[fs5] FS long stress ",
"[fs6] FS create stress ",
"[hm1] HMAC unit test ",
NULL
};
@@ -649,6 +650,9 @@ static struct {
{ "fs4", writestress2 },
{ "fs5", longstress },
{ "fs6", createstress },
/* HMAC unit tests */
{ "hm1", hmacu1 },
#if OPT_AUTOMATIONTEST
/* automation tests */