密码学技术与应用解析

32、在使用维吉尼亚关键字密码生成的密文中,有一些重复字母组及其间隔如下:字母组AEY出现4次,间隔为12、24、36;字母组PEZ出现3次,间隔为18、36;字母组TSRK出现2次,间隔为42;字母组GTEM出现2次,间隔为48;字母组QPIAP出现2次,间隔为24。仅根据这些信息,使用卡西斯基测试找出该密码关键字的最可能长度。

先求这些间隔的最大公约数,即 gcd(12, 24, 36, 18, 42, 48) = 6 ,所以关键字的最可能长度是 6。

33、在使用维吉尼亚关键字密码生成的密文中,一些重复字母组及其间隔如下:字母组PFY出现5次,间隔为16, 32, 48, 64;字母组AQZ出现4次,间隔为24, 48, 72;字母组RSVP出现3次,间隔为32, 48;字母组NEET出现2次,间隔为24;字母组MIWX出现2次,间隔为48。仅根据这些信息,使用卡西斯基测试找出该密码关键字的最可能长度。

通过计算 16、24、32、48、64、72 的最大公约数为 8,所以关键字的最可能长度是 8。

34、查找一些关于弗里德里希·卡西斯基(Friedrich Kasiski)及其破解维吉尼亚关键字密码的努力的信息,并对你的发现进行总结。

弗里德里希·卡西斯基生活在19世纪,是普鲁士军队的一名职业军官。他在辞去正式军职后开展密码学工作,其工作在他有生之年未得到重视。1863年,他在德国出版的一本简短的书中提出了 卡西斯基测试法 。不过,该测试法实际上在近十年前已由英国数学家和发明家 查尔斯·巴贝奇 独立发现。

卡西斯基测试法 依赖于明文中字母组与关键字中字母的偶然对齐。在维吉尼亚关键字密码形成的密文中,若一组字母重复出现,这些出现位置起始处之间的距离可能是关键字长度的倍数,通过求这些距离的 最大公约数 ,可估计关键字的长度。

35、创建一个加密矩阵A为2×2大小的希尔密码,并使用它来加密你选择的至少包含12个字母的明文。同时,说明你如何知道A的模26逆矩阵存在。

以下为具体步骤。

  1. 选择加密矩阵A和明文:
    设加密矩阵A = [[3, 5], [2, 7]],明文为“HELLO WORLD TODAY”。

  2. 检查A的模26逆矩阵是否存在:
    矩阵A的行列式det(A)=3×7 - 5×2 = 21 - 10 = 11。
    要判断A的模26逆矩阵是否存在,需检查行列式11与26是否互质,通过计算它们的最大公约数gcd(11, 26) = 1,说明11与26互质,所以A的模26逆矩阵存在。

  3. 处理明文:
    明文“HELLO WORLD TODAY”有18个字母,无需填充。
    将字母转换为数字,对应关系为A = 0, B = 1, C = 2, …, Z = 25,转换后得到数字序列:
    7, 4, 11, 11, 14, 22, 14, 17, 11, 3, 19, 14, 3, 19, 0, 3, 24, 0。

  4. 分组并加密:
    将数字按每组2个分组,形成行矩阵,然后与矩阵A相乘并取模26。
    例如,第一组[7, 4],[7, 4]×[[3, 5], [2, 7]] = [7×3 + 4×2, 7×5 + 4×7] = [29, 63],模26后为[3, 11]。
    依次对所有组进行计算。

  5. 将加密后的数字转换为字母:
    根据对应关系将加密后的数字转换为字母,得到密文。

36、假设对一段明文进行加密时,采用了某种加密方式将明文成对加密形成密文。现在接收到的密文是OEMGD ZHCXG GE,其中第三个密文字母被错误地转录为M而不是N。已知该加密方式对应的解密矩阵为 (A^{-1} mod 26) ,使用此矩阵对该密文进行解密。结果中出现了多少个错误?为什么会出现这种情况?

解密后的结果为 I WOSL BE LATE A ,第三和第四个字母出现错误。
因为明文是成对加密形成密文的,错误转录一个密文字母也可能导致与之一起形成的密文字母解密为错误的明文字母。

37、对于加密公式为 yi = (xiA + xi−1B) mod 26 的希尔密码,证明解密公式为 xi = (yi − xi−1B)A−1 mod 26。

从加密公式
$$ y_i = (x_i A + x_{i-1} B) \mod 26 $$
开始,对其进行变形。

  1. 在等式两边同时减去 $ x_{i-1} B $,得到:
    $$ y_i - x_{i-1} B = x_i A \mod 26 $$

  2. 然后等式两边同时左乘 $ A $ 的逆矩阵 $ A^{-1} $,就可以得到:
    $$ x_i = (y_i - x_{i-1} B) A^{-1} \mod 26 $$

从而证明了该解密公式。

38、对于加密公式为 yi = (xiA + yi−1B) mod 26 的希尔密码,证明其解密公式为 xi = (yi − yi−1B)A−1 mod 26。

已知加密公式为
$$ y_{i} = (x_{i}A + y_{i - 1}B) \mod{26} $$

首先对该式进行移项,可得
$$ y_{i} - y_{i - 1}B = x_{i}A \mod{26} $$

因为 $ A $ 存在模 26 的逆矩阵 $ A^{-1} $,在等式两边同时右乘 $ A^{-1} $,则有
$$ (y_{i} - y_{i - 1}B)A^{-1} = x_{i}AA^{-1} \mod{26} $$

由于 $ AA^{-1} $ 在模 26 运算下等于单位矩阵 $ I $,所以
$$ x_{i}AA^{-1} = x_{i}I = x_{i} $$

即得到解密公式
$$ x_{i} = (y_{i} - y_{i - 1}B)A^{-1} \mod{26} $$

39、查找有关RSA密码在现实生活中一个或多个实际应用的信息,并对你的发现进行总结。

RSA密码在现实生活中有广泛应用,如使用自动取款机(ATM)或通过互联网用信用卡购物时可能会使用 RSA 密码,只是用户可能在不知情的情况下使用。

40、仅根据以下每个结果,费马小定理能让你对模数是否为素数得出什么结论?(a) 2⁶⁶⁰⁰ ≡ 1 (mod 6601) (b) 3²²⁶⁰⁶ ≡ 3955 (mod 22607) (c) 4³⁹⁹⁹⁶ ≡ 17872 (mod 39997) (d) 5⁵²⁶³² ≡ 1 (mod 52633)

  • (a) 6601可能是素数;
  • (b) 22607肯定不是素数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值