UTILS.
ทำงานในเบราว์เซอร์ 100%
✖️

ตัวเข้ารหัส / ถอดรหัส Affine Cipher

รหัส monoalphabetic ที่ใช้ E(x)=(a·x+b) mod 26 พร้อมการตรวจสอบกุญแจ (gcd(a,26)=1) และการถอดรหัสด้วยตัวผกผันมอดุลาร์ เข้ารหัสหรือถอดรหัสตัวอักษรได้ทันที

กุญแจ a ต้องเป็นจำนวนเฉพาะสัมพัทธ์กับ 26: 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23 หรือ 25

— ผลลัพธ์จะแสดงที่นี่ —

เกี่ยวกับเครื่องมือนี้

ตัวเข้ารหัส / ถอดรหัส Affine Cipher เป็นเครื่องมือฟรีที่ทำงานในเบราว์เซอร์สำหรับรหัส monoalphabetic ที่สร้างขึ้นบนเลขคณิตมอดุลาร์ ตัวอักษร A–Z มีหมายเลข 0–25 และแต่ละตัวถูกแปลงด้วยฟังก์ชันเชิงเส้น E(x) = (a·x + b) mod 26 โดยที่ a และ b เป็นค่ากุญแจสองตัว การถอดรหัสย้อนกลับด้วย D(y) = a⁻¹·(y − b) mod 26 โดยที่ a⁻¹ คือตัวผกผันการคูณมอดุลาร์ของ a มอดุโล 26

เพื่อให้รหัสสามารถย้อนกลับได้ ตัวคูณ a ต้องเป็นจำนวนเฉพาะสัมพัทธ์กับ 26 — นั่นคือ gcd(a, 26) = 1 ตัวเลือกที่ถูกต้องสิบสองตัวคือ 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23 และ 25 ค่าอื่นใดจะแมปตัวอักษรที่ต่างกันสองตัวไปยังผลลัพธ์เดียวกันและถอดรหัสไม่ได้ ดังนั้นเครื่องมือจะปฏิเสธด้วยข้อความที่ชัดเจน กุญแจบวก b อาจเป็นค่าใดก็ได้ 0–25 ทุกอย่างคำนวณภายในเบราว์เซอร์ของคุณ ดังนั้นสิ่งที่คุณพิมพ์จะไม่ออกจากอุปกรณ์ของคุณ

ตัวพิมพ์จะถูกรักษาไว้ และอักขระที่ไม่ใช่ตัวอักษรจะผ่านไปโดยไม่เปลี่ยนแปลง Affine cipher เป็นการขยายรหัสคลาสสิกที่ง่ายกว่า การตั้ง a = 1 จะลดทอนเป็น Caesar shift ของ b และ a = 25, b = 25 จะสร้าง Atbash cipher ขึ้นมาใหม่ มันเป็นหลักในหลักสูตรคณิตศาสตร์ไม่ต่อเนื่องและทฤษฎีจำนวนเพราะทำให้แนวคิดเรื่องจำนวนเฉพาะสัมพัทธ์และตัวผกผันมอดุลาร์เป็นรูปธรรม และมันปรากฏสม่ำเสมอในปริศนา CTF และเครื่องมืออย่าง CyberChef

คำถามที่พบบ่อย

สูตรของ affine cipher คืออะไร?
การเข้ารหัสคือ E(x) = (a·x + b) mod 26 และการถอดรหัสคือ D(y) = a⁻¹·(y − b) mod 26 โดยตัวอักษรมีหมายเลข 0–25 ในที่นี้ a⁻¹ คือตัวผกผันการคูณมอดุลาร์ของ a มอดุโล 26
ค่าใดของ a ที่อนุญาต?
เฉพาะค่าที่เป็นจำนวนเฉพาะสัมพัทธ์กับ 26 คือ gcd(a, 26) = 1 นั่นคือ 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23 หรือ 25 ค่าอื่นทำให้รหัสย้อนกลับไม่ได้ ดังนั้นเครื่องมือจะปฏิเสธ
การถอดรหัสทำอย่างไร?
มันต้องการตัวผกผันมอดุลาร์ a⁻¹ ของ a มอดุโล 26 ซึ่งเป็นจำนวนที่ a·a⁻¹ ≡ 1 (mod 26) เครื่องมือจะหามันอัตโนมัติ แล้วใช้ D(y) = a⁻¹·(y − b) mod 26 กับตัวอักษรแต่ละตัว
มันเกี่ยวข้องกับ Caesar และ Atbash อย่างไร?
มันขยายทั้งสอง ด้วย a = 1 affine cipher จะกลายเป็น Caesar shift ของ b และด้วย a = 25, b = 25 มันจะสร้าง Atbash cipher ขึ้นมาใหม่ มันเป็นรูปแบบเชิงเส้นของการแทนที่แบบ monoalphabetic

เครื่องมือเพิ่มเติม