Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp4493744imm; Mon, 8 Oct 2018 23:58:29 -0700 (PDT) X-Google-Smtp-Source: ACcGV61sGoukuS6tAU0Or55iJJN+roM6sFgK0NMWcA8Nrh7sB57mGXnc0t7I86wmM8JzCX1auue0 X-Received: by 2002:a63:aa48:: with SMTP id x8-v6mr23755829pgo.87.1539068309840; Mon, 08 Oct 2018 23:58:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539068309; cv=none; d=google.com; s=arc-20160816; b=FrwUCgFDccu4pMZnsbap7J7mQjwrtIX3WayfC3lX/2e/B/BVcw7XB2OsjuRjIJMniZ QkAB0D1LPiVvHpzXoZoE9a9d/L/TXDiIUUW9fdS2VyKf4dRAc8NMcoyDrWVG4HBJCF7U 7L76dvZL4Nd5T9MIm1lura2eMKVaIRoQBML0keW8IsBJBwZBuCSK9bh/Wc/carSxre1J abyDHxjFVM/t6tiIWMMLp4+iybF0UuMjJZaWyf1bBmSmGN8MrVYJTfjrs2HihB6D5WUu fDaueHDwAentZy2TteWaxCCPsFdN7jgqekZzNV1lrqJT5gKPhPV0CrdTnfYIXgtlHvCV iRxA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=n31Tuhc+LL+KoxDfk34NvhGW4fXAmGTEvg8vgkRjiSA=; b=vPY2rDUkzw5T9E8qmu3J33mgQjf+838ZBrG4ABds2UqjbPj0OrWWnyy/KQD4lD9uFz AhrdyhsfDOInp/Q9GzNLT+ojGc3ZQ1STqH0Mje5IE/6xR6AEsTUfXpEYHjPO6soqhCWJ IxTpyo4mz1BjLCa8qc7muiXJtKaznp/ErfnfCUDNCVNRBzDV0jnI3h2HNnHJK4Cih3J4 6fkSF2IqI0VIjXU9qgwi7uPQDL8KVgA9dE/19l8NsTYBXSJIncQyEebK0j/VsuEnVuzV yTLCgXVgKeFmej5qTqQmZbDnA9zy9wwq9vdR2PSWDlOHOGEtQGVauvQDrIQBu7rDpXb2 ArFA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o38-v6si18812433pgl.107.2018.10.08.23.58.15; Mon, 08 Oct 2018 23:58:29 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726564AbeJIOMs (ORCPT + 99 others); Tue, 9 Oct 2018 10:12:48 -0400 Received: from vmicros1.altlinux.org ([194.107.17.57]:39072 "EHLO vmicros1.altlinux.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725861AbeJIOMs (ORCPT ); Tue, 9 Oct 2018 10:12:48 -0400 Received: from imap.altlinux.org (imap.altlinux.org [194.107.17.38]) by vmicros1.altlinux.org (Postfix) with ESMTP id 5E7B472CA57; Tue, 9 Oct 2018 09:57:20 +0300 (MSK) Received: from sole.flsd.net (sole.flsd.net [185.75.180.6]) by imap.altlinux.org (Postfix) with ESMTPSA id 3F85D4A4A29; Tue, 9 Oct 2018 09:57:20 +0300 (MSK) Date: Tue, 9 Oct 2018 09:57:19 +0300 From: Vitaly Chikunov To: Herbert Xu , "David S. Miller" , linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Gleb Fotengauer-Malinovskiy , "Anton V. Boyarshinov" Subject: Re: [PATCH 1/2] crypto: streebog - add Streebog hash function Message-ID: <20181009065719.5cb2lk7fdulfcyvp@sole.flsd.net> References: <20181007094114.16777-1-vt@altlinux.org> <20181007094114.16777-2-vt@altlinux.org> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline In-Reply-To: <20181007094114.16777-2-vt@altlinux.org> User-Agent: NeoMutt/20171215-106-ac61c7 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, Oct 07, 2018 at 12:41:10PM +0300, Vitaly Chikunov wrote: > Add GOST/IETF Streebog hash function (GOST R 34.11-2012, RFC 6986) > generic hash transformation. > > Signed-off-by: Vitaly Chikunov > --- > crypto/Kconfig | 12 + > crypto/Makefile | 1 + > crypto/streebog_generic.c | 1142 +++++++++++++++++++++++++++++++++++++++++++++ > include/crypto/streebog.h | 34 ++ > 4 files changed, 1189 insertions(+) > create mode 100644 crypto/streebog_generic.c > create mode 100644 include/crypto/streebog.h > > diff --git a/crypto/streebog_generic.c b/crypto/streebog_generic.c > --- /dev/null > +++ b/crypto/streebog_generic.c > @@ -0,0 +1,1142 @@ >> ... > +static inline void add512(const struct streebog_uint512 *x, > + const struct streebog_uint512 *y, > + struct streebog_uint512 *r) > +{ > + u64 carry = 0; > + int i; > + > + for (i = 0; i < 8; i++) { > + const u64 left = le64_to_cpu(x->qword[i]); > + u64 sum; > + > + sum = left + le64_to_cpu(y->qword[i]) + carry; > + if (sum != left) > + carry = (sum < left); > + r->qword[i] = sum; Last assignment should be: r->qword[i] = cpu_to_le64(sum).