Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp1290450ybt; Tue, 7 Jul 2020 12:00:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyoi9DdqNDmZ9AYRlux2p0QkWswM6GSrkl3/t0aMoUu3tlSG+ZEz5iiUhSM+dfxS9a4haR9 X-Received: by 2002:a17:907:10d4:: with SMTP id rv20mr34447083ejb.413.1594148424993; Tue, 07 Jul 2020 12:00:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594148424; cv=none; d=google.com; s=arc-20160816; b=uzp7uYRHsoz4q2ZGe4mUJmGUJrGNcS1BdPWMQeHA5yMxkGi4uNU5j4CcQg+rdLsOBs s5APJXOZ0jYAkMpzsbu0g32N52pke6Esig6IDDjPo9IHWQ/y4AvAnZ/l7c2fSV5C3Qk0 mN1LpB7mZ34Le0ndhe/zr44MG2Hh8pv2CYdEfacGpSUsNL+m37aGUMWfDNYl6aUrPdqc TtGxw+1wE7IglenDx3AU1bIaMGSgQq5pHtu52gmOdd3aVyF+MGdzRN+5Ra0n4zG/vUai NNfs7PAQD0jaT0kmwrRCF1ucSeLMYPmauptEj5OWAIDYaysj3BGIILoFJ1Z73+mKAzkH lA0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=V3w0cMqqJnGNvGlnFLaCksVwlSYP1GN0Yt+UfrKh92c=; b=iA3acnsvDifo5LspcoFf+765dJx5Yr6KMb2lcNiExuZQi5KhGxtEhR2Vrp+HBzDtTJ u9J3fZsJqz/wkkFlCKUt43C1nl2htclaEFB87+0WKS1y3z6Qy/VnhLCKf8vXFyKyMZe9 2XozsjJ3/CpbQDEDbEQdWgiYHTQafEIcQKgqMsfh1Y7U4MXjfIhYeVa/b/iu/0sf4RWq g3ZNgCMgdHm29Pz6G3KbAkbbwbOKoMsQsqvUMEb3lsdkY9WjZDou68ErYSQ7qgjv40ux Irn3QpDXIuZCln8cTAA51hqsWZhunADvlWaCqtNQg2aj/phjJa5NrbAyPVFHkypxb0FN NyoQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=amcogKLN; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id qc14si12882308ejb.611.2020.07.07.12.00.01; Tue, 07 Jul 2020 12:00:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=amcogKLN; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728677AbgGGS7j (ORCPT + 99 others); Tue, 7 Jul 2020 14:59:39 -0400 Received: from mail.kernel.org ([198.145.29.99]:36228 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728653AbgGGS7i (ORCPT ); Tue, 7 Jul 2020 14:59:38 -0400 Received: from sol.hsd1.ca.comcast.net (c-107-3-166-239.hsd1.ca.comcast.net [107.3.166.239]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id A190C20771; Tue, 7 Jul 2020 18:59:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1594148378; bh=dYDxYvPT32BLVDMVsQAF83e+xGeSLhuqg+mfXEUM7b4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=amcogKLNwPWNZWTJA/bClGo+zbp+dlirYL+aO6XBIv774Zp+ALWBpN5UqSwBomBDc Zsu72EkQYEJrg0wVmqiEn3br6EQj9S05pNcP7kK3xAH2PLZExIcsKG7YZNWfN5fcIY 93yfGpg/J8a8ULQTSm/FuR8M/tU+NiMa4ML6SD9I= From: Eric Biggers To: linux-crypto@vger.kernel.org, Herbert Xu Cc: alsa-devel@alsa-project.org, Ard Biesheuvel , Cheng-Yi Chiang , Enric Balletbo i Serra , Guenter Roeck , Hans de Goede , linux-efi@vger.kernel.org, Mat Martineau , Matthieu Baerts , mptcp@lists.01.org, Tzung-Bi Shih Subject: [PATCH 1/4] crypto: lib/sha256 - add sha256() function Date: Tue, 7 Jul 2020 11:58:15 -0700 Message-Id: <20200707185818.80177-2-ebiggers@kernel.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200707185818.80177-1-ebiggers@kernel.org> References: <20200707185818.80177-1-ebiggers@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org From: Eric Biggers Add a function sha256() which computes a SHA-256 digest in one step, combining sha256_init() + sha256_update() + sha256_final(). This is similar to how we also have blake2s(). Signed-off-by: Eric Biggers --- include/crypto/sha.h | 1 + lib/crypto/sha256.c | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/include/crypto/sha.h b/include/crypto/sha.h index 10753ff71d46..4ff3da816630 100644 --- a/include/crypto/sha.h +++ b/include/crypto/sha.h @@ -147,6 +147,7 @@ static inline void sha256_init(struct sha256_state *sctx) } void sha256_update(struct sha256_state *sctx, const u8 *data, unsigned int len); void sha256_final(struct sha256_state *sctx, u8 *out); +void sha256(const u8 *data, unsigned int len, u8 *out); static inline void sha224_init(struct sha256_state *sctx) { diff --git a/lib/crypto/sha256.c b/lib/crypto/sha256.c index 2e621697c5c3..2321f6cb322f 100644 --- a/lib/crypto/sha256.c +++ b/lib/crypto/sha256.c @@ -280,4 +280,14 @@ void sha224_final(struct sha256_state *sctx, u8 *out) } EXPORT_SYMBOL(sha224_final); +void sha256(const u8 *data, unsigned int len, u8 *out) +{ + struct sha256_state sctx; + + sha256_init(&sctx); + sha256_update(&sctx, data, len); + sha256_final(&sctx, out); +} +EXPORT_SYMBOL(sha256); + MODULE_LICENSE("GPL"); -- 2.27.0