Bug 1577646 - Fix encoding corruptions in imported libgcrypt library. r=me
DONTBUILD
This commit is contained in:
Родитель
f17f8dbc20
Коммит
aedfde9bb2
|
@ -31,13 +31,13 @@ List of Copyright holders
|
|||
Copyright (C) 2003 Nikos Mavroyanopoulos
|
||||
Copyright (C) 2006-2007 NTT (Nippon Telegraph and Telephone Corporation)
|
||||
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) 2013 Christian Grothoff
|
||||
Copyright (C) 2013-2017 Jussi Kivilinna
|
||||
Copyright (C) 2013-2014 Dmitry Eremin-Solenikov
|
||||
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
|
||||
|
@ -68,7 +68,7 @@ Disclaims changes.
|
|||
nh@df.lth.se
|
||||
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,
|
||||
g10/free-packet.c, g10/mdfilter.c, g10/plaintext.c, util/iobuf.c)
|
||||
rguyom@mail.dotcom.fr
|
||||
|
@ -128,7 +128,7 @@ Assigns Past and Future Changes
|
|||
openpgp@brainhub.org
|
||||
(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
|
||||
ulm@gentoo.org
|
||||
(Changes to cipher/idea.c and related files)
|
||||
|
@ -157,7 +157,7 @@ Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
|
|||
Dmitry Kasatkin <dmitry.kasatkin@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:
|
||||
|
||||
Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
|
||||
|
@ -178,7 +178,7 @@ Milan Broz <gmazyland@gmail.com>
|
|||
Peter Wu <peter@lekensteyn.nl>
|
||||
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:
|
||||
|
||||
Sergey V. <sftp.mtuci@gmail.com>
|
||||
|
@ -187,7 +187,7 @@ Sergey V. <sftp.mtuci@gmail.com>
|
|||
Stephan Mueller <smueller@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:
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
|
|
|
@ -132,7 +132,7 @@
|
|||
|
||||
(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.
|
||||
+ commit e1695a8f6ca1135d777450cf9ce64628b0778ccb
|
||||
|
@ -422,7 +422,7 @@
|
|||
(JENT_USES_GETTIME): New.
|
||||
(JENT_USES_READ_REAL_TIME): New.
|
||||
(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.
|
||||
(_gcry_rndjent_dump_stats): Use that function.
|
||||
(_gcry_rndjent_poll): Use that fucntion. Allow an ADD of NULL for an
|
||||
|
@ -1559,7 +1559,7 @@
|
|||
+ commit b766ea14ad1c27d6160531b200cc70aaa479c6dc
|
||||
* 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.
|
||||
+ commit dc76313308c184c92eb78452b503405b90fc7ebd
|
||||
|
@ -1601,7 +1601,7 @@
|
|||
+ commit 4121f15122501d8946f1589b303d1f7949c15e30
|
||||
* 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.
|
||||
+ commit 3e8074ecd3a534e8bd7f11cf17f0b22d252584c8
|
||||
|
@ -1865,7 +1865,7 @@
|
|||
(check_ecc_keys): Check that key generation fails for Ed25519 keys in
|
||||
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.
|
||||
+ commit 5f9b3c2e220ca6d0eaff32324a973ef67933a844
|
||||
|
@ -2782,7 +2782,7 @@
|
|||
|
||||
2015-08-12 Jussi Kivilinna <jussi.kivilinna@iki.fi>
|
||||
|
||||
Keccak: Fix array indexes in ? step.
|
||||
Keccak: Fix array indexes in θ step.
|
||||
+ commit 48822ae0b436bcea0fe92dbf0d88475ba3179320
|
||||
* 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.
|
||||
* cipher/camellia-glue.c (USE_AESNI_AVX, USE_AESNI_AVX2): Enable when
|
||||
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_cfb_dec, _gcry_camellia_aesni_avx_keygen)
|
||||
(_gcry_camellia_aesni_avx2_ctr_enc, _gcry_camellia_aesni_avx2_cbc_dec)
|
||||
|
@ -3380,7 +3380,7 @@
|
|||
* cipher/sha512-ssse3-amd64.S: Ditto.
|
||||
* cipher/sha512.c (USE_SSSE3, USE_AVX, USE_AVX2): Enable when
|
||||
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.
|
||||
(_gcry_sha512_transform_amd64_ssse3, _gcry_sha512_transform_amd64_avx)
|
||||
(_gcry_sha512_transform_amd64_avx_bmi2): Add ASM_FUNC_ABI to
|
||||
|
@ -3396,7 +3396,7 @@
|
|||
* cipher/sha256-ssse3-amd64.S: Ditto.
|
||||
* cipher/sha256.c (USE_SSSE3, USE_AVX, USE_AVX2): Enable when
|
||||
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.
|
||||
(_gcry_sha256_transform_amd64_ssse3, _gcry_sha256_transform_amd64_avx)
|
||||
(_gcry_sha256_transform_amd64_avx2): Add ASM_FUNC_ABI to prototypes.
|
||||
|
@ -3411,7 +3411,7 @@
|
|||
* cipher/sha1-ssse3-amd64.S: Ditto.
|
||||
* cipher/sha1.c (USE_SSSE3, USE_AVX, USE_BMI2): Enable
|
||||
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.
|
||||
(_gcry_sha1_transform_amd64_ssse3, _gcry_sha1_transform_amd64_avx)
|
||||
(_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_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.
|
||||
+ commit 3b1cc9e6c357574f54160298d731c18f3d717b6c
|
||||
|
@ -5998,7 +5998,7 @@
|
|||
+ commit c8ad83fb605fdbf6dc0b0dbcc8aedfbd477640da
|
||||
* cipher/rijndael.c (RIJNDAEL_context): Make 'decryption_prepared',
|
||||
'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): ...this, as function does not require aligned input.
|
||||
(do_aesni_dec_aligned): Rename to...
|
||||
|
@ -7862,7 +7862,7 @@
|
|||
* cipher/Makefile.am: Add 'sha512-armv7-neon.S'.
|
||||
* cipher/sha512-armv7-neon.S: New file.
|
||||
* 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
|
||||
CPU support NEON instructions.
|
||||
(k): Round constant array moved outside of 'transform' function.
|
||||
|
@ -9471,7 +9471,7 @@
|
|||
* src/hwfeatures.c (_gcry_detect_hw_features): Make cpp def chain
|
||||
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.
|
||||
+ commit baf0dc7e9c26167ab43ba2adebcf2f1abc9d9b3b
|
||||
|
@ -9504,7 +9504,7 @@
|
|||
* src/gcrypt.h.in: Add the GCRYCTL_SET_ENFORCED_FIPS_FLAG.
|
||||
* 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.
|
||||
+ commit 70cca617ed75ea292e1fed769114dda5cc1d76f1
|
||||
|
@ -9519,7 +9519,7 @@
|
|||
+ commit 46035d28c9b413851d43a4008fdc8e4cdf5d686b
|
||||
* 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.
|
||||
+ commit 318fd85f377c060908d371f792d41e599b3b7483
|
||||
|
|
|
@ -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
|
||||
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)
|
||||
|
||||
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.1 “Licensor” means Phillip Rogaway.
|
||||
1.1 “Licensor” means Phillip Rogaway.
|
||||
|
||||
1.2 “Licensed Patents” means any patent that claims priority to United
|
||||
States Patent Application No. 09/918,615 entitled “Method and Apparatus
|
||||
for Facilitating Efficient Authenticated Encryption,” and any utility,
|
||||
1.2 “Licensed Patents” means any patent that claims priority to United
|
||||
States Patent Application No. 09/918,615 entitled “Method and Apparatus
|
||||
for Facilitating Efficient Authenticated Encryption,” and any utility,
|
||||
divisional, provisional, continuation, continuations-in-part, reexamination,
|
||||
reissue, or foreign counterpart patents that may issue with respect to the
|
||||
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
|
||||
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
|
||||
a user-programmable, general-purpose computer or that takes the form of a
|
||||
computer-readable medium storing such software. Software Implementation does
|
||||
not include, for example, application-specific integrated circuits (ASICs),
|
||||
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
|
||||
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
|
||||
|
@ -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
|
||||
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
|
||||
Open Source Software. Open Source Software Implementation does not include
|
||||
any Software Implementation in which the software implicating the Licensed
|
||||
|
|
|
@ -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
|
||||
attacker who obtains 580 bytes from the standard RNG can
|
||||
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.
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@ Felix von Leitner leitner@amdiv.de
|
|||
Frank Heckenbach heckenb@mi.uni-erlangen.de
|
||||
Frank Stajano frank.stajano@cl.cam.ac.uk
|
||||
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
|
||||
Gerlinde Klaes gk@u64.de
|
||||
Greg Louis glouis@dynamicro.on.ca
|
||||
|
@ -63,8 +63,8 @@ J Horacio MG homega@ciberia.es
|
|||
Joachim Backes backes@rhrk.uni-kl.de
|
||||
Jordi Mallach jordi@sindominio.net
|
||||
John A. Martin jam@jamux.com
|
||||
Johnny Teveßen j.tevessen@gmx.de
|
||||
Jörg Schilling schilling@fokus.gmd.de
|
||||
Johnny Teveßen j.tevessen@gmx.de
|
||||
Jörg Schilling schilling@fokus.gmd.de
|
||||
Jun Kuriyama kuriyama@sky.rim.or.jp
|
||||
Karl Fogel kfogel@guanabana.onshore.com
|
||||
Karsten Thygesen karthy@kom.auc.dk
|
||||
|
@ -99,13 +99,13 @@ Nikos Mavroyanopoulos nmav@hellug.gr
|
|||
Nimrod Zimerman zimerman@forfree.at
|
||||
N J Doye nic@niss.ac.uk
|
||||
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
|
||||
Philippe Laliberte arsphl@oeil.qc.ca
|
||||
Peter Gutmann pgut001@cs.auckland.ac.nz
|
||||
QingLong qinglong@bolizm.ihep.su
|
||||
Rafael Ávila de Espíndola rafael.espindola@gmail.com
|
||||
Rafaël Carré funman@videolan.org
|
||||
Rafael Ávila de Espíndola rafael.espindola@gmail.com
|
||||
Rafaël Carré funman@videolan.org
|
||||
Ralf Fassel ralf@akutech.de
|
||||
Ralf Hildebrandt Ralf.Hildebrandt@innominate.com
|
||||
Ralf Schneider ralf@tapfere-schneiderleins.de
|
||||
|
@ -115,22 +115,22 @@ Randolph Chung tausq@debian.org
|
|||
Randy mcclellr@oit.edu
|
||||
Rat ratinox@peorth.gweep.net
|
||||
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
|
||||
Richard Outerbridge outer@interlog.com
|
||||
Roddy Strachan roddy@satlink.com.au
|
||||
Roland Rosenfeld roland@spinnaker.rhein.de
|
||||
Ross Golder rossigee@bigfoot.com
|
||||
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
|
||||
SL Baur steve@xemacs.org
|
||||
Stephan Austermuehle au@hcsd.de
|
||||
Stephan Müller smueller at atsec com
|
||||
Stephan Müller smueller at atsec com
|
||||
Stephane Corthesy stephane@sente.ch
|
||||
Stefan Karrmann S.Karrmann@gmx.net
|
||||
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 Zahn zahn@berlin.snafu.de
|
||||
Steven Bakker steven@icoe.att.com
|
||||
|
@ -145,7 +145,7 @@ Tom Zerucha tzeruch@ceddec.com
|
|||
Tomas Fasth tomas.fasth@twinspot.net
|
||||
Tommi Komulainen Tommi.Komulainen@iki.fi
|
||||
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
|
||||
Uoti Urpala
|
||||
Urko Lusa ulusa@euskalnet.net
|
||||
|
|
|
@ -1155,7 +1155,7 @@
|
|||
2006-11-03 Werner Koch <wk@g10code.com>
|
||||
|
||||
* 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>
|
||||
|
||||
|
@ -3264,7 +3264,7 @@
|
|||
2002-02-20 Werner Koch <wk@gnupg.org>
|
||||
|
||||
* 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.
|
||||
|
||||
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(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) \
|
||||
ldr RT0, [CTX, #(key_table + ((kll) * 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:
|
||||
.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:
|
||||
.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:
|
||||
.byte 0x3c, 0xcc, 0xcf, 0x3f, 0x32, 0xc2, 0xc1, 0x31
|
||||
|
@ -727,7 +727,7 @@
|
|||
* )
|
||||
* ) <<< 1
|
||||
*
|
||||
* (note: '? 0x6e' inside camellia_h())
|
||||
* (note: '⊕ 0x6e' inside camellia_h())
|
||||
*/
|
||||
.Lpost_tf_lo_s2:
|
||||
.byte 0x78, 0x99, 0x9f, 0x7e, 0x64, 0x85, 0x83, 0x62
|
||||
|
@ -750,7 +750,7 @@
|
|||
* )
|
||||
* ) >>> 1
|
||||
*
|
||||
* (note: '? 0x6e' inside camellia_h())
|
||||
* (note: '⊕ 0x6e' inside camellia_h())
|
||||
*/
|
||||
.Lpost_tf_lo_s3:
|
||||
.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:
|
||||
.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:
|
||||
.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:
|
||||
.byte 0x3c, 0xcc, 0xcf, 0x3f, 0x32, 0xc2, 0xc1, 0x31
|
||||
|
@ -710,7 +710,7 @@
|
|||
* )
|
||||
* ) <<< 1
|
||||
*
|
||||
* (note: '? 0x6e' inside camellia_h())
|
||||
* (note: '⊕ 0x6e' inside camellia_h())
|
||||
*/
|
||||
.Lpost_tf_lo_s2:
|
||||
.byte 0x78, 0x99, 0x9f, 0x7e, 0x64, 0x85, 0x83, 0x62
|
||||
|
@ -733,7 +733,7 @@
|
|||
* )
|
||||
* ) >>> 1
|
||||
*
|
||||
* (note: '? 0x6e' inside camellia_h())
|
||||
* (note: '⊕ 0x6e' inside camellia_h())
|
||||
*/
|
||||
.Lpost_tf_lo_s3:
|
||||
.byte 0x1e, 0x66, 0xe7, 0x9f, 0x19, 0x61, 0xe0, 0x98
|
||||
|
|
|
@ -222,7 +222,7 @@
|
|||
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);
|
||||
|
||||
/* perform FL and FL?¹ */
|
||||
/* perform FL and FL⁻¹ */
|
||||
#define fls(ll, lr, rl, rr, kll, klr, krl, krr) \
|
||||
ldr RT0, [CTX, #(key_table + ((kll) * 4))]; \
|
||||
ldr RT2, [CTX, #(key_table + ((krr) * 4))]; \
|
||||
|
|
|
@ -120,8 +120,8 @@ gcry_gcm_reduction_constant:
|
|||
|
||||
/* GHASH macros */
|
||||
|
||||
/* See "Gouvêa, C. P. L. & López, J. Implementing GCM on ARMv8. Topics in
|
||||
* Cryptology — CT-RSA 2015" for details.
|
||||
/* See "Gouvêa, C. P. L. & López, J. Implementing GCM on ARMv8. Topics in
|
||||
* Cryptology — CT-RSA 2015" for details.
|
||||
*/
|
||||
|
||||
/* 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
|
||||
|
||||
.Loop_4:
|
||||
/* (in0 ^ hash) * H? => rr2:rr3 */
|
||||
/* (in1) * H³ => rr0:rr1 */
|
||||
/* (in0 ^ hash) * H⁴ => rr2:rr3 */
|
||||
/* (in1) * H³ => rr0:rr1 */
|
||||
PMUL_128x128_2(rr0, rr1, rbuf1, rh3, rr2, rr3, rhash, rh4, rt1, rt0, __)
|
||||
|
||||
vld1.64 {rbuf-rbuf1}, [r2]!
|
||||
|
@ -254,8 +254,8 @@ _gcry_ghash_armv8_ce_pmull:
|
|||
veor rr0, rr0, rr2
|
||||
veor rr1, rr1, rr3
|
||||
|
||||
/* (in2) * H² => rr2:rr3 */
|
||||
/* (in3) * H¹ => rhash:rbuf3 */
|
||||
/* (in2) * H² => rr2:rr3 */
|
||||
/* (in3) * H¹ => rhash:rbuf3 */
|
||||
PMUL_128x128_2(rr2, rr3, rbuf2, rh2, rhash, rbuf3, rbuf3, rh1, rt0, rt1,
|
||||
_(vrev64.8 rbuf, rbuf))
|
||||
|
||||
|
@ -285,12 +285,12 @@ _gcry_ghash_armv8_ce_pmull:
|
|||
bhs .Loop_4
|
||||
|
||||
.Lend_4:
|
||||
/* (in0 ^ hash) * H? => rr2:rr3 */
|
||||
/* (in1) * H³ => rr0:rr1 */
|
||||
/* (in0 ^ hash) * H⁴ => rr2:rr3 */
|
||||
/* (in1) * H³ => rr0:rr1 */
|
||||
PMUL_128x128_2(rr0, rr1, rbuf1, rh3, rr2, rr3, rhash, rh4, rt1, rt0, __)
|
||||
|
||||
/* (in2) * H² => rhash:rbuf */
|
||||
/* (in3) * H¹ => rbuf1:rbuf2 */
|
||||
/* (in2) * H² => rhash:rbuf */
|
||||
/* (in3) * H¹ => rbuf1:rbuf2 */
|
||||
PMUL_128x128_2(rhash, rbuf, rbuf2, rh2, rbuf1, rbuf2, rbuf3, rh1, rt0, rt1,
|
||||
_(veor rr0, rr0, rr2;
|
||||
veor rr1, rr1, rr3))
|
||||
|
@ -396,24 +396,24 @@ _gcry_ghash_setup_armv8_ce_pmull:
|
|||
vmov rbuf1, rhash
|
||||
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, __)
|
||||
REDUCTION(rh2, rr0, rr1, rrconst_h, rt0, __)
|
||||
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
|
||||
|
||||
/* H³ */
|
||||
/* H³ */
|
||||
PMUL_128x128(rr0, rr1, rhash, rh1, rt1, __)
|
||||
REDUCTION(rh3, rr0, rr1, rrconst_h, rt1, __)
|
||||
|
||||
/* H? */
|
||||
/* H⁴ */
|
||||
PMUL_128x128(rr0, rr1, rhash, rbuf1, 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
|
||||
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(rt1)
|
||||
|
|
|
@ -77,8 +77,8 @@ gcry_gcm_reduction_constant:
|
|||
|
||||
/* GHASH macros */
|
||||
|
||||
/* See "Gouvêa, C. P. L. & López, J. Implementing GCM on ARMv8. Topics in
|
||||
* Cryptology — CT-RSA 2015" for details.
|
||||
/* See "Gouvêa, C. P. L. & López, J. Implementing GCM on ARMv8. Topics in
|
||||
* Cryptology — CT-RSA 2015" for details.
|
||||
*/
|
||||
|
||||
/* 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:
|
||||
|
||||
/* (in1) * H? => rr0:rr1 */
|
||||
/* (in2) * H? => rr2:rr3 */
|
||||
/* (in0 ^ hash) * H? => rr4:rr5 */
|
||||
/* (in1) * H⁵ => rr0:rr1 */
|
||||
/* (in2) * H⁴ => rr2:rr3 */
|
||||
/* (in0 ^ hash) * H⁶ => rr4:rr5 */
|
||||
PMUL_128x128_3(rr0, rr1, rbuf1, rh5, t0, t1,
|
||||
rr2, rr3, rbuf2, rh4, t2, t3,
|
||||
rr4, rr5, rhash, rh6, t4, t5,
|
||||
|
@ -235,9 +235,9 @@ _gcry_ghash_armv8_ce_pmull:
|
|||
eor rr0.16b, rr0.16b, rr2.16b
|
||||
eor rr1.16b, rr1.16b, rr3.16b
|
||||
|
||||
/* (in3) * H³ => rr2:rr3 */
|
||||
/* (in4) * H² => rr6:rr7 */
|
||||
/* (in5) * H¹ => rr8:rr9 */
|
||||
/* (in3) * H³ => rr2:rr3 */
|
||||
/* (in4) * H² => rr6:rr7 */
|
||||
/* (in5) * H¹ => rr8:rr9 */
|
||||
PMUL_128x128_3(rr2, rr3, rbuf3, rh3, t0, t1,
|
||||
rr6, rr7, rbuf4, rh2, t2, t3,
|
||||
rr8, rr9, rbuf5, rh1, t4, t5,
|
||||
|
@ -266,9 +266,9 @@ _gcry_ghash_armv8_ce_pmull:
|
|||
|
||||
.Lend_6:
|
||||
|
||||
/* (in1) * H? => rr0:rr1 */
|
||||
/* (in0 ^ hash) * H? => rr2:rr3 */
|
||||
/* (in2) * H? => rr4:rr5 */
|
||||
/* (in1) * H⁵ => rr0:rr1 */
|
||||
/* (in0 ^ hash) * H⁶ => rr2:rr3 */
|
||||
/* (in2) * H⁴ => rr4:rr5 */
|
||||
PMUL_128x128_3(rr0, rr1, rbuf1, rh5, t0, t1,
|
||||
rr2, rr3, rhash, rh6, t2, t3,
|
||||
rr4, rr5, rbuf2, rh4, t4, t5,
|
||||
|
@ -278,9 +278,9 @@ _gcry_ghash_armv8_ce_pmull:
|
|||
eor rr0.16b, rr0.16b, rr4.16b
|
||||
eor rr1.16b, rr1.16b, rr5.16b
|
||||
|
||||
/* (in3) * H³ => rhash:rbuf */
|
||||
/* (in4) * H² => rr6:rr7 */
|
||||
/* (in5) * H¹ => rr8:rr9 */
|
||||
/* (in3) * H³ => rhash:rbuf */
|
||||
/* (in4) * H² => rr6:rr7 */
|
||||
/* (in5) * H¹ => rr8:rr9 */
|
||||
PMUL_128x128_3(rhash, rbuf, rbuf3, rh3, t0, t1,
|
||||
rr6, rr7, rbuf4, rh2, t2, t3,
|
||||
rr8, rr9, rbuf5, rh1, t4, t5,
|
||||
|
@ -377,30 +377,30 @@ _gcry_ghash_setup_armv8_ce_pmull:
|
|||
|
||||
GET_DATA_POINTER(x2, .Lrconst)
|
||||
|
||||
/* H¹ */
|
||||
/* H¹ */
|
||||
ld1 {rh1.16b}, [x0]
|
||||
rbit rh1.16b, rh1.16b
|
||||
st1 {rh1.16b}, [x0]
|
||||
|
||||
ld1r {rrconst.2d}, [x2]
|
||||
|
||||
/* H² */
|
||||
/* H² */
|
||||
PMUL_128x128(rr0, rr1, rh1, rh1, t0, t1, __)
|
||||
REDUCTION(rh2, rr0, rr1, rrconst, t0, t1, __, __, __)
|
||||
|
||||
/* H³ */
|
||||
/* H³ */
|
||||
PMUL_128x128(rr0, rr1, rh2, rh1, t0, t1, __)
|
||||
REDUCTION(rh3, rr0, rr1, rrconst, t0, t1, __, __, __)
|
||||
|
||||
/* H? */
|
||||
/* H⁴ */
|
||||
PMUL_128x128(rr0, rr1, rh2, rh2, t0, t1, __)
|
||||
REDUCTION(rh4, rr0, rr1, rrconst, t0, t1, __, __, __)
|
||||
|
||||
/* H? */
|
||||
/* H⁵ */
|
||||
PMUL_128x128(rr0, rr1, rh2, rh3, t0, t1, __)
|
||||
REDUCTION(rh5, rr0, rr1, rrconst, t0, t1, __, __, __)
|
||||
|
||||
/* H? */
|
||||
/* H⁶ */
|
||||
PMUL_128x128(rr0, rr1, rh3, rh3, t0, t1, __)
|
||||
REDUCTION(rh6, rr0, rr1, rrconst, t0, t1, __, __, __)
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
|
||||
/*
|
||||
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.
|
||||
*/
|
||||
static inline void gfmul_pclmul(void)
|
||||
|
@ -123,10 +123,10 @@ static inline void gfmul_pclmul(void)
|
|||
static inline void gfmul_pclmul_aggr4(void)
|
||||
{
|
||||
/* Input:
|
||||
H¹: XMM0 X_i : XMM6
|
||||
H²: XMM8 X_(i-1) : XMM3
|
||||
H³: XMM9 X_(i-2) : XMM2
|
||||
H?: XMM10 X_(i-3)?Y_(i-4): XMM1
|
||||
H¹: XMM0 X_i : XMM6
|
||||
H²: XMM8 X_(i-1) : XMM3
|
||||
H³: XMM9 X_(i-2) : XMM2
|
||||
H⁴: XMM10 X_(i-3)⊕Y_(i-4): XMM1
|
||||
Output:
|
||||
Y_i: XMM1
|
||||
Inputs XMM0 stays unmodified.
|
||||
|
@ -272,7 +272,7 @@ _gcry_ghash_setup_intel_pclmul (gcry_cipher_hd_t c)
|
|||
:
|
||||
: [h_1] "m" (*tmp));
|
||||
|
||||
gfmul_pclmul (); /* H•H => H² */
|
||||
gfmul_pclmul (); /* H•H => H² */
|
||||
|
||||
asm volatile ("movdqu %%xmm1, 0*16(%[h_234])\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)
|
||||
: "memory");
|
||||
|
||||
gfmul_pclmul (); /* H•H² => H³ */
|
||||
gfmul_pclmul (); /* H•H² => H³ */
|
||||
|
||||
asm volatile ("movdqa %%xmm8, %%xmm0\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)
|
||||
: "memory");
|
||||
|
||||
gfmul_pclmul (); /* H²•H² => H? */
|
||||
gfmul_pclmul (); /* H²•H² => H⁴ */
|
||||
|
||||
asm volatile ("movdqu %%xmm1, 2*16(%[h_234])\n\t"
|
||||
:
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
* http://web.cs.ucdavis.edu/~rogaway/ocb/license1.pdf for the full
|
||||
* 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)
|
||||
*
|
||||
* 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 =
|
||||
{
|
||||
{ /* k[6] = x^(32*y) mod P(x) << 32*/
|
||||
|
|
|
@ -735,7 +735,7 @@ static const u32 crc24_table[1024] =
|
|||
static inline
|
||||
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) */
|
||||
}
|
||||
|
||||
|
|
|
@ -816,7 +816,7 @@ _gcry_ecc_eddsa_verify (gcry_mpi_t input, ECC_public_key *pkey,
|
|||
_gcry_mpi_set_buffer (h, digest, 64, 0);
|
||||
|
||||
/* 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. */
|
||||
{
|
||||
void *sbuf;
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
*/
|
||||
|
||||
@ 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/
|
||||
@
|
||||
@ 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
|
||||
.type _gcry_aes_sbox4_armv8_ce,%function;
|
||||
_gcry_aes_sbox4_armv8_ce:
|
||||
/* See "Gouvêa, C. P. L. & López, J. Implementing GCM on ARMv8. Topics in
|
||||
* Cryptology — CT-RSA 2015" for details.
|
||||
/* See "Gouvêa, C. P. L. & López, J. Implementing GCM on ARMv8. Topics in
|
||||
* Cryptology — CT-RSA 2015" for details.
|
||||
*/
|
||||
vmov.i8 q0, #0x52
|
||||
vmov.i8 q1, #0
|
||||
|
|
|
@ -1283,8 +1283,8 @@ _gcry_aes_ocb_auth_armv8_ce:
|
|||
.globl _gcry_aes_sbox4_armv8_ce
|
||||
.type _gcry_aes_sbox4_armv8_ce,%function;
|
||||
_gcry_aes_sbox4_armv8_ce:
|
||||
/* See "Gouvêa, C. P. L. & López, J. Implementing GCM on ARMv8. Topics in
|
||||
* Cryptology — CT-RSA 2015" for details.
|
||||
/* See "Gouvêa, C. P. L. & López, J. Implementing GCM on ARMv8. Topics in
|
||||
* Cryptology — CT-RSA 2015" for details.
|
||||
*/
|
||||
movi v0.16b, #0x52
|
||||
movi v1.16b, #0
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* 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
|
||||
*
|
||||
* This file is part of Libgcrypt.
|
||||
|
|
|
@ -94,8 +94,8 @@
|
|||
/*
|
||||
* These are the S-Boxes of Serpent from following research paper.
|
||||
*
|
||||
* D. A. Osvik, “Speeding up Serpent,” in Third AES Candidate Conference,
|
||||
* (New York, New York, USA), p. 317–329, National Institute of Standards and
|
||||
* D. A. Osvik, “Speeding up Serpent,” in Third AES Candidate Conference,
|
||||
* (New York, New York, USA), p. 317–329, National Institute of Standards and
|
||||
* Technology, 2000.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* D. A. Osvik, “Speeding up Serpent,” in Third AES Candidate Conference,
|
||||
* (New York, New York, USA), p. 317–329, National Institute of Standards and
|
||||
* D. A. Osvik, “Speeding up Serpent,” in Third AES Candidate Conference,
|
||||
* (New York, New York, USA), p. 317–329, National Institute of Standards and
|
||||
* Technology, 2000.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* D. A. Osvik, “Speeding up Serpent,” in Third AES Candidate Conference,
|
||||
* (New York, New York, USA), p. 317–329, National Institute of Standards and
|
||||
* D. A. Osvik, “Speeding up Serpent,” in Third AES Candidate Conference,
|
||||
* (New York, New York, USA), p. 317–329, National Institute of Standards and
|
||||
* Technology, 2000.
|
||||
*
|
||||
* Paper is also available at: http://www.ii.uib.no/~osvik/pub/aes3.pdf
|
||||
|
|
|
@ -229,8 +229,8 @@ static const char *serpent_test (void);
|
|||
/*
|
||||
* These are the S-Boxes of Serpent from following research paper.
|
||||
*
|
||||
* D. A. Osvik, “Speeding up Serpent,” in Third AES Candidate Conference,
|
||||
* (New York, New York, USA), p. 317–329, National Institute of Standards and
|
||||
* D. A. Osvik, “Speeding up Serpent,” in Third AES Candidate Conference,
|
||||
* (New York, New York, USA), p. 317–329, National Institute of Standards and
|
||||
* Technology, 2000.
|
||||
*
|
||||
* Paper is also available at: http://www.ii.uib.no/~osvik/pub/aes3.pdf
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
2009-02-22 Werner Koch <wk@g10code.com>
|
||||
|
||||
* 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>
|
||||
|
||||
|
|
|
@ -269,7 +269,7 @@ gcc -c foo.c `libgcrypt-config --cflags`
|
|||
@end example
|
||||
|
||||
Adding the output of @samp{libgcrypt-config --cflags} to the
|
||||
compiler’s command line will ensure that the compiler can find the
|
||||
compiler’s command line will ensure that the compiler can find the
|
||||
Libgcrypt header file.
|
||||
|
||||
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
|
||||
scheme which is used by default; the non-standard first byte
|
||||
@code{0x40} may optionally be used to explicit flag the use of the
|
||||
algorithm’s native compression method.
|
||||
algorithm’s native compression method.
|
||||
|
||||
The public key is similar with "private-key" replaced by "public-key"
|
||||
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
|
||||
and Pil Joong Lee. A key recovery attack on discrete log-based schemes
|
||||
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.}
|
||||
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
|
||||
|
|
|
@ -251,7 +251,7 @@
|
|||
2004-12-16 Werner Koch <wk@g10code.com>
|
||||
|
||||
* 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>
|
||||
|
||||
|
@ -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)
|
||||
|
||||
* 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)
|
||||
|
||||
|
|
|
@ -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_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, X3, D, ctx);
|
||||
ec_mulm (X3, X3, J, ctx);
|
||||
|
||||
/* Y_3 = F · (E - D) */
|
||||
/* Y_3 = F · (E - D) */
|
||||
ec_subm (Y3, E, D, ctx);
|
||||
ec_mulm (Y3, Y3, F, ctx);
|
||||
|
||||
/* Z_3 = F · J */
|
||||
/* Z_3 = F · J */
|
||||
ec_mulm (Z3, F, J, ctx);
|
||||
|
||||
#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) */
|
||||
|
||||
/* A = Z1 · Z2 */
|
||||
/* A = Z1 · Z2 */
|
||||
ec_mulm (A, Z1, Z2, ctx);
|
||||
|
||||
/* B = A^2 */
|
||||
ec_pow2 (B, A, ctx);
|
||||
|
||||
/* C = X1 · X2 */
|
||||
/* C = X1 · X2 */
|
||||
ec_mulm (C, X1, X2, ctx);
|
||||
|
||||
/* D = Y1 · Y2 */
|
||||
/* D = Y1 · Y2 */
|
||||
ec_mulm (D, Y1, Y2, ctx);
|
||||
|
||||
/* E = d · C · D */
|
||||
/* E = d · C · D */
|
||||
ec_mulm (E, ctx->b, C, ctx);
|
||||
ec_mulm (E, E, D, ctx);
|
||||
|
||||
|
@ -1123,7 +1123,7 @@ add_points_edwards (mpi_point_t result,
|
|||
/* G = B + E */
|
||||
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 (X3, X2, Y2, 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, A, ctx);
|
||||
|
||||
/* Y_3 = A · G · (D - aC) */
|
||||
/* Y_3 = A · G · (D - aC) */
|
||||
if (ctx->dialect == ECC_DIALECT_ED25519)
|
||||
{
|
||||
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, A, ctx);
|
||||
|
||||
/* Z_3 = F · G */
|
||||
/* Z_3 = F · G */
|
||||
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);
|
||||
|
||||
/* y^2 == x^3 + a·x + b */
|
||||
/* y^2 == x^3 + a·x + b */
|
||||
ec_pow2 (y, y, 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))
|
||||
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
|
||||
Euler's criterion. */
|
||||
/* 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))
|
||||
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 (y, y, ctx);
|
||||
if (ctx->dialect == ECC_DIALECT_ED25519)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* rndjent.c - Driver for the jitterentropy module.
|
||||
* 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>
|
||||
*
|
||||
* 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
0
third_party/libgcrypt/tests/basic_all_hwfeature_combinations.sh
поставляемый
Normal file → Executable file
|
@ -176,7 +176,7 @@ get_time_nsec_diff (struct nsec_time *start, struct nsec_time *end)
|
|||
double nsecs;
|
||||
|
||||
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. */
|
||||
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
|
||||
nsecs -= start->tv.tv_usec - end->tv.tv_usec;
|
||||
|
||||
nsecs *= 1000; /* オsec => nsec */
|
||||
nsecs *= 1000; /* µsec => nsec */
|
||||
|
||||
return nsecs;
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# $Id: cavs_driver.pl 1497 2009-01-22 14:01:29Z smueller $
|
||||
#
|
||||
# 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
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
|
|
|
@ -157,7 +157,7 @@ check_openpgp (void)
|
|||
0 aes md5 1024 abcdefghijklmnop
|
||||
0 aes md5 1024 abcdefghijklmnopq
|
||||
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 ab
|
||||
0 aes sha1 1024 abc
|
||||
|
@ -176,7 +176,7 @@ check_openpgp (void)
|
|||
0 aes sha1 1024 abcdefghijklmnopqrstu
|
||||
0 aes 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 ab
|
||||
3 aes sha1 1024 abc
|
||||
|
@ -193,7 +193,7 @@ check_openpgp (void)
|
|||
3 aes sha1 1024 abcdefghijklmnopqrs
|
||||
3 aes sha1 1024 abcdefghijklmnopqrst
|
||||
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 10240 Long_sentence_used_as_passphrase
|
||||
3 aes sha1 102400 Long_sentence_used_as_passphrase
|
||||
|
|
|
@ -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},
|
||||
{ "((sha1 #64652267686970C9# \"2097\") #3B6FC9#)", 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 \"de\\\"ghäq\" \"2097\") #3B6FC9#)", 0 },
|
||||
{ "((sha1 \"defghäq\" \"2097\") #3B6FC9#)", 0 },
|
||||
{ "((sha1 \"de\\\"ghäq\" \"2097\") #3B6FC9#)", 0 },
|
||||
{ NULL, 0 }
|
||||
};
|
||||
int idx;
|
||||
|
|
Загрузка…
Ссылка в новой задаче