Update README
parent
03619c0800
commit
840bc65740
30
Readme.txt
30
Readme.txt
|
|
@ -205,21 +205,25 @@ library in your programs to help avoid unwanted redirections.
|
||||||
|
|
||||||
*** Side Channel Attacks ***
|
*** Side Channel Attacks ***
|
||||||
|
|
||||||
Crypto++ attempts to resist side channel attacks using various remediations. We
|
Crypto++ attempts to resist side channel attacks using various remediations.
|
||||||
believe the library is mostly hardened but the remdiations may be incomplete. The
|
The remdiations are applied as a best effort but are probably incomplete. They
|
||||||
first line of defense uses hardware instructions when possible for block ciphers,
|
are incomplete due to cpu speculation bugs like Spectre, Meltdown, Foreshadow.
|
||||||
hashes and other primitives. Hardware acceleration remediates many timing attacks.
|
Intel generally refers to them as "Microarchitectural Data Sampling" (MDS).
|
||||||
The library also uses cache-aware algoirthms and access patterns to minimize leakage.
|
|
||||||
|
|
||||||
Some of the public key algorithms have branches and some of the branches depend on
|
The library uses hardware instructions when possible for block ciphers, hashes
|
||||||
data that can be private or secret. The branching occurs in some field operations
|
and other operations. The hardware acceleration remediates some timing
|
||||||
like exponentiation over integers and elliptic curves. The branching has been
|
attacks. The library also uses cache-aware algoirthms and access patterns
|
||||||
minimized but not completely eliminated.
|
to minimize leakage cache evictions.
|
||||||
|
|
||||||
Crypto++ does not enagage Specter remediations at this time. The GCC options for
|
Some of the public key algorithms have branches and some of the branches depend
|
||||||
Specter are -mfunction-return=thunk and -mindirect-branch=thunk, and the library
|
on data that can be private or secret. The branching occurs in some field
|
||||||
uses them during testing. If you want the Specter workarounds then add the GCC
|
operations like exponentiation over integers and elliptic curves. The branching
|
||||||
options to your CXXFLAGS when building the library.
|
has been minimized but not completely eliminated.
|
||||||
|
|
||||||
|
Crypto++ does not enagage Specter remediations at this time. The GCC options
|
||||||
|
for Specter are -mfunction-return=thunk and -mindirect-branch=thunk, and the
|
||||||
|
library uses them during testing. If you want the Specter workarounds then add
|
||||||
|
the GCC options to your CXXFLAGS when building the library.
|
||||||
|
|
||||||
If you suspect or find an information leak then please report it.
|
If you suspect or find an information leak then please report it.
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue