作业解答:
1、数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。
RSA
公钥
加密算法是1977年由
罗纳德·李维斯特(Ron Rivest)、
阿迪·萨莫尔(Adi Shamir)和
伦纳德·阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。
RSA是目前最有影响力的
公钥
加密算法
,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥
数据加密标准
。
DES算法为密码体制中的对称密码体制,又被称为美国数据加密标准,是1972年美国IBM公司研制的对称密码体制加密算法。 明文按64位进行分组,密钥长64位,密钥事实上是56位参与DES运算(第8、16、24、32、40、48、56、64位是校验位, 使得每个密钥都有奇数个1)分组后的明文组和56位的密钥按位替代或交换的方法形成密文组的加密方法。
2、
判断一个正整数是否为质数的算法
package exercise1;
import java.util.Scanner;
public class Demo {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.println("请输入一个数:");
long a = input.nextLong();
Demo demo=new Demo();
demo.isPrime(a);
}
public void isPrime(long a){
boolean isF = true;
for(int i=2;i<a;i++)
{
if(a%i==0){
isF = false;
break;
}else{
continue;
}
}
if(isF){
System.out.print("1");
}else{
System.out.print("0");
}
}
}
3、 随机生成一个n bit位的长整数
package exercise1;
import java.util.Scanner;
public class Demo {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.println("请输入一个数:");
int a = input.nextInt();
Demo demo=new Demo();
System.out.println("返回:"+demo. createRndInteger(a));
}
public long createRndInteger(int n){
long lon=(int)(Math.random() * (Math.pow(2, n)-1));
return lon;
}
}
。。。