/*************************************************************************
> File Name: 1.c
> Author: wolf
> Description:
> Created Time: 2015年05月07日 星期四 09时11分40秒
************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
//RSA
// 公钥对(e,N) 加密方法: 明文^e mod N=秘文
// 私钥对(d,N) 解密方法: 秘文^d mod N=明文
// 我们要计算出 e d N 的值
//N = p*q (q和p为两个素数)
//L= (p-1)和(q-1)的最小公倍数,L用来生成e 和 d
//e为一个素数 这个素数和L的最大公约数为1
// e*d mod L = 1 (d满足此公式)
//过程综述
//1.如何生成随机素数
// 生成两个素数(在这作实验使用小的素数1000以内) p 和 q
// (如何判断一个数是素数)
//2.求两个书的最小公倍数
// 先求出两个数的最大公约数(辗转相除)
// 再用两个数的乘机除以最大公约数就是最小公倍数
//
#define PRIME_RANGE_LEFT 5
#define PRIME_R