Lines Matching refs:sha
142 static void sha_reset(struct sha_t *sha) in sha_reset() argument
146 sha->mindex = 0; in sha_reset()
147 sha->mcomputed = false; in sha_reset()
148 sha->mcorrupted = false; in sha_reset()
149 for (i = 0; i < sizeof(sha->mlength); i++) in sha_reset()
150 sha->mlength[i] = 0; in sha_reset()
152 sha1_init(sha->mdigest); in sha_reset()
155 static void sha_processblock(struct sha_t *sha) in sha_processblock() argument
159 sha1_transform(sha->mdigest, sha->mblock, array); in sha_processblock()
160 sha->mindex = 0; in sha_processblock()
163 static void sha_padmessage(struct sha_t *sha) in sha_padmessage() argument
171 if (sha->mindex > 55) { in sha_padmessage()
172 sha->mblock[sha->mindex++] = 0x80; in sha_padmessage()
173 while (sha->mindex < 64) in sha_padmessage()
174 sha->mblock[sha->mindex++] = 0; in sha_padmessage()
176 sha_processblock(sha); in sha_padmessage()
177 while (sha->mindex < 56) in sha_padmessage()
178 sha->mblock[sha->mindex++] = 0; in sha_padmessage()
180 sha->mblock[sha->mindex++] = 0x80; in sha_padmessage()
181 while (sha->mindex < 56) in sha_padmessage()
182 sha->mblock[sha->mindex++] = 0; in sha_padmessage()
186 sha->mblock[56] = sha->mlength[7]; in sha_padmessage()
187 sha->mblock[57] = sha->mlength[6]; in sha_padmessage()
188 sha->mblock[58] = sha->mlength[5]; in sha_padmessage()
189 sha->mblock[59] = sha->mlength[4]; in sha_padmessage()
190 sha->mblock[60] = sha->mlength[3]; in sha_padmessage()
191 sha->mblock[61] = sha->mlength[2]; in sha_padmessage()
192 sha->mblock[62] = sha->mlength[1]; in sha_padmessage()
193 sha->mblock[63] = sha->mlength[0]; in sha_padmessage()
195 sha_processblock(sha); in sha_padmessage()
198 static int sha_result(struct sha_t *sha) in sha_result() argument
200 if (sha->mcorrupted) in sha_result()
203 if (sha->mcomputed == 0) { in sha_result()
204 sha_padmessage(sha); in sha_result()
205 sha->mcomputed = true; in sha_result()
210 static void sha_input(struct sha_t *sha, const u8 *data, u32 size) in sha_input() argument
219 if (sha->mcomputed || sha->mcorrupted) { in sha_input()
220 sha->mcorrupted = true; in sha_input()
223 while (size-- && !sha->mcorrupted) { in sha_input()
224 sha->mblock[sha->mindex++] = *data; in sha_input()
228 for (j = 0; j < sizeof(sha->mlength); j++) { in sha_input()
229 sha->mlength[j]++; in sha_input()
230 if (sha->mlength[j] != 0) { in sha_input()
235 sha->mcorrupted = (sha->mcorrupted || in sha_input()
239 if (sha->mindex == 64) in sha_input()
240 sha_processblock(sha); in sha_input()
248 struct sha_t sha; in hdcp_verify_ksv() local
253 sha_reset(&sha); in hdcp_verify_ksv()
254 sha_input(&sha, data, size - SHAMAX); in hdcp_verify_ksv()
255 if (sha_result(&sha) == false) in hdcp_verify_ksv()
259 if (data[size - SHAMAX + i] != (u8)(sha.mdigest[i / 4] in hdcp_verify_ksv()