Commit Graph
277 Commits
Author SHA1 Message Date
Frank Denis 18015e71e2 randombytes_stir() returns void 2013-09-24 14:05:34 -07:00
Frank Denis 02bb86d18b MSVC/portable-jane.h: don't redefine _CRT_SECURE_NO_WARNINGS 2013-09-24 13:42:23 -07:00
Frank Denis 8086d6f696 blake2: remove more declarations in for() for MSVC 2013-09-24 13:38:02 -07:00
Frank Denis 14809c12c4 MSVC doesn't like a definition in a for() loop. 2013-09-24 13:28:31 -07:00
Frank Denis c43440f01c More fixes for big-endian architectures 2013-09-21 19:43:39 -07:00
Frank Denis c19b0128e2 Add aes256-table-be.h to the Makefile 2013-09-21 18:56:24 -07:00
Frank Denis 29f81d167c aes256 table for big endian 2013-09-21 18:55:36 -07:00
Frank Denis 15f87c1c90 Reformat aes-table-le.h 2013-09-21 18:50:59 -07:00
Frank Denis 5dd623e96d Move endian-dependent aes256estream/aes-table.h bits to aes-table-le.h 2013-09-21 18:27:11 -07:00
Frank Denis 30e27fcd25 Make aes256estream implementation less LE dependant. BE Sbox coming up next. 2013-09-21 15:27:34 -07:00
Frank Denis b03a2991b2 Add crypto_onetimeauth_poly1305_ref() wrapper. 2013-09-09 22:17:54 -07:00
Frank Denis 554ad5bb6c Remove ALIGN definition from portable-jane.h
A macro of the same name is already defined by OpenBSD's libc, and the
portable-jane.h one is not in use yet.
2013-09-08 13:55:54 -07:00
Frank Denis 493f71a98a Use autoconf to possibly define CPU_ALIGNED_ACCESS_REQUIRED 2013-09-08 10:39:27 -07:00
Frank Denis 2181c087e3 Define CPU type in aes256ctr.
That should be changed to an autoconf test.
2013-09-08 10:01:32 -07:00
Frank Denis 05d6defd77 Quick quirk to support unaligned input for aes256estream. 2013-09-07 16:40:51 -07:00
Frank Denis 82d97ce5fb aes256estream: don't assume that unaligned words can be read (for the input) 2013-09-07 16:13:16 -07:00
Frank Denis 69641010c9 Reindent aes256.h, remove commented code 2013-09-07 16:02:24 -07:00
Frank Denis 25c9a00868 Add explicit "const" when casting pointers. No binary changes.
By Massimo Cetra.
2013-09-07 15:39:03 -07:00
Frank Denis df5a4f56c3 aes256-hongjun: move partial_precompute_tworounds() out of aes256.h 2013-09-07 15:26:46 -07:00
Frank Denis ecff56742b Rename crypto_onetimeauth_poly1305_ref_implementation_name() prototype. 2013-09-07 15:21:37 -07:00
Massimo Cetra 4e35c3f327 fix compile warnings
When compiling with [-Wold-style-declaration] on GCC, this warning appears:

  warning: ‘inline’ is not at beginning of declaration

This is easily fixed moving the INLINE directive at the very beginning of the declaration
2013-09-07 00:15:36 +02:00
Frank Denis 6b3691be00 More CPUs supporting unaligned access 2013-08-07 16:49:45 -07:00
Frank Denis 4b6f1f5114 Don't assume that unaligned word access is ok, except on x86 & amd64. 2013-08-07 16:38:54 -07:00
Frank Denis bcfed75ad4 Rename stream_salsa20_amd64_xmm6.s to stream_salsa20_amd64_xmm6.S 2013-08-07 14:53:15 -07:00
Manuel Rüger 1f4b11d5ab Add stackmarkings to stream_salsa20_amd64_xmm6.s
I'm trying to package libsodium for gentoo and received
 * !WX --- --- usr/lib64/libsodium.a:stream_salsa20_amd64_xmm6.o

