Cryptography 加密++;原始RSA使用短密钥对短消息进行签名

Cryptography 加密++;原始RSA使用短密钥对短消息进行签名,cryptography,rsa,crypto++,Cryptography,Rsa,Crypto++,我有一封大小限制为128位的邮件,我想签名并验证我是发起者。我只有一个要求:密码不能超过128位的限制 因此,在对签名和验证主题进行了一些研究之后,我决定使用密钥长度为128位的原始RSA,因为我没有找到任何其他适合的算法来满足要求。其他算法似乎总是有某种内存开销,需要密码更大,但可能我错过了正确的算法(如果是这样,最好给我一个提示) 我知道,这很快就可以破解,但主要要求是短信 因此,首先,我尝试用公钥加密消息。我想使用Crypto++提供的高级方案(例如,CryptoPP::RSAES_OAE

我有一封大小限制为128位的邮件,我想签名并验证我是发起者。我只有一个要求:密码不能超过128位的限制

因此,在对签名和验证主题进行了一些研究之后,我决定使用密钥长度为128位的原始RSA,因为我没有找到任何其他适合的算法来满足要求。其他算法似乎总是有某种内存开销,需要密码更大,但可能我错过了正确的算法(如果是这样,最好给我一个提示) 我知道,这很快就可以破解,但主要要求是短信

因此,首先,我尝试用公钥加密消息。我想使用Crypto++提供的高级方案(例如,
CryptoPP::RSAES_OAEP_SHA_Encryptor
),但它们有一些用于摘要和其他内容的内存开销,所以我习惯直接进行计算。 我的C++代码用于E/-解密看起来如下:

//这是我们的信息
std::string message=“0123456789ABCDEX”;
CryptoPP::整数m((常量字节*)message.data(),message.size());

你需要什么样的加密?RSA绝对不是答案,它打破了128位RSA。我7岁的台式电脑在几分之一秒内就计算出了你的模数
n
。128位RSA不提供任何安全性。你至少需要1024位。我知道这不是很安全,但这很令人沮丧。我必须对128位消息签名,密码长度不得超过此长度。我发现RSA符合这一要求,但有不安全的缺点。你知道其他(非对称符号)算法吗,谁的密码与输入消息的长度相同,哪个更安全?椭圆曲线密码可以用更短的密钥来实现,但是它的签名是密钥长度的两倍。这意味着您最多只能接受64位ECC。那还不安全,谢谢!我想它仍然比128位RSA签名更安全。但是,由于加密安全不是主要目标,因此就我的目的而言,它是可以实现的。
message ( 16 bytes)   : 30313233343536373839414243444558h
cipher  ( 16 bytes)   : 2e294ff384751724c7dbbc31def66511h
decrypted ( 16 bytes) : 30313233343536373839414243444558h
Decryption successful