知识大全 RSA算法的实现——java版

Posted

篇首语:百闻不如一见,百见不如一干。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 RSA算法的实现——java版相关的知识,希望对你有一定的参考价值。

RSA算法的实现——java版  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  

  package rsa;

  import java math BigInteger;

  public class RSA  private long p q e d n; public RSA()  int pIndex = (int)(Math random()* );  int qIndex;  int eIndex;  do   qIndex = (int)(Math random()* );    while(qIndex==pIndex);  do   eIndex = (int)(Math random()* );    while(eIndex==pIndex||eIndex==pIndex);  p = ;  q = ;  e =  ;  n = p*q;  d = calculateD();  private long calculateD()  long t = t = t = ;  long r = (p )*(q ) m = r r = e r = ;  do   long q = r /r ;   r = r r *q;   if(r == )break;   t = t t *q;   while(t < )    t +=m;      if(t >=m)    t %= m;          r = r ;   r = r ;   t = t ;   t = t ;  while(r != );  if(r != )   return ;    else   return t ;     public long getE()   return e;  public long getN()   return n;  public long getD()   return d;  public BigInteger encode(BigInteger data)  return pow(data d) mod(new BigInteger(n+ ));  public BigInteger decode(BigInteger code)  return pow(code e) mod(new BigInteger(n+ ));  public BigInteger pow(BigInteger data long p)  data = data pow((int)p);  return data;  public static void main(String args[])  RSA rsa = new RSA();    BigInteger data = new BigInteger( );  long oldtime = System currentTimeMillis();  BigInteger code = rsa encode(data);  long newtime = System currentTimeMillis();  double codetime = ((double)(newtime oldtime))/ ;  oldtime = System currentTimeMillis();  BigInteger decode = rsa decode(code);  newtime = System currentTimeMillis();  double decodetime = ((double)(newtime oldtime))/ ;  System out println( privateKey: +rsa d);  System out println( publickKey: +rsa e);  System out println( N: +rsa n);  System out println( data: +data);  System out println( code: +code+ time: +codetime);  System out println( decode: +decode+ time: +decodetime);

cha138/Article/program/Java/Javascript/201311/25327

相关参考

知识大全 Java中常用的加密算法MD5,SHA,RSA

Java中常用的加密算法MD5,SHA,RSA  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  M

知识大全 JAVA版MD5加密算法

JAVA版MD5加密算法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  packagesf_md

知识大全 java非对称加密的源代码(RSA)

java非对称加密的源代码(RSA)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  鉴于rsa加

知识大全 java RSA 加解密

javaRSA加解密  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  importjavasecu

知识大全 用javascript与java进行RSA加密与解密

用javascript与java进行RSA加密与解密  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 Java生成RSA非对称型加密的公钥和私钥

Java生成RSA非对称型加密的公钥和私钥  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  非对称

知识大全 严蔚敏《数据结构(c语言版)习题集》算法设计题第一章答案

  说明:  本文是对严蔚敏《数据结构(c语言版)习题集》一书中所有算法设计题目的解决方案主要作者为kaoyan计算机版版主一具以下网友:siice龙抬头iamkentzamesbirdthinkin

知识大全 Java实现通用组合算法

Java实现通用组合算法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Java实现通用组合算法

知识大全 常见排序算法的java实现

  最近在面试遇到很多排序算法问题总结一下  定义数组如下  [java]  int[]array=newint[];  int[]array=newint[];  首先是插入排序  [java]  

知识大全 HITS算法Java实现

HITS算法Java实现  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  HITS算法是重要的链接