前言

异或运算(XOR)是一种逻辑运算,它的运算规则是两个二进制数对应位上的数字相同则输出0,不同则输出1。在计算机科学中,异或运算通常用“^”符号表示。例如,1 ^ 0 = 1,0 ^ 1 = 1,1 ^ 1 = 0。

异或运算具有以下性质:

  1. 交换律:a ^ b = b ^ a
  2. 结合律:a ^ (b ^ c) = (a ^ b) ^ c
  3. 自反性:a ^ a = 0
  4. 恒等律:a ^ 0 = a

异或运算常用于加密算法、校验码生成、数据压缩和散列函数等领域。以下是一些异或运算的使用场景:

  1. 数组中查找只出现一次的数:如果一个数组中只有一个数字出现一次,其他数字都出现了两次,那么可以使用异或运算找出这个数字。
  2. 交换两个数的值:使用异或运算可以交换两个数的值。比如,a = a ^ b; b = a ^ b; a = a ^ b;。
  3. 判断两个二进制数的奇偶性是否相同:如果两个二进制数的奇偶性相同,则它们的异或结果为偶数,否则结果为奇数。
  4. 数据的加密解密:在加密时,使用相同的密钥对数据进行异或运算。在解密时,再次使用相同的密钥对密文进行异或运算即可还原出原始数据。

一、二战时期的密码

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