Bug 1577646 - Fix encoding corruptions in imported libgcrypt library. r=me

DONTBUILD
This commit is contained in:
Kai Engert 2019-08-30 11:47:23 +02:00
Родитель f17f8dbc20
Коммит aedfde9bb2
48 изменённых файлов: 149 добавлений и 149 удалений

16
third_party/libgcrypt/AUTHORS поставляемый
Просмотреть файл

@ -31,13 +31,13 @@ List of Copyright holders
Copyright (C) 2003 Nikos Mavroyanopoulos Copyright (C) 2003 Nikos Mavroyanopoulos
Copyright (C) 2006-2007 NTT (Nippon Telegraph and Telephone Corporation) Copyright (C) 2006-2007 NTT (Nippon Telegraph and Telephone Corporation)
Copyright (C) 2012-2018 g10 Code GmbH Copyright (C) 2012-2018 g10 Code GmbH
Copyright (C) 2012 Simon Josefsson, Niels Möller Copyright (C) 2012 Simon Josefsson, Niels Möller
Copyright (c) 2012 Intel Corporation Copyright (c) 2012 Intel Corporation
Copyright (C) 2013 Christian Grothoff Copyright (C) 2013 Christian Grothoff
Copyright (C) 2013-2017 Jussi Kivilinna Copyright (C) 2013-2017 Jussi Kivilinna
Copyright (C) 2013-2014 Dmitry Eremin-Solenikov Copyright (C) 2013-2014 Dmitry Eremin-Solenikov
Copyright (C) 2014 Stephan Mueller Copyright (C) 2014 Stephan Mueller
Copyright (C) 2017 Bundesamt für Sicherheit in der Informationstechnik Copyright (C) 2017 Bundesamt für Sicherheit in der Informationstechnik
Authors with a FSF copyright assignment Authors with a FSF copyright assignment
@ -68,7 +68,7 @@ Disclaims changes.
nh@df.lth.se nh@df.lth.se
Weak key patches. Weak key patches.
GNUPG Rémi Guyomarch 1999-05-25 GNUPG Rémi Guyomarch 1999-05-25
Assigns past and future changes. (g10/compress.c, g10/encr-data.c, Assigns past and future changes. (g10/compress.c, g10/encr-data.c,
g10/free-packet.c, g10/mdfilter.c, g10/plaintext.c, util/iobuf.c) g10/free-packet.c, g10/mdfilter.c, g10/plaintext.c, util/iobuf.c)
rguyom@mail.dotcom.fr rguyom@mail.dotcom.fr
@ -128,7 +128,7 @@ Assigns Past and Future Changes
openpgp@brainhub.org openpgp@brainhub.org
(cipher/ecc.c and related files) (cipher/ecc.c and related files)
LIBGCRYPT Ulrich Müller 2012-02-15 LIBGCRYPT Ulrich Müller 2012-02-15
Assigns Past and Future Changes Assigns Past and Future Changes
ulm@gentoo.org ulm@gentoo.org
(Changes to cipher/idea.c and related files) (Changes to cipher/idea.c and related files)
@ -157,7 +157,7 @@ Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Dmitry Kasatkin <dmitry.kasatkin@intel.com> Dmitry Kasatkin <dmitry.kasatkin@intel.com>
2012-12-14:50CAE2DB.80302@intel.com: 2012-12-14:50CAE2DB.80302@intel.com:
Jérémie Courrèges-Anglas <jca@wxcvbn.org> Jérémie Courrèges-Anglas <jca@wxcvbn.org>
2016-05-26:87bn3ssqg0.fsf@ritchie.wxcvbn.org: 2016-05-26:87bn3ssqg0.fsf@ritchie.wxcvbn.org:
Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
@ -178,7 +178,7 @@ Milan Broz <gmazyland@gmail.com>
Peter Wu <peter@lekensteyn.nl> Peter Wu <peter@lekensteyn.nl>
2015-07-22:20150722191325.GA8113@al: 2015-07-22:20150722191325.GA8113@al:
Rafaël Carré <funman@videolan.org> Rafaël Carré <funman@videolan.org>
2012-04-20:4F91988B.1080502@videolan.org: 2012-04-20:4F91988B.1080502@videolan.org:
Sergey V. <sftp.mtuci@gmail.com> Sergey V. <sftp.mtuci@gmail.com>
@ -187,7 +187,7 @@ Sergey V. <sftp.mtuci@gmail.com>
Stephan Mueller <smueller@chronox.de> Stephan Mueller <smueller@chronox.de>
2014-08-22:2008899.25OeoelVVA@myon.chronox.de: 2014-08-22:2008899.25OeoelVVA@myon.chronox.de:
Tomáš Mráz <tm@t8m.info> Tomáš Mráz <tm@t8m.info>
2012-04-16:1334571250.5056.52.camel@vespa.frost.loc: 2012-04-16:1334571250.5056.52.camel@vespa.frost.loc:
Vitezslav Cizek <vcizek@suse.com> Vitezslav Cizek <vcizek@suse.com>
@ -222,7 +222,7 @@ It has a permissive license and is copyrighted by atsec information
security corporation. See the file for details. security corporation. See the file for details.
The file salsa20.c is based on D.J. Bernstein's public domain code and The file salsa20.c is based on D.J. Bernstein's public domain code and
taken from Nettle. Copyright 2012 Simon Josefsson and Niels Möller. taken from Nettle. Copyright 2012 Simon Josefsson and Niels Möller.
This file is free software; as a special exception the author gives This file is free software; as a special exception the author gives

32
third_party/libgcrypt/ChangeLog поставляемый
Просмотреть файл

