Điểm:0

Làm cách nào tôi có thể giải mã mật mã XOR bằng khóa chuỗi mà tôi biết?

lá cờ cn

Tôi có một văn bản đã được XOR với khóa "77U" (Tôi chắc chắn điều này vì nó là một tệp được tạo bởi mã tôi có, vì vậy tôi đã thấy mọi mục nhập được XOR bởi 77U.

Tuy nhiên, không có bộ giải mã trực tuyến nào mà tôi đã thử mang lại cho tôi bất kỳ kết quả có giá trị nào (lỗi hoặc điều gì đó vô nghĩa), một số không có tùy chọn đặt chuỗi làm khóa nên tôi đã thử chuyển đổi nó thành ASCII nhưng tôi vẫn không' không nhận được bất kỳ kết quả tốt.

Đối với mục đích dùng thử, đó là một phần của tệp tôi muốn giải mã:

D>9,?9m=(#)$#*Gb|ub}mw|zwm

Một số ký tự đang bị thay đổi bởi trang web, vì vậy đây là ảnh chụp màn hình:

nhập mô tả hình ảnh ở đây

Bất kỳ trợ giúp sẽ được đánh giá cao!

lá cờ ck
Điều này được tham chiếu trong [một câu hỏi meta](https://meta.stackexchange.com/questions/376440/broken-feed-for-the-cryptography-site).
lá cờ ck
Phần được liệt kê của tệp có phải là các ký tự có thể in hợp lệ hay về cơ bản là dữ liệu nhị phân? Hoặc [UTF-16](https://en.wikipedia.org/wiki/UTF-16) nơi mong đợi UTF-8?
Điểm:0
lá cờ cn
vnd

Xin chào unno!

Bạn có thể sử dụng Python để xác định chức năng giải mã:

giải mã def (được mã hóa: byte, khóa: byte):
    kết quả = []
    
    cho tôi trong phạm vi (len (được mã hóa)):
        result.append(encrypted[i] ^ key[i % len(key)])

    trả về byte (kết quả)

Trong trường hợp này, tôi tin rằng văn bản đã được mã hóa bằng một ký tự thập phân mã ASCII 77 (chữ M):

% python3 -i xor.py
>>> mã hóa = b"D>9,?9m=(#)$#*Gb|ub}mw|zwm"
>>> key = byte([77, ])
>>> giải mã (được mã hóa, khóa)
b'\tbắt đầu chờ xử lý\n/18/0 :17: '

Các bộ giải mã trực tuyến khác cũng sẽ hoạt động khi bạn chỉ định 'M' (hoặc 0x4D trong biểu diễn thập lục phân) làm khóa.

unno avatar
lá cờ cn
Còn U thì sao? Tại sao bạn chỉ lấy 77 thay vì 77U?
unno avatar
lá cờ cn
Hơn nữa, khi tôi dán 3 dòng trong ảnh chụp màn hình đã tải lên, tôi nhận được ""Lỗi cú pháp: không thể trộn các ký tự byte và ký tự không phải byte""
unno avatar
lá cờ cn
để tham khảo, đây là tệp đầy đủ: https://pastebin.com/baFm7EqC
lá cờ cn
vnd
Bạn có thể gặp lỗi SyntaxError vì văn bản có dấu ngoặc kép bên trong và bạn dán nó mà không thoát. Trước tiên, bạn cần thoát nó, tải từ tệp hoặc sử dụng ba dấu ngoặc kép như thế này: >>> b"""văn bản " là " ở đây"""
lá cờ cn
vnd
Về U, nó thường là viết tắt của Unicode. Đối với các giá trị
unno avatar
lá cờ cn
bất kỳ ý tưởng làm thế nào tôi có thể tải nó hoàn toàn từ tệp vì tôi gặp sự cố khi dán nó vì nó rất lớn và tôi nhận được "Văn bản chứa các ký tự điều khiển, có thể cho phép nội dung đã dán thực hiện các lệnh tùy ý. Để xác nhận và Dán, bạn có thể sử dụng â§ââ."
unno avatar
lá cờ cn
vì vậy nó có thể làm hỏng một số bộ phận.
lá cờ cn
vnd
Hãy thử: >>> mã hóa = open("file.txt", "rb").read()
unno avatar
lá cờ cn
Hãy để chúng tôi [tiếp tục cuộc thảo luận này trong trò chuyện](https://chat.stackexchange.com/rooms/134293/discussion-between-unno-and-vnd).
unno avatar
lá cờ cn
cảm ơn bạn rất nhiều điều này đang làm việc!

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.