[英]Convert plaintext to perform elgamal encryption
嗨,我正在用Java编写程序来测试Elgamal加密的变体,但是我的问题不是encryption/decryption
链本身,而是如何在给定的输入上执行操作:一个文本文件。 我有一个带有一些单词的文本文件(例如,内容可以是: "Hello world, this is a test"
),我需要像这样对它们执行数字运算:
密文=(消息* y)mod p
y
和p
是两个biginteger
。 我尝试了此转换链:(一次读取一个字符串):
与字符串> Hexadecimal->小数
然后执行加密操作,然后执行相反的操作:
10进制> Hexadecimal->字符串
但这并非一直有效(我目前正在对此问题进行调查)。
固定。
我的问题是,有更好的方法吗? 我正在阅读有关byte array
的内容,但不确定如何使用它们。
[如果需要,我可以发布加密/解密链的示例]
BigInteger具有以字节数组为参数的构造函数。
可以使用(例如)UTF-8编码将任何字符串无损地转换为字节数组:
byte[] bytes = string.getBytes(StandardCharsets.UTF_8);
结合两者,您便可以轻松地将String转换为BigDecimal。
对于相反的操作,请使用BigInteger.toByteArray() ,然后使用new String(bytes, StandardCharsets.UTF_8)
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.