【Sword系列】第七届全国残疾人职业技能大赛样题-网络安全-二战时期的密码

举报
剑豪 发表于 2023/06/30 21:41:57 2023/06/30
【摘要】 异或运算(XOR)是一种逻辑运算,它的运算规则是两个二进制数对应位上的数字相同则输出0,不同则输出1。在计算机科学中,异或运算通常用“^”符号表示。例如,1 ^ 0 = 1,0 ^ 1 = 1,1 ^ 1 = 0。

前言

异或运算(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

密文

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:WELCOMECISRG

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。