第七届全国残疾人职业技能大赛样题-网络安全-二战时期的密码
前言
异或运算(XOR)是一种逻辑运算,它的运算规则是两个二进制数对应位上的数字相同则输出0,不同则输出1。在计算机科学中,异或运算通常用“^”符号表示。例如,1 ^ 0 = 1,0 ^ 1 = 1,1 ^ 1 = 0。
异或运算具有以下性质:
- 交换律:a ^ b = b ^ a
- 结合律:a ^ (b ^ c) = (a ^ b) ^ c
- 自反性:a ^ a = 0
- 恒等律:a ^ 0 = a
异或运算常用于加密算法、校验码生成、数据压缩和散列函数等领域。以下是一些异或运算的使用场景:
- 数组中查找只出现一次的数:如果一个数组中只有一个数字出现一次,其他数字都出现了两次,那么可以使用异或运算找出这个数字。
- 交换两个数的值:使用异或运算可以交换两个数的值。比如,a = a ^ b; b = a ^ b; a = a ^ b;。
- 判断两个二进制数的奇偶性是否相同:如果两个二进制数的奇偶性相同,则它们的异或结果为偶数,否则结果为奇数。
- 数据的加密解密:在加密时,使用相同的密钥对数据进行异或运算。在解密时,再次使用相同的密钥对密文进行异或运算即可还原出原始数据。
一、二战时期的密码
1.打开题目
2.解题
密钥为12位,密文为84位,可能是异或:
7位二进制可能表示字母顺序:
W E L C O M E T O C F F
密文
1 | 0000000 0000000 0000000 0000000 0000000 0000000 0000000 0010111 0000110 0010000 0010100 0000001 |
密钥
1 | 0010111 0000101 0001100 0000011 0001111 0001101 0000101 0010100 0001111 0000011 0000110 0000110 |
Xor
1 | 0010111 0000101 0001100 0000011 0001111 0001101 0000101 0000011 0001001 0010011 0010010 0000111 |
W E L C O M E C I S R G
即:WELCOMECISRG
flag:WELCOMECISRG
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Sword技术分享!
评论