Crypto 學習總結 RSA

2021-06-20 09:42:20 字數 2045 閱讀 3367

// 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輪 金鑰長度不同,...