MathToolKit  1.1.1
C++ maths framework
 All Classes Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
AESByte Class Reference

Representation of a byte in AES. More...

Public Member Functions

 AESByte (char val=0x00)
 
 AESByte (int val)
 
 AESByte (double_t val)
 
uc_t val () const
 
AESByteoperator+= (const AESByte &b)
 
AESByteoperator*= (const AESByte &b)
 
AESByteoperator-= (const AESByte &b)
 
AESByteoperator/= (const AESByte &b)
 

Friends

AESByte abs (const AESByte &b)
 
AESByte sqrt (const AESByte &b)
 
AESByte operator+ (AESByte b1, const AESByte &b2)
 
AESByte operator- (AESByte b1, const AESByte &b2)
 
AESByte operator- (AESByte b)
 
AESByte operator* (AESByte b1, const AESByte &b2)
 
AESByte operator/ (AESByte b1, const AESByte &b2)
 
bool operator== (const AESByte &b1, const AESByte &b2)
 
bool operator!= (const AESByte &b1, const AESByte &b2)
 
bool operator> (const AESByte &b1, const AESByte &b2)
 
bool operator< (const AESByte &b1, const AESByte &b2)
 
bool operator>= (const AESByte &b1, const AESByte &b2)
 
bool operator<= (const AESByte &b1, const AESByte &b2)
 
std::ostream & operator<< (std::ostream &os, const AESByte &b)
 

Detailed Description

Representation of a byte in AES.

Date
15/10/2018
Author
samiBendou

Byte in AES algorithm can be seen as elements of Gallois's finite field \( GF(2^8) \).

     This class provides algebraical operation on the specific field. and
     interfacing with integers primitive types. For more details go to
     https://nvlpubs.nist.gov/nistpubs/fips/nist.fips.197.pdf.

Constructor & Destructor Documentation

AESByte::AESByte ( char  val = 0x00)
inline
AESByte::AESByte ( int  val)
inline
AESByte::AESByte ( double_t  val)
inline

Member Function Documentation

uc_t AESByte::val ( ) const
inline
AESByte& AESByte::operator+= ( const AESByte b)
inline
AESByte& AESByte::operator*= ( const AESByte b)
inline
AESByte& AESByte::operator-= ( const AESByte b)
inline
AESByte& AESByte::operator/= ( const AESByte b)
inline

Friends And Related Function Documentation

AESByte abs ( const AESByte b)
friend
AESByte sqrt ( const AESByte b)
friend
AESByte operator+ ( AESByte  b1,
const AESByte b2 
)
friend
AESByte operator- ( AESByte  b1,
const AESByte b2 
)
friend
AESByte operator- ( AESByte  b)
friend
AESByte operator* ( AESByte  b1,
const AESByte b2 
)
friend
AESByte operator/ ( AESByte  b1,
const AESByte b2 
)
friend
bool operator== ( const AESByte b1,
const AESByte b2 
)
friend
bool operator!= ( const AESByte b1,
const AESByte b2 
)
friend
bool operator> ( const AESByte b1,
const AESByte b2 
)
friend
bool operator< ( const AESByte b1,
const AESByte b2 
)
friend
bool operator>= ( const AESByte b1,
const AESByte b2 
)
friend
bool operator<= ( const AESByte b1,
const AESByte b2 
)
friend
std::ostream& operator<< ( std::ostream &  os,
const AESByte b 
)
friend