From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS31976 209.132.180.0/23 X-Spam-Status: No, score=-3.8 required=3.0 tests=AWL,BAYES_00,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI, T_DKIM_INVALID shortcircuit=no autolearn=ham autolearn_force=no version=3.4.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by dcvr.yhbt.net (Postfix) with ESMTP id 7CE921F403 for ; Fri, 15 Jun 2018 10:32:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965651AbeFOKcu (ORCPT ); Fri, 15 Jun 2018 06:32:50 -0400 Received: from ober.noekeon.org ([91.134.133.203]:58890 "EHLO ober.noekeon.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965590AbeFOKct (ORCPT ); Fri, 15 Jun 2018 06:32:49 -0400 Received: from [127.0.0.1] (ober.noekeon.org [91.134.133.203]) by ober.noekeon.org (Postfix) with ESMTPSA id D024122381; Fri, 15 Jun 2018 12:32:40 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=noekeon.org; s=mail; t=1529058764; bh=LJmxiSvZkoa9b/hyLlwbpa7Wyas6AOSz+XbGyMQc7Gk=; h=Subject:To:References:Cc:From:Date:In-Reply-To:From; b=PijJqfvhcXltqHXui4LLP+SKx1goL2GaBFoWHNphH3VxxSvz9YSaKVrJdnPnHLThF HQ7knY8/E66WSMoUtvBYIyECBP18hLWm15bOLmL2T7ssOouyUuCdqtJ4v2vzAwkO37 RVZUL5e8HznV3ywGtzbdfuMjLw6FfA/i4EH8loC8= Subject: Re: Hash algorithm analysis To: "brian m. carlson" References: <20180609205628.GB38834@genre.crustytoothpaste.net> <20180609224913.GC38834@genre.crustytoothpaste.net> <20180611192942.GC20665@aiede.svl.corp.google.com> <20180611223520.GF38834@genre.crustytoothpaste.net> <8e3fa1dd-958c-c3d5-2d6e-d52a4b424982@noekeon.org> <20180613235808.GM38834@genre.crustytoothpaste.net> Cc: Jonathan Nieder , git@vger.kernel.org, Johannes Schindelin , demerphq , Linus Torvalds , Adam Langley , Keccak Team From: Gilles Van Assche Message-ID: <2a704205-81f1-324f-18f5-6137742ada09@noekeon.org> Date: Fri, 15 Jun 2018 12:33:42 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: <20180613235808.GM38834@genre.crustytoothpaste.net> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Content-Language: en-US Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org On 14/06/18 01:58, brian m. carlson wrote: >>> I imported the optimized 64-bit implementation of KangarooTwelve. >>> The AVX2 implementation was not considered for licensing reasons >>> (it's partially generated from external code, which falls foul of >>> the GPL's "preferred form for modifications" rule). >> >> Indeed part of the AVX2 code in the Keccak code package is an >> extension of the implementation in OpenSSL (written by Andy >> Polyakov). The assembly code is generated by a Perl script, and we >> extended it to fit in the KCP's internal API. >> >> Would it solve this licensing problem if we remap our extensions to >> the Perl script, which would then become "the source"? > > The GPLv2 requires "the preferred form of the work for making > modifications to it". If that form is the Perl script, then yes, that > would be sufficient. If your code is dissimilar enough that editing it > directly is better than editing the Perl script, then it might already > meet the definition. > > I don't do assembly programming, so I don't know what forms one > generally wants for editing assembly. Apparently OpenSSL wants a Perl > script, but that is, I understand, less common. What would you use if > you were going to improve it? The Perl script would be more flexible in case one needs to improve the implementation. It allows one to use meaningful symbolic names for the registers. My colleague Ronny, who did the extension, worked directly with physical register names and considered the output of the Perl script as his source. But this extension could probably be done also at the level of the Perl script. Kind regards, Gilles