@ -132,7 +132,7 @@
(cherry picked from commit 0de2a22fcf6607d0aecb550feefa414cee3731b2) (cherry picked from commit 0de2a22fcf6607d0aecb550feefa414cee3731b2)
2018-04-17 Martin Storsjö <martin@martin.st> 2018-04-17 Martin Storsjö <martin@martin.st>
random: Don't assume that _WIN64 implies x86_64. random: Don't assume that _WIN64 implies x86_64.
+ commit e1695a8f6ca1135d777450cf9ce64628b0778ccb + commit e1695a8f6ca1135d777450cf9ce64628b0778ccb
@ -422,7 +422,7 @@
(JENT_USES_GETTIME): New. (JENT_USES_GETTIME): New.
(JENT_USES_READ_REAL_TIME): New. (JENT_USES_READ_REAL_TIME): New.
(jent_get_nstime): Support clock_gettime and AIX specific (jent_get_nstime): Support clock_gettime and AIX specific
function. Taken from Stephan Müller's code. function. Taken from Stephan Müller's code.
(is_rng_available): New. (is_rng_available): New.
(_gcry_rndjent_dump_stats): Use that function. (_gcry_rndjent_dump_stats): Use that function.
(_gcry_rndjent_poll): Use that fucntion. Allow an ADD of NULL for an (_gcry_rndjent_poll): Use that fucntion. Allow an ADD of NULL for an
@ -1559,7 +1559,7 @@
+ commit b766ea14ad1c27d6160531b200cc70aaa479c6dc + commit b766ea14ad1c27d6160531b200cc70aaa479c6dc
* mpi/longlong.h: Use __sparcv8 as alias for __sparc_v8__. * mpi/longlong.h: Use __sparcv8 as alias for __sparc_v8__.
2016-06-08 Jérémie Courrèges-Anglas <jca@wxcvbn.org> 2016-06-08 Jérémie Courrèges-Anglas <jca@wxcvbn.org>
Check for compiler SSE4.1 support in PCLMUL CRC code. Check for compiler SSE4.1 support in PCLMUL CRC code.
+ commit dc76313308c184c92eb78452b503405b90fc7ebd + commit dc76313308c184c92eb78452b503405b90fc7ebd
@ -1601,7 +1601,7 @@
+ commit 4121f15122501d8946f1589b303d1f7949c15e30 + commit 4121f15122501d8946f1589b303d1f7949c15e30
* mpi/longlong.h: Use __sparcv8 as alias for __sparc_v8__. * mpi/longlong.h: Use __sparcv8 as alias for __sparc_v8__.
2016-05-28 Jérémie Courrèges-Anglas <jca@wxcvbn.org> 2016-05-28 Jérémie Courrèges-Anglas <jca@wxcvbn.org>
Check for compiler SSE4.1 support in PCLMUL CRC code. Check for compiler SSE4.1 support in PCLMUL CRC code.
+ commit 3e8074ecd3a534e8bd7f11cf17f0b22d252584c8 + commit 3e8074ecd3a534e8bd7f11cf17f0b22d252584c8
@ -1865,7 +1865,7 @@
(check_ecc_keys): Check that key generation fails for Ed25519 keys in (check_ecc_keys): Check that key generation fails for Ed25519 keys in
FIPS mode. FIPS mode.
2016-03-22 Tomáš Mráz <tmraz@redhat.com> 2016-03-22 Tomáš Mráz <tmraz@redhat.com>
rsa: Add FIPS 186-4 compliant RSA probable prime key generator. rsa: Add FIPS 186-4 compliant RSA probable prime key generator.
+ commit 5f9b3c2e220ca6d0eaff32324a973ef67933a844 + commit 5f9b3c2e220ca6d0eaff32324a973ef67933a844
@ -2782,7 +2782,7 @@
2015-08-12 Jussi Kivilinna <jussi.kivilinna@iki.fi> 2015-08-12 Jussi Kivilinna <jussi.kivilinna@iki.fi>
Keccak: Fix array indexes in ? step. Keccak: Fix array indexes in θ step.
+ commit 48822ae0b436bcea0fe92dbf0d88475ba3179320 + commit 48822ae0b436bcea0fe92dbf0d88475ba3179320
* cipher/keccak.c (keccak_f1600_state_permute): Fix indexes for D[5]. * cipher/keccak.c (keccak_f1600_state_permute): Fix indexes for D[5].
@ -3257,7 +3257,7 @@
(ELF): New macro to mask lines with ELF specific commands. (ELF): New macro to mask lines with ELF specific commands.
* cipher/camellia-glue.c (USE_AESNI_AVX, USE_AESNI_AVX2): Enable when * cipher/camellia-glue.c (USE_AESNI_AVX, USE_AESNI_AVX2): Enable when
HAVE_COMPATIBLE_GCC_WIN64_PLATFORM_AS defined. HAVE_COMPATIBLE_GCC_WIN64_PLATFORM_AS defined.
[USE_AESNI_AVX || USE_AESNI_AVX2] (ASM_FUNC_ABI, ASM_EXTRA_STACK): New. [USE_AESNI_AVX || USE_AESNI_AVX2] (ASM_FUNC_ABI, ASM_EXTRA_STACK): New.
(_gcry_camellia_aesni_avx_ctr_enc, _gcry_camellia_aesni_avx_cbc_dec) (_gcry_camellia_aesni_avx_ctr_enc, _gcry_camellia_aesni_avx_cbc_dec)
(_gcry_camellia_aesni_avx_cfb_dec, _gcry_camellia_aesni_avx_keygen) (_gcry_camellia_aesni_avx_cfb_dec, _gcry_camellia_aesni_avx_keygen)
(_gcry_camellia_aesni_avx2_ctr_enc, _gcry_camellia_aesni_avx2_cbc_dec) (_gcry_camellia_aesni_avx2_ctr_enc, _gcry_camellia_aesni_avx2_cbc_dec)
@ -3380,7 +3380,7 @@
* cipher/sha512-ssse3-amd64.S: Ditto. * cipher/sha512-ssse3-amd64.S: Ditto.
* cipher/sha512.c (USE_SSSE3, USE_AVX, USE_AVX2): Enable when * cipher/sha512.c (USE_SSSE3, USE_AVX, USE_AVX2): Enable when
HAVE_COMPATIBLE_GCC_WIN64_PLATFORM_AS defined. HAVE_COMPATIBLE_GCC_WIN64_PLATFORM_AS defined.
[USE_SSSE3 || USE_AVX || USE_AVX2] (ASM_FUNC_ABI) [USE_SSSE3 || USE_AVX || USE_AVX2] (ASM_FUNC_ABI)
(ASM_EXTRA_STACK): New. (ASM_EXTRA_STACK): New.
(_gcry_sha512_transform_amd64_ssse3, _gcry_sha512_transform_amd64_avx) (_gcry_sha512_transform_amd64_ssse3, _gcry_sha512_transform_amd64_avx)
(_gcry_sha512_transform_amd64_avx_bmi2): Add ASM_FUNC_ABI to (_gcry_sha512_transform_amd64_avx_bmi2): Add ASM_FUNC_ABI to
@ -3396,7 +3396,7 @@
* cipher/sha256-ssse3-amd64.S: Ditto. * cipher/sha256-ssse3-amd64.S: Ditto.
* cipher/sha256.c (USE_SSSE3, USE_AVX, USE_AVX2): Enable when * cipher/sha256.c (USE_SSSE3, USE_AVX, USE_AVX2): Enable when
HAVE_COMPATIBLE_GCC_WIN64_PLATFORM_AS defined. HAVE_COMPATIBLE_GCC_WIN64_PLATFORM_AS defined.
[USE_SSSE3 || USE_AVX || USE_AVX2] (ASM_FUNC_ABI) [USE_SSSE3 || USE_AVX || USE_AVX2] (ASM_FUNC_ABI)
(ASM_EXTRA_STACK): New. (ASM_EXTRA_STACK): New.
(_gcry_sha256_transform_amd64_ssse3, _gcry_sha256_transform_amd64_avx) (_gcry_sha256_transform_amd64_ssse3, _gcry_sha256_transform_amd64_avx)
(_gcry_sha256_transform_amd64_avx2): Add ASM_FUNC_ABI to prototypes. (_gcry_sha256_transform_amd64_avx2): Add ASM_FUNC_ABI to prototypes.
@ -3411,7 +3411,7 @@
* cipher/sha1-ssse3-amd64.S: Ditto. * cipher/sha1-ssse3-amd64.S: Ditto.
* cipher/sha1.c (USE_SSSE3, USE_AVX, USE_BMI2): Enable * cipher/sha1.c (USE_SSSE3, USE_AVX, USE_BMI2): Enable
when HAVE_COMPATIBLE_GCC_WIN64_PLATFORM_AS defined. when HAVE_COMPATIBLE_GCC_WIN64_PLATFORM_AS defined.
[USE_SSSE3 || USE_AVX || USE_BMI2] (ASM_FUNC_ABI) [USE_SSSE3 || USE_AVX || USE_BMI2] (ASM_FUNC_ABI)
(ASM_EXTRA_STACK): New. (ASM_EXTRA_STACK): New.
(_gcry_sha1_transform_amd64_ssse3, _gcry_sha1_transform_amd64_avx) (_gcry_sha1_transform_amd64_ssse3, _gcry_sha1_transform_amd64_avx)
(_gcry_sha1_transform_amd64_avx_bmi2): Add ASM_FUNC_ABI to (_gcry_sha1_transform_amd64_avx_bmi2): Add ASM_FUNC_ABI to
@ -5625,7 +5625,7 @@
(gcry_mpi_get_flag, _gcry_mpi_free): Implement them. (gcry_mpi_get_flag, _gcry_mpi_free): Implement them.
(gcry_mpi_set_opaque): Keep user flags. (gcry_mpi_set_opaque): Keep user flags.
2013-11-29 Vladimir '?-coder/phcoder' Serbinenko <phcoder@gmail.com> 2013-11-29 Vladimir 'φ-coder/phcoder' Serbinenko <phcoder@gmail.com>
Fix armv3 compile error. Fix armv3 compile error.
+ commit 3b1cc9e6c357574f54160298d731c18f3d717b6c + commit 3b1cc9e6c357574f54160298d731c18f3d717b6c
@ -5998,7 +5998,7 @@
+ commit c8ad83fb605fdbf6dc0b0dbcc8aedfbd477640da + commit c8ad83fb605fdbf6dc0b0dbcc8aedfbd477640da
* cipher/rijndael.c (RIJNDAEL_context): Make 'decryption_prepared', * cipher/rijndael.c (RIJNDAEL_context): Make 'decryption_prepared',
'use_padlock' and 'use_aesni' 1-bit members in bitfield. 'use_padlock' and 'use_aesni' 1-bit members in bitfield.
(do_setkey): Move 'hwfeatures' inside [USE_AESNI || USE_PADLOCK]. (do_setkey): Move 'hwfeatures' inside [USE_AESNI || USE_PADLOCK].
(do_aesni_enc_aligned): Rename to... (do_aesni_enc_aligned): Rename to...
(do_aesni_enc): ...this, as function does not require aligned input. (do_aesni_enc): ...this, as function does not require aligned input.
(do_aesni_dec_aligned): Rename to... (do_aesni_dec_aligned): Rename to...
@ -7862,7 +7862,7 @@
* cipher/Makefile.am: Add 'sha512-armv7-neon.S'. * cipher/Makefile.am: Add 'sha512-armv7-neon.S'.
* cipher/sha512-armv7-neon.S: New file. * cipher/sha512-armv7-neon.S: New file.
* cipher/sha512.c (USE_ARM_NEON_ASM): New macro. * cipher/sha512.c (USE_ARM_NEON_ASM): New macro.
(SHA512_CONTEXT) [USE_ARM_NEON_ASM]: Add 'use_neon'. (SHA512_CONTEXT) [USE_ARM_NEON_ASM]: Add 'use_neon'.
(sha512_init, sha384_init) [USE_ARM_NEON_ASM]: Enable 'use_neon' if (sha512_init, sha384_init) [USE_ARM_NEON_ASM]: Enable 'use_neon' if
CPU support NEON instructions. CPU support NEON instructions.
(k): Round constant array moved outside of 'transform' function. (k): Round constant array moved outside of 'transform' function.
@ -9471,7 +9471,7 @@
* src/hwfeatures.c (_gcry_detect_hw_features): Make cpp def chain * src/hwfeatures.c (_gcry_detect_hw_features): Make cpp def chain
better readable. better readable.
2012-06-21 Rafaël Carré <funman@videolan.org> 2012-06-21 Rafaël Carré <funman@videolan.org>
Enable VIA Padlock on x86_64 platforms. Enable VIA Padlock on x86_64 platforms.
+ commit baf0dc7e9c26167ab43ba2adebcf2f1abc9d9b3b + commit baf0dc7e9c26167ab43ba2adebcf2f1abc9d9b3b
@ -9504,7 +9504,7 @@
* src/gcrypt.h.in: Add the GCRYCTL_SET_ENFORCED_FIPS_FLAG. * src/gcrypt.h.in: Add the GCRYCTL_SET_ENFORCED_FIPS_FLAG.
* src/global.c (_gcry_vcontrol): Handle the new command. * src/global.c (_gcry_vcontrol): Handle the new command.
2012-02-17 Ulrich Müller <ulm@gentoo.org> 2012-02-17 Ulrich Müller <ulm@gentoo.org>
Rework selftest in idea.c. Rework selftest in idea.c.
+ commit 70cca617ed75ea292e1fed769114dda5cc1d76f1 + commit 70cca617ed75ea292e1fed769114dda5cc1d76f1
@ -9519,7 +9519,7 @@
+ commit 46035d28c9b413851d43a4008fdc8e4cdf5d686b + commit 46035d28c9b413851d43a4008fdc8e4cdf5d686b
* src/g10lib.h (_gcry_secmem_module_init): Make it a real prototype. * src/g10lib.h (_gcry_secmem_module_init): Make it a real prototype.
2012-02-16 Ulrich Müller <ulm@gentoo.org> 2012-02-16 Ulrich Müller <ulm@gentoo.org>
Add support for the IDEA cipher. Add support for the IDEA cipher.
+ commit 318fd85f377c060908d371f792d41e599b3b7483 + commit 318fd85f377c060908d371f792d41e599b3b7483

18
third_party/libgcrypt/LICENSES поставляемый
Просмотреть файл

