improve mem_neq() documentation
				
					
				
			This commit is contained in:
		
							parent
							
								
									1655e63c49
								
							
						
					
					
						commit
						ae698927ff
					
				@ -33,6 +33,9 @@
 | 
				
			|||||||
#ifndef XMEMCMP
 | 
					#ifndef XMEMCMP
 | 
				
			||||||
#define XMEMCMP  memcmp
 | 
					#define XMEMCMP  memcmp
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					/* A memory compare function that has to run in constant time,
 | 
				
			||||||
 | 
					 * c.f. mem_neq() API summary.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
#ifndef XMEM_NEQ
 | 
					#ifndef XMEM_NEQ
 | 
				
			||||||
#define XMEM_NEQ  mem_neq
 | 
					#define XMEM_NEQ  mem_neq
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
				
			|||||||
@ -10,22 +10,27 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
   @file mem_neq.c
 | 
					   @file mem_neq.c
 | 
				
			||||||
   Compare two blocks of memory for inequality.
 | 
					   Compare two blocks of memory for inequality in constant time.
 | 
				
			||||||
   Steffen Jaeckel
 | 
					   Steffen Jaeckel
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
   Compare two blocks of memory for inequality.
 | 
					   Compare two blocks of memory for inequality in constant time.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   The usage is similar to that of standard memcmp, but you can only test
 | 
					   The usage is similar to that of standard memcmp, but you can only test
 | 
				
			||||||
   if the memory is equal or not - you can not determine by how much the
 | 
					   if the memory is equal or not - you can not determine by how much the
 | 
				
			||||||
   first different byte differs.
 | 
					   first different byte differs.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   This function shall be used to compare results of cryptographic
 | 
				
			||||||
 | 
					   operations where inequality means most likely usage of a wrong key.
 | 
				
			||||||
 | 
					   The execution time has therefore to be constant as otherwise
 | 
				
			||||||
 | 
					   timing attacks could be possible.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   @param a     The first memory region
 | 
					   @param a     The first memory region
 | 
				
			||||||
   @param b     The second memory region
 | 
					   @param b     The second memory region
 | 
				
			||||||
   @param len   The length of the area to compare (octets)
 | 
					   @param len   The length of the area to compare (octets)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   @return 0 when a and b are equal for len bytes, else they are not equal.
 | 
					   @return 0 when a and b are equal for len bytes, 1 they are not equal.
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
int mem_neq(const void *a, const void *b, size_t len)
 | 
					int mem_neq(const void *a, const void *b, size_t len)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user