Files
2026-06-01 12:46:52 +02:00

62 lines
1.5 KiB
C++

#include "../../include/cipher/XCryptoPublicKey.h"
XCryptoPublicKey::XCryptoPublicKey()
{
}
XCryptoPublicKey::~XCryptoPublicKey()
{
}
bool XCryptoPublicKey::GeneratePublicKey()
{
if( m_Local.Initialize() == false )
{
return false;
}
return true;
}
bool XCryptoPublicKey::SetRemotePublicKey( const void* pKey, size_t nSize )
{
if( m_Remote.Initialize( pKey, nSize ) == false )
{
return false;
}
return true;
}
bool XCryptoPublicKey::GetLocalPublicKey( void* pBuff, size_t nBuffSize, size_t* pKeySize ) const
{
return m_Local.GetPublicKey( pBuff, nBuffSize, pKeySize );
}
bool XCryptoPublicKey::SetSecretKey( const XAES_128_CBC_KEY& Key )
{
return m_AES.Initialize( Key );
}
bool XCryptoPublicKey::EncryptForRemote( const void* pSrc, size_t nSrcSize, void* pDest, size_t nDestSize, size_t* pEnSize )
{
return m_Remote.EncryptbyPublicKey( pSrc, nSrcSize, pDest, nDestSize, pEnSize );
}
bool XCryptoPublicKey::DecryptForLocal( const void* pSrc, size_t nSrcSize, void* pDest, size_t nDestSize, size_t* pDeSize )
{
return m_Local.DecryptbyPrivateKey( pSrc, nSrcSize, pDest, nDestSize, pDeSize );
}
bool XCryptoPublicKey::EncryptForSecret( const void* pSrc, size_t nSrcSize, void* pDest, size_t nDestSize, size_t* pEnSize )
{
return m_AES.Encrypt( pSrc, nSrcSize, pDest, nDestSize, pEnSize );
}
bool XCryptoPublicKey::DecryptForSecret( const void* pSrc, size_t nSrcSize, void* pDest, size_t nDestSize, size_t* pDeSize )
{
return m_AES.Decrypt( pSrc, nSrcSize, pDest, nDestSize, pDeSize );
}