openssl/crypto/objects
Todd Short b1ceb439f2 Add RFC5297 AES-SIV support
Based originally on github.com/dfoxfranke/libaes_siv

This creates an SIV128 mode that uses EVP interfaces for the CBC, CTR
and CMAC code to reduce complexity at the cost of perfomance. The
expected use is for short inputs, not TLS-sized records.

Add multiple AAD input capacity in the EVP tests.

Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de>
(Merged from https://github.com/openssl/openssl/pull/3540)
2018-12-12 08:16:10 +10:00
..
build.info unified build scheme: add build.info files 2016-02-01 12:46:58 +01:00
o_names.c Following the license change, modify the boilerplates in crypto/objects/ 2018-12-06 15:07:30 +01:00
obj_dat.c Following the license change, modify the boilerplates in crypto/objects/ 2018-12-06 15:07:30 +01:00
obj_dat.h Add RFC5297 AES-SIV support 2018-12-12 08:16:10 +10:00
obj_dat.pl Following the license change, modify the boilerplates in crypto/objects/ 2018-12-06 15:07:30 +01:00
obj_err.c Following the license change, modify the boilerplates in crypto/objects/ 2018-12-06 15:07:30 +01:00
obj_lcl.h Following the license change, modify the boilerplates in crypto/objects/ 2018-12-06 15:07:30 +01:00
obj_lib.c Following the license change, modify the boilerplates in crypto/objects/ 2018-12-06 15:07:30 +01:00
obj_mac.num Add RFC5297 AES-SIV support 2018-12-12 08:16:10 +10:00
obj_xref.c Following the license change, modify the boilerplates in crypto/objects/ 2018-12-06 15:07:30 +01:00
obj_xref.h Following the license change, modify the boilerplates in crypto/objects/ 2018-12-06 15:07:30 +01:00
obj_xref.txt Integrate X448 and Ed448 into libcrypto 2018-03-02 10:14:31 +00:00
objects.pl Following the license change, modify the boilerplates in crypto/objects/ 2018-12-06 15:07:30 +01:00
objects.txt Add RFC5297 AES-SIV support 2018-12-12 08:16:10 +10:00
objxref.pl Following the license change, modify the boilerplates in crypto/objects/ 2018-12-06 15:07:30 +01:00
README Many spelling fixes/typo's corrected. 2017-11-11 19:03:10 -05:00

objects.txt syntax
------------------

To cover all the naming hacks that were previously in objects.h needed some
kind of hacks in objects.txt.

The basic syntax for adding an object is as follows:

	1 2 3 4		: shortName	: Long Name

		If Long Name contains only word characters and hyphen-minus
		(0x2D) or full stop (0x2E) then Long Name is used as basis
		for the base name in C. Otherwise, the shortName is used.

		The base name (let's call it 'base') will then be used to
		create the C macros SN_base, LN_base, NID_base and OBJ_base.

		Note that if the base name contains spaces, dashes or periods,
		those will be converted to underscore.

Then there are some extra commands:

	!Alias foo 1 2 3 4

		This just makes a name foo for an OID.  The C macro
		OBJ_foo will be created as a result.

	!Cname foo

		This makes sure that the name foo will be used as base name
		in C.

	!module foo
	1 2 3 4		: shortName	: Long Name
	!global

		The !module command was meant to define a kind of modularity.
		What it does is to make sure the module name is prepended
		to the base name.  !global turns this off.  This construction
		is not recursive.

Lines starting with # are treated as comments, as well as any line starting
with ! and not matching the commands above.