Repo นี้มีแอปพลิเคชันการเข้ารหัสที่ใช้ภาษา Assembly ระดับต่ำ ซึ่งฉันใช้อัลกอริธึมการเข้ารหัส ซึ่งก็คือ Columnar Transposition ซึ่งเป็นรูปแบบของการเข้ารหัสการขนย้ายเหมือนกับ Rail Fence Cipher โดยใช้เทอร์มินัลสองเครื่อง อินพุตจะได้รับจากเทอร์มินัลแรกซึ่งมีป้ายกำกับว่า "เทอร์มินัลอินพุต" และอินพุตเวอร์ชันที่เข้ารหัสหรือถอดรหัสจะถูกส่งไปยังเทอร์มินัลที่สองซึ่งมีป้ายกำกับว่า "เทอร์มินัลเอาต์พุต"
ข้อความอินพุตจะอยู่ในรูปแบบ "KEY:ABCD#INPUT_STRING*" เสมอ โดยที่ ABCD จะเป็นคีย์อักขระสี่ตัวสำหรับการขนย้ายแบบเรียงเป็นแนว และ INPUT_STRING จะเป็นข้อความ 16 ตัวอักษรที่จะถูกเข้ารหัสหรือถอดรหัส ฉันใช้งานปุ่ม เพื่อสลับระหว่างโหมดการเข้ารหัสและถอดรหัส ไมโครคอนโทรลเลอร์จะอยู่ในโหมดการเข้ารหัสในตอนแรก และหากกดปุ่มก็จะเข้าสู่โหมดถอดรหัส โปรดทราบว่าสามารถกดปุ่มได้มากเท่าที่ต้องการ
โหมด | เทอร์มินัลอินพุต | ขั้วเอาท์พุท |
---|---|---|
โหมดการเข้ารหัส | คีย์:เป็ด#ITISASAMPLEINPUT* | เอียยูเอปนสมิตต์แอลพี |
โหมดถอดรหัส | คีย์:เป็ด#IAEUIAPNSMITTSLP* | มันเป็นตัวอย่างอินพุต |
ข้อมูลเกี่ยวกับการขนย้ายแบบเรียงเป็นแนว: https://en.wikipedia.org/wiki/Transposition_cipher