2021-06-27 21:25:29 +00:00
|
|
|
/***
|
|
|
|
Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved.
|
|
|
|
|
|
|
|
File: Crypto.hpp
|
|
|
|
Date: 2021-6-12
|
|
|
|
Author: Reece
|
|
|
|
***/
|
|
|
|
#pragma once
|
|
|
|
|
2021-09-18 20:10:25 +00:00
|
|
|
#include <tomcrypt.h>
|
2021-09-30 14:57:41 +00:00
|
|
|
#include <Source/Extensions/LTC/LTCExtensions.hpp>
|
2022-09-19 01:34:57 +00:00
|
|
|
#include <Source/AuCrypto.hpp>
|
2021-09-18 20:10:25 +00:00
|
|
|
|
|
|
|
namespace Aurora::Crypto
|
|
|
|
{
|
|
|
|
static int PaddingToType(EPaddingType type)
|
|
|
|
{
|
|
|
|
switch (type)
|
|
|
|
{
|
|
|
|
case EPaddingType::ePaddingNone:
|
|
|
|
return 0;
|
|
|
|
case EPaddingType::ePKCS_1_5:
|
|
|
|
return LTC_PKCS_1_V1_5;
|
|
|
|
case EPaddingType::ePKCS_1_5_NA1:
|
|
|
|
return LTC_PKCS_1_V1_5_NA1;
|
|
|
|
case EPaddingType::ePKCS_OAEP:
|
|
|
|
return LTC_PKCS_1_OAEP;
|
|
|
|
case EPaddingType::ePKCS_1_PSS:
|
|
|
|
return LTC_PKCS_1_PSS;
|
|
|
|
default:
|
|
|
|
return 0xFF;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static int HashMethodToId(EHashType type)
|
|
|
|
{
|
|
|
|
switch (type)
|
|
|
|
{
|
|
|
|
case EHashType::eTiger_24_192:
|
|
|
|
return ::Crypto::gHashTiger;
|
|
|
|
case EHashType::eSHA1_20_160:
|
|
|
|
return ::Crypto::gHashSha1;
|
|
|
|
case EHashType::eSHA2_32_256:
|
|
|
|
return ::Crypto::gHashSha256;
|
2022-09-19 01:34:57 +00:00
|
|
|
case EHashType::eSHA2_48_384:
|
|
|
|
return ::Crypto::gHashSha384;
|
2021-09-18 20:10:25 +00:00
|
|
|
case EHashType::eSHA2_64_512:
|
|
|
|
return ::Crypto::gHashSha512;
|
2022-09-19 01:34:57 +00:00
|
|
|
case EHashType::eSHA3_28_224:
|
|
|
|
return ::Crypto::gHashSha3_224;
|
|
|
|
case EHashType::eSHA3_32_256:
|
|
|
|
return ::Crypto::gHashSha3_256;
|
|
|
|
case EHashType::eSHA3_48_384:
|
|
|
|
return ::Crypto::gHashSha3_384;
|
|
|
|
case EHashType::eSHA3_64_512:
|
|
|
|
return ::Crypto::gHashSha3_512;
|
|
|
|
case EHashType::eMD5:
|
|
|
|
return ::Crypto::gHashMD5;
|
2021-09-18 20:10:25 +00:00
|
|
|
default:
|
|
|
|
return 0xFF;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|