Java 类org.bouncycastle.crypto.ec.ECNewPublicKeyTransform 实例源码

项目:gwt-crypto    文件:ECTransformationTest.java   
private void doTest(ECPrivateKeyParameters priKey, ParametersWithRandom pRandom, BigInteger value)
{
    ECPoint data = priKey.getParameters().getG().multiply(value);

    ECEncryptor encryptor = new ECElGamalEncryptor();

    encryptor.init(pRandom);

    ECPair pair = encryptor.encrypt(data);

    ECKeyPairGenerator ecGen = new ECKeyPairGenerator();

    ecGen.init(new ECKeyGenerationParameters(priKey.getParameters(), new SecureRandom()));

    AsymmetricCipherKeyPair reEncKP = ecGen.generateKeyPair();

    ECPairTransform ecr = new ECNewPublicKeyTransform();

    ecr.init(reEncKP.getPublic());

    ECPair srcPair = pair;

    // re-encrypt the message portion
    pair = ecr.transform(srcPair);

    ECDecryptor decryptor = new ECElGamalDecryptor();

    decryptor.init(priKey);

    // decrypt out the original private key
    ECPoint p = decryptor.decrypt(new ECPair(srcPair.getX(), pair.getY()));

    decryptor.init(reEncKP.getPrivate());

    // decrypt the fully transformed point.
    ECPoint result = decryptor.decrypt(new ECPair(pair.getX(), p));

    if (!data.equals(result))
    {
        fail("point pair failed to decrypt back to original");
    }
}
项目:irma_future_id    文件:ECTransformationTest.java   
private void doTest(ECPrivateKeyParameters priKey, ParametersWithRandom pRandom, BigInteger value)
{
    ECPoint data = priKey.getParameters().getG().multiply(value);

    ECEncryptor encryptor = new ECElGamalEncryptor();

    encryptor.init(pRandom);

    ECPair pair = encryptor.encrypt(data);

    ECKeyPairGenerator ecGen = new ECKeyPairGenerator();

    ecGen.init(new ECKeyGenerationParameters(priKey.getParameters(), new SecureRandom()));

    AsymmetricCipherKeyPair reEncKP = ecGen.generateKeyPair();

    ECPairTransform ecr = new ECNewPublicKeyTransform();

    ecr.init(reEncKP.getPublic());

    ECPair srcPair = pair;

    // re-encrypt the message portion
    pair = ecr.transform(srcPair);

    ECDecryptor decryptor = new ECElGamalDecryptor();

    decryptor.init(priKey);

    // decrypt out the original private key
    ECPoint p = decryptor.decrypt(new ECPair(srcPair.getX(), pair.getY()));

    decryptor.init(reEncKP.getPrivate());

    // decrypt the fully transformed point.
    ECPoint result = decryptor.decrypt(new ECPair(pair.getX(), p));

    if (!data.equals(result))
    {
        fail("point pair failed to decrypt back to original");
    }
}
项目:bc-java    文件:ECTransformationTest.java   
private void doTest(ECPrivateKeyParameters priKey, ParametersWithRandom pRandom, BigInteger value)
{
    ECPoint data = priKey.getParameters().getG().multiply(value);

    ECEncryptor encryptor = new ECElGamalEncryptor();

    encryptor.init(pRandom);

    ECPair pair = encryptor.encrypt(data);

    ECKeyPairGenerator ecGen = new ECKeyPairGenerator();

    ecGen.init(new ECKeyGenerationParameters(priKey.getParameters(), new SecureRandom()));

    AsymmetricCipherKeyPair reEncKP = ecGen.generateKeyPair();

    ECPairTransform ecr = new ECNewPublicKeyTransform();

    ecr.init(reEncKP.getPublic());

    ECPair srcPair = pair;

    // re-encrypt the message portion
    pair = ecr.transform(srcPair);

    ECDecryptor decryptor = new ECElGamalDecryptor();

    decryptor.init(priKey);

    // decrypt out the original private key
    ECPoint p = decryptor.decrypt(new ECPair(srcPair.getX(), pair.getY()));

    decryptor.init(reEncKP.getPrivate());

    // decrypt the fully transformed point.
    ECPoint result = decryptor.decrypt(new ECPair(pair.getX(), p));

    if (!data.equals(result))
    {
        fail("point pair failed to decrypt back to original");
    }
}