繁体   English   中英

转换纯文本以执行Elgamal加密

[英]Convert plaintext to perform elgamal encryption

嗨,我正在用Java编写程序来测试Elgamal加密的变体,但是我的问题不是encryption/decryption链本身,而是如何在给定的输入上执行操作:一个文本文件。 我有一个带有一些单词的文本文件(例如,内容可以是: "Hello world, this is a test" ),我需要像这样对它们执行数字运算:

密文=(消息* y)mod p

yp是两个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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM