Zhong

Keep thinking. Keep moving.

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

随笔分类 -  Algorithm

摘要:RSA是一种非对称加密算法,在公开密钥和电子商业中RSA被广泛使用。它是基于一个很简单的数论事实,两个素数相乘很容易,对两素数乘积因式分解很困难。原理就不再阐述了,我谈谈算法的编程实现过程。一、RSA加密和解密过程是基于以下形式,其中明文为M,密文为C,公匙PU={e, n},密匙PR={d, n}。1、准备工作,选择两个大素数p和q,计算p和q的乘积n,计算p-1和q-1的乘积,选择一个与p-1和q-1乘积互质的数e,计算出d2、加密过程3、解密过程程序没有生成大素数,只是列出1000以内的素数,随机取两个素数p和q,利用欧德里德扩展算法计算出e和d,用反复平方法求数的幂二、程序流程图 三、 阅读全文
posted @ 2013-11-01 20:34 stwzhong 阅读(25335) 评论(1) 推荐(1) 编辑

摘要:合并排序合并排序的思路是:把数组分成两部分,分别进行排序,再把排好序的两部分合并成排序数组。合并排序对一个n个元素的数组排序所需时间是O(nlogn)。用合并排序排序{9, 4, 5, 2, 1, 7, 4, 6}过程如下:算法C++实现: 1 //对n个数进行合并排序 2 void Merge(int A[], int low, int mid, int high) 3 { 4 int B[];//辅助数组 5 int s = low , t = mid + 1 , k = low; 6 7 //将小元素添加到辅助数组 8 while( s 2 #incl... 阅读全文
posted @ 2013-10-21 14:46 stwzhong 阅读(2820) 评论(0) 推荐(0) 编辑