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

37 lines
865 B
C++

#pragma once
#include "XRSA.h"
#include "XAES128cbc.h"
class XCryptoPublicKey
{
public:
XCryptoPublicKey();
~XCryptoPublicKey();
bool GeneratePublicKey();
bool SetRemotePublicKey( const void* pKey, size_t nSize );
bool GetLocalPublicKey( void* pBuff, size_t nBuffSize, size_t* pKeySize ) const;
bool SetSecretKey( const XAES_128_CBC_KEY& Key );
bool EncryptForRemote( const void* pSrc, size_t nSrcSize, void* pDest, size_t nDestSize, size_t* pEnSize );
bool DecryptForLocal( const void* pSrc, size_t nSrcSize, void* pDest, size_t nDestSize, size_t* pDeSize );
bool EncryptForSecret( const void* pSrc, size_t nSrcSize, void* pDest, size_t nDestSize, size_t* pEnSize );
bool DecryptForSecret( const void* pSrc, size_t nSrcSize, void* pDest, size_t nDestSize, size_t* pDeSize );
private:
XRSA m_Local;
XRSA m_Remote;
XAES128cbc m_AES;
};