You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
1.2 KiB
31 lines
1.2 KiB
/**
|
|
*--------------------------------------------------------------------\n
|
|
* HSLU T&A Hochschule Luzern Technik+Architektur \n
|
|
*--------------------------------------------------------------------\n
|
|
*
|
|
* \brief model solution for ASYD assignment crypto 04
|
|
* \file
|
|
* \author Stefano Nicora, stefano.nicora@hslu.ch
|
|
* \date 03.02.23
|
|
*
|
|
*--------------------------------------------------------------------
|
|
*/
|
|
|
|
#ifndef DSA_H_
|
|
#define DSA_H_
|
|
#define _CRT_SECURE_NO_WARININGS
|
|
|
|
#include <stdint.h>
|
|
#include <stdio.h>
|
|
#include "DSA.h"
|
|
#include "encryptionArithmetic.h"
|
|
|
|
void squareAndMultiply(t_encryptionArithmetic* base, t_encryptionArithmetic* exponent, t_encryptionArithmetic* modulo, t_encryptionArithmetic* result, uint32_t keyLength);
|
|
|
|
void square(t_encryptionArithmetic* base, t_encryptionArithmetic* exponent, t_encryptionArithmetic* result, uint32_t keyLength);
|
|
|
|
void moduloOperation(t_encryptionArithmetic* number, t_encryptionArithmetic* moduloValue, uint32_t keyLength);
|
|
|
|
void modInverse(t_encryptionArithmetic* number, t_encryptionArithmetic* modValue, t_encryptionArithmetic* result, uint32_t keyLength);
|
|
|
|
#endif // !RSA_H_
|