| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Add get_byte_var for the few cases that need a variable index
|
| |
|
| |
|
|
|
|
|
|
| |
This actually only degrades performance slightly, and Whirlpool
is already quite slow. Saves 14K of ROM and probably lessens
side channel risk a bit.
|
|
|
|
|
|
|
|
|
| |
We had done this in an ad-hoc way in the past for eg the AES tables
but given how easy C++'s alignas is to use we should apply it
universally.
Use 256 byte alignment for larger tables since that heads of any
possible issues that arise from machines with large cache lines.
|
|
|
|
|
|
|
|
|
| |
Now modules default to internal headers instead of defaulting to public; making
a new public API should be a visible and intentional choice.
Brings the public header count from over 300 to around 150.
Also removes the deprecated tls_blocking interface
|
| |
|
|
|
|
|
|
| |
ISO C++ reserves names with double underscores in them
Closes #512
|
|
|
|
|
| |
Defined in build.h, all equal to BOTAN_DLL so ties into existing
system for exporting symbols.
|
|
|
|
| |
See GH #1037
|
| |
|
|
|
|
|
|
| |
Renames a couple of functions for somewhat better name consistency,
eg make_u32bit becomes make_uint32. The old typedefs remain for now
since probably lots of application code uses them.
|
|
|
|
|
|
|
| |
In some cases this can offer better optimization, via devirtualization.
And it lets the user know the class is not intended for derivation.
Some discussion in GH #402
|
| |
|
|
|
|
| |
Only user-visible change is the removal of get_byte.h
|
|
|
|
|
|
|
|
|
|
|
| |
The support problems from having static libraries not work in the
obvious way will be endless trouble. Instead have each set of
registrations tag along in a source file for the basic type, at the
cost of some extra ifdefs. On shared libs this is harmless -
everything is going into the shared object anyway. With static libs,
this means pulling in a single block cipher pulls in the text of all
the them. But that's still strictly better than the amalgamation
(which is really pulling in everything), and it works (unlike status quo).
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Update license header line to specify the terms and refer to the file,
neither of which it included before.
|
|
|
|
|
| |
Define some new functions for copying out arrays of words and use them
across hashes.
|
|
|
|
|
| |
Remove the unhelpful 'Algorithm' base class which had previously
acted more or less as a global base.
|
|
|