C++完美演繹 經(jīng)典算法 如 /* 頭文件:my_Include.h */ #include <stdio.h> /* 展開(kāi)C語(yǔ)言的內(nèi)建函數(shù)指令 */ #define PI 3.1415926 /* 宏常量,在稍后章節(jié)再詳解 */ #define circle(radius) (PI*radius*radius) /* 宏函數(shù),圓的面積 */ /* 將比較數(shù)值大小的函數(shù)寫(xiě)在自編include文件內(nèi) */ int show_big_or_small (int a,int b,int c) { int tmp if (a>b) { tmp = a a = b b = tmp } if (b>c) { tmp = b b = c c = tmp } if (a>b) { tmp = a a = b b = tmp } printf("由小至大排序之后的結(jié)果:%d %d %d\n", a, b, c) } 程序執(zhí)行結(jié)果: 由小至大排序之后的結(jié)果:1 2 3 可將內(nèi)建函數(shù)的include文件展開(kāi)在自編的include文件中 圓圈的面積是=201.0619264
一、RSA基本原理
對(duì)明文分組M和密文分組C,加密與解密過(guò)程如下:
C = POW (M , e) mod n
M = POW(C , d) mod n = POW(POW( M ,e), d) mod n=POW( M,e*d)
其中POW是指數(shù)函數(shù),mod是求余數(shù)函數(shù)。
其中收發(fā)雙方均已知n,發(fā)送放已知e,只有接受方已知d,因此公鑰加密算法的公鑰為
KU={ e , n},私鑰為KR={d , n}。該算法要能用做公鑰加密,必須滿足下列條件:
1. 可以找到e ,d和n,使得對(duì)所有M<n ,POW(M ,e*d)=M mod n .
2. 對(duì)所有 M<n,計(jì)算POW (M , e)和POW(C , d)是比較容易的。
3. 由e 和n確定d是不可行的