⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.cpp

📁 le code cryptage RSA en c++
💻 CPP
字号:
///////////////////////////////////////////////////////////////////////////////
//
// Test de mini_rsa
//
// Hadrien Flammang - dec 2008
///////////////////////////////////////////////////////////////////////////////

#include <iostream>
#include "mini_rsa.h"

using namespace std ;
// ici, pas de using namespace mini_rsa" pour mieux identifier les types et fonctions

// Cette fonction teste le chiffrement/d閏hiffrement avec une clef sur 'nb_bit' bits.
// 1 - Une bi-clef (paire clef publique + clef priv閑) est g閚閞閑 sur 'nb_bit' bits.
// 2 - Une donn閑 al閍toire est g閚閞閑 (sur 'nb_bit' - 1 bits)
// 3 - Elle est chiffr閑 avec la clef priv閑 et d閏hiffr閑 avec la clef publique.
// 4 - Elle est chiffr閑 avec la clef publique et d閏hiffr閑 avec la clef priv閑.
// 5 - On v閞ifie que dans les 2 cas, la donn閑 d閏hiffr閑 est correcte.
static bool test_encrypt_decrypt ( int nb_bit )
    {
    mini_rsa::big_int pub,pri,mod ;

    // g閚閞ation de la bi-clef
    mini_rsa::compute_keys( nb_bit,&pub,&pri,&mod ) ;
    // g閚閞ation d'une donn閑 al閍toire
    mini_rsa::big_int v = mini_rsa::random( nb_bit-1 ) ;
    // chiffrement avec la clef priv閑
    mini_rsa::big_int w = mini_rsa::encrypt( pri,mod,v ) ;
    // d閏hiffrement avec la clef publique
    mini_rsa::big_int x = mini_rsa::encrypt( pub,mod,w ) ;
    // chiffrement avec la clef publique
    mini_rsa::big_int y = mini_rsa::encrypt( pub,mod,x ) ;
    // d閏hiffrement avec la clef priv閑
    mini_rsa::big_int z = mini_rsa::encrypt( pri,mod,y ) ;
    // v閞ifications
    return( (v == x) && (v == z) ) ;
    }

///////////////////////////////////////////////////////////////////////////////

// le nb d'iterations d閜end du nombre de bits
static int nb_loop ( int nb_bit )
    {
    return( nb_bit*nb_bit*nb_bit*nb_bit*nb_bit/1000  ) ;
    }

void main ()
    {
    int tot,n,nb_bit ;

    // calcul du nb total d'iteration qu'on aurra 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -