From 7fc42dc1383ee7735e5668d5951e295a1b809a20 Mon Sep 17 00:00:00 2001 From: Orson Peters Date: Mon, 21 Jan 2013 22:55:57 +0100 Subject: [PATCH] done for today --- src/sc.c | 4 ++++ src/seed.txt | Bin 32 -> 32 bytes src/sha512.c | 24 +++++++++++++----------- 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/src/sc.c b/src/sc.c index bc288a6..ca5bad2 100644 --- a/src/sc.c +++ b/src/sc.c @@ -3,18 +3,22 @@ static uint64_t load_3(const unsigned char *in) { uint64_t result; + result = (uint64_t) in[0]; result |= ((uint64_t) in[1]) << 8; result |= ((uint64_t) in[2]) << 16; + return result; } static uint64_t load_4(const unsigned char *in) { uint64_t result; + result = (uint64_t) in[0]; result |= ((uint64_t) in[1]) << 8; result |= ((uint64_t) in[2]) << 16; result |= ((uint64_t) in[3]) << 24; + return result; } diff --git a/src/seed.txt b/src/seed.txt index d6b84d254e629aeb17fb40622eb5b8893f8e9610..d6aa47a9a886f68f4a6ccd5d7edc0a4681bf9830 100644 GIT binary patch literal 32 ncmccGlU`=}*Y(D~|Ns9d38s}DiOw!-x#qy2@n3`C5s(G|GDQ%% literal 32 ncmccGlV0{mrX=Uz|NsA!1k=inL}!<^TytR1_^-k62uK3}Du@tb diff --git a/src/sha512.c b/src/sha512.c index b5677a4..635d8ae 100644 --- a/src/sha512.c +++ b/src/sha512.c @@ -108,12 +108,11 @@ static int sha512_compress(sha512_context *md, unsigned char *buf) W[i] = Gamma1(W[i - 2]) + W[i - 7] + Gamma0(W[i - 15]) + W[i - 16]; } - /* Compress */ - -#define RND(a,b,c,d,e,f,g,h,i) \ - t0 = h + Sigma1(e) + Ch(e, f, g) + K[i] + W[i]; \ - t1 = Sigma0(a) + Maj(a, b, c); \ - d += t0; \ +/* Compress */ + #define RND(a,b,c,d,e,f,g,h,i) \ + t0 = h + Sigma1(e) + Ch(e, f, g) + K[i] + W[i]; \ + t1 = Sigma0(a) + Maj(a, b, c);\ + d += t0; \ h = t0 + t1; for (i = 0; i < 80; i += 8) { @@ -127,14 +126,16 @@ static int sha512_compress(sha512_context *md, unsigned char *buf) RND(S[1],S[2],S[3],S[4],S[5],S[6],S[7],S[0],i+7); } + #undef RND + /* feedback */ for (i = 0; i < 8; i++) { - md->state[i] = md->state[i] + S[i]; -} + md->state[i] = md->state[i] + S[i]; + } -return 0; + return 0; } @@ -143,9 +144,9 @@ return 0; @param md The hash state you wish to initialize @return 0 if successful */ - int sha512_init(sha512_context * md) - { +int sha512_init(sha512_context * md) { if (md == NULL) return 1; + md->curlen = 0; md->length = 0; md->state[0] = UINT64_C(0x6a09e667f3bcc908); @@ -156,6 +157,7 @@ return 0; md->state[5] = UINT64_C(0x9b05688c2b3e6c1f); md->state[6] = UINT64_C(0x1f83d9abfb41bd6b); md->state[7] = UINT64_C(0x5be0cd19137e2179); + return 0; }