仿射密码在C语言中获得相同的密钥

时间:2016-11-17 08:45:53

标签: c encryption

我尝试加密从文本文件中读取的仿射密码。我的.txt个文件包含两个密钥:alphabetaAlpha应该是一个奇数,因为gcd(alpha, 26)==1 并生成随机密钥。这是我的代码:

beta = rand() % 26; 

但加密无法正常工作。例如:加密后的单词"bahar"加密后会出现在"XWDWN"字词中,但应该是"M"而不是"X"。密钥为alpha = 3beta = 9,但我的代码选择为key (1, 22) alpha=1 beta=22。已经选择了不断的alpha "1"。另一种加密例如(1, 17) ..等等。

1 个答案:

答案 0 :(得分:1)

这是加密的方式

putc(((toupper(p) - 'A')*alpha + beta) % 26 + 'A', cipher);