Python 3.x 需要为Cryptopals Crypto Challenge 3第1组简要说明XORd吗
我有一个关于Cryptopals挑战的快速问题,使用Python3,用一个字符对字符串进行XORing。程序接收十六进制字符串,解码,用一个字符进行XORs,对每个可能的字符进行XORd,然后找到“最英语”的XORd数据行。以下是我的代码片段(我承认是从解决方案页面使用的): 我知道正在发生什么,我理解应该发生什么,我只是不确定字节的行为,以及哪些类型是和不应该是XORd。为什么在char^key\u值周围需要括号?如果我去掉括号,我的输出就会变成一堆0。XOR或字符和key_值的结果是什么?如果有人能友好地解释,以便我能更好地理解这些挑战,我将不胜感激Python 3.x 需要为Cryptopals Crypto Challenge 3第1组简要说明XORd吗,python-3.x,math,cryptography,Python 3.x,Math,Cryptography,我有一个关于Cryptopals挑战的快速问题,使用Python3,用一个字符对字符串进行XORing。程序接收十六进制字符串,解码,用一个字符进行XORs,对每个可能的字符进行XORd,然后找到“最英语”的XORd数据行。以下是我的代码片段(我承认是从解决方案页面使用的): 我知道正在发生什么,我理解应该发生什么,我只是不确定字节的行为,以及哪些类型是和不应该是XORd。为什么在char^key\u值周围需要括号?如果我去掉括号,我的输出就会变成一堆0。XOR或字符和key_值的结果是什么?如
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