mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 21:51:50 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			92 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			92 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
| Implementation by the Keccak, Keyak and Ketje Teams, namely, Guido Bertoni,
 | |
| Joan Daemen, Michaƫl Peeters, Gilles Van Assche and Ronny Van Keer, hereby
 | |
| denoted as "the implementer".
 | |
| 
 | |
| For more information, feedback or questions, please refer to our websites:
 | |
| http://keccak.noekeon.org/
 | |
| http://keyak.noekeon.org/
 | |
| http://ketje.noekeon.org/
 | |
| 
 | |
| To the extent possible under law, the implementer has waived all copyright
 | |
| and related or neighboring rights to the source code in this file.
 | |
| http://creativecommons.org/publicdomain/zero/1.0/
 | |
| */
 | |
| 
 | |
| #include "KeccakSponge.h"
 | |
| 
 | |
| #ifdef KeccakReference
 | |
|     #include "displayIntermediateValues.h"
 | |
| #endif
 | |
| 
 | |
| #ifndef KeccakP200_excluded
 | |
|     #include "KeccakP-200-SnP.h"
 | |
| 
 | |
|     #define prefix KeccakWidth200
 | |
|     #define SnP KeccakP200
 | |
|     #define SnP_width 200
 | |
|     #define SnP_Permute KeccakP200_Permute_18rounds
 | |
|     #if defined(KeccakF200_FastLoop_supported)
 | |
|         #define SnP_FastLoop_Absorb KeccakF200_FastLoop_Absorb
 | |
|     #endif
 | |
|         #include "KeccakSponge.inc"
 | |
|     #undef prefix
 | |
|     #undef SnP
 | |
|     #undef SnP_width
 | |
|     #undef SnP_Permute
 | |
|     #undef SnP_FastLoop_Absorb
 | |
| #endif
 | |
| 
 | |
| #ifndef KeccakP400_excluded
 | |
|     #include "KeccakP-400-SnP.h"
 | |
| 
 | |
|     #define prefix KeccakWidth400
 | |
|     #define SnP KeccakP400
 | |
|     #define SnP_width 400
 | |
|     #define SnP_Permute KeccakP400_Permute_20rounds
 | |
|     #if defined(KeccakF400_FastLoop_supported)
 | |
|         #define SnP_FastLoop_Absorb KeccakF400_FastLoop_Absorb
 | |
|     #endif
 | |
|         #include "KeccakSponge.inc"
 | |
|     #undef prefix
 | |
|     #undef SnP
 | |
|     #undef SnP_width
 | |
|     #undef SnP_Permute
 | |
|     #undef SnP_FastLoop_Absorb
 | |
| #endif
 | |
| 
 | |
| #ifndef KeccakP800_excluded
 | |
|     #include "KeccakP-800-SnP.h"
 | |
| 
 | |
|     #define prefix KeccakWidth800
 | |
|     #define SnP KeccakP800
 | |
|     #define SnP_width 800
 | |
|     #define SnP_Permute KeccakP800_Permute_22rounds
 | |
|     #if defined(KeccakF800_FastLoop_supported)
 | |
|         #define SnP_FastLoop_Absorb KeccakF800_FastLoop_Absorb
 | |
|     #endif
 | |
|         #include "KeccakSponge.inc"
 | |
|     #undef prefix
 | |
|     #undef SnP
 | |
|     #undef SnP_width
 | |
|     #undef SnP_Permute
 | |
|     #undef SnP_FastLoop_Absorb
 | |
| #endif
 | |
| 
 | |
| #ifndef KeccakP1600_excluded
 | |
|     #include "KeccakP-1600-SnP.h"
 | |
| 
 | |
|     #define prefix KeccakWidth1600
 | |
|     #define SnP KeccakP1600
 | |
|     #define SnP_width 1600
 | |
|     #define SnP_Permute KeccakP1600_Permute_24rounds
 | |
|     #if defined(KeccakF1600_FastLoop_supported)
 | |
|         #define SnP_FastLoop_Absorb KeccakF1600_FastLoop_Absorb
 | |
|     #endif
 | |
|         #include "KeccakSponge.inc"
 | |
|     #undef prefix
 | |
|     #undef SnP
 | |
|     #undef SnP_width
 | |
|     #undef SnP_Permute
 | |
|     #undef SnP_FastLoop_Absorb
 | |
| #endif
 | 
