summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Boichat <drinkcat@chromium.org>2019-05-08 18:15:29 +0900
committerCommit Bot <commit-bot@chromium.org>2020-03-25 02:13:29 +0000
commitd1f7ca6f287eeeeba0d397eed87473415276ac6b (patch)
treeee5fe51fa9df843bd65479ceba91951a455f0759
parentde357c3403b899b8ef497e85590146b157b2bdcf (diff)
downloadchrome-ec-d1f7ca6f287eeeeba0d397eed87473415276ac6b.tar.gz
common/sha1: Drop support for CONFIG_SHA1
Nobody is using CONFIG_SHA1 anymore (it seems like some early zinger used it, but that was moved to SHA256 in 2014), let's just drop support, and not have to worry about moving that to third_party. BRANCH=none BUG=chromium:884905 TEST=make buildall -j Change-Id: If198d63b7e388f395c8efad82763f0dfa7f1ecc7 Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1600947
-rw-r--r--common/build.mk1
-rw-r--r--common/sha1.c174
-rw-r--r--include/config.h3
3 files changed, 0 insertions, 178 deletions
diff --git a/common/build.mk b/common/build.mk
index 35004d87db..d92f4fad0a 100644
--- a/common/build.mk
+++ b/common/build.mk
@@ -115,7 +115,6 @@ common-$(CONFIG_MATH_UTIL)+=math_util.o
common-$(CONFIG_ONLINE_CALIB)+=stillness_detector.o kasa.o math_util.o \
mat44.o vec3.o newton_fit.o accel_cal.o online_calibration.o \
mkbp_event.o
-common-$(CONFIG_SHA1)+= sha1.o
common-$(CONFIG_SHA256)+=sha256.o
common-$(CONFIG_SOFTWARE_CLZ)+=clz.o
common-$(CONFIG_SOFTWARE_CTZ)+=ctz.o
diff --git a/common/sha1.c b/common/sha1.c
deleted file mode 100644
index 57e6e8999b..0000000000
--- a/common/sha1.c
+++ /dev/null
@@ -1,174 +0,0 @@
-/* Copyright 2010 The Chromium OS Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- *
- * SHA-1 implementation largely based on libmincrypt in the the Android
- * Open Source Project (platorm/system/core.git/libmincrypt/sha.c
- */
-
-#include "sha1.h"
-
-static uint32_t ror27(uint32_t val)
-{
- return (val >> 27) | (val << 5);
-}
-static uint32_t ror2(uint32_t val)
-{
- return (val >> 2) | (val << 30);
-}
-static uint32_t ror31(uint32_t val)
-{
- return (val >> 31) | (val << 1);
-}
-
-static void sha1_transform(struct sha1_ctx *ctx)
-{
- uint32_t W[80];
- register uint32_t A, B, C, D, E;
- int t;
-
- A = ctx->state[0];
- B = ctx->state[1];
- C = ctx->state[2];
- D = ctx->state[3];
- E = ctx->state[4];
-
-#define SHA_F1(A, B, C, D, E, t) \
- E += ror27(A) + \
- (W[t] = __builtin_bswap32(ctx->buf.w[t])) + \
- (D^(B&(C^D))) + 0x5A827999; \
- B = ror2(B);
-
- for (t = 0; t < 15; t += 5) {
- SHA_F1(A, B, C, D, E, t + 0);
- SHA_F1(E, A, B, C, D, t + 1);
- SHA_F1(D, E, A, B, C, t + 2);
- SHA_F1(C, D, E, A, B, t + 3);
- SHA_F1(B, C, D, E, A, t + 4);
- }
- SHA_F1(A, B, C, D, E, t + 0); /* 16th one, t == 15 */
-
-#undef SHA_F1
-
-#define SHA_F1(A, B, C, D, E, t) \
- E += ror27(A) + \
- (W[t] = ror31(W[t-3] ^ W[t-8] ^ W[t-14] ^ W[t-16])) + \
- (D^(B&(C^D))) + 0x5A827999; \
- B = ror2(B);
-
- SHA_F1(E, A, B, C, D, t + 1);
- SHA_F1(D, E, A, B, C, t + 2);
- SHA_F1(C, D, E, A, B, t + 3);
- SHA_F1(B, C, D, E, A, t + 4);
-
-#undef SHA_F1
-
-#define SHA_F2(A, B, C, D, E, t) \
- E += ror27(A) + \
- (W[t] = ror31(W[t-3] ^ W[t-8] ^ W[t-14] ^ W[t-16])) + \
- (B^C^D) + 0x6ED9EBA1; \
- B = ror2(B);
-
- for (t = 20; t < 40; t += 5) {
- SHA_F2(A, B, C, D, E, t + 0);
- SHA_F2(E, A, B, C, D, t + 1);
- SHA_F2(D, E, A, B, C, t + 2);
- SHA_F2(C, D, E, A, B, t + 3);
- SHA_F2(B, C, D, E, A, t + 4);
- }
-
-#undef SHA_F2
-
-#define SHA_F3(A, B, C, D, E, t) \
- E += ror27(A) + \
- (W[t] = ror31(W[t-3] ^ W[t-8] ^ W[t-14] ^ W[t-16])) + \
- ((B&C)|(D&(B|C))) + 0x8F1BBCDC; \
- B = ror2(B);
-
- for (; t < 60; t += 5) {
- SHA_F3(A, B, C, D, E, t + 0);
- SHA_F3(E, A, B, C, D, t + 1);
- SHA_F3(D, E, A, B, C, t + 2);
- SHA_F3(C, D, E, A, B, t + 3);
- SHA_F3(B, C, D, E, A, t + 4);
- }
-
-#undef SHA_F3
-
-#define SHA_F4(A, B, C, D, E, t) \
- E += ror27(A) + \
- (W[t] = ror31(W[t-3] ^ W[t-8] ^ W[t-14] ^ W[t-16])) + \
- (B^C^D) + 0xCA62C1D6; \
- B = ror2(B);
-
- for (; t < 80; t += 5) {
- SHA_F4(A, B, C, D, E, t + 0);
- SHA_F4(E, A, B, C, D, t + 1);
- SHA_F4(D, E, A, B, C, t + 2);
- SHA_F4(C, D, E, A, B, t + 3);
- SHA_F4(B, C, D, E, A, t + 4);
- }
-
-#undef SHA_F4
-
- ctx->state[0] += A;
- ctx->state[1] += B;
- ctx->state[2] += C;
- ctx->state[3] += D;
- ctx->state[4] += E;
-}
-
-void sha1_update(struct sha1_ctx *ctx, const uint8_t *data, uint32_t len)
-{
- int i = ctx->count % sizeof(ctx->buf);
- const uint8_t *p = (const uint8_t *)data;
-
- ctx->count += len;
-
- while (len > sizeof(ctx->buf) - i) {
- memcpy(&ctx->buf.b[i], p, sizeof(ctx->buf) - i);
- len -= sizeof(ctx->buf) - i;
- p += sizeof(ctx->buf) - i;
- sha1_transform(ctx);
- i = 0;
- }
-
- while (len--) {
- ctx->buf.b[i++] = *p++;
- if (i == sizeof(ctx->buf)) {
- sha1_transform(ctx);
- i = 0;
- }
- }
-}
-
-
-uint8_t *sha1_final(struct sha1_ctx *ctx)
-{
- uint32_t cnt = ctx->count * 8;
- int i;
-
- sha1_update(ctx, (uint8_t *)"\x80", 1);
- while ((ctx->count % sizeof(ctx->buf)) != (sizeof(ctx->buf) - 8))
- sha1_update(ctx, (uint8_t *)"\0", 1);
-
- for (i = 0; i < 8; ++i) {
- uint8_t tmp = cnt >> ((7 - i) * 8);
- sha1_update(ctx, &tmp, 1);
- }
-
- for (i = 0; i < 5; i++)
- ctx->buf.w[i] = __builtin_bswap32(ctx->state[i]);
-
- return ctx->buf.b;
-}
-
-void sha1_init(struct sha1_ctx *ctx)
-{
- ctx->state[0] = 0x67452301;
- ctx->state[1] = 0xEFCDAB89;
- ctx->state[2] = 0x98BADCFE;
- ctx->state[3] = 0x10325476;
- ctx->state[4] = 0xC3D2E1F0;
- ctx->count = 0;
-}
diff --git a/include/config.h b/include/config.h
index 2edfc0c7a6..848791d41c 100644
--- a/include/config.h
+++ b/include/config.h
@@ -3152,9 +3152,6 @@
/* Allow the board to use a GPIO for the SCI# signal. */
#undef CONFIG_SCI_GPIO
-/* Support computing SHA-1 hash */
-#undef CONFIG_SHA1
-
/* Support computing of other hash sizes (without the VBOOT code) */
#undef CONFIG_SHA256