@ -153,7 +153,7 @@ with any binary distributions derived from the GNU C Library.
http://web.cs.ucdavis.edu/~rogaway/ocb/license1.pdf for the full http://web.cs.ucdavis.edu/~rogaway/ocb/license1.pdf for the full
license document; it basically says: license document; it basically says:
License 1 — License for Open-Source Software Implementations of OCB License 1 — License for Open-Source Software Implementations of OCB
(Jan 9, 2013) (Jan 9, 2013)
Under this license, you are authorized to make, use, and Under this license, you are authorized to make, use, and
@ -169,11 +169,11 @@ with any binary distributions derived from the GNU C Library.
1 Definitions 1 Definitions
1.1 “Licensor” means Phillip Rogaway. 1.1 “Licensor” means Phillip Rogaway.
1.2 “Licensed Patents” means any patent that claims priority to United 1.2 “Licensed Patents” means any patent that claims priority to United
States Patent Application No. 09/918,615 entitled “Method and Apparatus States Patent Application No. 09/918,615 entitled “Method and Apparatus
for Facilitating Efficient Authenticated Encryption,” and any utility, for Facilitating Efficient Authenticated Encryption,” and any utility,
divisional, provisional, continuation, continuations-in-part, reexamination, divisional, provisional, continuation, continuations-in-part, reexamination,
reissue, or foreign counterpart patents that may issue with respect to the reissue, or foreign counterpart patents that may issue with respect to the
aforesaid patent application. This includes, but is not limited to, United aforesaid patent application. This includes, but is not limited to, United
@ -181,16 +181,16 @@ with any binary distributions derived from the GNU C Library.
States Patent No. 7,949,129; United States Patent No. 8,321,675 ; and any States Patent No. 7,949,129; United States Patent No. 8,321,675 ; and any
patent that issues out of United States Patent Application No. 13/669,114. patent that issues out of United States Patent Application No. 13/669,114.
1.3 “Use” means any practice of any invention claimed in the Licensed Patents. 1.3 “Use” means any practice of any invention claimed in the Licensed Patents.
1.4 “Software Implementation” means any practice of any invention 1.4 “Software Implementation” means any practice of any invention
claimed in the Licensed Patents that takes the form of software executing on claimed in the Licensed Patents that takes the form of software executing on
a user-programmable, general-purpose computer or that takes the form of a a user-programmable, general-purpose computer or that takes the form of a
computer-readable medium storing such software. Software Implementation does computer-readable medium storing such software. Software Implementation does
not include, for example, application-specific integrated circuits (ASICs), not include, for example, application-specific integrated circuits (ASICs),
field-programmable gate arrays (FPGAs), embedded systems, or IP cores. field-programmable gate arrays (FPGAs), embedded systems, or IP cores.
1.5 “Open Source Software” means software whose source code is published 1.5 “Open Source Software” means software whose source code is published
and made available for inspection and use by anyone because either (a) the and made available for inspection and use by anyone because either (a) the
source code is subject to a license that permits recipients to copy, modify, source code is subject to a license that permits recipients to copy, modify,
and distribute the source code without payment of fees or royalties, or and distribute the source code without payment of fees or royalties, or
@ -201,7 +201,7 @@ with any binary distributions derived from the GNU C Library.
2013, including the Public License Fallback of the CC0 waiver, satisfy these 2013, including the Public License Fallback of the CC0 waiver, satisfy these
requirements for the purposes of this license. requirements for the purposes of this license.
1.6 “Open Source Software Implementation” means a Software 1.6 “Open Source Software Implementation” means a Software
Implementation in which the software implicating the Licensed Patents is Implementation in which the software implicating the Licensed Patents is
Open Source Software. Open Source Software Implementation does not include Open Source Software. Open Source Software Implementation does not include
any Software Implementation in which the software implicating the Licensed any Software Implementation in which the software implicating the Licensed

2
third_party/libgcrypt/NEWS поставляемый
Просмотреть файл

@ -198,7 +198,7 @@ Noteworthy changes in version 1.7.3 (2016-08-17) [C21/A1/R3]
- Fix critical security bug in the RNG [CVE-2016-6313]. An - Fix critical security bug in the RNG [CVE-2016-6313]. An
attacker who obtains 580 bytes from the standard RNG can attacker who obtains 580 bytes from the standard RNG can
trivially predict the next 20 bytes of output. Problem trivially predict the next 20 bytes of output. Problem
detected by Felix Dörre and Vladimir Klebanov, KIT. detected by Felix Dörre and Vladimir Klebanov, KIT.
- Fix building of some asm modules with older compilers and CPUs. - Fix building of some asm modules with older compilers and CPUs.

22
third_party/libgcrypt/THANKS поставляемый
Просмотреть файл

@ -41,7 +41,7 @@ Felix von Leitner leitner@amdiv.de
Frank Heckenbach heckenb@mi.uni-erlangen.de Frank Heckenbach heckenb@mi.uni-erlangen.de
Frank Stajano frank.stajano@cl.cam.ac.uk Frank Stajano frank.stajano@cl.cam.ac.uk
Gabriele Monti psicus78 gmail com Gabriele Monti psicus78 gmail com
Gaël Quéri gqueri@mail.dotcom.fr Gaël Quéri gqueri@mail.dotcom.fr
Gregor Riepl seto-kun@freesurf.ch Gregor Riepl seto-kun@freesurf.ch
Gerlinde Klaes gk@u64.de Gerlinde Klaes gk@u64.de
Greg Louis glouis@dynamicro.on.ca Greg Louis glouis@dynamicro.on.ca
@ -63,8 +63,8 @@ J Horacio MG homega@ciberia.es
Joachim Backes backes@rhrk.uni-kl.de Joachim Backes backes@rhrk.uni-kl.de
Jordi Mallach jordi@sindominio.net Jordi Mallach jordi@sindominio.net
John A. Martin jam@jamux.com John A. Martin jam@jamux.com
Johnny Teveßen j.tevessen@gmx.de Johnny Teveßen j.tevessen@gmx.de
Jörg Schilling schilling@fokus.gmd.de Jörg Schilling schilling@fokus.gmd.de
Jun Kuriyama kuriyama@sky.rim.or.jp Jun Kuriyama kuriyama@sky.rim.or.jp
Karl Fogel kfogel@guanabana.onshore.com Karl Fogel kfogel@guanabana.onshore.com
Karsten Thygesen karthy@kom.auc.dk Karsten Thygesen karthy@kom.auc.dk
@ -99,13 +99,13 @@ Nikos Mavroyanopoulos nmav@hellug.gr
Nimrod Zimerman zimerman@forfree.at Nimrod Zimerman zimerman@forfree.at
N J Doye nic@niss.ac.uk N J Doye nic@niss.ac.uk
Oliver Haakert haakert@hsp.de Oliver Haakert haakert@hsp.de
Oskari Jääskeläinen f33003a@cc.hut.fi Oskari Jääskeläinen f33003a@cc.hut.fi
Paul D. Smith psmith@baynetworks.com Paul D. Smith psmith@baynetworks.com
Philippe Laliberte arsphl@oeil.qc.ca Philippe Laliberte arsphl@oeil.qc.ca
Peter Gutmann pgut001@cs.auckland.ac.nz Peter Gutmann pgut001@cs.auckland.ac.nz
QingLong qinglong@bolizm.ihep.su QingLong qinglong@bolizm.ihep.su
Rafael Ávila de Espíndola rafael.espindola@gmail.com Rafael Ávila de Espíndola rafael.espindola@gmail.com
Rafaël Carré funman@videolan.org Rafaël Carré funman@videolan.org
Ralf Fassel ralf@akutech.de Ralf Fassel ralf@akutech.de
Ralf Hildebrandt Ralf.Hildebrandt@innominate.com Ralf Hildebrandt Ralf.Hildebrandt@innominate.com
Ralf Schneider ralf@tapfere-schneiderleins.de Ralf Schneider ralf@tapfere-schneiderleins.de
@ -115,22 +115,22 @@ Randolph Chung tausq@debian.org
Randy mcclellr@oit.edu Randy mcclellr@oit.edu
Rat ratinox@peorth.gweep.net Rat ratinox@peorth.gweep.net
Reinhard Wobst R.Wobst@ifw-dresden.de Reinhard Wobst R.Wobst@ifw-dresden.de
Rémi Guyomarch rguyom@mail.dotcom.fr Rémi Guyomarch rguyom@mail.dotcom.fr
Reuben Sumner rasumner@wisdom.weizmann.ac.il Reuben Sumner rasumner@wisdom.weizmann.ac.il
Richard Outerbridge outer@interlog.com Richard Outerbridge outer@interlog.com
Roddy Strachan roddy@satlink.com.au Roddy Strachan roddy@satlink.com.au
Roland Rosenfeld roland@spinnaker.rhein.de Roland Rosenfeld roland@spinnaker.rhein.de
Ross Golder rossigee@bigfoot.com Ross Golder rossigee@bigfoot.com
Serge Munhoven munhoven@mema.ucl.ac.be Serge Munhoven munhoven@mema.ucl.ac.be
Sergi Blanch i Torné sergi at calcurco cat Sergi Blanch i Torné sergi at calcurco cat
Simon Josefsson jas@extundo.com Simon Josefsson jas@extundo.com
SL Baur steve@xemacs.org SL Baur steve@xemacs.org
Stephan Austermuehle au@hcsd.de Stephan Austermuehle au@hcsd.de
Stephan Müller smueller at atsec com Stephan Müller smueller at atsec com
Stephane Corthesy stephane@sente.ch Stephane Corthesy stephane@sente.ch
Stefan Karrmann S.Karrmann@gmx.net Stefan Karrmann S.Karrmann@gmx.net
Stefan Keller dres@cs.tu-berlin.de Stefan Keller dres@cs.tu-berlin.de
Stefan Krüger stadtkind2 at gmx de Stefan Krüger stadtkind2 at gmx de
Steffen Ullrich ccrlphr@xensei.com Steffen Ullrich ccrlphr@xensei.com
Steffen Zahn zahn@berlin.snafu.de Steffen Zahn zahn@berlin.snafu.de
Steven Bakker steven@icoe.att.com Steven Bakker steven@icoe.att.com
@ -145,7 +145,7 @@ Tom Zerucha tzeruch@ceddec.com
Tomas Fasth tomas.fasth@twinspot.net Tomas Fasth tomas.fasth@twinspot.net
Tommi Komulainen Tommi.Komulainen@iki.fi Tommi Komulainen Tommi.Komulainen@iki.fi
Thomas Mikkelsen tbm@image.dk Thomas Mikkelsen tbm@image.dk
Ulf Möller 3umoelle@informatik.uni-hamburg.de Ulf Möller 3umoelle@informatik.uni-hamburg.de
Umberto Salsi salsi@icosaedro.it Umberto Salsi salsi@icosaedro.it
Uoti Urpala Uoti Urpala
Urko Lusa ulusa@euskalnet.net Urko Lusa ulusa@euskalnet.net

0
third_party/libgcrypt/autogen.sh поставляемый Normal file → Executable file
Просмотреть файл

0
third_party/libgcrypt/build-aux/compile поставляемый Normal file → Executable file
Просмотреть файл

0
third_party/libgcrypt/build-aux/config.guess поставляемый Normal file → Executable file
Просмотреть файл

