检查我的Java RSA算法
我必须实现一个RSA算法来对文档进行签名,并检查是否有人对其进行了更改。这个对吗?我不能在不知道是否可以的情况下去试生产检查我的Java RSA算法,java,rsa,Java,Rsa,我必须实现一个RSA算法来对文档进行签名,并检查是否有人对其进行了更改。这个对吗?我不能在不知道是否可以的情况下去试生产 private BigInteger n; private BigInteger e; private BigInteger d; private final static SecureRandom random = new SecureRandom(); private BigInteger getRandomInteger(int lengthInBits){
private BigInteger n;
private BigInteger e;
private BigInteger d;
private final static SecureRandom random = new SecureRandom();
private BigInteger getRandomInteger(int lengthInBits){
return BigInteger.probablePrime(lengthInBits/2, random);
}
public RSACypher(int lengthInBits) {
BigInteger phi;
do {
BigInteger p = getRandomInteger( lengthInBits );
BigInteger q = getRandomInteger( lengthInBits );
phi = (p.subtract(BigInteger.ONE)).multiply(q.subtract(BigInteger.ONE));
n = p.multiply(q);
e = BigInteger.probablePrime(lengthInBits - 1, random);
d = e.modInverse(phi);
} while ( ( n.bitCount() > (lengthInBits/2) ) || ( e.gcd( phi ).intValue() != 1 ) );
}
提前感谢基于RSA规范编写单元测试。。。
您可以从已经编写的测试中获得灵感,例如,但是编写您自己的测试将使您对算法知识更有信心(这是我的观点;-)“我不能在不知道是否可以的情况下进行试生产…”-Gold!假设,您编写了一个测试…当然,我有测试,并使用我自己的代码,加密和解密。。。但我不知道这是否是标准算法,例如,你知道Java已经内置了RSA加密,对吗?是的,我知道。谢谢