// testrsa.cpp : 定義控制台應用程式的入口點。
//#include "stdafx.h"
#include "randpool.h"
#include "rsa.h"
#include "hex.h"
#include "files.h"
#include
using namespace std;
//using namespace cryptopp;
//#pragma comment(lib, "cryptlib.lib")
//------------------------
// 函式宣告
//------------------------
void generatersakey(unsigned int keylength, const char *privfilename, const char *pubfilename, const char *seed);
string rsaencryptstring(const char *pubfilename, const char *seed, const char *message);
string rsadecryptstring(const char *privfilename, const char *ciphertext);
cryptopp::randompool & globalrng();
int _tmain(int argc, _tchar* argv)
;
char pubkey[128] = ;
char seed[1024] = ;
// 生成 rsa 金鑰對
strcpy(prikey, "pri"); // 生成的私鑰檔案
strcpy(pubkey, "pub"); // 生成的公鑰檔案
strcpy(seed, "seed");
generatersakey(1024, prikey, pubkey, seed);
// rsa 加解密
char message[1024] = ;
cout<<"origin text:\t"<<"hello world!"string encryptedtext = rsaencryptstring(pubkey, seed, message); // rsa 加密 [page]
cout<<"encrypted text:\t"cout<<"decrypted text:\t"return 0;
}//------------------------
// 生成rsa金鑰對
//------------------------
void generatersakey(unsigned int keylength, const char *privfilename, const char *pubfilename, const char *seed)
//------------------------
// rsa加密
//------------------------
string rsaencryptstring(const char *pubfilename, const char *seed, const char *message)
//------------------------
// rsa解密
//------------------------
string rsadecryptstring(const char *privfilename, const char *ciphertext)
//------------------------
// 定義全域性的隨機數池
//------------------------
cryptopp::randompool & globalrng()
自己封裝Crypto 的RSA類
標頭檔案 pragma once include stdafx.h include include include include include include include rsa.h include hex.h include files.h include rng.h include de...
Crypto 應用 非對稱加密RSA
1,非對稱加密rsa 1 乙方生成兩把金鑰 公鑰和私鑰 公鑰是公開的,任何人都可以獲得,私鑰則是保密的。2 甲方獲取乙方的公鑰,然後用它對資訊加密。3 乙方得到加密後的資訊,用私鑰解密。2,使用cryptopp實現rsa cryptopp是一套非常完整的加密解密開源解決方案,如何使用這裡就不多說了,...
任務五 Crypto學習
aes 高階加密標準,最常見的加密演算法。對稱加密所使用的公鑰和私鑰相同,所以加密和解密的過程互為逆過程。加密原理 aes加密為分組密碼,在加密前,需要將明文分為長度為16位元組的組,每次加密一組資料,直到全部加密。金鑰長度有三種 128位 10輪 192位 12輪 256位 14輪 金鑰長度不同,...