1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- /*
- * cifra - embedded cryptography library
- * Written in 2014 by Joseph Birr-Pixton <jpixton@gmail.com>
- *
- * To the extent possible under law, the author(s) have dedicated all
- * copyright and related and neighboring rights to this software to the
- * public domain worldwide. This software is distributed without any
- * warranty.
- *
- * You should have received a copy of the CC0 Public Domain Dedication
- * along with this software. If not, see
- * <http://creativecommons.org/publicdomain/zero/1.0/>.
- */
- #ifndef CF_CONFIG_H
- #define CF_CONFIG_H
- /**
- * Library configuration
- * =====================
- */
- /* .. c:macro:: CF_SIDE_CHANNEL_PROTECTION
- * Define this as 1 if you need all available side channel protections.
- * **This option may alter the ABI**.
- *
- * This has a non-trivial performance penalty. Where a
- * side-channel free option is cheap or free (like checking
- * a MAC) this is always done in a side-channel free way.
- *
- * The default is **on** for all available protections.
- */
- #ifndef CF_SIDE_CHANNEL_PROTECTION
- # define CF_SIDE_CHANNEL_PROTECTION 1
- #endif
- /* .. c:macro:: CF_TIME_SIDE_CHANNEL_PROTECTION
- * Define this as 1 if you need timing/branch prediction side channel
- * protection.
- *
- * You probably want this. The default is on. */
- #ifndef CF_TIME_SIDE_CHANNEL_PROTECTION
- # define CF_TIME_SIDE_CHANNEL_PROTECTION CF_SIDE_CHANNEL_PROTECTION
- #endif
- /* .. c:macro:: CF_CACHE_SIDE_CHANNEL_PROTECTION
- * Define this as 1 if you need cache side channel protection.
- *
- * If you have a microcontroller with no cache, you can turn this off
- * without negative effects.
- *
- * The default is on. This will have some performance impact,
- * especially on AES.
- */
- #ifndef CF_CACHE_SIDE_CHANNEL_PROTECTION
- # define CF_CACHE_SIDE_CHANNEL_PROTECTION CF_SIDE_CHANNEL_PROTECTION
- #endif
- #endif
|