EDS แคมป์ที่พักของสายลับหน้าใหม่
ยินดีต้อนรับเข้าสู่EDS แคมป์ที่พักของสายลับหน้าใหม่ สถานที่รวบรวมบุคคลหน้าแปลก เอ้ย แปลกหน้าที่รักการผจญภัย อยากรู้อยากเห็น และสนุกไปกับแชทกับผู้คนมากมาย ลองสมัครแล้วมาเป็นสมาชิกด้วยกันสิ ^ ^

Go down
avatar
ผู้มาเยือน
ผู้มาเยือน

การแทนที่ด้วยตัวอักษรหลากหลาย(Polyalphabetic substitution) Empty การแทนที่ด้วยตัวอักษรหลากหลาย(Polyalphabetic substitution)

on Sat Oct 20, 2012 1:43 pm
การแทนที่ด้วยตัวอักษรหลากหลาย(Polyalphabetic substitution)

การแทนที่ด้วยตัวอักษรหลากหลายนี้ คล้ายกับการแทนที่ด้วยอักษรเดิม โดยจะแทนค่าทีละอักษร แต่ จะเปลี่ยนการแทนค่าไปเรื่อยๆ เช่น บางครั้งตัว A อาจแทนด้วย N แต่บางครั้งอาจแทนด้วย S ในขณะที่การแทนที่ด้วยอักษรเดิมนั้น เมือ่ A เป็น N แล้ว A ทุกตัวจะต้องเป็น N ตลอดข้อความ  การที่ไม่แทนด้วยอักษรเดิมนี้ ทำให้การไขรหัสทำได้นชยากขึ้นมากๆ


Vigenère

การเข้ารหัสแบบ Vigenere มีขั้นตอนดังนี้


  • สร้างคีย์เวิร์ดโดยการใช้คำที่ตกลงกัน เขียนซ้ำๆจนกว่าจะยาวเท่ากับข้อความที่เราจะเข้ารหัส เช่น ข้อความที่เราจะเข้ารหัสยาว 12 อักษร คีย์เวิร์ดของเราคือ toxin เราก็จะได้คีย์เวิร์ดเป็น toxintoxinto  เป็นต้น  หรือกล่าวง่ายๆก็คือ ใช้คีย์เวิร์ดเดิมวนซ้ำไปเรื่อยๆจนกว่าจะจบข้อความนั่นเอง



  • แทนที่ตัวอักษรโดยใช้การแทนที่คล้ายซีซาร์  แต่ ซีซาร์เราจะเลื่อนตัวอักษรเท่าๆกันทุกอักษรในประโยค Vigenère จะเลื่อนอักษรตามค่าของอักษรคีย์ตัวปัจจุบัน โดย a คือการเลื่อน 0 ตัว B 1 ตัว C 2 ตัว ... Z 25 ตัว ตามตารางนี้


การแทนที่ด้วยตัวอักษรหลากหลาย(Polyalphabetic substitution) 300px-Vigen%C3%A8re_square_shading.svg

ตัวอย่าง

ข้อความI will be there tomorrow
คีย์ reality

ข้อความธรรมดา I W I L L B E T H E R E T O M O R R O W
คีย์ R E A L I T Y R E A L I T Y R E A L I T
ข้อความรหัสที่ได้ Z A I W T U C K L E C M M M D S R C W P

One-time pad

การเข้ารหัสแบบนี้ คล้ายการเข้ารหัสแบบ Vigenère แต่คีย์ที่เราใช้ จะเป็นชุดอักษรสุ่มที่มีความยาวเท่ากับข้อความที่เราจะส่งและไม่มีการใช้คีย์ซ้ำ หากคีย์ไม่พอจะต้องทำการสุ่มเพิ่ม เรียกคีย์นี้ว่า pad เป็นการเข้ารหัสที่ค่อนข้างปลอดภัย เพราะไม่มีทางวิเคราะห์คีย์ได้เลย แต่ใช้งานลำบากเพราะต้องมีคีย์ที่ยาวมากๆ

