Lines Matching +full:sha +full:- +full:256

1 // SPDX-License-Identifier: GPL-2.0-only
6 * Copyright (c) Jean-Luc Cooke <[email protected]>
35 sctx->count += len; in __sha256_sparc64_update()
37 done = SHA256_BLOCK_SIZE - partial; in __sha256_sparc64_update()
38 memcpy(sctx->buf + partial, data, done); in __sha256_sparc64_update()
39 sha256_sparc64_transform(sctx->state, sctx->buf, 1); in __sha256_sparc64_update()
41 if (len - done >= SHA256_BLOCK_SIZE) { in __sha256_sparc64_update()
42 const unsigned int rounds = (len - done) / SHA256_BLOCK_SIZE; in __sha256_sparc64_update()
44 sha256_sparc64_transform(sctx->state, data + done, rounds); in __sha256_sparc64_update()
48 memcpy(sctx->buf, data + done, len - done); in __sha256_sparc64_update()
55 unsigned int partial = sctx->count % SHA256_BLOCK_SIZE; in sha256_sparc64_update()
59 sctx->count += len; in sha256_sparc64_update()
60 memcpy(sctx->buf + partial, data, len); in sha256_sparc64_update()
75 bits = cpu_to_be64(sctx->count << 3); in sha256_sparc64_final()
78 index = sctx->count % SHA256_BLOCK_SIZE; in sha256_sparc64_final()
79 padlen = (index < 56) ? (56 - index) : ((SHA256_BLOCK_SIZE+56) - index); in sha256_sparc64_final()
83 sctx->count += padlen; in sha256_sparc64_final()
84 memcpy(sctx->buf + index, padding, padlen); in sha256_sparc64_final()
92 dst[i] = cpu_to_be32(sctx->state[i]); in sha256_sparc64_final()
139 .cra_driver_name= "sha256-sparc64",
154 .cra_driver_name= "sha224-sparc64",
188 pr_info("Using sparc64 sha256 opcode optimized SHA-256/SHA-224 implementation\n"); in sha256_sparc64_mod_init()
192 return -ENODEV; in sha256_sparc64_mod_init()
205 MODULE_DESCRIPTION("SHA-224 and SHA-256 Secure Hash Algorithm, sparc64 sha256 opcode accelerated");