网站大量收购独家精品文档,联系QQ:2885784924

《用Java语言编程实现RSA算法》.pdf

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《用Java语言编程实现RSA算法》.pdf

广西轻工业 2008年4月 JOURNAL 13期) GUANGXI OFLIGHTINDUSTRY 第4期(总第1 计算机与信息技术 av 用J a语言编程实现R-SA算法 陆深焕 (汕头职业技术学院,广东汕头51 5078) 【摘 要】有两种常用的密码体制:传统密码体制和公开密钥密码体制。传统密码体制使用相同或相近的密钥,其典型的算 法是DES;凇x-开密钥密码体制的加密和解密使用不同的密钥,有其一无法知其二,其典型的算法是RSA。陈述了KSA算法的原理 并使用Java语言编程来实现RSA算法。 【关键词】Java语言;RsA算法;公开密钥密码体制;DES 【中图分类号】TP312【文献标识码】A 【文章编号】1003—2673(2008)04—60。03 1 RSA算法简介 1976年斯坦福大学的Diffie和Hellman提出了“公开密 钥密码体制”的概念,开创了密码学研究的新方向。在此之前的 传统密码体制研究中所用的加密密钥和解密密钥均相同或相 密,并把加密后的信息通过网络发送到机器B,最后机器B利 近。在公开密钥密码体制中,加密密钥Ke是公开的(Ke也叫公用已知的private_key,就可以解开加密信息。 开密钥),丽解密密钥Kd是保密的(Kd也叫保密密钥),加密算 步骤: 法E和解密算法D也是公开的。 (q一1); 1978年。Rivest、Shamir和Adleman三人提出了著名的 RSA算法。经过多年的分析和研究,在众多的公开密钥密码算法 中,BSA算法最受推崇,它也被推荐为公开密钥数据加密标准。 (比女日public—key=m一1); 由数论知识可知,若将一个具有大素数因子的合数进行分 解是很困难的,或者说这个问题的计算量是令人望而生畏的, m),其中pub- 而RSA算法正是建立在这个基础上的。 lie—key,n是作为公钥已知,private_key是密钥; 在RSA算法中,一个用户A可根据以下步骤来选择密钥 n)得到密文aecretword; 和进行密码转换: lie—key(mod ()随机的选取两个不同的大素数P和q(一般为100位以 n)得到 上的十l进制数),予以保密; 原文Word=texto (2)计算n=p*q,作为用户A的模数,予以公开; 3 Java语言代码 (3)计算欧拉(Euler)函数z=①一1)·(q—1),予以保密; (4)随机的选取d与z互质,作为A的公开密钥; importjava.io.*; mod class (5)利用Euclid算法计算满足同余方程e*dsl z的 publicRsa{ 解d,作为用户A的保密密钥; int privatep=O; (6)任何向用户A发送信息M的用户,可以用A的公开 int privateq20; 模数n和公开密钥e根据C:Memodn得到密文C;

您可能关注的文档

文档评论(0)

mwap + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档