长话短说:我需要使用ElGamal
加密对编码数字执行乘法运算。
我目前正在使用Kotlin
并OpenJDK 1.8
找到了一个名为 Bouncy Castle 的 JCE 提供者。它提供ElGamal
标准内的加密JCE API
。但是,我根本不知道如何对从中得到的加密消息执行乘法运算。
Security.addProvider(BouncyCastleProvider())
val keys = KeyPairGenerator.getInstance("ElGamal", "BC").generateKeyPair()
val cipher = Cipher.getInstance("ElGamal/None/NoPadding", "BC")
cipher.init(Cipher.ENCRYPT_MODE, keys.public)
val eleven = BigInteger.valueOf(11)
val three = BigInteger.valueOf(3)
val eleven_e = cipher.doFinal(eleven.toByteArray())
val three_e = cipher.doFinal(three.toByteArray())
//Do three_e * eleven_e