Проблема при шифровании с использованием XOR-шифрования с помощью повторяющегося ключа в Python 3.x - PullRequest
0 голосов
/ 15 сентября 2018

Я новичок в python и stackoverflow, проблема, с которой я столкнулся со своим сценарием, заключается в том, что он генерирует сообщение, зашифрованное в шестнадцатеричном формате, что неправильно, потому что, когда я хочу расшифровать его с помощью другого инструмента в Интернете, он отправляет мне другое сообщениевсе плохо зашифрован, я думаю, что мой скрипт шифрует текст так, может кто-то помочь мне

def repeating_key_xor(bytes_messages, key):
    output_bytes = b''
    index = 0
    for byte in bytes_messages:
        output_bytes += bytes([byte ^ key[index]])
        if (index + 1 ) == len(key):
            index = 0
        else:
            index += 1
    return output_bytes

def main():
    message = "No soy un hombre de plegarias, pero si estas en el cielo, ¡Ayúdame Superman!".encode()
    key = "763".encode()
    ciphertext = repeating_key_xor(message,key)
    print(ciphertext.hex())

if __name__ == '__main__':
    main()

Зашифрованное сообщение он генерирует это:

79591344594a17435d175e5c5a54415216575216435b535456445a56451f174656455913445f13524547564513525813525a13545f565b591f17f492764ff08d52525a531364434352445e565812

1008*

Это, когда я хочу расшифровать его, чтобы проверить его с помощью этого инструмента: https://gchq.github.io/CyberChef/#recipe=XOR(%7B'option':'Hex','string':''%7D,'Standard',false)

Верните мне это сообщение:

........... R ..... W ... RPW ................ T ......... R. .... U ............... Q ....................... V ..... Q ... T ...U..U ...... QP..R ..... W ............... V ......

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...