summaryrefslogtreecommitdiffstats
path: root/cpukit/libmd (follow)
Commit message (Collapse)AuthorAgeFilesLines
* sha512_224: Fix SHA512_224_Final() on little-endian machines.Sebastian Huber2023-02-061-5/+8
| | | | | | | PR: 266863 MFC after: 1 week Reviewed by: allanjude, cperciva, des Differential Revision: https://reviews.freebsd.org/D38372
* libmd: Remove extra digest copy in SHA256_Final()Sebastian Huber2022-11-091-1/+0
| | | | | The extra digest copy was introduced by an erroneous merge conflict resolution for commit "crypto routines: Hint minimum buffer sizes to the compiler".
* libmd: Always erase context in _Final method,Xin LI2022-09-082-5/+5
| | | | | | | | | | and when doing it, consistently use explicit_bzero(). Update manual pages to match the behavior. Reviewed by: pfg, allanjude, jmg MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D16316
* Implement SHA2-224 submode of SHA2-256Conrad Meyer2022-09-081-0/+51
| | | | | Like SHA2-384:SHA2-512, SHA2-224 is simply a truncated SHA2-256 with a different initial vector. Add to round out the complete basic SHA2 family.
* Retune SHA2 code for improved performance on CPUsColin Percival2022-09-082-190/+198
| | | | | | | | | | | | | | | with more ILP and a preference for memory load instructions over large code footprints with embedded immediate variables. On amd64 CPUs from 2007-2008 there is not a significant change, but amd64 CPUs from 2009-2010 get roughly 10% more throughput with this code; amd64 CPUs from 2011-2012 get roughly 15% more throughput; and AMD64 CPUs from 2013-2015 get 20-25% more throughput. The Raspberry Pi 2 increases its throughput by 6-8%. Sponsored by: Tarsnap Backup Inc. Performance tested by: allanjude MFC after: 3 weeks
* Implement SHA-512 truncated (224 and 256 bits)Allan Jude2022-09-081-0/+84
| | | | | | | | | | | | | | | | | | | This implements SHA-512/256, which generates a 256 bit hash by calculating the SHA-512 then truncating the result. A different initial value is used, making the result different from the first 256 bits of the SHA-512 of the same input. SHA-512 is ~50% faster than SHA-256 on 64bit platforms, so the result is a faster 256 bit hash. The main goal of this implementation is to enable support for this faster hashing algorithm in ZFS. The feature was introduced into ZFS in r289422, but is disconnected because SHA-512/256 support was missing. A further commit will enable it in ZFS. This is the follow on to r292782 Reviewed by: cem Sponsored by: ScaleEngine Inc. Differential Revision: https://reviews.freebsd.org/D6061
* crypto routines: Hint minimum buffer sizes to the compilerConrad Meyer2022-09-082-6/+7
| | | | | | | | | | | Use the C99 'static' keyword to hint to the compiler IVs and output digest sizes. The keyword informs the compiler of the minimum valid size for a given array. Obviously not every pointer can be validated (i.e., the compiler can produce false negative but not false positive reports). No functional change. No ABI change. Sponsored by: EMC / Isilon Storage Division
* Replace sys/crypto/sha2/sha2.c with lib/libmd/sha512c.cAllan Jude2022-09-081-13/+64
| | | | | | | | | | | | | | | | | | cperciva's libmd implementation is 5-30% faster The same was done for SHA256 previously in r263218 cperciva's implementation was lacking SHA-384 which I implemented, validated against OpenSSL and the NIST documentation Extend sbin/md5 to create sha384(1) Chase dependancies on sys/crypto/sha2/sha2.{c,h} and replace them with sha512{c.c,.h} Reviewed by: cperciva, des, delphij Approved by: secteam, bapt (mentor) MFC after: 2 weeks Sponsored by: ScaleEngine Inc. Differential Revision: https://reviews.freebsd.org/D3929
* cpukit: Fixes for GCC 12 warningsChris Johns2022-06-151-1/+1
| | | | Updates #6442
* build: Merge libmd/Makefile.amSebastian Huber2018-10-101-14/+0
|
* build: Remove specialized CPPFLAGSSebastian Huber2018-10-091-1/+0
|
* Remove make preinstallChris Johns2018-01-256-272/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A speciality of the RTEMS build system was the make preinstall step. It copied header files from arbitrary locations into the build tree. The header files were included via the -Bsome/build/tree/path GCC command line option. This has at least seven problems: * The make preinstall step itself needs time and disk space. * Errors in header files show up in the build tree copy. This makes it hard for editors to open the right file to fix the error. * There is no clear relationship between source and build tree header files. This makes an audit of the build process difficult. * The visibility of all header files in the build tree makes it difficult to enforce API barriers. For example it is discouraged to use BSP-specifics in the cpukit. * An introduction of a new build system is difficult. * Include paths specified by the -B option are system headers. This may suppress warnings. * The parallel build had sporadic failures on some hosts. This patch removes the make preinstall step. All installed header files are moved to dedicated include directories in the source tree. Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc, etc. Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g. erc32, imx, qoriq, etc. The new cpukit include directories are: * cpukit/include * cpukit/score/cpu/@RTEMS_CPU@/include * cpukit/libnetworking The new BSP include directories are: * bsps/include * bsps/@RTEMS_CPU@/include * bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include There are build tree include directories for generated files. The include directory order favours the most general header file, e.g. it is not possible to override general header files via the include path order. The "bootstrap -p" option was removed. The new "bootstrap -H" option should be used to regenerate the "headers.am" files. Update #3254.
* libmd: Disable SHA modules for m32cSebastian Huber2015-03-052-0/+3
| | | | Close #2219.
* Add SHA256 and SHA512 supportSebastian Huber2014-11-206-2/+758
|
* libmd: Change MD5Update() prototypeSebastian Huber2013-10-312-2/+5
| | | | | This is in line with the FreeBSD and OpenSSL prototypes. It helps to avoid superfluous compiler warnings.
* libmd: New defines for FreeBSD compatibilitySebastian Huber2013-10-221-0/+3
|
* Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill2012-05-113-6/+0
| | | | | | | | | | | | Script does what is expected and tries to do it as smartly as possible. + remove occurrences of two blank comment lines next to each other after Id string line removed. + remove entire comment blocks which only exited to contain CVS Ids + If the processing left a blank line at the top of a file, it was removed.
* Revert: Remove CVS IdsJoel Sherrill2012-05-071-0/+4
| | | | | See http://www.rtems.org/pipermail/rtems-devel/2012-May/001006.html for details.
* Remove CVS-Ids.Ralf Corsépius2012-05-041-4/+0
|
* Remove all .cvsignore files.Joel Sherrill2012-02-011-2/+0
|
* 2010-09-13 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2010-09-131-0/+8
| | | | * libmd/md5.h: C++ compatibility.
* 2010-07-16 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2010-07-161-3/+0
| | | | * libmd/md4.c: Removed definition of TRUE and FALSE.
* 2010-06-14 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2010-06-141-2/+0
| | | | * libmd/md5.h: Revert Sebastian's patch.
* 2010-06-14 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2010-06-141-0/+2
| | | | * libmd/md5.h: Define MD5_DIGEST_SIZE.
* Add HAVE_CONFIG_H support to let files receive configure defines.Ralf Corsepius2010-03-282-0/+8
|
* #include <stdint.h> instead of <rtems/stdint.h>.Ralf Corsepius2008-12-112-2/+2
|
* Stop using old-style function-definitions.Ralf Corsepius2008-08-252-13/+13
|
* Add missing prototypes.Ralf Corsepius2008-08-022-14/+14
|
* 2007-06-12 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2007-06-121-0/+2
| | | | * libmd/.cvsignore: New file.
* New (moved out from pppd).Ralf Corsepius2007-06-126-0/+747