According to http://www.gentoo.org/proj/en/hardened/gnu-stack.xml
this commit fixes it.
2013-08-04 04:42:56 +02:00
Frank Denis 879112786c Switch poly1305-ref to Floodyberry's poly1305-donna-unrolled. 2013-07-20 17:57:32 -07:00
Frank Denis 49f658c647 Fix C++ compat for utils.c 2013-07-12 21:46:27 -07:00
David Sheets c7313f56a6 Add a crypto_sign_SEEDBYTES macro/getter and associated ed25519 macro/getter 2013-07-12 17:44:32 +01:00
Frank Denis 6ee74618d0 Use sodium_bin2hex() instead of duplicating the same code everywhere. 2013-07-07 23:46:42 -07:00
Frank Denis 1a3786705e Add a sodium_bin2hex utility function. 2013-07-07 23:38:14 -07:00
Frank Denis 34fe1205ac Mark clang false positives 2013-07-07 18:57:09 -07:00
Frank Denis cdbbe47ed9 Remove dead assignments that the compiler optimizes out. 2013-07-07 14:27:31 -07:00
irungentoo 4c43660f68 libsodium now cross compiles correctly for Windows from Linux. 2013-07-03 14:41:47 -04:00
Frank Denis d0e84777ab Add missing SODIUM_EXPORT in crypto_stream.h 2013-06-05 21:54:52 -07:00
Frank Denis 01ee32e3a3 Merge remote-tracking branch 'stouset/add-lookup-methods-for-all-constants'
* stouset/add-lookup-methods-for-all-constants:
  Add remaining functions for looking up constants
  Fix definition of crypto_box_curve25519xsalsa20poly1305_macbytes
  Add functions exposing constants for all operation/primitive pairs
2013-05-22 11:42:58 -07:00
Frank Denis 802369e9dd No need to call randombytes_sysrandom_stir_if_needed() twice. 2013-05-22 11:19:13 -07:00
Frank Denis e68b08a4ff Call randombytes_salsa20_random_stir_if_needed() only when we don't have
anything in stock, and reduce the number of required getpid() calls.
2013-05-22 11:17:37 -07:00
Stephen Touset 98c02a21d6 Add remaining functions for looking up constants
The automated script that generated functions for looking up #define'd
constants didn't handle edge cases in these files, so these have been
added by hand. They're thus either more likely or less likely to
contain mistakes (depending on one's particular point of view).
2013-05-16 15:48:08 -07:00
Stephen Touset 2a0f3d040f Fix definition of crypto_box_curve25519xsalsa20poly1305_macbytes
This function definition was created by an automated script that
incorrectly handled a corner case.
2013-05-16 15:27:28 -07:00
Stephen Touset 8eea4a3f74 Add functions exposing constants for all operation/primitive pairs
Wrappers for other languages can't access constants defined by C
preprocessor macros, so they must be exposed as functions. This was
already done for the "default" implementation of each operation, but
this commit adds functions for (almost) all of the underlying
primitives.

A few are currently excluded due to problems with the automated script
used to generated this commit. They are:

  * crypto_onetimeauth_poly1305
  * crypto_generichash_blake2b
  * crypto_verify16
  * crypto_verify32
2013-05-16 13:17:18 -07:00
Frank Denis 81d604c70c Add crypto_generichash_keybytes() and crypto_generichash_bytes()
to provide a default key/output size.
2013-05-16 11:45:19 -07:00
Frank Denis 4d147466bc Bump generichash minimum key and output size to 128 bits.
People who know what they are doing and who need a truncated output or a
shorter key can still do it.
But we should keep the chance for users to shoot themselves in the foot down
to a minimum.
2013-05-16 11:25:33 -07:00
Frank Denis 9578af69d2 Use crypto_generichash_state for crypto_generichash_*() wrappers. 2013-05-15 21:21:39 -07:00
Jeroen Habraken fcc7df0e54 Trivial cleanup of crypto_generichash.h 2013-05-15 22:29:21 -05:00
Frank Denis a8d4c24e42 <stdlib.h> -> <stddef.h> for size_t 2013-05-15 19:57:07 -07:00
Frank Denis 6988a02e4f Remove trailing whitespaces 2013-05-13 17:00:56 -07:00
Frank Denis ab2e1ab140 hmac/256 -> hmac512/256 in randombytes_salsa20_random_stir() to make code smaller. 2013-05-13 16:59:57 -07:00
Frank Denis 210de1570a Add --disable-asm option to disable assembly implementations.
Check that fesetenv() and fegetenv() are available. If they aren't, still
compile the floating-point implementation of poly1305, but never pick it
in sodium_init().

This helps libsodium compile and work on Emscripten and on environments with
an incomplete libc.
2013-04-28 09:44:23 -07:00
Frank Denis 013cca7087 Remove crypto_stream_salsa20.h for the distfiles. 2013-04-27 11:17:33 -07:00
Frank Denis 808d1807dc Add optimized salsa20 amd64 assembly implementation 2013-04-27 10:21:32 -07:00