1
mirror of https://github.com/jedisct1/libsodium.git synced 2024-12-24 12:36:01 -07:00
Commit Graph

56 Commits

Author SHA1 Message Date
Frank Denis
b062a555da scalarmult: check that the top bit is ignored 2014-09-18 21:27:49 -07:00
Frank Denis
eacb7c7f2b Ignore gcov files 2014-09-15 18:05:19 -07:00
Frank Denis
473e1718cc Add sodium_{malloc,allocarray,free}() and sodium_mprotect_*()
ptr = sodium_malloc(size) returns a pointer from which exactly "size" bytes
can be accessed.

ptr = sodium_allocarray(count, size) allocates enough storage space for
"count" pointers or scalars of unit size "size".

In both cases, the region is immediately followed by a guard page.
As a result, any attempt to access a memory location after ptr[size - 1] will
immediately trigger a segmentation fault.

The allocated region is mlock()ed and filled with 0xd0 bytes.

A read-only page with the size, a guard page, as well as a canary are
placed before the returned pointer.

The canary is checked by sodium_free(); as a result, altering data right
before ptr is likely to cause sodium_free() to kill the process.

sodium_free() munlock()s the region and fills it with zeros before
actually calling free().

sodium_mprotect_noaccess(), sodium_mprotect_readonly() and
sodium_mprotect_readwrite() can be used to change the protection on the set
of allocated pages.

Reverting the protection to read+write is not required before calling
sodium_free().
2014-08-14 21:41:05 -07:00
Frank Denis
eae4add8de Implement ed25519 -> curve25519 keys conversion 2014-08-05 13:32:25 -07:00
Frank Denis
7b0eeda1c6 Remove aes256estream.
AES-256 will be reintroduced, but not until we have a bitsliced implementation.
2014-08-05 00:57:10 -07:00
Frank Denis
a7410966ea Rename secretbox_chacha20poly1305() -> aead_chacha20poly1305()
The tag is still at the end. This will be changed right after.
2014-06-26 08:48:13 -07:00
Frank Denis
bd1490a6cd Add AEAD_CHACHA20_POLY1305
With a twist: in order to be consistent with the crypto_stream
interface, the tag has to come before the ciphertext.
2014-06-19 22:49:33 -07:00
Frank Denis
2058eaea99 Revert bd8cbd3175
Go back to masking the high bit in curve25519 instead of processing the
key as a 256-bit value.
2014-06-06 08:22:11 -07:00
Anders Johansson
d47d5d8623 Add test for Tarsnap testvectors to low-level scrypt interface 2014-06-01 20:58:20 +02:00
Jan Varho
f438116b6b Test crypto_box_seed_keypair 2014-05-23 10:33:58 +03:00
Frank Denis
7381983f8b Preliminary chacha20 support 2014-05-15 13:27:15 -07:00
Frank Denis
299ff0ceb3 Add a minimal test for crypto_pwhash 2014-05-07 23:54:55 -07:00
Frank Denis
9d29f94ac2 Add overdue crypto_sign test 2014-05-07 23:23:13 -07:00
Frank Denis
b4549d8bde Update .gitignore for the new tests 2014-04-15 18:12:14 -07:00
Frank Denis
cb2ce89a03 Add a test for crypto_verify_*() 2014-04-14 18:37:28 -07:00
evoskuil
7f046509ef Add VS2012/VS2010 solutions, add test proj to VS2013, remove export files. 2014-04-07 19:06:10 -07:00
evoskuil
19ebd2567b Add vs2013 project with static/ltcg/dynamic, debug/release, x86/x64, NuGet. 2014-04-07 02:04:26 -07:00
Sergey Shatunov
16a7691ead Build scripts for android arm/x86/mips 2014-02-17 17:31:35 +08:00
Frank Denis
aaa4dab74a Add a simple test for the secretbox easy interface. 2013-12-31 18:46:10 +01:00
Frank Denis
e8509072a9 Add an easy interface to secretbox 2013-12-31 18:37:36 +01:00
Frank Denis
a29fcf90a6 Add a simple test for crypto_box_open_easy() 2013-12-31 18:37:36 +01:00
Frank Denis
02ec147a00 Add a crypto_box easy interface 2013-12-31 18:37:36 +01:00
Frank Denis
b989d28925 Do not require droid-gcc any more to compile for Android 2013-12-31 16:07:01 +01:00
Frank Denis
aec12d00b3 .gitignore << generichash3 2013-12-21 19:02:26 -08:00
Frank Denis
bf72ee931e Make crypto_scalarmult_curve25519.h architecture-independent 2013-12-11 20:17:09 -08:00
Frank Denis
5133638024 Make crypto_stream_salsa20.h architecture-independent.
Move implementation-specific functions to compat.c
2013-12-11 19:45:11 -08:00
Frank Denis
5ad45ee98c Move Doxygen API doc to its own branch until it is complete. 2013-12-09 18:04:05 -08:00
Jan de Muijnck-Hughes
e1218882d4 Initial commit for contribution of documentation.
+ Updated `.gitignore`
+ Added `Doxyfile`.

