【Sword系列】第七届全国残疾人职业技能大赛样题-网络安全-二战时期的密码
前言
异或运算(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
密文
0000000 0000000 0000000 0000000 0000000 0000000 0000000 0010111 0000110 0010000 0010100 0000001
密钥
0010111 0000101 0001100 0000011 0001111 0001101 0000101 0010100 0001111 0000011 0000110 0000110
Xor
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:
- 点赞
- 收藏
- 关注作者
评论(0)