Score:0

ฉันจะถอดรหัสรหัส XOR ด้วยคีย์สตริงที่ฉันรู้ได้อย่างไร

ธง cn

ฉันมีข้อความที่ได้รับ XORed ด้วยคีย์ "77U" (ฉันแน่ใจในเรื่องนี้เนื่องจากเป็นไฟล์ที่สร้างโดยรหัสที่ฉันมี ดังนั้นฉันจึงเห็นทุกรายการที่ได้รับ XORed โดย 77U

อย่างไรก็ตาม ไม่มีตัวถอดรหัสออนไลน์ที่ฉันได้ลองให้ผลลัพธ์ที่มีค่าใดๆ แก่ฉัน (ข้อผิดพลาดหรือบางอย่างที่ไม่มีความหมาย) บางตัวไม่มีตัวเลือกในการใส่สตริงเป็นคีย์ ดังนั้นฉันจึงลองแปลงเป็น ASCII แต่ฉันก็ยังทำไม่ได้' ไม่ได้รับผลดีใดๆ

เพื่อวัตถุประสงค์ในการทดลอง นั่นเป็นส่วนหนึ่งของไฟล์ที่ฉันต้องการถอดรหัส:

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

เว็บไซต์มีการเปลี่ยนแปลงตัวละครบางตัว ดังนั้นนี่คือภาพหน้าจอ:

ป้อนคำอธิบายรูปภาพที่นี่

ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม!

ck flag
ข้อมูลนี้มีการอ้างอิงใน [คำถามเมตา] (https://meta.stackexchange.com/questions/376440/broken-feed-for-the-cryptography-site)
ck flag
ส่วนที่อยู่ในรายการของไฟล์ควรเป็นอักขระที่พิมพ์ได้ถูกต้องหรือเป็นข้อมูลไบนารีเป็นหลัก หรือ [UTF-16](https://en.wikipedia.org/wiki/UTF-16) ที่คาดว่าจะเป็น UTF-8
Score:0
ธง cn
vnd

ยินดีต้อนรับ อูโน!

คุณสามารถใช้ Python เพื่อกำหนดฟังก์ชันการถอดรหัส:

def ถอดรหัส (เข้ารหัส: ไบต์, คีย์: ไบต์):
    ผลลัพธ์ = []
    
    สำหรับผมในช่วง (len (เข้ารหัส)):
        result.append(เข้ารหัส[i] ^ คีย์[i % len(คีย์)])

    ส่งคืนไบต์ (ผลลัพธ์)

ในกรณีนี้ ฉันเชื่อว่าข้อความถูกเข้ารหัสด้วยทศนิยมตัวเดียว รหัสแอสกี 77 (ตัวอักษร M):

% python3 -i xor.py
>>> เข้ารหัส = b"D>9,?9m=(#)$#*Gb|ub}mw|zwm"
>>> คีย์ = ไบต์ ([77, ])
>>> ถอดรหัส (เข้ารหัส, คีย์)
b'\tเริ่มรอดำเนินการ\n/18/0 :17: '

ตัวถอดรหัสออนไลน์อื่นๆ ควรทำงานเช่นกันเมื่อคุณระบุ 'M' (หรือ 0x4D ในการแสดงเลขฐานสิบหก) เป็นคีย์

unno avatar
cn flag
แล้วยูล่ะ? ทำไมคุณถึงใช้ 77 แทนที่จะเป็น 77U
unno avatar
cn flag
นอกจากนี้ เมื่อฉันวาง 3 บรรทัดในภาพหน้าจอที่อัปโหลด ฉันได้รับ ""ข้อผิดพลาดทางไวยากรณ์: ไม่สามารถผสมตัวอักษรไบต์และไม่ใช่ไบต์""
unno avatar
cn flag
สำหรับการอ้างอิง นี่คือไฟล์เต็ม: https://pastebin.com/baFm7EqC
cn flag
vnd
คุณอาจได้รับ SyntaxError เนื่องจากข้อความมีเครื่องหมายคำพูดอยู่ข้างใน และคุณวางโดยไม่ใช้ Escape คุณต้องหลีกเลี่ยงก่อน โหลดจากไฟล์หรือใช้เครื่องหมายคำพูดสามตัวดังนี้: >>> b"""ข้อความ " คือ " ที่นี่"""
cn flag
vnd
เกี่ยวกับ U มักจะย่อมาจาก Unicode สำหรับค่านิยม
unno avatar
cn flag
ความคิดใดที่ฉันจะโหลดจากไฟล์ทั้งหมดเนื่องจากฉันมีปัญหาในการวางเนื่องจากมันใหญ่มากและฉันได้รับ "ข้อความประกอบด้วยอักขระควบคุม ซึ่งอาจทำให้เนื้อหาที่วางสามารถดำเนินการตามคำสั่งโดยพลการได้ หากต้องการยืนยันและวาง คุณสามารถใช้ â§ââ"
unno avatar
cn flag
ดังนั้นมันอาจจะพังบางส่วน
cn flag
vnd
ลอง: >>> เข้ารหัส = open("file.txt", "rb").read()
unno avatar
cn flag
ให้เรา [ดำเนินการสนทนาต่อในการแชท](https://chat.stackexchange.com/rooms/134293/discussion-between-unno-and-vnd)
unno avatar
cn flag
ขอบคุณมากมันใช้งานได้!

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา