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

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

การแทนที่ด้วยกลุ่มอักษรเดิม(polygraphic substitution) Empty การแทนที่ด้วยกลุ่มอักษรเดิม(polygraphic substitution)

on Wed Oct 24, 2012 2:21 pm
การแทนที่ด้วยกลุ่มอักษรเดิม(polygraphic substitution)

การแทนที่กลุ่มอักษรเดิม เป็นการแทนที่กลุ่มของอักษร ด้วยกลุ่มของอักษรเดิมเสมอ เช่น แทน LMด้วย PQ เมื่อใดก็ตามที่ LM มาจับคู่เจอกัน จะต้องเป็น PQ เสมอ แต่เมื่อ L ไปจับคู่กับตัวอื่น อาจจะเป้น LC ตอนนี้อาจจะเป็นตัวอื่นก็ได้ เช่น FO เป็นต้น  หรืออาจไม่ใช่แค่สองอักษรในการจับกลุ่ม อาจมากกว่านั้นก็ได้ เช่น AEMK แทนด้วย AKLE แต่ AEMP แทนด้วย BOPQ ยิ่งใช้อักษรในกลุ่มมากเท่าไหร่ ก็ยิ่งไขยากเท่านั้น การเข้ารหัสวิธีนี้ มีหลายวิธีมาก แต่ที่นิยมกันมีแค่วิธีเดียวคือ Playfair

Playfair
เป็นการแทนคู่อักษรหนึ่งๆ ด้วยคู่อักษรหนึ่งๆ โดยจะแทนคู่อักษรนั้นๆด้วยคู่อักษรเดิมตลอดข้อความ การแทนอักษรทีละคู่เรียกอีกอย่างว่า digraph cipher

เพลย์แฟร์มีหลักการคือ ใช้ตาราง 5x5 มาบรรจุตัวอักษร ภาษาอังกฤษทั้งหมดเรียงตามพจนานุกรม แต่!! อักษรภาษาอังกฤษมี 26 ตัว จะใส่ลงในตาราง 5x5 ได้ยังไง??
กรรมวิธีการใส่นั้นมีผู้คิดค้นขึ้นหลายรูปแบบ ทั้งการรวมอักษรสองตัวเข้าด้วยกัน ทั้งตัดตัวที่ไม่ได้ใช้ทิ้งไปเลยก็มี แต่ที่นิยมกันจริงๆมีสองแบบ แบบที่นิยมที่สุดคือ แบบรวม i และ j ไว้ในช่องเดียวกัน โดยเมื่อเจอช่องที่รวม i และ j นั้น เป็นอิสระของผู้เข้ารหัสว่าต้องการเลือกใช้อักษรตัวไหน อีกแบบที่นิยมรองลงมาคือ ตัด Q ทิ้งไปเลย

ตารางเพลย์แฟร์แบบไม่มีคีย์เวิร์ด หรือตารางมาตรฐานจะมีหน้าตาเป็นเช่นนี้(ใช้แบบรวม i และ j)

A B C D E
F G H I/J K
L M N O P
Q R S T U
V W X Y Z
ธรรมดา การเข้ารหัสเพลย์แฟร์ด้วยตารางมาตรฐานก็ยากพออยู่แล้ว แต่เพื่อเพิ่มความยากและซับซ้อนของรหัส เราสามารถใส่คีย์เวิร์ดลงไปได้ด้วย โดย เราจะตัดตัวซ้ไในคีย์เวิร์ดออก และใส่ลงไปด้านบนของตาราง และ นำตัวอักษรที่เหลืออื่นๆที่ไมปรากฏในคีย์เวิร์ดมาเรียงต่อตามลำดับ (คล้าย keyword cipher)
สมมติคีย์เวิร์ดของเราคือ polygraphic (ตัดตัวซ้ำเหลือ polygrahic) จะได้ตารางเป็น

P O L Y G
R A H I/J C
B D E F K
M N Q S T
U V W X Z
แล้วเราจะทำอะไรกับตารางที่ได้มา?
คำตอบคือ เราจะทำการเข้ารหัสอักษรทีละคู่ โดยใช้ตารางนี้เป็นเครื่องมือช่วย
โดย มีกฎการเข้ารหัสอยู่ไม่กี่ข้อ คือ
1 คู่อักษรทั่วๆไป ให้แทนอักษรแต่ละตัวด้วยอักษรที่อยู่ในแถว(แนวนอน)เดียวกับอักษรตัวนั้นๆ และอยู่ในคอลัมน์(แนวตั้ง)เดียวกับอีกอักษรหนึ่งตามลำดับ เช่นในตาราง FN แทนด้วย DS และ AW แทนด้วย HV เป็นต้น
2 หากคู่อักษรนั้นอยู่ในแถว(แนวนอน)เดียวกัน ให้แทนแต่ละตัวด้วยอักษรที่อยู่ทางขวาของอักษรนั้นๆ ตามลำดับ และหากมีอักษรตัวใดในคู่อักษรนั้นอยู่ขอบขวาสุดของตาราง ให้แทนด้วยอักษรตัวแรกทางซ้ายของแนวนอนเดียวกัน เช่น ในตาราง QS แทนด้วย ST, DF แทนด้วย EK และ AC แทนด้วย HR เป็นต้น
3 หากคู่อักษรนั้นอยู่ในคอลัมน์(แนวตั้ง) เดียวกัน ให้แทนแต่ละอักษรด้วยอักษรที่อยู่ด้านล่างของอักษรนั้นๆตามลำดับ และหากมีอักษรใดในคู่อักษรนั้นอยู่ขอบล่างสุดของตาราง ให้แทนอักษรนั้นด้วยอักษรแรกทางด้านบนของคอลัมน์(แนวตั้ง)เดียวกัน เช่น ในตาราง  HE แทนด้วย EQ, ON แทนด้วย AV และ  KZ แทนด้วย TG เป็นต้น
4 หากคุ่อักษรเป็นอักษรตัวเดียวกัน ให้เปลี่ยนตัวหลังเป็น x และนำอักษรที่ซ้ำตัวหลังนั้น ไปคู่กับอักษรตัวต่อไปในข้อความ เช่น tomorrow แยกคู่ได้เป็น to mo rr ow จะเห็นว่าตัว r อยู่คู่กัน ให้เปลี่ยน r ตัวหลังเป็น x และ นำ r ตัวหลังเลื่อนไปคู่กับอักษรถัดไป เป็น to mo rx ro w แต่ apples เมื่อจับคู่แล้วเป็น ap pl es ไม่ต้องใส่ x
5 อักษรเศษเหลือจากการจับคู่ ให้ใส่ x เพื่อให้ครบคู่  เช่น  lemon แยกเป็น le mo n ใส่ x เพิ่มให้ครบคู่ เป็ย le mo nx

