RSA算法 :首先, 找出三个数, p, q, r, 其中 p, q 是两个相异的质数, r 是与 (p-1)(q-1) 互质的数...... p, q, r 这三个数便是 person_key,接著, 找出 m, 使得 r^m == 1 mod (p-1)(q-1)..... 这个 m 一定存在, 因为 r 与 (p-1)(q-1) 互质, 用辗转相除法就可以得到了..... 再来, 计算 n = pq....... m, n 这两个数便是 public_key ,编码过程是, 若资料为 a, 将其看成是一个大整数, 假设 a < n.... 如果 a >= n 的话, 就将 a 表成 s 进位 (s
标签: person_key RSA 算法
上传时间: 2013-12-14
上传用户:zhuyibin
数字运算,判断一个数是否接近素数 A Niven number is a number such that the sum of its digits divides itself. For example, 111 is a Niven number because the sum of its digits is 3, which divides 111. We can also specify a number in another base b, and a number in base b is a Niven number if the sum of its digits divides its value. Given b (2 <= b <= 10) and a number in base b, determine whether it is a Niven number or not. Input Each line of input contains the base b, followed by a string of digits representing a positive integer in that base. There are no leading zeroes. The input is terminated by a line consisting of 0 alone. Output For each case, print "yes" on a line if the given number is a Niven number, and "no" otherwise. Sample Input 10 111 2 110 10 123 6 1000 8 2314 0 Sample Output yes yes no yes no
上传时间: 2015-05-21
上传用户:daguda
源代码\用动态规划算法计算序列关系个数 用关系"<"和"="将3个数a,b,c依次序排列时,有13种不同的序列关系: a=b=c,a=b<c,a<b=v,a<b<c,a<c<b a=c<b,b<a=c,b<a<c,b<c<a,b=c<a c<a=b,c<a<b,c<b<a 若要将n个数依序列,设计一个动态规划算法,计算出有多少种不同的序列关系, 要求算法只占用O(n),只耗时O(n*n).
上传时间: 2013-12-26
上传用户:siguazgb
* 高斯列主元素消去法求解矩阵方程AX=B,其中A是N*N的矩阵,B是N*M矩阵 * 输入: n----方阵A的行数 * a----矩阵A * m----矩阵B的列数 * b----矩阵B * 输出: det----矩阵A的行列式值 * a----A消元后的上三角矩阵 * b----矩阵方程的解X
上传时间: 2015-07-26
上传用户:xauthu
(1) 、用下述两条具体规则和规则形式实现.设大写字母表示魔王语言的词汇 小写字母表示人的语言词汇 希腊字母表示可以用大写字母或小写字母代换的变量.魔王语言可含人的词汇. (2) 、B→tAdA A→sae (3) 、将魔王语言B(ehnxgz)B解释成人的语言.每个字母对应下列的语言.
上传时间: 2013-12-30
上传用户:ayfeixiao
1.有三根杆子A,B,C。A杆上有若干碟子 2.每次移动一块碟子,小的只能叠在大的上面 3.把所有碟子从A杆全部移到C杆上 经过研究发现,汉诺塔的破解很简单,就是按照移动规则向一个方向移动金片: 如3阶汉诺塔的移动:A→C,A→B,C→B,A→C,B→A,B→C,A→C 此外,汉诺塔问题也是程序设计中的经典递归问题
上传时间: 2016-07-25
上传用户:gxrui1991
1. 下列说法正确的是 ( ) A. Java语言不区分大小写 B. Java程序以类为基本单位 C. JVM为Java虚拟机JVM的英文缩写 D. 运行Java程序需要先安装JDK 2. 下列说法中错误的是 ( ) A. Java语言是编译执行的 B. Java中使用了多进程技术 C. Java的单行注视以//开头 D. Java语言具有很高的安全性 3. 下面不属于Java语言特点的一项是( ) A. 安全性 B. 分布式 C. 移植性 D. 编译执行 4. 下列语句中,正确的项是 ( ) A . int $e,a,b=10 B. char c,d=’a’ C. float e=0.0d D. double c=0.0f
上传时间: 2017-01-04
上传用户:netwolf
随着信号处理技术的进步和电子技术的发展,雷达信号侦察接收机逐渐从模拟体制向数字体制转变。软件无线电概念的提出,促使雷达侦察接收机朝大带宽、全截获方向发展,现有的串行信号处理体制已经很难满足系统要求。FPGA器件的出现,为实现宽带雷达信号侦察数字接收机提供了硬件支持。 本文结合FPGA芯片特点,在前人研究基础上,从算法和硬件实现两方面,对雷达信号侦察数字接收机若干关键技术进行了研究和创新,主要研究内容包括以下几个方面。 1)给出了基于QuartusII/Matlab和ISE/ModelSim/Matlab的两种FPGA设计联合仿真技术。这种联合仿真技术,大大提高了基于FPGA的雷达信号侦察数字接收机的设计效率。 2)给出了一种基于FFT/IFFT的宽带数字正交变换算法,并将该算法在FPGA中进行了硬件实现,设计可对600MHz带宽内的输入信号进行实时正交变换。 3)提出了一种全并行结构FFT的FPGA实现方案,并将其在FPGA芯片中进行了硬件实现,设计能够在一个时钟周期内完成32点并行FFT运算,满足了数字信道化接收机对数据处理速度的要求。 4)提出了一种自相关信号检测FPGA实现方案,通过改变FIFO长度改变自相关运算点数,实现了弱信号检测。提出通过二次门限处理来消除检测脉冲中的毛刺和凹陷,降低了虚警概率,提高了检测结果的可靠性。 5)在单通道自相关信号检测算法基础上,提出采用三路并行检测,每路采用不同的相关点数和检测门限,再综合考虑三路检测结果,得到最终检测结果。给出了算法FPGA实现过程,并对设计进行了联合时序仿真,提高了检测性能。 6)给出了一种利用FFT变换后的两根最大谱线进行插值的快速高精度频率估计方法,并将该算法在FPGA硬件中进行了实现。通过利用FFT运算后的实/虚部最大值进行插值,降低了硬件资源消耗、缩短了运算延迟。 7)结合4)、5)、6)中的研究成果,完成了对雷达脉冲信号到达时间、终止时间、脉冲宽度和脉冲频率的估计,最终在一块FPGA芯片内实现了一个精简的雷达信号侦察数字接收机,并在微波暗室中进行了测试。
上传时间: 2013-06-13
上传用户:Divine
遗传算法是一种基于自然选择原理的优化算法,在很多领域有着广泛的应用。但是,遗传算法使用计算机软件实现时,会随着问题复杂度和求解精度要求的提高,产生很大的计算延时,这种计算的延时限制了遗传算法在很多实时性要求较高场合的应用。为了提升运行速度,可以使用FPGA作为硬件平台,设计数字系统完成遗传算法。和软件实现相比,硬件实现尽管在实时性和并行性方面具有很大优势,但同时会导致系统的灵活性不足、通用性不强。本文针对上述矛盾,使用基于功能的模块化思想,将基于FPGA的遗传算法硬件平台划分成两类模块:系统功能模块和算子功能模块。针对不同问题,可以在保持系统功能模块不变的前提下,选择不同的遗传算子功能模块完成所需要的优化运算。本文基于Xilinx公司的Virtex5系列FPGA平台,使用VerilogHDL语言实现了伪随机数发生模块、随机数接口模块、存储器接口/控制模块和系统控制模块等系统功能模块,以及基本位交叉算子模块、PMX交叉算子模块、基本位变异算子模块、交换变异算子模块和逆转变异算子模块等遗传算法功能模块,构建了系统功能构架和遗传算子库。该设计方法不仅使遗传算法平台在解决问题时具有更高的灵活性和通用性,而且维持了系统架构的稳定。本文设计了多峰值、不连续、不可导函数的极值问题和16座城市的旅行商问题 (TSP)对遗传算法硬件平台进行了测试。根据测试结果,该硬件平台表现良好,所求取的最优解误差均在1%以内。相对于软件实现,该系统在求解一些复杂问题时,速度可以提高2个数量级。最后,本文使用FPGA实现了粗粒度并行遗传算法模型,并用于 TSP问题的求解。将硬件平台的运行速度在上述基础上提高了近1倍,取得了显著的效果。关键词:遗传算法,硬件实现,并行设计,FPGA,TSP
上传时间: 2013-06-15
上传用户:hakim
《数字信号处理的FPGA实现》代码,数字信号处理一些算法的FPGA代码,比较全
上传时间: 2013-08-08
上传用户:sssl