欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    电子商务安全技术RSA算法java实验报告文档格式.docx

    • 资源ID:4061794       资源大小:81.82KB        全文页数:19页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    电子商务安全技术RSA算法java实验报告文档格式.docx

    1、(2)计算模 n=p*q(n公开)(3)计算欧拉函数(n) =(p-1)*(q-1)( (n)保密),丢弃p和q(4)随机选取整数e,满足 gcd(e, (n)=1 ( e和n为公钥)(5)计算d满足d*e1 mod (n)(d和n为私钥) (6)加密:将明文分组,每组长度xn, 计算 y =xe mod n,产生密文 y(7)解密:计算 x= y d mod n,恢复出明文 x(B)附:Rabin-Miller素数检验算法(1)选择一个小于p随机数a(2)设 j=0且 z=am mod p(3)如果z=1或z=p1,那么p通过测试,可能是素数(4)如果j0且z=1,那么p不是素数(5)设j=

    2、j+1。如果jb且zp-1,设z=z2 mod p,然后回到第(4)步。 如果z=p-1,那么p通过测试,可能是素数(6)如果j=b且zp-1,那么p不是素数2源程序有良好人机界面,书写实验报告,于11月22日提交。四、实验内容与步骤1.实现公钥密码算法RSA算法流程2. 实验步骤(主要代码)(1)随机产生素数randomprimep、randomprimeq并判断randomprimep、randomprimeq是否为素数:int randomprimep = 0; /素数p初始赋值为零int randomprimeq = 0; /素数q初始赋值为零 Random rand = new Ra

    3、ndom(); randomprimep = 10 + rand.nextInt(200);/随机产生素数p while (ifPrime(randomprimep) /判断p是否为素数 randomprimeq = 10 + rand.nextInt(200); /随机产生素数q while (ifPrime(randomprimeq) /判断q是否为素数(2)计算模 keyn(keyn公开):keyn = randomprimep * randomprimeq;(3)计算欧拉函数eulern(eulern保密),丢弃randomprimep和randomprimeq:eulern = (r

    4、andomprimep - 1) * (randomprimeq - 1);randomprimep = randomprimeq = 0; /销毁两个随机素数(4)生成公钥:publickeye = 10 + rand.nextInt(200); /随机产生公钥while (relativePrime(publickeye,eulern) /判断随机公钥与公私钥相同部分的欧拉数是否为相对素数 publickeye = 10 + rand.nextInt(200); (5)用简捷方法求私钥:boolean mark = true; /用简捷方法求私钥,从模逆运算原始定义出发int k = 0;

    5、while (mark) k+; if(k * eulern + 1)%publickeye = 0) mark = false; privatekeyd = (k * eulern + 1)/publickeye; /计算私钥(6)加密: RandomAccessFile rafr = new RandomAccessFile(source,r);/定义源文件 RandomAccessFile rafw = new RandomAccessFile(destination,rw /定义目标文件 String understandtxts = ;/明文初始赋值 String passwordt

    6、xts = /密文初始赋值 understandtxts = rafr.readLine();/从源文件中读取数据赋值给明文变量 passwordtxts = passwordtxts + fastPowerMultiplication(int)eachchari,publickeye,keyn) + getRandomString();/用公钥将明文加密后并赋值给密文变量 rafw.writeBytes(passwordtxts);/将密文写入目标文件中 rafr.close();/关闭源文件 rafw.close();/关闭目标文件(7)解密: passwordtxts = rafr.re

    7、adLine();/从源文件中读取加密后的数据并赋值给密文变量 understandtxts = understandtxts + (char)fastPowerMultiplication(intchar,privatekeyd,keyn);/用私钥将密文解密后并赋给明文变量 rafw.writeBytes(understandtxts);/将解密后的明文写入目标文件中 rafr.close(); 3、主要的函数(1)判断一个整型数据是否为素数:public boolean ifPrime(int number)/number为素数,mark返回false;否则,返回true boolean

    8、 mark = false;/mark初始赋值为false for (int i = 2;i 127 | charint 10)加密失败!原文中包含不能加密的字符。 if (mark) pos = rafr.getFilePointer(); rafr.seek(0); pos = 0; if (!mark)从文件读入明文: System.out.println(rafr.readLine();明文加密后密文: while (true) for (int i = 0; passwordtxts = passwordtxts + fastPowerMultiplication(int)eachc

    9、hari,publickeye,keyn) + getRandomString(); System.out.println(passwordtxts); rafw.writeBytes(passwordtxts); if (pos = filelength) passwordtxts = rafw.writeChar( catch (Exception e) e.printStackTrace(System.out); finally rafw.close(); catch (IOException ex) ex.printStackTrace(System.out); public Stri

    10、ng getRandomString() String randstr = int number = 1 + rand.nextInt(5); int charint = 65 + rand.nextInt(26); randstr = randstr + (char)charint; charint = 65 + rand.nextInt(26); return randstr; public void dataDeciphering(String source,String destination) int intchar = 0; int j = 0;密文解密后明文: eachchar

    11、= passwordtxts.toCharArray(); if (Character.isDigit(eachchari) intchar = 10*intchar + Integer.valueOf(String.valueOf(eachchari); else j = i - 1; if (Character.isDigit(eachcharj) & !Character.isDigit(eachchari) intchar = 0; System.out.println(understandtxts); System.out.println( understandtxts = public static void main(String args)


    注意事项

    本文(电子商务安全技术RSA算法java实验报告文档格式.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开