ลองเข้ารหัสประโยค cryptography is the most fun subject ด้วยตารางเดิม
จับคู่ cr yp to gr ap hy is th em os tf un su bj ec tx
แปลค่าตามกฎทั้งห้า
cr->ra
yp->go
to->ng
gr->pc
ap->ro
hy->il
is->fx
th->qc
em->bq
os->yn
tf->sk
un->vm
su->mx
bj->fr
ec->kh
tx->sz

ได้รหัสว่า ragongpcroilfxqcbqynskvmmxfrkhsz

การถอดรหัสเพลย์แฟร์โดยไม่รู้คีย์ แทบจะเป็นไปไม่ได้ แต่หากเรารู้ข้อความที่ถูกเข้ารหัสแล้ว เราสามารถหาตารางที่ใช้เข้ารหัสได้คร่าวๆ ตามที่ข้อมูลที่ได้รับมาเอื้ออำนวย เช่น ถ้าเรารู้ว่า ragongpcroilfxqcbqynskvmmxfrkhsz แปลออกมาได้ว่า cryptography is the most fun subject แล้ว เราก็พิจารณาทีละคู่อักษร ra แปลจาก cr ก็สามารถเดาได้ว่า r และ a อยู่ติดกัน โดย r อาจอยู่หลังหรือใต้ a (เพราะ a แปลงเป็น r) และตัวถัดจาก r ก็คือ c เป็นต้น

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


หลักของ Kerckhoffs

Auguste Kerckhoffs เสนอว่าระบบการเข้ารหัสลับ ต้องมั่นคง แม้ว่าข้อมูลทุกอย่างยกเว้นคีย์(ข้อความรหัส และวิธีการเข้ารหัส)เกี่ยวกับระบบนี้ถูกเปิดเผย  นั่นคือ ถึงแม้ว่าฝ่ายตรงข้ามจะรู้ทุกอย่างเกี่ยวกับระบบการเข้ารหัสขงเรา แต่ถ้าเขาไม่รู้คีย์ ระบบของเราก็ยังมีความมั่นคง

มีแค่นั้นครับ หลักของ Kerckhoffs แต่หลักการนี้สำคัญยังไง ผมจะอธิบายให้

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

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





เรื่องรหัสลับผมจะสอนแค่นี้นะครับ เป็นวิธีการเข้ารหัสทั่วๆไป เรื่องของรหัสมอร์ส แอสกี  พาริตี ฯลฯ ถ้ามีเวลาจะวนกลับมาสอนใหม่ครับ แต่ด้วยความที่ตอนนี้ก็จะหมดเดือนตุลาคมแล้ว เนื้อหายังครอบคลุมไม่หมดเลย ผมต้องขอตัดออกไปเรื่องอื่นก่อนนะครับ เรื่องต่อไปอาจจะเป็นตรรกศาสตร์  สำหรับวันนี้ ขอทิ้งท้ายเล็กน้อยครับ

รหัสที่ดี คือรหัสที่คนอื่นไขไม่ได้
ปริศนาที่ดี คือปริศนาที่ทุกคนไขได้ หากใช้ความพยายามที่มากพอ



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

เจอกันบทเรียนถัดไปนะคร้าบบบ^^
Rightman
Rightman
นักผจญภัยที่ใหญ่ยิ่ง
นักผจญภัยที่ใหญ่ยิ่ง
จำนวนข้อความ : 374
ชื่อเสียง&น้ำใจ ชื่อเสียง&น้ำใจ : 23
วันเกิด : 01/04/1995
งานอดิเรก งานอดิเรก : มากมาย

การแทนที่ด้วยกลุ่มอักษรเดิม(polygraphic substitution) Empty Re: การแทนที่ด้วยกลุ่มอักษรเดิม(polygraphic substitution)

on Wed Oct 24, 2012 3:24 pm
มีเควสลับด้วยแต่!!
Maou พิมพ์ว่า:(คะแนนจะมีผลกรณีขาด คะแนนน้อยกว่าหรือเท่ากับ 5 จึงจะสอบผ่าน)
จากตรงนี้ผมจะทำเควสดีไหมเนี่ย Laughing
avatar
ผู้มาเยือน
ผู้มาเยือน

การแทนที่ด้วยกลุ่มอักษรเดิม(polygraphic substitution) Empty Re: การแทนที่ด้วยกลุ่มอักษรเดิม(polygraphic substitution)

on Wed Oct 24, 2012 3:57 pm
คะแนนน้อยกว่าหรือเท่ากับ 5 จึงจะสอบผ่าน Exclamation

แล้วเราจะสอบผ่านไหมนี้ monkey
ขึ้นไปข้างบน
Permissions in this forum:
คุณไม่สามารถพิมพ์ตอบ