成都网站建设设计

将想法与焦点和您一起共享

eclipse如何实现ElGamal数字签名?-创新互联

创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名与空间、虚拟空间、营销软件、网站建设、湖滨网站维护、网站推广。

这篇文章将为大家详细讲解有关eclipse如何实现ElGamal数字签名?,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一、实验目的

学习ElGamal算法在数字签名方面的使用,掌握教科书版本的ElGamal数字签名算法的编写,掌握ElGamal加密算法和ElGamal数字签名算法的异同。

二、实验要求

1.熟悉ElGamal数字签名算法。
2.掌握如何使用Java BigInteger类,简单实现教科书式的ElGamal公私钥签名算法。
3.了解ElGamal加密算法和ElGamal数字签名算法的异同。

三、开发环境

JDK 1.7,Java开发环境(本实验采用Windows+eclipse作为实验环境),要求参与实验的同学按照对称加密提供的方法,提前安装好JDK。

四、实验内容

【1-1】ElGamal签名算法的实现

1.实现公私钥生成算法:根据教材,ElGamal公私钥生成算法选需要选取一个大素数 ,然后选取 作为其生成元。接着随机选取私钥 ,计算 作为其公钥。因此,可写代码如下:

public void initKeys() {
 System.out.println("choose a prime p with securitylevel " 
 + securitylevel + " , please wait ...");
 p = new BigInteger(securitylevel, 100, new Random());
 System.out.println("p : " + p);
 g = __randomInZp();
 System.out.println("g : " + g);
 x = __randomInZp();
 System.out.println("x : " + x);
 y = g.modPow(x, p);
 System.out.println("y : " + y);
 
}

网站栏目:eclipse如何实现ElGamal数字签名?-创新互联
文章地址:http://chengdu.cdxwcx.cn/article/ddehcs.html