Defines | Functions

# signature.c File Reference

`#include "wizard/studio.h"`
`#include "wizard/exception.h"`
`#include "wizard/exception-private.h"`
`#include "wizard/memory_.h"`
`#include "wizard/signature.h"`
`#include "wizard/string_.h"`

## Defines

#define | Trunc32(x) ((x) & 0xffffffffUL)
#define | Ch(x, y, z) (((x) & (y)) ^ (~(x) & (z)))
#define | Maj(x, y, z) (((x) & (y)) ^ ((x) & (z)) ^ ((y) & (z)))
#define | RotateRight(x, n) Trunc32((((x) >> (n)) | ((x) << (32-(n)))))
#define | Sigma0(x) (RotateRight(x,7) ^ RotateRight(x,18) ^ Trunc32((x) >> 3))
#define | Sigma1(x) (RotateRight(x,17) ^ RotateRight(x,19) ^ Trunc32((x) >> 10))
#define | Suma0(x) (RotateRight(x,2) ^ RotateRight(x,13) ^ RotateRight(x,22))
#define | Suma1(x) (RotateRight(x,6) ^ RotateRight(x,11) ^ RotateRight(x,25))

## Functions

static void | TransformSignature (SignatureInfo *)
WizardExport void | FinalizeSignature (SignatureInfo *signature_info)
WizardExport void | GetSignatureInfo (SignatureInfo *signature_info)
WizardExport void | UpdateSignature (SignatureInfo *signature_info, const unsigned char *message, const size_t length)

## Define Documentation

#define Ch | ( |  | x,
|  |  | y,
|  |  | z |
| ) |  |  | (((x) & (y)) ^ (~(x) & (z)))

Referenced by TransformSignature().

#define Maj | ( |  | x,
|  |  | y,
|  |  | z |
| ) |  |  | (((x) & (y)) ^ ((x) & (z)) ^ ((y) & (z)))

Referenced by TransformSignature().

#define RotateRight | ( |  | x,
|  |  | n |
| ) |  |  | Trunc32((((x) >> (n)) | ((x) << (32-(n)))))

#define Sigma0 | ( |  | x | ) | (RotateRight(x,7) ^ RotateRight(x,18) ^ Trunc32((x) >> 3))

#define Sigma1 | ( |  | x | ) | (RotateRight(x,17) ^ RotateRight(x,19) ^ Trunc32((x) >> 10))

#define Suma0 | ( |  | x | ) | (RotateRight(x,2) ^ RotateRight(x,13) ^ RotateRight(x,22))

#define Suma1 | ( |  | x | ) | (RotateRight(x,6) ^ RotateRight(x,11) ^ RotateRight(x,25))

#define Trunc32 | ( |  | x | ) | ((x) & 0xffffffffUL)

Referenced by TransformSignature(), and UpdateSignature().

## Function Documentation

WizardExport void FinalizeSignature | ( | SignatureInfo * | signature_info | ) |

References _SignatureInfo::high_order, _SHA512Info::high_order, _SignatureInfo::low_order, _SHA512Info::low_order, _SignatureInfo::message, ResetWizardMemory(), _SignatureInfo::signature, TransformSignature(), WizardSignature, and WizardSignatureSize.

WizardExport void GetSignatureInfo | ( | SignatureInfo * | signature_info | ) |

References _SignatureInfo::digest, _SignatureInfo::lsb_first, _SHA512Info::lsb_first, ResetWizardMemory(), _SignatureInfo::signature, WizardFalse, and WizardTrue.

static void TransformSignature | ( | SignatureInfo * | signature_info | ) | `[static]`

References Ch, _SignatureInfo::digest, _SignatureInfo::lsb_first, Maj, _SignatureInfo::message, Sigma0, Sigma1, Suma0, Suma1, Trunc32, and WizardFalse.

Referenced by FinalizeSignature(), and UpdateSignature().

WizardExport void UpdateSignature | ( | SignatureInfo * | signature_info,
|  | const unsigned char * | message,
|  | const size_t | length |
| ) |  |  |

References CopyWizardMemory(), _SignatureInfo::high_order, _SHA512Info::low_order, _SignatureInfo::low_order, _SignatureInfo::message, _SignatureInfo::offset, _SignatureInfo::signature, TransformSignature(), Trunc32, WizardSignature, and WizardSignatureSize.