summaryrefslogtreecommitdiff
path: root/cesar/cp2
diff options
context:
space:
mode:
Diffstat (limited to 'cesar/cp2')
-rw-r--r--cesar/cp2/secu/src/sha256.c33
-rw-r--r--cesar/cp2/secu/test/src/test-sha2.c45
2 files changed, 25 insertions, 53 deletions
diff --git a/cesar/cp2/secu/src/sha256.c b/cesar/cp2/secu/src/sha256.c
index 77f4886c87..93a0414c2d 100644
--- a/cesar/cp2/secu/src/sha256.c
+++ b/cesar/cp2/secu/src/sha256.c
@@ -23,27 +23,12 @@
#include "cp2/secu/inc/sha256.h"
-//#define GET_UINT32(n,b,i) \
-//{ \
-// (n) = ( (uint32) (b)[(i) ] << 24 ) \
-// | ( (uint32) (b)[(i) + 1] << 16 ) \
-// | ( (uint32) (b)[(i) + 2] << 8 ) \
-// | ( (uint32) (b)[(i) + 3] ); \
-//}
-//
-//#define PUT_UINT32(n,b,i) \
-//{ \
-// (b)[(i) ] = (uint8) ( (n) >> 24 ); \
-// (b)[(i) + 1] = (uint8) ( (n) >> 16 ); \
-// (b)[(i) + 2] = (uint8) ( (n) >> 8 ); \
-// (b)[(i) + 3] = (uint8) ( (n) ); \
-//}
-
#define GET_UINT32(n,b,i) \
{ \
- uint _tmp = b[i + 3] << 24 | b[i + 2] << 16 \
- | b[i + 1] << 8 | b[i]; \
- (n) = swap32(_tmp); \
+ (n) = ( (uint32) (b)[(i) ] << 24 ) \
+ | ( (uint32) (b)[(i) + 1] << 16 ) \
+ | ( (uint32) (b)[(i) + 2] << 8 ) \
+ | ( (uint32) (b)[(i) + 3] ); \
}
#define PUT_UINT32(n,b,i) \
@@ -281,18 +266,12 @@ void sha256_finish( sha256_context *ctx, uint8 digest[32] )
void
cp_secu_sha256 (u8 *buffer)
{
- uint sha256sum[8];
- uint i;
+ u8 sha256sum[32];
sha256_context ctx;
sha256_starts(&ctx);
sha256_update(&ctx, (u8 *) buffer, strlen((char *)buffer));
sha256_finish(&ctx, (u8*) sha256sum);
- for (i = 0; i < 8; i++)
- {
- sha256sum[i] = swap32(sha256sum[i]);
- }
-
- memcpy (buffer, sha256sum, 64);
+ memcpy (buffer, sha256sum, 32);
}
diff --git a/cesar/cp2/secu/test/src/test-sha2.c b/cesar/cp2/secu/test/src/test-sha2.c
index d05dd77461..c8094494c6 100644
--- a/cesar/cp2/secu/test/src/test-sha2.c
+++ b/cesar/cp2/secu/test/src/test-sha2.c
@@ -14,6 +14,7 @@
#include "common/std.h"
#include "lib/test.h"
#include "lib/read_word.h"
+#include "lib/bitstream.h"
#include "string.h"
#include "cp2/secu/sha256.h"
@@ -23,20 +24,24 @@ test_case_sha2 (test_t test)
{
u8 buffer[64] __attribute__((aligned(64))) =
"The quick brown fox jumps over the lazy dog\0";
- uint result [8] = {0xd7a8fbb3, 0x07d78094, 0x69ca9abc,
- 0xb0082e4f, 0x8d5651e4, 0x6d3cdb76, 0x2d02d0bf, 0x37c9e592};
+ u8 result [32] = {0xd7, 0xa8, 0xfb, 0xb3, 0x07, 0xd7, 0x80, 0x94,
+ 0x69, 0xca, 0x9a, 0xbc, 0xb0, 0x08, 0x2e, 0x4f, 0x8d, 0x56,
+ 0x51, 0xe4, 0x6d, 0x3c, 0xdb, 0x76, 0x2d, 0x02, 0xd0, 0xbf,
+ 0x37, 0xc9, 0xe5, 0x92};
u8 buffer2[64] __attribute__((aligned(64))) =
"The quick brown fox jumps over the lazy cog\0";
- uint result2 [8] = {0xe4c4d8f3, 0xbf76b692, 0xde791a17, 0x3e053211,
- 0x50f7a345, 0xb46484fe, 0x427f6acc, 0x7ecc81be};
+ u8 result2 [32] = {0xe4, 0xc4, 0xd8, 0xf3, 0xbf, 0x76, 0xb6, 0x92, 0xde,
+ 0x79, 0x1a, 0x17, 0x3e, 0x05, 0x32, 0x11, 0x50, 0xf7, 0xa3, 0x45,
+ 0xb4, 0x64, 0x84, 0xfe, 0x42, 0x7f, 0x6a, 0xcc, 0x7e, 0xcc, 0x81,
+ 0xbe};
u8 buffer3[64] __attribute__((aligned(64))) =
"";
- uint result3 [8] = {0xe3b0c442, 0x98fc1c14, 0x9afbf4c8, 0x996fb924,
- 0x27ae41e4, 0x649b934c, 0xa495991b, 0x7852b855};
-
- uint i;
+ u8 result3 [32] = {0xe3, 0xb0, 0xc4, 0x42, 0x98, 0xfc, 0x1c, 0x14, 0x9a,
+ 0xfb, 0xf4, 0xc8, 0x99, 0x6f, 0xb9, 0x24, 0x27, 0xae, 0x41, 0xe4,
+ 0x64, 0x9b, 0x93, 0x4c, 0xa4, 0x95, 0x99, 0x1b, 0x78, 0x52, 0xb8,
+ 0x55};
cp_secu_sha256 (buffer);
@@ -44,12 +49,8 @@ test_case_sha2 (test_t test)
test_begin (test, "SHA 256")
{
- for (i = 0; i < 8; i++)
- {
- test_fail_if (read_u32_from_word (buffer + i*4) != result[i],
- "Wrong buffer out value, value read : %x, shall be : %x",
- read_u32_from_word (buffer + i*4), result[i]);
- }
+ test_fail_if (bitstream_memcmp (buffer, result, 32) != true,
+ "Wrong buffer out value");
}
test_end;
@@ -57,12 +58,8 @@ test_case_sha2 (test_t test)
test_begin (test, "SHA 256 Test 2")
{
- for (i = 0; i < 8; i++)
- {
- test_fail_if (read_u32_from_word (buffer2 + i*4) != result2[i],
- "Wrong buffer out value, value read : %x, shall be : %x",
- read_u32_from_word (buffer2 + i*4), result2[i]);
- }
+ test_fail_if (bitstream_memcmp (buffer2, result2, 32) != true,
+ "Wrong buffer out value");
}
test_end;
@@ -70,12 +67,8 @@ test_case_sha2 (test_t test)
test_begin (test, "SHA 256 Test 3")
{
- for (i = 0; i < 8; i++)
- {
- test_fail_if (read_u32_from_word (buffer3 + i*4) != result3[i],
- "Wrong buffer out value, value read : %x, shall be : %x",
- read_u32_from_word (buffer3 + i*4), result3[i]);
- }
+ test_fail_if (bitstream_memcmp (buffer3, result3, 32) != true,
+ "Wrong buffer out value");
}
test_end;
}