grub/grub-core/lib/libgcrypt/cipher
Colin Watson 9363f738ba libgcrypt: Import replacement CRC operations
The CRC implementation imported from libgcrypt 1.5.3 is arguably
non-free, due to being encumbered by the restrictive Internet Society
licence on RFCs (see e.g. https://wiki.debian.org/NonFreeIETFDocuments).
Fortunately, libgcrypt has since replaced it with a version that is both
reportedly better-optimised and doesn't suffer from this encumbrance.

The ideal solution would be to update to a new version of libgcrypt, and
I spent some time trying to do that.  However, util/import_gcry.py
requires complex modifications to cope with the new version, and I
stalled part-way through; furthermore, GRUB's libgcrypt tree already
contains some backports of upstream changes.  Rather than allowing the
perfect to be the enemy of the good, I think it's best to backport this
single change to at least sort out the licensing situation.  Doing so
won't make things any harder for a future wholesale upgrade.

This commit is mostly a straightforward backport of
https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commitdiff;h=06e122baa3321483a47bbf82fd2a4540becfa0c9,
but I also imported bufhelp.h from libgcrypt 1.7.0 (newer versions
required further changes elsewhere).

I've tested that "hashsum -h crc32" still produces correct output for a
variety of files on both i386-pc and x86_64-emu targets.

Signed-off-by: Colin Watson <cjwatson@ubuntu.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2020-09-21 12:16:25 -04:00
..
ac.c Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
arcfour.c Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
bithelp.h automake commit without merge history 2010-05-06 11:34:04 +05:30
blowfish.c Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
bufhelp.h libgcrypt: Import replacement CRC operations 2020-09-21 12:16:25 -04:00
camellia-glue.c Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
camellia.c Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
camellia.h Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
cast5.c Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
ChangeLog Import gcrypt public-key cryptography and implement signature checking. 2013-01-11 21:32:42 +01:00
ChangeLog-2011 Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
cipher.c Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
crc.c libgcrypt: Import replacement CRC operations 2020-09-21 12:16:25 -04:00
des.c Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
dsa.c Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
ecc.c Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
elgamal.c Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
hash-common.c Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
hash-common.h Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
hmac-tests.c Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
idea.c * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed 2013-11-08 18:10:07 +01:00
kdf.c Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
Makefile.am Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
Manifest Import gcrypt public-key cryptography and implement signature checking. 2013-01-11 21:32:42 +01:00
md.c Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
md4.c Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
md5.c Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
primegen.c Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
pubkey.c Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
rfc2268.c Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
rijndael-tables.h Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
rijndael.c Make rijndael.c respect aliasing rules. 2013-12-24 16:57:28 +01:00
rmd.h Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
rmd160.c Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
rsa.c Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
seed.c Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
serpent.c Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
sha1.c Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
sha256.c Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
sha512.c Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
test-getrusage.c Import gcrypt public-key cryptography and implement signature checking. 2013-01-11 21:32:42 +01:00
tiger.c Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
twofish.c Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00
whirlpool.c Import libgcrypt 1.5.3. 2013-11-07 06:35:50 +01:00