ตัวอย่าง ให้ pad คือ psonzxsdakjllierucybnskdugzdk
ต้องการเข้ารหัสข้อความ someone stalk you
เข้ารหัสแบบ Vigenère กับ pad 15 อักษรแรก(psonzxsdakjllie)
ได้ hgarnkw vtkuv jwy

หากเราต้องการเข้ารหัส Be careful ต่อ เราจะใช้ pad หลักต่อไปเลย ไม่นำ 15 หลักแรกมาใช้ซ้ำ (ใช้ rucybnskd)
ได้ sy eysrxeo



Autokey

ออโตคีย์เป็นรหัสที่คล้าย Vigenère เช่นกัน เพียงแต่ ในรหัสนี้ เราจะใช้ตีย์เพียงแค่อักษรเดียวเท่านั้น โดยคีย์นี้ จะใช้ในการเข้ารหัสทุกอักษรในข้อความ และหลังจากนั้น จะใช้อักษรที่เข้ารหัสได้ตัวที่หนึ่ง มาเข้ารหัสอักษรตัวตั้งแต่ตัวที่สอง และนำอักษรที่เข้าได้ครั้งที่สองของตัวที่สอง มาเข้ารหัสตั้งแต่ตัวที่สาม ทบไปเรื่อยๆจนสุดข้อความ  ส่วนมากการเข้ารหัสวิธีนี้จะใช้เข้ารหัสคำหรือประโยคสั้นๆ เพราะมีขั้นตอนที่ค่อนข้างยุ่งยาก ตัวอย่างเช่น

เข้ารหัส hello คีย์ b (ตัวสีแดงคือตัวที่จะไม่เปลี่ยน)

ครั้งที่หนึ่ง คีย์ B เรื่มจากตัวแรก -> IFMMP คีย์ถัดไป I
ครั้งที่สอง คีย์ I เริ่มจากตัวที่สอง -> INUUX คีย์ถัดไป N
ครั้งที่สาม คีย์ N เริ่มจากตัวที่สาม -> INHHK คีย์ถัดไป H
ครั้งที่สี่ คีย์ H เริ่มจากตัวที่สี่ -> INHOR คีย์ถัดไป O
ครั้งที่ห้า คีย์ O เริ่มจากตัวที่ห้า -> INHOF คีย์ถัดไป F

ได้รหัสออกมาคือ INHOF


Enigma

อินิกมา เป็นเครื่องเข้ารหัสที่เยอรมันใช้ในช่วงสงครามโลกครั้งที่สอง  ประกอบด้วยแป้นพิมพ์ โรเตอร์(rotor) และส่วนแสดงผล  โดยการจะแปลงอักษรใดเป็นอักษรใดนั้น ขึ้นอยู่กับการตัวโรเตอร์และการหมุนของมันทั้งสิ้น ผมจะอธิบายหลักการคร่าวๆด้วยเครื่องอินิกมาจำลองอย่างง่ายนะครับ

แป้นพิมพ์ โรเตอร์1 โรเตอร์2 ส่วนแสดงผล
A 1 2 1 2 A
B 2 5 2 1 B
C 3 4 3 5 C
D 4 1 4 3 D
E 5 3 5 4 E
เลขตัวแรกของโรเตอร์คือช่องเข้า ตัวหลังคือช่องออก

ให้การหมุนของโรเตอร์แรก จะหมุนขึ้น 1 หลักทุกๆการใส่ค่า 1 ครั้ง
และโรเตอร์ที่สองจะหมุนขึ้น 1 หลัก ทุกๆรอบการหมุนของโรเตอร์แรก

อธิบายการวิ่งของกระแสไฟง่ายๆนะครับ เผื่อคนจะไม่เข้าใจเยอะ เพราะค่อนข้างเข้าใจยากเหมือนกัน
มันมีการวิ่งสองแบบด้วยกัน

  1. วิ่งระหว่างหน่วย เวลากระแสไฟวิ่งระหว่างหน่วยต่างๆ จะวิ่งเป็นเส้นแนวนอน เข้าไปหาช่องที่ตรงกัน
  2. วิ่งในโรเตอร์ จะวิ่งไปที่ช่อง หมายเลขเดียวกัน