[Doxygen](http://www.doxygen.org) has been setup to look for documented `C` fles within:

+ `src/sodium/includes`; and
+ `test`

When run with the Doxygen tool documentation will be generated within
the directory `doxydoc`. The projects README.markdown file is used at
the documentation's main page.

More information on Doxygen tags and abilities can be found on the
projects website: http://www.doxygen.org
2013-12-08 14:46:19 +00:00
Frank Denis
93d38501ff Ignore .sdf files 2013-10-21 20:55:41 -07:00
Frank Denis
390f9acc1d Ignore the Build directory 2013-10-21 16:44:36 -07:00
Frank Denis
bd8cbd3175 Make curve25519-donna-c64 handle non-canonical points like the ref implementation. 2013-10-13 12:49:15 -07:00
Frank Denis
9c1596194e Ignore libsodium.pc 2013-08-18 14:05:43 -06:00
Frank Denis
8ba5834468 Add .dirstamp to .ignore 2013-08-05 11:21:27 -07:00
Frank Denis
24014415a1 Add ../crypto_stream_salsa20.h to .gitignore 2013-04-27 17:23:44 -07:00
Frank Denis
808d1807dc Add optimized salsa20 amd64 assembly implementation 2013-04-27 10:21:32 -07:00
Frank Denis
fd7a96d049 Ignore *.plist 2013-04-27 09:08:53 -07:00
Frank Denis
57a4552eb1 + aes256estream 2013-04-26 21:06:34 -07:00
Frank Denis
732b7e1380 Ignore libsodium-* 2013-04-26 00:04:21 -07:00
Frank Denis
9131967397 We don't need libltdl 2013-04-25 22:51:19 -07:00
Frank Denis
4c31bb5ef1 Add tests for sodium_*() functions. 2013-04-25 22:37:15 -07:00
Frank Denis
06ad7fc76f .gitignore: ignore .DEF file for Windows 2013-04-23 23:06:42 -07:00
Frank Denis
e56415489c Add some test vectors for the generichash streaming API 2013-04-21 17:32:09 -07:00
Frank Denis
8088b99359 Update .gitignore 2013-04-21 17:32:09 -07:00
Frank Denis
2916224650 Use curve25519_donna_c64 instead of curve25519_ref if supported. 2013-04-21 17:32:07 -07:00
Frank Denis
cac486b789 Add version.h to .gitignore 2013-02-18 15:29:21 -08:00
Frank Denis
926803f996 Move curvecp, split libcurvecp to its own dir 2013-02-18 15:14:55 -08:00
Frank Denis
60d788a444 Compile curvecp. This will be optional and disabled by default as it is
not exactly portable.
2013-02-18 13:56:29 -08:00
Frank Denis
6774b47cd4 Reintroduce shorthash, this time with the key... 2013-02-13 21:14:29 +08:00
Frank Denis
e5e2150919 Revert "Add crypto_shorthash() for non collision-resistant hash functions"
This reverts commit c8fe5c4afb.

Conflicts:
	.gitignore
	test/Makefile.am
	test/default/shorthash.c
	test/default/shorthash.exp
2013-02-13 20:33:17 +08:00
Frank Denis
5c946f9c61 Move tests to test/default and windows to quirks/windows.
test/default contains only tests using the default primitives
for a given operation. We need to add other tests as well.
2013-02-09 04:21:32 +08:00