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

📄 main.html

📁 RSA公钥加密的基本实现 bmp灰度图片加解密操作包括 RSA 的加减密算法; 素数检测算法;RSA 密钥生成算法; 应用该 RSA 密码体制加、解密; BMP 灰度图的算法; Pollard p-1
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<?xml version="1.0" encoding="iso-8859-1"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>G:\RSA\main.cpp</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><meta name="generator" content="Code::Blocks Exporter plugin" /><style type="text/css"><!--body { color: #000000; background-color: #FFFFFF; }.style1 { color: #A0A0A0; }.style2 { color: #A0A0A0; }.style3 { color: #8080FF; font-weight: bold; }.style15 { color: #8080FF; font-weight: bold; }.style17 { color: #008080; }.style18 { color: #800000; }.style4 { color: #F000F0; }.style5 { color: #0000A0; font-weight: bold; }.style16 { color: #00A000; font-weight: bold; }.style6 { color: #0000FF; }.style12 { color: #0000FF; }.style7 { color: #E0A000; }.style8 { color: #000000; }.style9 { color: #00A000; }.style10 { color: #FF0000; }.style34 { color: #000000; background-color: #80FFFF; font-weight: bold; }.style35 { color: #FFFFFF; background-color: #FF0000; font-weight: bold; }--></style></head><body><pre><code><span style="font: 11pt Courier New;"><span class="style9">#include "RSA.h"#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include &lt;iostream&gt;</span><span class="style5">using namespace </span><span class="style11">std</span><span class="style10">;</span><span class="style5">long </span><span class="style11">getBigPrime</span><span class="style10">(</span><span class="style5">long </span><span class="style10">*</span><span class="style11">p</span><span class="style10">, </span><span class="style5">long </span><span class="style11">PrimeSize1</span><span class="style10">, </span><span class="style5">long </span><span class="style11">PrimeSize2</span><span class="style10">);</span><span class="style2">//get two Big Prime; if get return 1, noget return -1</span><span class="style5">long </span><span class="style11">Encrypt</span><span class="style10">(</span><span class="style5">long </span><span class="style10">*</span><span class="style11">p</span><span class="style10">, </span><span class="style5">long </span><span class="style11">n</span><span class="style10">, </span><span class="style5">long </span><span class="style11">n_fai</span><span class="style10">, </span><span class="style5">long </span><span class="style11">b</span><span class="style10">, </span><span class="style5">long </span><span class="style11">a</span><span class="style10">);</span><span class="style2">//Encrypt function</span><span class="style5">long </span><span class="style11">Decrypt</span><span class="style10">(</span><span class="style5">long </span><span class="style10">*</span><span class="style11">p</span><span class="style10">, </span><span class="style5">long </span><span class="style11">n</span><span class="style10">, </span><span class="style5">long </span><span class="style11">n_fai</span><span class="style10">, </span><span class="style5">long </span><span class="style11">b</span><span class="style10">, </span><span class="style5">long </span><span class="style11">a</span><span class="style10">);</span><span class="style2">//Decrypt function</span><span class="style5">long </span><span class="style11">getb</span><span class="style10">(</span><span class="style5">long </span><span class="style11">n_fai</span><span class="style10">);</span><span class="style2">//get b</span><span class="style5">long </span><span class="style11">getb_1</span><span class="style10">(</span><span class="style5">long </span><span class="style11">n_fai</span><span class="style10">,</span><span class="style5">long </span><span class="style11">b</span><span class="style10">);</span><span class="style2">//get b_1</span><span class="style5">int </span><span class="style11">main</span><span class="style10">(){</span><span class="style2">//Parameter of RSA    </span><span class="style5">long </span><span class="style11">p</span><span class="style10">[</span><span class="style4">2</span><span class="style10">];</span><span class="style2">//two big prime,p=p[0],q=p[1]    </span><span class="style5">long </span><span class="style11">n</span><span class="style10">;</span><span class="style2">//n=p*q    </span><span class="style5">long </span><span class="style11">n_fai</span><span class="style10">;</span><span class="style2">//n_fai=(p-1)*(q-1)    </span><span class="style5">long </span><span class="style11">b</span><span class="style10">;</span><span class="style2">//1&lt;=b&lt;=n_fai, gcd(b,n_fai)==1    </span><span class="style5">long </span><span class="style11">a</span><span class="style10">;</span><span class="style2">//a=b_1 (mod n_fai)//get two Big Prime    </span><span class="style5">if </span><span class="style10">(</span><span class="style11">getBigPrime</span><span class="style10">(</span><span class="style11">p</span><span class="style10">,</span><span class="style4">128</span><span class="style10">,</span><span class="style4">256</span><span class="style10">) == -</span><span class="style4">1</span><span class="style10">)        </span><span class="style11">cout </span><span class="style10">&lt;&lt; </span><span class="style6">"Get Prime Wrong!" </span><span class="style10">&lt;&lt;</span><span class="style11">endl</span><span class="style10">;    </span><span class="style11">cout</span><span class="style10">&lt;&lt;</span><span class="style6">"!!!!!!!!!"</span><span class="style10">&lt;&lt;</span><span class="style11">endl</span><span class="style10">;</span><span class="style2">//    cout &lt;&lt; p[0] &lt;&lt; p[1] &lt;&lt;endl;//get b &amp;&amp; a,a=b_1    </span><span class="style11">n</span><span class="style10">=</span><span class="style11">p</span><span class="style10">[</span><span class="style4">0</span><span class="style10">]*</span><span class="style11">p</span><span class="style10">[</span><span class="style4">1</span><span class="style10">];    </span><span class="style11">n_fai</span><span class="style10">=(</span><span class="style11">p</span><span class="style10">[</span><span class="style4">0</span><span class="style10">]-</span><span class="style4">1</span><span class="style10">)*(</span><span class="style11">p</span><span class="style10">[</span><span class="style4">1</span><span class="style10">]-</span><span class="style4">1</span><span class="style10">);    </span><span class="style11">cout</span><span class="style10">&lt;&lt;</span><span class="style6">"The n is:"</span><span class="style10">&lt;&lt;</span><span class="style11">n</span><span class="style10">&lt;&lt;</span><span class="style11">endl</span><span class="style10">;    </span><span class="style11">cout</span><span class="style10">&lt;&lt;</span><span class="style6">"The n_fai is:"</span><span class="style10">&lt;&lt;</span><span class="style11">n_fai</span><span class="style10">&lt;&lt;</span><span class="style11">endl</span><span class="style10">;</span><span class="style2">//    srand((unsigned)time(NULL));    </span><span class="style5">while</span><span class="style10">(</span><span class="style4">1</span><span class="style10">)    {        </span><span class="style11">b</span><span class="style10">=</span><span class="style11">getb</span><span class="style10">(</span><span class="style11">n_fai</span><span class="style10">);</span><span class="style2">//        cout&lt;&lt;"The Rondom b is:"&lt;&lt;b&lt;&lt;endl;        </span><span class="style5">if </span><span class="style10">((</span><span class="style11">a</span><span class="style10">=</span><span class="style11">getb_1</span><span class="style10">(</span><span class="style11">n_fai</span><span class="style10">,</span><span class="style11">b</span><span class="style10">))&gt;</span><span class="style4">0</span><span class="style10">)            </span><span class="style5">break</span><span class="style10">;    }</span><span class="style1">/*    cout&lt;&lt;endl;    cout&lt;&lt;"The Rondom b is:"&lt;&lt;b&lt;&lt;endl;    cout&lt;&lt;"The Rondom a is:"&lt;&lt;a&lt;&lt;endl;

⌨️ 快捷键说明

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