实验三流密码加密实验.docVIP

  • 10
  • 0
  • 约 5页
  • 2017-09-01 发布于浙江
  • 举报
实验三流密码加密实验

实验三 密码学数学基础实验 【 实验目的】 掌握密码学相关的数学基础知识 理解大数运算、素性测试、模幂、原根、求逆和二次剩余等的计算过程 【 实验原理】 一、大 数运算 大多数运算器只支持小于 64 位的整数运算,无法进行加密算法的运算。为满足加密算法 的需要,可通过建立大整数运算库来解决这一问题。通常通过以下两种方式进行处理: (1) 将大整数当作字符串处理,即将大整数用 10 进制字符数组表示;这种方式便于理解, 但效率较低。 (2) 将大整数当作二进制流进行处理;计算速度快。 二、素 性测试 Monte Carlo 算法和 Las Vegas 算法均为素性测试的算法。 (1) Monte Carlo 算法 Monte Carlo 算法又称为概率素性检测算法,算法描述如下: 输入:p 为一个正整数; 输出:若 p 为素数,输出 YES;否则输出 NO。 Prime_Test(p) flag=0; 重复log2p次: 在(1,p-1]区间上均匀随机的选取 x; 如果 gcd(x,p)1 或 x(p-1)/2 mod p不等于+1或-1 ,return(NO); 如果 flag=0 且 x(p-1)/2 ≡-1 mod p ,flag=1; 结束重复; 如果 flag=0,即在重复中 x(p-1)/2 ≡-1 mod

文档评论(0)

1亿VIP精品文档

相关文档