Need XORd简要介绍了Cryptopals Crypto Challenge 3 set 1

时间:2018-08-16 20:11:52

标签: python-3.x math cryptography

我只是对这部分代码有一个简单的问题,我在这里使用Python3在Cryptopals Challenges上进行的Cryptopals Challenges,用于将一个字符与一个字符串异或(XOR),该程序接收一个十六进制字符串,对其进行解码,然后使用单个字符,对每个可能的字符执行此操作,然后找到XORd数据的“最英语”行。这是我的代码段(我在解决方案页面上肯定使用过):

def singlechar_xor(input_bytes, key_value):
    """XORs every byte of the input with the given key_value and returns the result."""
    output = b''
    for char in input_bytes:
        output += bytes([char ^ key_value])
    return output

我知道发生了什么,我了解了应该发生的事情,只是不确定字节的行为方式以及应该进行XORd的类型和类型。为什么我需要在char ^ key_value周围加上括号?如果我删除括号,我的输出将变成一堆0。 XOR或字符和key_value的结果是什么?如果有人可以解释一下,以便我可以更好地理解这些挑战,那么id非常感谢<3

0 个答案:

没有答案