文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | firefox | WPS | 杀毒软件 | Picasa
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形图像 办公软件 媒体动画 精文荟萃 常用软件 网页编程 技术开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发Java用java实现RSA算法
精品推荐
特别推荐
·实例讲解:Java中的SOAP技术
·Java语言出现的背景 影响及前景
·Java精华积累:初学者都应该搞懂的问题
·Java多媒体框架设计自动播放机实例详解
·如何有效防止Java程序源码被人偷窥?
·Cell插件在J2EE系统中的应用
·初学者想学Hibernate,初级基础教程
·Java语言实现支持视频点播的WEB服务器
·关于Java编程的中文问题的几条分析原则
·确保J2ME无线移动商业应用程序的安全性
·Java开源技术:Eclipse的使用技巧详解
·新手入门:Java中的修饰词使用方法总结
·JAVA开发者应该去的20个英文网站
·使用JDBC创建数据库访问程序
·JDK的命令详解
·Java学习从入门到精通(附FAQ)
·Tomcat性能调整
·JSF:Java中面向Web开发的生旦净末丑
·对Java语言入门初学者的一些建议
·Java技术的新方向
热点TOP10
·用Java实现SMTP服务器
·实例讲解:Java中的SOAP技术
·用Java编写的记事本程序(2)
·Java语言出现的背景 影响及前景
·Java语言实现支持视频点播的WEB服务器
·运用Jakarta Struts的七大实战心法(1)
·Tomcat性能调整
·详细解析Java中抽象类和接口的区别
·Java多媒体框架设计自动播放机实例详解
·用Java编写的记事本程序(3)
·用Java编写的记事本程序(1)
·Liferay中整合tinyMCE详解
·《精通SOA:基于服务总线的Struts+EJB+Web Service整合应用开发》目录
·Eclipse上的Tomcat插件安装和调试
·3D编程指南第一部分:快速进入移动JAVA 3D编程世界
·用java编写的小游戏源代码分析
·图解JBuilderX安装与实践
·Java精华积累:初学者都应该搞懂的问题
·Java技术的新方向
·JDK的命令详解

用java实现RSA算法

日期:2007年10月12日 作者: 查看:[大字体 中字体 小字体]



  1  RSA算法的原理如下:
1.1原理
     假设我们需要将信息从机器A传到机器B,首先由机器B随机确定一个Key,我们称之为密匙private_key,将这个可KEY始终保存在机器B中而不发出来;然后,由这个private_key计算出另一个Key,我们称之为公匙Public_key。这个Public_key的特性是几乎不可能通过该Key计算生成它的private_key。接下来通过网络把这个Public_key传给机器A,
机器A受到Public_key后,利用该key,将信息加密,并把加密后的信息通过网络发送到机器B,最后机器B利用已知的private_key,就可以解开加密信息。
1.2步骤
RSA算法的安全性依赖于大数因数分解的困难性。公匙和私匙都是两个大素数的函数。
1.2.1
     首先选择两个大素数p、q,计算n=p*q; m=(p-1)*(q-1);
1.2.2
     而后随机选择加密密匙Public_key,要求和m互质,比如Public_key=m-1;
1.2.3
利用欧几里德算法计算解密密匙private_key,使private_key满足
Public_key*private_key三1(mod m)
其中Public_key,n是公匙,private_key是密匙
1.2.4
加密信息text时,利用公式secretWord=text^Public_key (mod n)得到密文secretword
1.2.5
解密时利用公式word=text^private_key(mod n)得到原文word=text.。

2程序
本算法用Java编程语言实现,开发环境为Eclipse
//BJTU 软件0404  
import java.io.*;

public class Rsa 
{
    private int p=0;
    private int q=0;
    private long n=0;
    private long m=0;
    
    private long public_key=0;//公匙
    private long private_key=0;//密匙
    
    private long text=0;//明文
    private long secretword=0;//密文
    private long word=0;//解密后明文
    
    //判断是否为素数
    public boolean primenumber(long t)
    {
        long k=0;
        k=(long)Math.sqrt((double)t);
        boolean flag=true;
        outer:for(int i=2;i<=k;i++)
        {
            if((t%i)==0)
            {
                flag = false;
                break outer;

[1] [2] [3] [4] 下一页 




上一篇:用JVM工具接口创建调试和分析代理

下一篇:JAVA基础:Java 启动器如何查找类

用java实现RSA算法 相关文章:
·“黑客”教你如何远程控制计算机
·我是怎么进入他人计算机的
·经典常见计算机密码破解实用手册
·输入验证+重启验证的软件破解 算法分析
·C#编写的windows计算器-源代码
·asp.net(C#)海量数据表高效率分页算法(易懂,不使用存储过程)
·对称加密算法技术概述
·灭毒有招 如何全面清除计算机病毒
·计算机硬件常识
·计算机等级考试三级网络技术复习提纲(下)
用java实现RSA算法 相关软件:
·计算机基础知识教程
·电脑语音算命大师V5.77
·计算机基础知识
·高级计算机网络
·深入理解计算机系统电子杂志 PDF
·计算机绘图应用教程——CAXA电子图板XP
·全国专业技术人员计算机应用能力考试模拟
·全国专业技术人员计算机应用能力考试模拟 V2.1
·计算机故障速查手册
·计算机公益版上机模拟软件 二级C语言

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:vipcn