Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

เทคนิคของ Monoalphabetic Cipher คืออะไร?


มีเทคนิคต่างๆ ของ Monoalphabetic cipher ซึ่งมีดังนี้ -

รหัสเสริม − รหัสเสริมเป็นวิธีหนึ่งในการเปลี่ยนการเรียงสับเปลี่ยนของตัวอักษรของตัวอักษร ตัวอักษรแต่ละตัวในตัวอักษรจะเปลี่ยนเป็นวัฏจักรด้วยจำนวนที่เท่ากันและลำดับสัมพัทธ์ของตัวอักษรจะยังคงใกล้เคียงกัน

จำนวนตำแหน่งที่เปลี่ยนตัวอักษรเรียกว่าคีย์ ตัวอย่างเช่น หากสามารถใช้ค่าคีย์เท่ากับ 5 ได้ 'a' จะถูกเปลี่ยน 5 ตำแหน่งในตัวอักษรเป็น 'F', 'b' เป็น 'G' เป็นต้น

ตัวอักษร 'u' ถูกเปลี่ยนเป็น 'Z' จึงสามารถตัดรอบที่จุดเริ่มต้นของตัวอักษรได้ ตัวอักษร 'v' ถูกจับคู่กับ 'A' เป็นต้น

กล่าวอีกนัยหนึ่ง รหัสเสริมสามารถเติมได้โดยใช้หมายเลขตำแหน่งของตัวอักษรของตัวอักษร ในวิธีนี้ ตัวอักษรภาษาอังกฤษ 'A' ถึง 'Z' จะถูกจับคู่เป็นหมายเลขตำแหน่ง '0' ถึง '25'

รหัสทวีคูณ − รหัสการคูณเป็นอีกวิธีหนึ่งในการสร้างการเรียงสับเปลี่ยนของตัวอักษรของตัวอักษร สามารถใช้ค่าคีย์และหมายเลขตำแหน่งของตัวอักษรแต่ละตัวคูณด้วย 5 ดังนั้นผลิตภัณฑ์จะลดลงตามโมดูล 26

ตัวอย่างเช่น เนื่องจากตัวอักษรข้อความธรรมดา (P) คือ 'h' และคีย์ (K) คือ 5 อักษรข้อความรหัสจึงคำนวณโดยการดำเนินการคูณเลขคณิตแบบแยกส่วน ซึ่งรวมถึง C =PxK (mod26) ดังนั้น C=7 x 5=9 (สมัย 26) ตำแหน่งหมายเลข '9' ถูกจับคู่กับตัวอักษร 'J' ดังนั้นตัวอักษรข้อความรหัสคือ 'J'

เชื่อมโยงรหัสลับ − รหัสอัฟฟินคือรหัสการแทนที่ตัวอักษรเดียว โดยแต่ละตัวอักษรในตัวอักษรจะถูกจับคู่กับค่าเทียบเท่าทางคณิตศาสตร์ เข้ารหัสโดยใช้ฟังก์ชันทางคณิตศาสตร์อย่างง่าย และแปลงกลับเป็นตัวอักษร

สูตรที่ใช้หมายความว่าตัวอักษรแต่ละตัวเข้ารหัสเป็นตัวอักษรอีกตัวหนึ่ง และกลับมาอีกครั้ง การกำหนดรหัสลับนั้นโดยทั่วไปแล้วจะเป็นรหัสทดแทนมาตรฐานที่มีกฎควบคุมว่าตัวอักษรใดจะไปที่ตัวอักษรใด

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

โดยทั่วไปรหัส Affine จะเป็นตัวเลขสองตัว และสามารถใช้ได้ทีละตัว เช่น การดำเนินการที่ซับซ้อนเพียงขั้นตอนเดียวสำหรับการเข้ารหัสหรือถอดรหัส เช่น C =((PxK1 ) + K2 )modn และ P =((C − K2 )xK1 -1 )modn.

T ใช้เป็นผลลัพธ์ชั่วคราวและระบุการดำเนินการสองอย่างแยกจากกัน เช่น การคูณและการบวกสำหรับการเข้ารหัส การลบ และการหารสำหรับการถอดรหัส

อันเป็นผลมาจากชุดของการเข้ารหัส Affine cipher มีการแปลงย้อนกลับในแต่ละขั้นตอน การเข้ารหัสหรือถอดรหัส หากการเพิ่มเป็นการดำเนินการขั้นสุดท้ายในการเข้ารหัส ดังนั้นการลบจึงควรเป็นอันดับแรกในการถอดรหัส หากการคูณเป็นการดำเนินการครั้งแรกในการเข้ารหัส ดังนั้นการหารจึงควรเป็นที่สุดท้ายในการถอดรหัส