В настоящее время я работаю над проектом, в котором я реализую криптографию с эллиптической кривой.Я использую BouncyCastle для этого, где они имеют встроенные функции для обработки.
Я начал с чего-то очень простого, просто чтобы посмотреть, как все работает, но у меня уже есть проблема.Я пытаюсь сделать умножение точек:
ECPoint tmp3;
ECPoint tmp1 = ecSpec.getCurve().createPoint(new BigInteger("23"),new BigInteger("123"));
BigInteger tmp2 = new BigInteger("12");
tmp3 = tmp1.multiply(tmp2);
Однако это возвращает время выполнения ошибка:
Exception in thread "main" java.lang.IllegalStateException: Invalid result
at org.bouncycastle.math.ec.ECAlgorithms.implCheckResult(Unknown Source)
at org.bouncycastle.math.ec.AbstractECMultiplier.checkResult(Unknown Source)
at org.bouncycastle.math.ec.AbstractECMultiplier.multiply(Unknown Source)
at org.bouncycastle.math.ec.ECPoint.multiply(Unknown Source)
at test.ecc_test.main(ecc_test.java:85)
Несколько точек для добавления:
- Я попытался использовать сложение вместо умножения, и оно сработало .
- Возможно, это проблема с установкой файла .jar.Однако я добавил источник, и компилятор распознал ECPoint.multiply.class.
Любое предложение будет высоко оценено!
Спасибо