0
third_party/libgcrypt/build-aux/config.rpath поставляемый Normal file → Executable file
Просмотреть файл

0
third_party/libgcrypt/build-aux/config.sub поставляемый Normal file → Executable file
Просмотреть файл

0
third_party/libgcrypt/build-aux/depcomp поставляемый Normal file → Executable file
Просмотреть файл

0
third_party/libgcrypt/build-aux/install-sh поставляемый Normal file → Executable file
Просмотреть файл

0
third_party/libgcrypt/build-aux/mdate-sh поставляемый Normal file → Executable file
Просмотреть файл

0
third_party/libgcrypt/build-aux/missing поставляемый Normal file → Executable file
Просмотреть файл

4
third_party/libgcrypt/cipher/ChangeLog-2011 поставляемый
Просмотреть файл

@ -1155,7 +1155,7 @@
2006-11-03 Werner Koch <wk@g10code.com> 2006-11-03 Werner Koch <wk@g10code.com>
* random.c [HAVE_GETTIMEOFDAY]: Included sys/time.h and not * random.c [HAVE_GETTIMEOFDAY]: Included sys/time.h and not
sys/times.h. Reported by Rafaël Carré. sys/times.h. Reported by Rafaël Carré.
2006-11-05 Moritz Schulte <moritz@g10code.com> 2006-11-05 Moritz Schulte <moritz@g10code.com>
@ -3264,7 +3264,7 @@
2002-02-20 Werner Koch <wk@gnupg.org> 2002-02-20 Werner Koch <wk@gnupg.org>
* sha1.c: Removed a left over comment note. The code has been * sha1.c: Removed a left over comment note. The code has been
rewritten from scratch in 1998. Thanks to Niels Möller for rewritten from scratch in 1998. Thanks to Niels Möller for
reporting this misleading comment. reporting this misleading comment.
2002-02-18 Werner Koch <wk@gnupg.org> 2002-02-18 Werner Koch <wk@gnupg.org>

Просмотреть файл

@ -158,7 +158,7 @@
roundsm(XL, XR, ((n) + 3) * 2 + 0, ((n) + 3) * 2 + 1, YL, YR); \ roundsm(XL, XR, ((n) + 3) * 2 + 0, ((n) + 3) * 2 + 1, YL, YR); \
roundsm(YL, YR, ((n) + 2) * 2 + 0, ((n) + 2) * 2 + 1, XL, XR); roundsm(YL, YR, ((n) + 2) * 2 + 0, ((n) + 2) * 2 + 1, XL, XR);
/* perform FL and FL?¹ */ /* perform FL and FL¹ */
#define fls(ll, lr, rl, rr, kll, klr, krl, krr) \ #define fls(ll, lr, rl, rr, kll, klr, krl, krr) \
ldr RT0, [CTX, #(key_table + ((kll) * 4))]; \ ldr RT0, [CTX, #(key_table + ((kll) * 4))]; \
ldr RT2, [CTX, #(key_table + ((krr) * 4))]; \ ldr RT2, [CTX, #(key_table + ((krr) * 4))]; \

Просмотреть файл

@ -660,7 +660,7 @@
* ) * )
* ) * )
* *
* (note: '? 0xc5' inside camellia_f()) * (note: ' 0xc5' inside camellia_f())
*/ */
.Lpre_tf_lo_s1: .Lpre_tf_lo_s1:
.byte 0x45, 0xe8, 0x40, 0xed, 0x2e, 0x83, 0x2b, 0x86 .byte 0x45, 0xe8, 0x40, 0xed, 0x2e, 0x83, 0x2b, 0x86
@ -681,7 +681,7 @@
* ) * )
* ) * )
* *
* (note: '? 0xc5' inside camellia_f()) * (note: ' 0xc5' inside camellia_f())
*/ */
.Lpre_tf_lo_s4: .Lpre_tf_lo_s4:
.byte 0x45, 0x40, 0x2e, 0x2b, 0x4b, 0x4e, 0x20, 0x25 .byte 0x45, 0x40, 0x2e, 0x2b, 0x4b, 0x4e, 0x20, 0x25
@ -704,7 +704,7 @@
* ) * )
* ) * )
* *
* (note: '? 0x6e' inside camellia_h()) * (note: ' 0x6e' inside camellia_h())
*/ */
.Lpost_tf_lo_s1: .Lpost_tf_lo_s1:
.byte 0x3c, 0xcc, 0xcf, 0x3f, 0x32, 0xc2, 0xc1, 0x31 .byte 0x3c, 0xcc, 0xcf, 0x3f, 0x32, 0xc2, 0xc1, 0x31
@ -727,7 +727,7 @@
* ) * )
* ) <<< 1 * ) <<< 1
* *
* (note: '? 0x6e' inside camellia_h()) * (note: ' 0x6e' inside camellia_h())
*/ */
.Lpost_tf_lo_s2: .Lpost_tf_lo_s2:
.byte 0x78, 0x99, 0x9f, 0x7e, 0x64, 0x85, 0x83, 0x62 .byte 0x78, 0x99, 0x9f, 0x7e, 0x64, 0x85, 0x83, 0x62
@ -750,7 +750,7 @@
* ) * )
* ) >>> 1 * ) >>> 1
* *
* (note: '? 0x6e' inside camellia_h()) * (note: ' 0x6e' inside camellia_h())
*/ */
.Lpost_tf_lo_s3: .Lpost_tf_lo_s3:
.byte 0x1e, 0x66, 0xe7, 0x9f, 0x19, 0x61, 0xe0, 0x98 .byte 0x1e, 0x66, 0xe7, 0x9f, 0x19, 0x61, 0xe0, 0x98

Просмотреть файл

@ -643,7 +643,7 @@
* ) * )
* ) * )
* *
* (note: '? 0xc5' inside camellia_f()) * (note: ' 0xc5' inside camellia_f())
*/ */
.Lpre_tf_lo_s1: .Lpre_tf_lo_s1:
.byte 0x45, 0xe8, 0x40, 0xed, 0x2e, 0x83, 0x2b, 0x86 .byte 0x45, 0xe8, 0x40, 0xed, 0x2e, 0x83, 0x2b, 0x86
@ -664,7 +664,7 @@
* ) * )
* ) * )
* *
* (note: '? 0xc5' inside camellia_f()) * (note: ' 0xc5' inside camellia_f())
*/ */
.Lpre_tf_lo_s4: .Lpre_tf_lo_s4:
.byte 0x45, 0x40, 0x2e, 0x2b, 0x4b, 0x4e, 0x20, 0x25 .byte 0x45, 0x40, 0x2e, 0x2b, 0x4b, 0x4e, 0x20, 0x25
@ -687,7 +687,7 @@
* ) * )
* ) * )
* *
* (note: '? 0x6e' inside camellia_h()) * (note: ' 0x6e' inside camellia_h())
*/ */
.Lpost_tf_lo_s1: .Lpost_tf_lo_s1:
.byte 0x3c, 0xcc, 0xcf, 0x3f, 0x32, 0xc2, 0xc1, 0x31 .byte 0x3c, 0xcc, 0xcf, 0x3f, 0x32, 0xc2, 0xc1, 0x31
@ -710,7 +710,7 @@
* ) * )
* ) <<< 1 * ) <<< 1
* *
* (note: '? 0x6e' inside camellia_h()) * (note: ' 0x6e' inside camellia_h())
*/ */
.Lpost_tf_lo_s2: .Lpost_tf_lo_s2:
.byte 0x78, 0x99, 0x9f, 0x7e, 0x64, 0x85, 0x83, 0x62 .byte 0x78, 0x99, 0x9f, 0x7e, 0x64, 0x85, 0x83, 0x62
@ -733,7 +733,7 @@
* ) * )
* ) >>> 1 * ) >>> 1
* *
* (note: '? 0x6e' inside camellia_h()) * (note: ' 0x6e' inside camellia_h())
*/ */
.Lpost_tf_lo_s3: .Lpost_tf_lo_s3:
.byte 0x1e, 0x66, 0xe7, 0x9f, 0x19, 0x61, 0xe0, 0x98 .byte 0x1e, 0x66, 0xe7, 0x9f, 0x19, 0x61, 0xe0, 0x98

2
third_party/libgcrypt/cipher/camellia-arm.S поставляемый
Просмотреть файл

