Lines Matching refs:state

21 void sha2init(struct Sha2state *state)  in sha2init()  argument
23 state->h[0] = 0x6a09e667; in sha2init()
24 state->h[1] = 0xbb67ae85; in sha2init()
25 state->h[2] = 0x3c6ef372; in sha2init()
26 state->h[3] = 0xa54ff53a; in sha2init()
27 state->h[4] = 0x510e527f; in sha2init()
28 state->h[5] = 0x9b05688c; in sha2init()
29 state->h[6] = 0x1f83d9ab; in sha2init()
30 state->h[7] = 0x5be0cd19; in sha2init()
31 state->msgLen = 0; in sha2init()
32 state->bufBytesUsed = 0; in sha2init()
56 static void sha2processBlock(struct Sha2state *state) in sha2processBlock() argument
72 state->w[i] = __builtin_bswap32(state->w[i]); in sha2processBlock()
76 uint32_t s0 = ror(state->w[i-15], 7) ^ ror(state->w[i-15], 18) ^ (state->w[i-15] >> 3); in sha2processBlock()
77 uint32_t s1 = ror(state->w[i-2], 17) ^ ror(state->w[i-2], 19) ^ (state->w[i-2] >> 10); in sha2processBlock()
78 state->w[i] = state->w[i - 16] + s0 + state->w[i - 7] + s1; in sha2processBlock()
82 a = state->h[0]; in sha2processBlock()
83 b = state->h[1]; in sha2processBlock()
84 c = state->h[2]; in sha2processBlock()
85 d = state->h[3]; in sha2processBlock()
86 e = state->h[4]; in sha2processBlock()
87 f = state->h[5]; in sha2processBlock()
88 g = state->h[6]; in sha2processBlock()
89 h = state->h[7]; in sha2processBlock()
95 uint32_t temp1 = h + s1 + ch + k[i] + state->w[i]; in sha2processBlock()
111 state->h[0] += a; in sha2processBlock()
112 state->h[1] += b; in sha2processBlock()
113 state->h[2] += c; in sha2processBlock()
114 state->h[3] += d; in sha2processBlock()
115 state->h[4] += e; in sha2processBlock()
116 state->h[5] += f; in sha2processBlock()
117 state->h[6] += g; in sha2processBlock()
118 state->h[7] += h; in sha2processBlock()
121 void sha2processBytes(struct Sha2state *state, const void *bytes, uint32_t numBytes) in sha2processBytes() argument
125 state->msgLen += numBytes; in sha2processBytes()
131 if (bytesToCopy > SHA2_BLOCK_SIZE - state->bufBytesUsed) in sha2processBytes()
132 bytesToCopy = SHA2_BLOCK_SIZE - state->bufBytesUsed; in sha2processBytes()
133 memcpy(state->b + state->bufBytesUsed, inBytes, bytesToCopy); in sha2processBytes()
136 state->bufBytesUsed += bytesToCopy; in sha2processBytes()
139 if (state->bufBytesUsed == SHA2_BLOCK_SIZE) { in sha2processBytes()
140 sha2processBlock(state); in sha2processBytes()
141 state->bufBytesUsed = 0; in sha2processBytes()
146 const uint32_t* sha2finish(struct Sha2state *state) in sha2finish() argument
149 uint64_t dataLenInBits = state->msgLen * 8; in sha2finish()
153 sha2processBytes(state, &appendend, 1); in sha2finish()
157 while (state->bufBytesUsed != 56) in sha2finish()
158 sha2processBytes(state, &appendend, 1); in sha2finish()
162 state->b[63 - i] = dataLenInBits; in sha2finish()
165 sha2processBlock(state); in sha2finish()
168 return state->h; in sha2finish()