2006-10-29 03:02:07 +03:00
/* b128ops.h - common 128-bit block operations
*
* Copyright ( c ) 2003 , Dr Brian Gladman , Worcester , UK .
* Copyright ( c ) 2006 , Rik Snel < rsnel @ cube . dyndns . org >
*
* Based on Dr Brian Gladman ' s ( GPL ' d ) work published at
* http : //fp.gladman.plus.com/cryptography_technology/index.htm
* See the original copyright notice below .
*
* This program is free software ; you can redistribute it and / or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation ; either version 2 of the License , or ( at your option )
* any later version .
*/
/*
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Copyright ( c ) 2003 , Dr Brian Gladman , Worcester , UK . All rights reserved .
LICENSE TERMS
The free distribution and use of this software in both source and binary
form is allowed ( with or without changes ) provided that :
1. distributions of this source code include the above copyright
notice , this list of conditions and the following disclaimer ;
2. distributions in binary form include the above copyright
notice , this list of conditions and the following disclaimer
in the documentation and / or other associated materials ;
3. the copyright holder ' s name is not used to endorse products
built using this software without specific written permission .
ALTERNATIVELY , provided that this notice is retained in full , this product
may be distributed under the terms of the GNU General Public License ( GPL ) ,
in which case the provisions of the GPL apply INSTEAD OF those given above .
DISCLAIMER
This software is provided ' as is ' with no explicit or implied warranties
in respect of its properties , including , but not limited to , correctness
and / or fitness for purpose .
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Issue Date : 13 / 06 / 2006
*/
# ifndef _CRYPTO_B128OPS_H
# define _CRYPTO_B128OPS_H
# include <linux/types.h>
typedef struct {
__be64 a , b ;
} be128 ;
typedef struct {
__le64 b , a ;
} le128 ;
2023-05-31 16:08:34 +03:00
static inline void be128_xor ( be128 * r , const be128 * p , const be128 * q )
2006-10-29 03:02:07 +03:00
{
r - > a = p - > a ^ q - > a ;
r - > b = p - > b ^ q - > b ;
}
static inline void le128_xor ( le128 * r , const le128 * p , const le128 * q )
{
2023-05-31 16:08:34 +03:00
r - > a = p - > a ^ q - > a ;
r - > b = p - > b ^ q - > b ;
2006-10-29 03:02:07 +03:00
}
# endif /* _CRYPTO_B128OPS_H */