@ -222,7 +222,7 @@
roundsm(XL, XR, ((n) + 3) * 2 + 0, ((n) + 3) * 2 + 1, YL, YR); \ roundsm(XL, XR, ((n) + 3) * 2 + 0, ((n) + 3) * 2 + 1, YL, YR); \
roundsm(YL, YR, ((n) + 2) * 2 + 0, ((n) + 2) * 2 + 1, XL, XR); roundsm(YL, YR, ((n) + 2) * 2 + 0, ((n) + 2) * 2 + 1, XL, XR);
/* perform FL and FL?¹ */ /* perform FL and FL¹ */
#define fls(ll, lr, rl, rr, kll, klr, krl, krr) \ #define fls(ll, lr, rl, rr, kll, klr, krl, krr) \
ldr RT0, [CTX, #(key_table + ((kll) * 4))]; \ ldr RT0, [CTX, #(key_table + ((kll) * 4))]; \
ldr RT2, [CTX, #(key_table + ((krr) * 4))]; \ ldr RT2, [CTX, #(key_table + ((krr) * 4))]; \

Просмотреть файл

@ -120,8 +120,8 @@ gcry_gcm_reduction_constant:
/* GHASH macros */ /* GHASH macros */
/* See "Gouvêa, C. P. L. & López, J. Implementing GCM on ARMv8. Topics in /* See "Gouvêa, C. P. L. & López, J. Implementing GCM on ARMv8. Topics in
* Cryptology CT-RSA 2015" for details. * Cryptology CT-RSA 2015" for details.
*/ */
/* Input: 'a' and 'b', Output: 'r0:r1' (low 128-bits in r0, high in r1) /* Input: 'a' and 'b', Output: 'r0:r1' (low 128-bits in r0, high in r1)
@ -245,8 +245,8 @@ _gcry_ghash_armv8_ce_pmull:
blo .Lend_4 blo .Lend_4
.Loop_4: .Loop_4:
/* (in0 ^ hash) * H? => rr2:rr3 */ /* (in0 ^ hash) * H => rr2:rr3 */
/* (in1) * H³ => rr0:rr1 */ /* (in1) * H³ => rr0:rr1 */
PMUL_128x128_2(rr0, rr1, rbuf1, rh3, rr2, rr3, rhash, rh4, rt1, rt0, __) PMUL_128x128_2(rr0, rr1, rbuf1, rh3, rr2, rr3, rhash, rh4, rt1, rt0, __)
vld1.64 {rbuf-rbuf1}, [r2]! vld1.64 {rbuf-rbuf1}, [r2]!
@ -254,8 +254,8 @@ _gcry_ghash_armv8_ce_pmull:
veor rr0, rr0, rr2 veor rr0, rr0, rr2
veor rr1, rr1, rr3 veor rr1, rr1, rr3
/* (in2) * H² => rr2:rr3 */ /* (in2) * H² => rr2:rr3 */
/* (in3) * H¹ => rhash:rbuf3 */ /* (in3) * H¹ => rhash:rbuf3 */
PMUL_128x128_2(rr2, rr3, rbuf2, rh2, rhash, rbuf3, rbuf3, rh1, rt0, rt1, PMUL_128x128_2(rr2, rr3, rbuf2, rh2, rhash, rbuf3, rbuf3, rh1, rt0, rt1,
_(vrev64.8 rbuf, rbuf)) _(vrev64.8 rbuf, rbuf))
@ -285,12 +285,12 @@ _gcry_ghash_armv8_ce_pmull:
bhs .Loop_4 bhs .Loop_4
.Lend_4: .Lend_4:
/* (in0 ^ hash) * H? => rr2:rr3 */ /* (in0 ^ hash) * H => rr2:rr3 */
/* (in1) * H³ => rr0:rr1 */ /* (in1) * H³ => rr0:rr1 */
PMUL_128x128_2(rr0, rr1, rbuf1, rh3, rr2, rr3, rhash, rh4, rt1, rt0, __) PMUL_128x128_2(rr0, rr1, rbuf1, rh3, rr2, rr3, rhash, rh4, rt1, rt0, __)
/* (in2) * H² => rhash:rbuf */ /* (in2) * H² => rhash:rbuf */
/* (in3) * H¹ => rbuf1:rbuf2 */ /* (in3) * H¹ => rbuf1:rbuf2 */
PMUL_128x128_2(rhash, rbuf, rbuf2, rh2, rbuf1, rbuf2, rbuf3, rh1, rt0, rt1, PMUL_128x128_2(rhash, rbuf, rbuf2, rh2, rbuf1, rbuf2, rbuf3, rh1, rt0, rt1,
_(veor rr0, rr0, rr2; _(veor rr0, rr0, rr2;
veor rr1, rr1, rr3)) veor rr1, rr1, rr3))
@ -396,24 +396,24 @@ _gcry_ghash_setup_armv8_ce_pmull:
vmov rbuf1, rhash vmov rbuf1, rhash
GCM_LSH_1(r0, rhash_l, rhash_h, rrconst_h, rh1_l, rh1_h, rt1_l) /* H<<<1 */ GCM_LSH_1(r0, rhash_l, rhash_h, rrconst_h, rh1_l, rh1_h, rt1_l) /* H<<<1 */
/* H² */ /* H² */
PMUL_128x128(rr0, rr1, rbuf1, rh1, rt0, __) PMUL_128x128(rr0, rr1, rbuf1, rh1, rt0, __)
REDUCTION(rh2, rr0, rr1, rrconst_h, rt0, __) REDUCTION(rh2, rr0, rr1, rrconst_h, rt0, __)
vmov rhash, rh2 vmov rhash, rh2
GCM_LSH_1(r1, rh2_l, rh2_h, rrconst_h, rbuf1_l, rbuf1_h, rt1_l) /* H²<<<1 */ GCM_LSH_1(r1, rh2_l, rh2_h, rrconst_h, rbuf1_l, rbuf1_h, rt1_l) /* H²<<<1 */
add r1, r1, #16 add r1, r1, #16
/* H³ */ /* H³ */
PMUL_128x128(rr0, rr1, rhash, rh1, rt1, __) PMUL_128x128(rr0, rr1, rhash, rh1, rt1, __)
REDUCTION(rh3, rr0, rr1, rrconst_h, rt1, __) REDUCTION(rh3, rr0, rr1, rrconst_h, rt1, __)
/* H? */ /* H */
PMUL_128x128(rr0, rr1, rhash, rbuf1, rt0, __) PMUL_128x128(rr0, rr1, rhash, rbuf1, rt0, __)
REDUCTION(rh4, rr0, rr1, rrconst_h, rt0, __) REDUCTION(rh4, rr0, rr1, rrconst_h, rt0, __)
GCM_LSH_1(r1, rh3_l, rh3_h, rrconst_h, rt0_l, rt0_h, rt1_l) /* H³<<<1 */ GCM_LSH_1(r1, rh3_l, rh3_h, rrconst_h, rt0_l, rt0_h, rt1_l) /* H³<<<1 */
add r1, r1, #16 add r1, r1, #16
GCM_LSH_1(r1, rh4_l, rh4_h, rrconst_h, rt0_l, rt0_h, rt1_l) /* H?<<<1 */ GCM_LSH_1(r1, rh4_l, rh4_h, rrconst_h, rt0_l, rt0_h, rt1_l) /* H<<<1 */
CLEAR_REG(rt0) CLEAR_REG(rt0)
CLEAR_REG(rt1) CLEAR_REG(rt1)

Просмотреть файл

@ -77,8 +77,8 @@ gcry_gcm_reduction_constant:
/* GHASH macros */ /* GHASH macros */
/* See "Gouvêa, C. P. L. & López, J. Implementing GCM on ARMv8. Topics in /* See "Gouvêa, C. P. L. & López, J. Implementing GCM on ARMv8. Topics in
* Cryptology CT-RSA 2015" for details. * Cryptology CT-RSA 2015" for details.
*/ */
/* Input: 'a' and 'b', Output: 'r0:r1' (low 128-bits in r0, high in r1) */ /* Input: 'a' and 'b', Output: 'r0:r1' (low 128-bits in r0, high in r1) */
@ -221,9 +221,9 @@ _gcry_ghash_armv8_ce_pmull:
.Loop_6: .Loop_6:
/* (in1) * H? => rr0:rr1 */ /* (in1) * H => rr0:rr1 */
/* (in2) * H? => rr2:rr3 */ /* (in2) * H => rr2:rr3 */
/* (in0 ^ hash) * H? => rr4:rr5 */ /* (in0 ^ hash) * H => rr4:rr5 */
PMUL_128x128_3(rr0, rr1, rbuf1, rh5, t0, t1, PMUL_128x128_3(rr0, rr1, rbuf1, rh5, t0, t1,
rr2, rr3, rbuf2, rh4, t2, t3, rr2, rr3, rbuf2, rh4, t2, t3,
rr4, rr5, rhash, rh6, t4, t5, rr4, rr5, rhash, rh6, t4, t5,
@ -235,9 +235,9 @@ _gcry_ghash_armv8_ce_pmull:
eor rr0.16b, rr0.16b, rr2.16b eor rr0.16b, rr0.16b, rr2.16b
eor rr1.16b, rr1.16b, rr3.16b eor rr1.16b, rr1.16b, rr3.16b
/* (in3) * H³ => rr2:rr3 */ /* (in3) * H³ => rr2:rr3 */
/* (in4) * H² => rr6:rr7 */ /* (in4) * H² => rr6:rr7 */
/* (in5) * H¹ => rr8:rr9 */ /* (in5) * H¹ => rr8:rr9 */
PMUL_128x128_3(rr2, rr3, rbuf3, rh3, t0, t1, PMUL_128x128_3(rr2, rr3, rbuf3, rh3, t0, t1,
rr6, rr7, rbuf4, rh2, t2, t3, rr6, rr7, rbuf4, rh2, t2, t3,
rr8, rr9, rbuf5, rh1, t4, t5, rr8, rr9, rbuf5, rh1, t4, t5,
@ -266,9 +266,9 @@ _gcry_ghash_armv8_ce_pmull:
.Lend_6: .Lend_6:
/* (in1) * H? => rr0:rr1 */ /* (in1) * H => rr0:rr1 */
/* (in0 ^ hash) * H? => rr2:rr3 */ /* (in0 ^ hash) * H => rr2:rr3 */
/* (in2) * H? => rr4:rr5 */ /* (in2) * H => rr4:rr5 */
PMUL_128x128_3(rr0, rr1, rbuf1, rh5, t0, t1, PMUL_128x128_3(rr0, rr1, rbuf1, rh5, t0, t1,
rr2, rr3, rhash, rh6, t2, t3, rr2, rr3, rhash, rh6, t2, t3,
rr4, rr5, rbuf2, rh4, t4, t5, rr4, rr5, rbuf2, rh4, t4, t5,
@ -278,9 +278,9 @@ _gcry_ghash_armv8_ce_pmull:
eor rr0.16b, rr0.16b, rr4.16b eor rr0.16b, rr0.16b, rr4.16b
eor rr1.16b, rr1.16b, rr5.16b eor rr1.16b, rr1.16b, rr5.16b
/* (in3) * H³ => rhash:rbuf */ /* (in3) * H³ => rhash:rbuf */
/* (in4) * H² => rr6:rr7 */ /* (in4) * H² => rr6:rr7 */
/* (in5) * H¹ => rr8:rr9 */ /* (in5) * H¹ => rr8:rr9 */
PMUL_128x128_3(rhash, rbuf, rbuf3, rh3, t0, t1, PMUL_128x128_3(rhash, rbuf, rbuf3, rh3, t0, t1,
rr6, rr7, rbuf4, rh2, t2, t3, rr6, rr7, rbuf4, rh2, t2, t3,
rr8, rr9, rbuf5, rh1, t4, t5, rr8, rr9, rbuf5, rh1, t4, t5,
@ -377,30 +377,30 @@ _gcry_ghash_setup_armv8_ce_pmull:
GET_DATA_POINTER(x2, .Lrconst) GET_DATA_POINTER(x2, .Lrconst)
/* H¹ */ /* H¹ */
ld1 {rh1.16b}, [x0] ld1 {rh1.16b}, [x0]
rbit rh1.16b, rh1.16b rbit rh1.16b, rh1.16b
st1 {rh1.16b}, [x0] st1 {rh1.16b}, [x0]
ld1r {rrconst.2d}, [x2] ld1r {rrconst.2d}, [x2]
/* H² */ /* H² */
PMUL_128x128(rr0, rr1, rh1, rh1, t0, t1, __) PMUL_128x128(rr0, rr1, rh1, rh1, t0, t1, __)
REDUCTION(rh2, rr0, rr1, rrconst, t0, t1, __, __, __) REDUCTION(rh2, rr0, rr1, rrconst, t0, t1, __, __, __)
/* H³ */ /* H³ */
PMUL_128x128(rr0, rr1, rh2, rh1, t0, t1, __) PMUL_128x128(rr0, rr1, rh2, rh1, t0, t1, __)
REDUCTION(rh3, rr0, rr1, rrconst, t0, t1, __, __, __) REDUCTION(rh3, rr0, rr1, rrconst, t0, t1, __, __, __)
/* H? */ /* H */
PMUL_128x128(rr0, rr1, rh2, rh2, t0, t1, __) PMUL_128x128(rr0, rr1, rh2, rh2, t0, t1, __)
REDUCTION(rh4, rr0, rr1, rrconst, t0, t1, __, __, __) REDUCTION(rh4, rr0, rr1, rrconst, t0, t1, __, __, __)
/* H? */ /* H */
PMUL_128x128(rr0, rr1, rh2, rh3, t0, t1, __) PMUL_128x128(rr0, rr1, rh2, rh3, t0, t1, __)
REDUCTION(rh5, rr0, rr1, rrconst, t0, t1, __, __, __) REDUCTION(rh5, rr0, rr1, rrconst, t0, t1, __, __, __)
/* H? */ /* H */
PMUL_128x128(rr0, rr1, rh3, rh3, t0, t1, __) PMUL_128x128(rr0, rr1, rh3, rh3, t0, t1, __)
REDUCTION(rh6, rr0, rr1, rrconst, t0, t1, __, __, __) REDUCTION(rh6, rr0, rr1, rrconst, t0, t1, __, __, __)

Просмотреть файл

@ -41,7 +41,7 @@
/* /*
Intel PCLMUL ghash based on white paper: Intel PCLMUL ghash based on white paper:
"Intel® Carry-Less Multiplication Instruction and its Usage for Computing the "Intel® Carry-Less Multiplication Instruction and its Usage for Computing the
GCM Mode - Rev 2.01"; Shay Gueron, Michael E. Kounavis. GCM Mode - Rev 2.01"; Shay Gueron, Michael E. Kounavis.
*/ */
static inline void gfmul_pclmul(void) static inline void gfmul_pclmul(void)
@ -123,10 +123,10 @@ static inline void gfmul_pclmul(void)
static inline void gfmul_pclmul_aggr4(void) static inline void gfmul_pclmul_aggr4(void)
{ {
/* Input: /* Input:
H¹: XMM0 X_i : XMM6 H¹: XMM0 X_i : XMM6
H²: XMM8 X_(i-1) : XMM3 H²: XMM8 X_(i-1) : XMM3
H³: XMM9 X_(i-2) : XMM2 H³: XMM9 X_(i-2) : XMM2
H?: XMM10 X_(i-3)?Y_(i-4): XMM1 H: XMM10 X_(i-3)Y_(i-4): XMM1
Output: Output:
Y_i: XMM1 Y_i: XMM1
Inputs XMM0 stays unmodified. Inputs XMM0 stays unmodified.
@ -272,7 +272,7 @@ _gcry_ghash_setup_intel_pclmul (gcry_cipher_hd_t c)
: :
: [h_1] "m" (*tmp)); : [h_1] "m" (*tmp));
gfmul_pclmul (); /* H•H => H² */ gfmul_pclmul (); /* H•H => H² */
asm volatile ("movdqu %%xmm1, 0*16(%[h_234])\n\t" asm volatile ("movdqu %%xmm1, 0*16(%[h_234])\n\t"
"movdqa %%xmm1, %%xmm8\n\t" "movdqa %%xmm1, %%xmm8\n\t"
@ -280,7 +280,7 @@ _gcry_ghash_setup_intel_pclmul (gcry_cipher_hd_t c)
: [h_234] "r" (c->u_mode.gcm.gcm_table) : [h_234] "r" (c->u_mode.gcm.gcm_table)
: "memory"); : "memory");
gfmul_pclmul (); /* H•H² => H³ */ gfmul_pclmul (); /* H•H² => H³ */
asm volatile ("movdqa %%xmm8, %%xmm0\n\t" asm volatile ("movdqa %%xmm8, %%xmm0\n\t"
"movdqu %%xmm1, 1*16(%[h_234])\n\t" "movdqu %%xmm1, 1*16(%[h_234])\n\t"
@ -289,7 +289,7 @@ _gcry_ghash_setup_intel_pclmul (gcry_cipher_hd_t c)
: [h_234] "r" (c->u_mode.gcm.gcm_table) : [h_234] "r" (c->u_mode.gcm.gcm_table)
: "memory"); : "memory");
gfmul_pclmul (); /* H²•H² => H? */ gfmul_pclmul (); /* H²•H² => H */
asm volatile ("movdqu %%xmm1, 2*16(%[h_234])\n\t" asm volatile ("movdqu %%xmm1, 2*16(%[h_234])\n\t"
: :

2
third_party/libgcrypt/cipher/cipher-ocb.c поставляемый
Просмотреть файл

@ -23,7 +23,7 @@
* http://web.cs.ucdavis.edu/~rogaway/ocb/license1.pdf for the full * http://web.cs.ucdavis.edu/~rogaway/ocb/license1.pdf for the full
* license document; it basically says: * license document; it basically says:
* *
* License 1 License for Open-Source Software Implementations of OCB * License 1 License for Open-Source Software Implementations of OCB
* (Jan 9, 2013) * (Jan 9, 2013)
* *
* Under this license, you are authorized to make, use, and * Under this license, you are authorized to make, use, and

Просмотреть файл

@ -74,7 +74,7 @@ static const struct crc32_consts_s crc32_consts ALIGNED_16 =
} }
}; };
/* CLMUL constants for CRC24RFC2440 (polynomial multiplied with x?). */ /* CLMUL constants for CRC24RFC2440 (polynomial multiplied with x). */
static const struct crc32_consts_s crc24rfc2440_consts ALIGNED_16 = static const struct crc32_consts_s crc24rfc2440_consts ALIGNED_16 =
{ {
{ /* k[6] = x^(32*y) mod P(x) << 32*/ { /* k[6] = x^(32*y) mod P(x) << 32*/

2
third_party/libgcrypt/cipher/crc.c поставляемый
Просмотреть файл

@ -735,7 +735,7 @@ static const u32 crc24_table[1024] =
static inline static inline
u32 crc24_init (void) u32 crc24_init (void)
{ {
/* Transformed to 32-bit CRC by multiplied by x? and then byte swapped. */ /* Transformed to 32-bit CRC by multiplied by x and then byte swapped. */
return 0xce04b7; /* _gcry_bswap(0xb704ce << 8) */ return 0xce04b7; /* _gcry_bswap(0xb704ce << 8) */
} }

2
third_party/libgcrypt/cipher/ecc-eddsa.c поставляемый
Просмотреть файл

@ -816,7 +816,7 @@ _gcry_ecc_eddsa_verify (gcry_mpi_t input, ECC_public_key *pkey,
_gcry_mpi_set_buffer (h, digest, 64, 0); _gcry_mpi_set_buffer (h, digest, 64, 0);
/* According to the paper the best way for verification is: /* According to the paper the best way for verification is:
encodepoint(sG - h·Q) = encodepoint(r) encodepoint(sG - h·Q) = encodepoint(r)
because we don't need to decode R. */ because we don't need to decode R. */
{ {
void *sbuf; void *sbuf;

Просмотреть файл

@ -31,7 +31,7 @@
*/ */
@ The Keccak sponge function, designed by Guido Bertoni, Joan Daemen, @ The Keccak sponge function, designed by Guido Bertoni, Joan Daemen,
@ Michaël Peeters and Gilles Van Assche. For more information, feedback or @ Michaël Peeters and Gilles Van Assche. For more information, feedback or
@ questions, please refer to our website: http://keccak.noekeon.org/ @ questions, please refer to our website: http://keccak.noekeon.org/
@ @
@ Implementation by Ronny Van Keer, hereby denoted as "the implementer". @ Implementation by Ronny Van Keer, hereby denoted as "the implementer".

Просмотреть файл

@ -1524,8 +1524,8 @@ _gcry_aes_ocb_auth_armv8_ce:
.globl _gcry_aes_sbox4_armv8_ce .globl _gcry_aes_sbox4_armv8_ce
.type _gcry_aes_sbox4_armv8_ce,%function; .type _gcry_aes_sbox4_armv8_ce,%function;
_gcry_aes_sbox4_armv8_ce: _gcry_aes_sbox4_armv8_ce:
/* See "Gouvêa, C. P. L. & López, J. Implementing GCM on ARMv8. Topics in /* See "Gouvêa, C. P. L. & López, J. Implementing GCM on ARMv8. Topics in
* Cryptology CT-RSA 2015" for details. * Cryptology CT-RSA 2015" for details.
*/ */
vmov.i8 q0, #0x52 vmov.i8 q0, #0x52
vmov.i8 q1, #0 vmov.i8 q1, #0

Просмотреть файл

@ -1283,8 +1283,8 @@ _gcry_aes_ocb_auth_armv8_ce:
.globl _gcry_aes_sbox4_armv8_ce .globl _gcry_aes_sbox4_armv8_ce
.type _gcry_aes_sbox4_armv8_ce,%function; .type _gcry_aes_sbox4_armv8_ce,%function;
_gcry_aes_sbox4_armv8_ce: _gcry_aes_sbox4_armv8_ce:
/* See "Gouvêa, C. P. L. & López, J. Implementing GCM on ARMv8. Topics in /* See "Gouvêa, C. P. L. & López, J. Implementing GCM on ARMv8. Topics in
* Cryptology CT-RSA 2015" for details. * Cryptology CT-RSA 2015" for details.
*/ */
movi v0.16b, #0x52 movi v0.16b, #0x52
movi v1.16b, #0 movi v1.16b, #0

2
third_party/libgcrypt/cipher/salsa20.c поставляемый
Просмотреть файл

@ -1,5 +1,5 @@
/* salsa20.c - Bernstein's Salsa20 cipher /* salsa20.c - Bernstein's Salsa20 cipher
* Copyright (C) 2012 Simon Josefsson, Niels Möller * Copyright (C) 2012 Simon Josefsson, Niels Möller
* Copyright (C) 2013 g10 Code GmbH * Copyright (C) 2013 g10 Code GmbH
* *
* This file is part of Libgcrypt. * This file is part of Libgcrypt.

Просмотреть файл

@ -94,8 +94,8 @@
/* /*
* These are the S-Boxes of Serpent from following research paper. * These are the S-Boxes of Serpent from following research paper.
* *
* D. A. Osvik, Speeding up Serpent, in Third AES Candidate Conference, * D. A. Osvik, Speeding up Serpent, in Third AES Candidate Conference,
* (New York, New York, USA), p. 317329, National Institute of Standards and * (New York, New York, USA), p. 317329, National Institute of Standards and
* Technology, 2000. * Technology, 2000.
* *
* Paper is also available at: http://www.ii.uib.no/~osvik/pub/aes3.pdf * Paper is also available at: http://www.ii.uib.no/~osvik/pub/aes3.pdf

Просмотреть файл

@ -104,8 +104,8 @@
/* /*
* These are the S-Boxes of Serpent from following research paper. * These are the S-Boxes of Serpent from following research paper.
* *
* D. A. Osvik, Speeding up Serpent, in Third AES Candidate Conference, * D. A. Osvik, Speeding up Serpent, in Third AES Candidate Conference,
* (New York, New York, USA), p. 317329, National Institute of Standards and * (New York, New York, USA), p. 317329, National Institute of Standards and
* Technology, 2000. * Technology, 2000.
* *
* Paper is also available at: http://www.ii.uib.no/~osvik/pub/aes3.pdf * Paper is also available at: http://www.ii.uib.no/~osvik/pub/aes3.pdf

Просмотреть файл

@ -123,8 +123,8 @@
/* /*
* These are the S-Boxes of Serpent from following research paper. * These are the S-Boxes of Serpent from following research paper.
* *
* D. A. Osvik, Speeding up Serpent, in Third AES Candidate Conference, * D. A. Osvik, Speeding up Serpent, in Third AES Candidate Conference,
* (New York, New York, USA), p. 317329, National Institute of Standards and * (New York, New York, USA), p. 317329, National Institute of Standards and
* Technology, 2000. * Technology, 2000.
* *
* Paper is also available at: http://www.ii.uib.no/~osvik/pub/aes3.pdf * Paper is also available at: http://www.ii.uib.no/~osvik/pub/aes3.pdf

4
third_party/libgcrypt/cipher/serpent.c поставляемый
Просмотреть файл

@ -229,8 +229,8 @@ static const char *serpent_test (void);
/* /*
* These are the S-Boxes of Serpent from following research paper. * These are the S-Boxes of Serpent from following research paper.
* *
* D. A. Osvik, Speeding up Serpent, in Third AES Candidate Conference, * D. A. Osvik, Speeding up Serpent, in Third AES Candidate Conference,
* (New York, New York, USA), p. 317329, National Institute of Standards and * (New York, New York, USA), p. 317329, National Institute of Standards and
* Technology, 2000. * Technology, 2000.
* *
* Paper is also available at: http://www.ii.uib.no/~osvik/pub/aes3.pdf * Paper is also available at: http://www.ii.uib.no/~osvik/pub/aes3.pdf

0
third_party/libgcrypt/configure поставляемый Normal file → Executable file
Просмотреть файл

2
third_party/libgcrypt/doc/ChangeLog-2011 поставляемый
Просмотреть файл

@ -36,7 +36,7 @@
2009-02-22 Werner Koch <wk@g10code.com> 2009-02-22 Werner Koch <wk@g10code.com>
* gcrypt.texi (Memory allocation): Fix describion of gcry-calloc. * gcrypt.texi (Memory allocation): Fix describion of gcry-calloc.
Reported by Sergi Blanch i Torné. Reported by Sergi Blanch i Torné.
2008-12-10 Werner Koch <wk@g10code.com> 2008-12-10 Werner Koch <wk@g10code.com>

6
third_party/libgcrypt/doc/gcrypt.texi поставляемый
Просмотреть файл

@ -269,7 +269,7 @@ gcc -c foo.c `libgcrypt-config --cflags`
@end example @end example
Adding the output of @samp{libgcrypt-config --cflags} to the Adding the output of @samp{libgcrypt-config --cflags} to the
compilers command line will ensure that the compiler can find the compilers command line will ensure that the compiler can find the
Libgcrypt header file. Libgcrypt header file.
A similar problem occurs when linking the program with the library. A similar problem occurs when linking the program with the library.
@ -2283,7 +2283,7 @@ general only support uncompressed points, thus the first byte needs to
be @code{0x04}. However ``EdDSA'' describes its own compression be @code{0x04}. However ``EdDSA'' describes its own compression
scheme which is used by default; the non-standard first byte scheme which is used by default; the non-standard first byte
@code{0x40} may optionally be used to explicit flag the use of the @code{0x40} may optionally be used to explicit flag the use of the
algorithms native compression method. algorithms native compression method.
The public key is similar with "private-key" replaced by "public-key" The public key is similar with "private-key" replaced by "public-key"
and no @var{d-mpi}. and no @var{d-mpi}.
@ -5798,7 +5798,7 @@ The generation of random prime numbers is based on the Lim and Lee
algorithm to create practically save primes.@footnote{Chae Hoon Lim algorithm to create practically save primes.@footnote{Chae Hoon Lim
and Pil Joong Lee. A key recovery attack on discrete log-based schemes and Pil Joong Lee. A key recovery attack on discrete log-based schemes
using a prime order subgroup. In Burton S. Kaliski Jr., editor, using a prime order subgroup. In Burton S. Kaliski Jr., editor,
Advances in Cryptology: Crypto '97, pages 249­-263, Berlin / Advances in Cryptology: Crypto '97, pages 249­-263, Berlin /
Heidelberg / New York, 1997. Springer-Verlag. Described on page 260.} Heidelberg / New York, 1997. Springer-Verlag. Described on page 260.}
This algorithm creates a pool of smaller primes, select a few of them This algorithm creates a pool of smaller primes, select a few of them
to create candidate primes of the form @math{2 * p_0 * p_1 * ... * p_n to create candidate primes of the form @math{2 * p_0 * p_1 * ... * p_n

0
third_party/libgcrypt/mkinstalldirs поставляемый Normal file → Executable file
Просмотреть файл

4
third_party/libgcrypt/mpi/ChangeLog-2011 поставляемый
Просмотреть файл

@ -251,7 +251,7 @@
2004-12-16 Werner Koch <wk@g10code.com> 2004-12-16 Werner Koch <wk@g10code.com>
* config.links (mpi_optional_modules): Move entry for powerpc64 * config.links (mpi_optional_modules): Move entry for powerpc64
before generic powerpc. Suggested by Rafael Ávila de Espíndola. before generic powerpc. Suggested by Rafael Ávila de Espíndola.
2004-03-02 Werner Koch <wk@gnupg.org> 2004-03-02 Werner Koch <wk@gnupg.org>
@ -788,7 +788,7 @@ Thu Apr 9 11:31:36 1998 Werner Koch (wk@isil.d.shuttle.de)
Wed Apr 8 09:44:33 1998 Werner Koch (wk@isil.d.shuttle.de) Wed Apr 8 09:44:33 1998 Werner Koch (wk@isil.d.shuttle.de)
* config.links: Applied small fix from Ulf Möller. * config.links: Applied small fix from Ulf Möller.
Mon Apr 6 12:38:52 1998 Werner Koch (wk@isil.d.shuttle.de) Mon Apr 6 12:38:52 1998 Werner Koch (wk@isil.d.shuttle.de)

26
third_party/libgcrypt/mpi/ec.c поставляемый
Просмотреть файл

@ -871,16 +871,16 @@ dup_point_edwards (mpi_point_t result, mpi_point_t point, mpi_ec_t ctx)
ec_mul2 (J, H, ctx); ec_mul2 (J, H, ctx);
ec_subm (J, F, J, ctx); ec_subm (J, F, J, ctx);
/* X_3 = (B - C - D) · J */ /* X_3 = (B - C - D) · J */
ec_subm (X3, B, C, ctx); ec_subm (X3, B, C, ctx);
ec_subm (X3, X3, D, ctx); ec_subm (X3, X3, D, ctx);
ec_mulm (X3, X3, J, ctx); ec_mulm (X3, X3, J, ctx);
/* Y_3 = F · (E - D) */ /* Y_3 = F · (E - D) */
ec_subm (Y3, E, D, ctx); ec_subm (Y3, E, D, ctx);
ec_mulm (Y3, Y3, F, ctx); ec_mulm (Y3, Y3, F, ctx);
/* Z_3 = F · J */ /* Z_3 = F · J */
ec_mulm (Z3, F, J, ctx); ec_mulm (Z3, F, J, ctx);
#undef X1 #undef X1
@ -1101,19 +1101,19 @@ add_points_edwards (mpi_point_t result,
/* Compute: (X_3 : Y_3 : Z_3) = (X_1 : Y_1 : Z_1) + (X_2 : Y_2 : Z_3) */ /* Compute: (X_3 : Y_3 : Z_3) = (X_1 : Y_1 : Z_1) + (X_2 : Y_2 : Z_3) */
/* A = Z1 · Z2 */ /* A = Z1 · Z2 */
ec_mulm (A, Z1, Z2, ctx); ec_mulm (A, Z1, Z2, ctx);
/* B = A^2 */ /* B = A^2 */
ec_pow2 (B, A, ctx); ec_pow2 (B, A, ctx);
/* C = X1 · X2 */ /* C = X1 · X2 */
ec_mulm (C, X1, X2, ctx); ec_mulm (C, X1, X2, ctx);
/* D = Y1 · Y2 */ /* D = Y1 · Y2 */
ec_mulm (D, Y1, Y2, ctx); ec_mulm (D, Y1, Y2, ctx);
/* E = d · C · D */ /* E = d · C · D */
ec_mulm (E, ctx->b, C, ctx); ec_mulm (E, ctx->b, C, ctx);
ec_mulm (E, E, D, ctx); ec_mulm (E, E, D, ctx);
@ -1123,7 +1123,7 @@ add_points_edwards (mpi_point_t result,
/* G = B + E */ /* G = B + E */
ec_addm (G, B, E, ctx); ec_addm (G, B, E, ctx);
/* X_3 = A · F · ((X_1 + Y_1) · (X_2 + Y_2) - C - D) */ /* X_3 = A · F · ((X_1 + Y_1) · (X_2 + Y_2) - C - D) */
ec_addm (tmp, X1, Y1, ctx); ec_addm (tmp, X1, Y1, ctx);
ec_addm (X3, X2, Y2, ctx); ec_addm (X3, X2, Y2, ctx);
ec_mulm (X3, X3, tmp, ctx); ec_mulm (X3, X3, tmp, ctx);
@ -1132,7 +1132,7 @@ add_points_edwards (mpi_point_t result,
ec_mulm (X3, X3, F, ctx); ec_mulm (X3, X3, F, ctx);
ec_mulm (X3, X3, A, ctx); ec_mulm (X3, X3, A, ctx);
/* Y_3 = A · G · (D - aC) */ /* Y_3 = A · G · (D - aC) */
if (ctx->dialect == ECC_DIALECT_ED25519) if (ctx->dialect == ECC_DIALECT_ED25519)
{ {
ec_addm (Y3, D, C, ctx); ec_addm (Y3, D, C, ctx);
@ -1145,7 +1145,7 @@ add_points_edwards (mpi_point_t result,
ec_mulm (Y3, Y3, G, ctx); ec_mulm (Y3, Y3, G, ctx);
ec_mulm (Y3, Y3, A, ctx); ec_mulm (Y3, Y3, A, ctx);
/* Z_3 = F · G */ /* Z_3 = F · G */
ec_mulm (Z3, F, G, ctx); ec_mulm (Z3, F, G, ctx);
@ -1538,7 +1538,7 @@ _gcry_mpi_ec_curve_point (gcry_mpi_point_t point, mpi_ec_t ctx)
xxx = mpi_new (0); xxx = mpi_new (0);
/* y^2 == x^3 + a·x + b */ /* y^2 == x^3 + a·x + b */
ec_pow2 (y, y, ctx); ec_pow2 (y, y, ctx);
ec_pow3 (xxx, x, ctx); ec_pow3 (xxx, x, ctx);
@ -1559,7 +1559,7 @@ _gcry_mpi_ec_curve_point (gcry_mpi_point_t point, mpi_ec_t ctx)
if (_gcry_mpi_ec_get_affine (x, NULL, point, ctx)) if (_gcry_mpi_ec_get_affine (x, NULL, point, ctx))
goto leave; goto leave;
/* The equation is: b * y^2 == x^3 + a · x^2 + x */ /* The equation is: b * y^2 == x^3 + a · x^2 + x */
/* We check if right hand is quadratic residue or not by /* We check if right hand is quadratic residue or not by
Euler's criterion. */ Euler's criterion. */
/* CTX->A has (a-2)/4 and CTX->B has b^-1 */ /* CTX->A has (a-2)/4 and CTX->B has b^-1 */
@ -1587,7 +1587,7 @@ _gcry_mpi_ec_curve_point (gcry_mpi_point_t point, mpi_ec_t ctx)
if (_gcry_mpi_ec_get_affine (x, y, point, ctx)) if (_gcry_mpi_ec_get_affine (x, y, point, ctx))
goto leave; goto leave;
/* a · x^2 + y^2 - 1 - b · x^2 · y^2 == 0 */ /* a · x^2 + y^2 - 1 - b · x^2 · y^2 == 0 */
ec_pow2 (x, x, ctx); ec_pow2 (x, x, ctx);
ec_pow2 (y, y, ctx); ec_pow2 (y, y, ctx);
if (ctx->dialect == ECC_DIALECT_ED25519) if (ctx->dialect == ECC_DIALECT_ED25519)

2
third_party/libgcrypt/random/rndjent.c поставляемый
Просмотреть файл

@ -1,6 +1,6 @@
/* rndjent.c - Driver for the jitterentropy module. /* rndjent.c - Driver for the jitterentropy module.
* Copyright (C) 2017 g10 Code GmbH * Copyright (C) 2017 g10 Code GmbH
* Copyright (C) 2017 Bundesamt für Sicherheit in der Informationstechnik * Copyright (C) 2017 Bundesamt für Sicherheit in der Informationstechnik
* Copyright (C) 2013 Stephan Mueller <smueller@chronox.de> * Copyright (C) 2013 Stephan Mueller <smueller@chronox.de>
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

0
third_party/libgcrypt/tests/basic_all_hwfeature_combinations.sh поставляемый Normal file → Executable file
Просмотреть файл

4
third_party/libgcrypt/tests/bench-slope.c поставляемый
Просмотреть файл

@ -176,7 +176,7 @@ get_time_nsec_diff (struct nsec_time *start, struct nsec_time *end)
double nsecs; double nsecs;
nsecs = end->tv.tv_sec - start->tv.tv_sec; nsecs = end->tv.tv_sec - start->tv.tv_sec;
nsecs *= 1000000; /* sec => sec */ nsecs *= 1000000; /* sec => µsec */
/* This way we don't have to care if tv_usec unsigned or signed. */ /* This way we don't have to care if tv_usec unsigned or signed. */
if (end->tv.tv_usec >= start->tv.tv_usec) if (end->tv.tv_usec >= start->tv.tv_usec)
@ -184,7 +184,7 @@ get_time_nsec_diff (struct nsec_time *start, struct nsec_time *end)
else else
nsecs -= start->tv.tv_usec - end->tv.tv_usec; nsecs -= start->tv.tv_usec - end->tv.tv_usec;
nsecs *= 1000; /* sec => nsec */ nsecs *= 1000; /* µsec => nsec */
return nsecs; return nsecs;
} }

2
third_party/libgcrypt/tests/cavs_driver.pl поставляемый Normal file → Executable file
Просмотреть файл

@ -3,7 +3,7 @@
# $Id: cavs_driver.pl 1497 2009-01-22 14:01:29Z smueller $ # $Id: cavs_driver.pl 1497 2009-01-22 14:01:29Z smueller $
# #
# CAVS test driver (based on the OpenSSL driver) # CAVS test driver (based on the OpenSSL driver)
# Written by: Stephan Müller <sm@atsec.com> # Written by: Stephan Müller <sm@atsec.com>
# Copyright (c) atsec information security corporation # Copyright (c) atsec information security corporation
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # Permission is hereby granted, free of charge, to any person obtaining a copy

0
third_party/libgcrypt/tests/cavs_tests.sh поставляемый Normal file → Executable file
Просмотреть файл

0
third_party/libgcrypt/tests/hashtest-256g.in поставляемый Normal file → Executable file
Просмотреть файл

6
third_party/libgcrypt/tests/t-kdf.c поставляемый
Просмотреть файл

@ -157,7 +157,7 @@ check_openpgp (void)
0 aes md5 1024 abcdefghijklmnop 0 aes md5 1024 abcdefghijklmnop
0 aes md5 1024 abcdefghijklmnopq 0 aes md5 1024 abcdefghijklmnopq
0 aes md5 1024 Long_sentence_used_as_passphrase 0 aes md5 1024 Long_sentence_used_as_passphrase
0 aes md5 1024 With_utf8_umlauts:äüÖß 0 aes md5 1024 With_utf8_umlauts:äüÖß
0 aes sha1 1024 a 0 aes sha1 1024 a
0 aes sha1 1024 ab 0 aes sha1 1024 ab
0 aes sha1 1024 abc 0 aes sha1 1024 abc
@ -176,7 +176,7 @@ check_openpgp (void)
0 aes sha1 1024 abcdefghijklmnopqrstu 0 aes sha1 1024 abcdefghijklmnopqrstu
0 aes sha1 1024 Long_sentence_used_as_passphrase 0 aes sha1 1024 Long_sentence_used_as_passphrase
0 aes256 sha1 1024 Long_sentence_used_as_passphrase 0 aes256 sha1 1024 Long_sentence_used_as_passphrase
0 aes sha1 1024 With_utf8_umlauts:äüÖß 0 aes sha1 1024 With_utf8_umlauts:äüÖß
3 aes sha1 1024 a 3 aes sha1 1024 a
3 aes sha1 1024 ab 3 aes sha1 1024 ab
3 aes sha1 1024 abc 3 aes sha1 1024 abc
@ -193,7 +193,7 @@ check_openpgp (void)
3 aes sha1 1024 abcdefghijklmnopqrs 3 aes sha1 1024 abcdefghijklmnopqrs
3 aes sha1 1024 abcdefghijklmnopqrst 3 aes sha1 1024 abcdefghijklmnopqrst
3 aes sha1 1024 abcdefghijklmnopqrstu 3 aes sha1 1024 abcdefghijklmnopqrstu
3 aes sha1 1024 With_utf8_umlauts:äüÖß 3 aes sha1 1024 With_utf8_umlauts:äüÖß
3 aes sha1 1024 Long_sentence_used_as_passphrase 3 aes sha1 1024 Long_sentence_used_as_passphrase
3 aes sha1 10240 Long_sentence_used_as_passphrase 3 aes sha1 10240 Long_sentence_used_as_passphrase
3 aes sha1 102400 Long_sentence_used_as_passphrase 3 aes sha1 102400 Long_sentence_used_as_passphrase

4
third_party/libgcrypt/tests/t-sexp.c поставляемый
Просмотреть файл

@ -548,8 +548,8 @@ back_and_forth (void)
{ "((4:sha18:\x8B\x98\xCB\x22\xA9\x82\x3C\xA7""4:2097)3:\x3B\x6F\xC9)", 0}, { "((4:sha18:\x8B\x98\xCB\x22\xA9\x82\x3C\xA7""4:2097)3:\x3B\x6F\xC9)", 0},
{ "((sha1 #64652267686970C9# \"2097\") #3B6FC9#)", 0 }, { "((sha1 #64652267686970C9# \"2097\") #3B6FC9#)", 0 },
{ "((4:sha18:\x64\x65\x22\x67\x68\xc3\xa4\x71""4:2097)3:\x3B\x6F\xC9)", 0}, { "((4:sha18:\x64\x65\x22\x67\x68\xc3\xa4\x71""4:2097)3:\x3B\x6F\xC9)", 0},
{ "((sha1 \"defghäq\" \"2097\") #3B6FC9#)", 0 }, { "((sha1 \"defghäq\" \"2097\") #3B6FC9#)", 0 },
{ "((sha1 \"de\\\"ghäq\" \"2097\") #3B6FC9#)", 0 }, { "((sha1 \"de\\\"ghäq\" \"2097\") #3B6FC9#)", 0 },
{ NULL, 0 } { NULL, 0 }
}; };
int idx; int idx;