mirror of
				https://github.com/python/cpython.git
				synced 2025-10-30 21:21:22 +00:00 
			
		
		
		
	
		
			
	
	
		
			93 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			93 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
 |