对于学习密码学和相关领域,您有什么建议?
Александр
Asked:
2022-07-25 18:42:20 +0800 CST
使用 Gronsveld 密码,例如,使用 Sony 这个词的加密和密钥 23,密码是正确的,但超出了字母表
void encryt()
{
string encryptedText;
for (int j = 0; Key.size() < Word.size(); j++)
{
Key.push_back(Key[j]);
}
for (int i = 0; i < Word.size(); i++)
{
if (Word[i] == ' ')
{
encryptedText.push_back(' ');
}
else
{
encryptedText.push_back(char((Word[i]) + Key[i] - 48));
}
}
cout << "\nText: " << "\t" << Word << endl;
cout << "Key: " << "\t" << Key << endl;
cout << "\nEncrypted Text: " << encryptedText << endl;
this->encryptedText = encryptedText;
}
控制台输出
Text: Sony
Key: 2323
Encrypted Text: Urp|
Decrypted Text: Sony
cc69
Asked:
2022-07-19 01:02:06 +0800 CST
请告诉我如何使用 C++ 中的加密计算大数?我必须将数字 45 提高到浮点数的幂,它可以在 1 到 256 的范围内。
这是程序代码:
#include <iostream>
using namespace std;
int main() {
setlocale(LC_ALL, "Russian");
double a = 14.875;
double b = 240.874;
long double C = fmod(pow(45, a), 257);
long double D = fmod(pow(45, b), 257);
cout << "Вывод переменной C = fmod(pow(45, a), 257): " << C << endl;
cout << "Вывод переменной D = fmod(pow(45, b), 257): " << D << endl;
cout << endl;
system("pause");
return 0;
}
在控制台中,我得到输出:
Вывод переменной C = fmod(pow(45, a), 257): 165
Вывод переменной D = fmod(pow(45, b), 257): nan
Для продолжения нажмите любую клавишу . . .
如何摆脱num (Not a Number) 甚至inf (infinity) 的问题?据我了解,您需要某种库来处理大量数字,例如 OpenSSL 或 Gcrypt?如果您需要安装库,请告诉我如何正确安装它们?
kos channel
Asked:
2022-10-07 16:22:59 +0800 CST
我正在尝试确定由 Vigenère 加密的文本的长度。我是否正确找到单个字母的匹配索引,公式是:每个字母的 n*(n-1)/L*(L-1)。其中n是字母在字符串中出现的次数,L是字符串的长度。结果,如果一个字母只出现一次,那么它的IP就是=0,这正常吗?
另外,告诉我,我是否正确理解整行的总 IS 将是所有字母 IS 的算术平均值?
在此先感谢您的帮助。
Alyks
Asked:
2022-06-15 10:05:35 +0800 CST
我正在阅读维基百科上的 RSA 算法,但我不明白秘密指数d是如何使用公共数据(公共指数e和数字n)计算的。毕竟,使用公钥获取密钥违反了密码系统的基本要求之一。RSA怎么难破解?