เมื่อกด A ครั้งแรก ไฟฟ้าจะวิ่งจากแป้นพิมพ์ไปยังช่อง 1 ของโรเตอร์แรก และออกทางช่อง 1 ของโรเตอร์นั้นเอง ไปยังช่องที่ตรงกันของโรเตอร์สอง นั่นก็คือช่องที่ 4 และออกจากโรเตอร์ช่องที่ 4 เช่นกัน ไปยังหน่วยแสดงผลตัว E และเมื่อสิ้นสุดกระบวนการ โรเตอร์แรกจะหมุน 1 ขึ้น 1 ครั้ง ได้ดังรูปด้านล่าง

แป้นพิมพ์ โรเตอร์1 โรเตอร์2 ส่วนแสดงผล
A 2 5 1 2 A
B 3 4 2 1 B
C 4 1 3 5 C
D 5 3 4 3 D
E 1 2 5 4 E
เมื่อกด A อีกครั้ง กระแสไฟจะวิ่งไปที่ช่อง 2 ของโรเตอร์แรก และออกช่องสอง ไปเข้าช่องห้าขแงโรเตอร์ที่สอง ออกจากช่องห้าไปยังหน่วยแสดงผลตัว C และโรเตอร์แรกจะหมุนขุ้น 1 หลักได้ดังรูปด้วนล่าง

แป้นพิมพ์ โรเตอร์1 โรเตอร์2 ส่วนแสดงผล
A 3 4 1 2 A
B 4 1 2 1 B
C 5 3 3 5 C
D 1 2 4 3 D
E 2 5 5 4 E
ทียนี้เรามาลองกดตัว C กันดูบ้าง กระแสไฟฟ้าจะวิ่งเข้าไปที่ช่อง 5 ของโรเตอร์แรก และออกทางช่องห้าไปยังช่องห้าเช่นกันของโรเตอร์ที่สอง (บังเอิญจริงๆ) และออกจากช่อง 5 ไปยังตัว C เช่นเดิม (โอ้!!! บังเอิญเกินไปแล้ว) และโรเตอร์แรกจะหมุกอีก 1 หลัก (ถ้าตอนนี้เปลี่ยนจาก C เป็น A อีก ก็จะได้ตัว D)

สมมติว่าเราพิมพ์ไปครบรอบโรเตอร์แรกแล้ว โรเตอร์ที่สองจะหมุนขึ้น 1 หลัก

แป้นพิมพ์ โรเตอร์1 โรเตอร์2 ส่วนแสดงผล
A 1 2 2 1 A
B 2 5 3 5 B
C 3 4 4 3 C
D 4 1 5 4 D
E 5 3 1 2 E
เช่นนี้ เป็นต้น
Rightman
Rightman
นักผจญภัยที่ใหญ่ยิ่ง
นักผจญภัยที่ใหญ่ยิ่ง
จำนวนข้อความ : 374
ชื่อเสียง&น้ำใจ ชื่อเสียง&น้ำใจ : 23
วันเกิด : 01/04/1995
งานอดิเรก งานอดิเรก : มากมาย

การแทนที่ด้วยตัวอักษรหลากหลาย(Polyalphabetic substitution) Empty Re: การแทนที่ด้วยตัวอักษรหลากหลาย(Polyalphabetic substitution)

on Sat Oct 20, 2012 4:05 pm
โอ้!! เรื่องโรเตอร์ยากเอาเรื่องเลยนะครับ แต่ก็โอเคจนได้ครับ Exclamation
avatar
ผู้มาเยือน
ผู้มาเยือน

การแทนที่ด้วยตัวอักษรหลากหลาย(Polyalphabetic substitution) Empty Re: การแทนที่ด้วยตัวอักษรหลากหลาย(Polyalphabetic substitution)

on Sun Oct 21, 2012 10:26 pm
ไม่ค่อยเข้าใจสักเท่าไรนะค่ะบทเรียนนี้ แต่ก็จะพยายามทำความเข้าใจนะค่ะ Arrow
ขึ้นไปข้างบน
Permissions in this forum:
คุณไม่สามารถพิมพ์ตอบ