รหัสทดแทน - กิจกรรมการศึกษาและวิทยาศาสตร์ของ Vladimir Viktorovich Anisimov การสนทนาเกี่ยวกับความหมายของโค้ด HTML พร้อมตัวอย่าง เค้าโครงความหมาย - มันคืออะไร
คณิตศาสตร์
เวสท์น์ โอห์ม. ยกเลิก 2559 ฉบับที่ 3 หน้า 7-9.
UDC 512.4 V.A. โรมันคอฟ
ตัวเลือกของการเข้ารหัสเชิงความหมายที่แข็งแกร่งโดยยึดตาม RSA*
วัตถุประสงค์หลักของบทความนี้คือเพื่อเสนอวิธีอื่นในการเลือกหนึ่งในพารามิเตอร์หลักของรูปแบบการเข้ารหัสตามระบบการเข้ารหัส RSA ที่เสนอโดยผู้เขียนใน ผลงานก่อนหน้า- เวอร์ชันดั้งเดิมขึ้นอยู่กับความซับซ้อนในการคำนวณในการกำหนดลำดับขององค์ประกอบในกลุ่มการคูณของวงแหวนโมดูลาร์ วิธีการที่เสนอจะเปลี่ยนพื้นฐานนี้ไปเป็นปัญหาที่แก้ยากอีกประการหนึ่งในการพิจารณาว่าองค์ประกอบของกลุ่มการคูณของวงแหวนโมดูลาร์อยู่ในกลุ่มกำลังของกลุ่มเหล่านี้หรือไม่ กรณีพิเศษของปัญหาดังกล่าวคือปัญหาคลาสสิกในการกำหนดความเป็นกำลังสองของสารตกค้าง ซึ่งถือว่ายากในการคำนวณ งานนี้กำหนดความแข็งแกร่งทางความหมายของระบบการเข้ารหัส Goldwasser-Micali ที่รู้จักกันดี ในเวอร์ชันที่เสนอ ความแข็งแกร่งด้านความหมายของรูปแบบการเข้ารหัสนั้นขึ้นอยู่กับความซับซ้อนในการคำนวณของปัญหาในการพิจารณาว่าองค์ประกอบของกลุ่มทวีคูณของวงแหวนโมดูลาร์เป็นของพลังของกลุ่มเหล่านี้หรือไม่
คำหลัก: ระบบการเข้ารหัส RSA, การเข้ารหัสคีย์สาธารณะ, วงแหวนโมดูลาร์, เรซิดิวกำลังสอง, ความแรงของความหมาย
1. บทนำ
วัตถุประสงค์ของงานนี้คือเพื่อแนะนำองค์ประกอบใหม่สำหรับรูปแบบการเข้ารหัสเวอร์ชันที่ใช้ RSA ที่ผู้เขียนแนะนำใน กล่าวคือ: เสนอวิธีอื่นในการระบุกลุ่มย่อยที่ปรากฏในแผนภาพนี้ วิธีการนี้นำไปสู่การแทนที่ปัญหาที่ซับซ้อนในการคำนวณที่ซ่อนอยู่ในการกำหนดลำดับขององค์ประกอบของกลุ่มการคูณของวงแหวนโมดูลาร์ที่มีปัญหาที่ซับซ้อนในการคำนวณในการป้อนกำลังที่กำหนดของกลุ่มเหล่านี้ กรณีพิเศษของปัญหาหลังคือปัญหาคลาสสิกในการกำหนดความเป็นกำลังสองของสารตกค้างขององค์ประกอบของกลุ่มการคูณของวงแหวนโมดูลาร์
ระบบการเข้ารหัสคีย์สาธารณะ RSA เปิดตัวโดย Rivest, Shamir และ Adleman ในปี 1977 มีการใช้กันอย่างแพร่หลายทั่วโลกและรวมอยู่ในตำราวิทยาการเข้ารหัสเกือบทั้งหมด เกี่ยวกับระบบนี้และความแรงของการเข้ารหัส โปรดดูตัวอย่าง
เวอร์ชันพื้นฐานของระบบถูกกำหนดไว้แล้ว และด้วยเหตุนี้จึงไม่มีคุณสมบัติของการรักษาความลับทางความหมาย ซึ่งเป็นตัวบ่งชี้ที่สำคัญที่สุดของความแข็งแกร่งในการเข้ารหัสของระบบการเข้ารหัสคีย์สาธารณะ ดังนั้นในทางปฏิบัติจึงมีการใช้ตัวแปรต่าง ๆ ของระบบโดยมีวัตถุประสงค์เพื่อแนะนำองค์ประกอบความน่าจะเป็นและด้วยเหตุนี้จึงทำให้มั่นใจได้ถึงการปฏิบัติตามคุณสมบัติของความลับทางความหมาย
การติดตั้ง: แพลตฟอร์มการเข้ารหัส
ให้ n เป็นผลคูณของจำนวนเฉพาะขนาดใหญ่สองตัว p และ q วงแหวนที่เหลือ Zn ถูกเลือกให้เป็นแพลตฟอร์มสำหรับระบบการเข้ารหัส โมดูล n และแพลตฟอร์ม Zn คือ องค์ประกอบเปิดระบบตัวเลข p และ q เป็นความลับ
* การศึกษาได้รับการสนับสนุนจากมูลนิธิรัสเซียเพื่อการวิจัยขั้นพื้นฐาน (โครงการ 15-41-04312)
© Romankov V.A. , 2016
Romankov V.A.
ฟังก์ชันออยเลอร์เขียนแทนด้วย φ:N ^ N ในกรณีนี้จะใช้ค่า φ(n)= (p-1)(q-1) ดังนั้น ลำดับของกลุ่มการคูณ Z*n ของวงแหวน Zn คือ (p-1)(q-1) เกี่ยวกับแนวคิดเหล่านี้ โปรดดูตัวอย่าง
ถัดไป เลือกสองกลุ่มย่อย M และ H ของกลุ่ม Z*n ของคาบโคไพรม์ r และ t ตามลำดับ มีการเสนอให้กำหนดกลุ่มย่อยเหล่านี้ผ่านองค์ประกอบการสร้าง M = gr(g1,...,gk), H = gr(j1,...,hl) ระลึกได้ว่าคาบ t(G) ของกลุ่ม G เป็นจำนวน t ที่น้อยที่สุด โดยที่ dr = 1 สำหรับองค์ประกอบ geG ใดๆ คาบของกลุ่ม Z*n คือตัวเลข t (n) เท่ากับตัวคูณร่วมน้อยของตัวเลข p-1 และ q-1 กลุ่มย่อย M และ H สามารถเป็นแบบวนและกำหนดโดยองค์ประกอบการสร้างเดียว องค์ประกอบการสร้างของกลุ่มย่อย M และ H ถือว่าเปิด ในขณะที่คาบของกลุ่มย่อย r และ t ถือว่าเป็นความลับ
ในและมีการอธิบายวิธีการดำเนินการเลือกกลุ่มย่อย M และ H ที่ระบุอย่างมีประสิทธิภาพโดยรู้พารามิเตอร์ลับ p และ q ยิ่งไปกว่านั้น คุณสามารถตั้งค่า r และ t ก่อน จากนั้นเลือก p และ q จากนั้นจึงดำเนินการเพิ่มเติมเท่านั้น โปรดทราบว่าการสร้างองค์ประกอบของคำสั่งที่กำหนดในฟิลด์จำกัดนั้นดำเนินการโดยขั้นตอนมาตรฐานที่มีประสิทธิภาพตามที่อธิบายไว้ เป็นต้น การเปลี่ยนไปใช้การสร้างองค์ประกอบของคำสั่งที่กำหนดในกลุ่มการคูณ Z*n ของวงแหวนโมดูลาร์ Zn จะดำเนินการอย่างชัดเจนโดยใช้ทฤษฎีบทส่วนที่เหลือของจีน หรือ การติดตั้ง: การเลือกคีย์ คีย์เข้ารหัส e คือจำนวนไพรม์ธรรมชาติใดๆ ถึง r คีย์ถอดรหัส d = ^คำนวณจากความเท่าเทียมกัน
(te)d1 = 1 (โมเดอเรเตอร์) (1)
คีย์ d มีอยู่เนื่องจากพารามิเตอร์ d1 ถูกคำนวณเนื่องจากความสำคัญร่วมกันของ te และ r คีย์ e เป็นแบบสาธารณะ คีย์ d และพารามิเตอร์ d1 เป็นความลับ
อัลกอริธึมการเข้ารหัสสำหรับการส่งสัญญาณผ่าน เครือข่ายเปิดข้อความ - องค์ประกอบ m ของกลุ่มย่อย M อลิซเลือกองค์ประกอบสุ่ม h ของกลุ่มย่อย H และคำนวณองค์ประกอบ hm การส่งสัญญาณดูเหมือน
ค = (hm)e (modn) (2)
อัลกอริธึมการถอดรหัส
Bob ถอดรหัสข้อความที่ได้รับ c ดังนี้:
ซีดี=ม(ดัดแปลง) (3)
คำอธิบายการถอดรหัสที่ถูกต้อง
เนื่องจาก ed=1 (modr) จึงมีจำนวนเต็ม k โดยที่ ed = 1 + rk แล้ว
ซีดี = (hm)ed = (ht)edi m (mr)k = m (mod n) (4) ดังนั้น องค์ประกอบ h จึงเขียนเป็นองค์ประกอบของกลุ่มย่อย H ในรูปของค่าของคำกลุ่ม u(x1,.,xl) จากองค์ประกอบการสร้าง h1t... ,hl ของกลุ่มย่อย H ที่จริงแล้วเรา
เลือกคำว่า u(x1,.,xl) จากนั้นคำนวณค่าของมัน h = u(h1t..., hl) โดยเฉพาะอย่างยิ่ง นี่หมายความว่าองค์ประกอบการสร้าง h1t... ,hl เปิดอยู่
ความเข้มแข็งของการเข้ารหัสลับของโครงการ
ความเข้มแข็งของการเข้ารหัสลับของโครงการนั้นขึ้นอยู่กับความยากลำบากในการพิจารณาจากองค์ประกอบการสร้างที่กำหนดของกลุ่มย่อย H ของกลุ่ม Z*n ระยะเวลาหรือลำดับของกลุ่มย่อยนี้ หากลำดับขององค์ประกอบสามารถคำนวณได้โดยอัลกอริธึมที่มีประสิทธิภาพ จากนั้นโดยการนับลำดับ o rd(h1), ..., ord(hl) ขององค์ประกอบที่สร้างของกลุ่มย่อย H เราก็สามารถหาคาบของมัน t = t (H) เท่ากับตัวคูณร่วมน้อย ซึ่งจะทำให้สามารถถอดออกได้ ตัวเลือกนี้ปัจจัยการแรเงาการเข้ารหัส h โดยการแปลง c1 = met(modri) ลดขั้นตอนการถอดรหัสเป็นระบบ RSA แบบคลาสสิกด้วยคีย์เข้ารหัสสาธารณะ et
3. อีกวิธีหนึ่งในการกำหนดกลุ่มย่อย H
บทความนี้เสนอทางเลือกอื่นสำหรับการระบุกลุ่มย่อย H ในรูปแบบการเข้ารหัสที่กำลังพิจารณา ขั้นแรก ให้เราพิจารณากรณีพิเศษของมัน ซึ่งเกี่ยวข้องกับปัญหาที่ยากจะยอมรับในการกำหนดสมการกำลังสองของสารตกค้างของกลุ่ม Z*n จำได้ว่าส่วนที่เหลือ aeZ^ เรียกว่ากำลังสองถ้ามีองค์ประกอบ xeZ*n โดยที่ x2= a (modn) เรซิดิวกำลังสองทั้งหมดก่อตัวเป็นหมู่ย่อย QZ*n ของกลุ่ม Z*n ปัญหาในการกำหนดสมการกำลังสองของสารตกค้างตามอำเภอใจของกลุ่มนั้นถือว่าทำได้ยากโดยการคำนวณ ระบบการเข้ารหัส Goldwasser-Micali ที่แข็งแกร่งทางความหมายที่รู้จักกันดีนั้นใช้คุณสมบัตินี้ ความเสถียรทางความหมายถูกกำหนดโดยความยากง่ายของปัญหาในการกำหนดกำลังสองของสารตกค้าง
สมมติว่าพารามิเตอร์ p และ q ถูกเลือกด้วยเงื่อนไข p, q = 3 (mod 4) เช่น p = 4k +3, q = 41 +3 ในรูปแบบที่เกี่ยวข้องกับธรรมชาติกำลังสองของสารตกค้าง สมมติฐานนี้ดูเป็นธรรมชาติและเกิดขึ้นค่อนข้างบ่อย หากเป็นเช่นนั้น การแมป p:QZ*n ^ QZ*n, p:x^x2 ถือเป็นการบิดเบี้ยว
กลุ่มย่อยของเรซิดิวกำลังสอง QZ*n ของกลุ่มมีดัชนีเป็น 4 ใน Z*n ดูตัวอย่าง ลำดับ o^2^) เท่ากับ φ(n)/4 = (4k + 2)(41 + 2)/4= 4kl + 2k + 21 + 1 กล่าวคือ เป็นเลขคี่
ในรูปแบบการเข้ารหัสข้างต้น เราถือว่า H = QZ*n องค์ประกอบใดๆ ของกลุ่มย่อย H มีลำดับเป็นคี่ เนื่องจากจุด t(Z*n) เท่ากับตัวคูณร่วมน้อยของจำนวน p - 1 = 4k +2 และ q - 1 = 41 +2 หารด้วย 2 ลงตัว แต่หารด้วย 4 ไม่ลงตัว ตัวเลือกสูงสุดที่เป็นไปได้สำหรับ M คือกลุ่มย่อยของลำดับ 4 ซึ่งองค์ประกอบมีลำดับเลขคู่ 2 หรือ 4 ถ้ามี วิธีที่มีประสิทธิภาพการคำนวณลำดับ (หรืออย่างน้อยความเท่าเทียมกัน) ขององค์ประกอบตามอำเภอใจ
ตัวเลือกการเข้ารหัสที่แข็งแกร่งทางความหมายตาม RSA
กลุ่ม 2*n ปัญหาในการกำหนดสมการกำลังสองของสารตกค้างก็จะได้รับการแก้ไขอย่างมีประสิทธิภาพ ข้อเสียของโครงการที่มีตัวเลือกนี้คือพลังงานต่ำของพื้นที่ข้อความ - กลุ่มย่อย M ในความเป็นจริงโครงการนี้ซ้ำกับโครงการ Gol-Dwasser-Micali ที่รู้จักกันดีที่กล่าวถึงแล้ว
เราได้รับโอกาสมากขึ้นกับทางเลือกถัดไปของเรา ให้เป็นจำนวนเฉพาะที่ถือว่ามากเพียงพอแล้ว. ให้ p และ q เป็นจำนวนเฉพาะ โดยที่อย่างน้อยหนึ่งในตัวเลข p - 1 หรือ q - 1 หารด้วย s มีการอธิบายว่าเราสามารถเลือก s แล้วค้นหา p หรือ q ด้วยคุณสมบัติที่กำหนดได้อย่างมีประสิทธิภาพ สมมติว่าหมายเลข p ถูกค้นหาในรูปแบบ 2sx +1 x มีการเปลี่ยนแปลงและผลลัพธ์ p จะถูกตรวจสอบความเรียบง่ายจนกระทั่งกลายเป็นเรื่องง่าย
ให้เรากำหนดกลุ่มย่อย Н = ซึ่งประกอบด้วย s-powers ขององค์ประกอบของกลุ่ม 2*n (สำหรับ s = 2 นี่คือกลุ่มย่อย QZ*n) ถ้า p = 52k + su + 1 และ q = 521 + sv +1 (หรือ q = sl + V +1) โดยที่ตัวเลข u และ V หารด้วย s ไม่ลงตัว ดังนั้นลำดับ o^(H) ของกลุ่มย่อย H มี 2 อยู่ในกลุ่ม *n ดัชนี b2 (หรือดัชนี s ถ้า q = sl + V +1) เท่ากับ B2k1 + Bku + b1n + w> คำสั่งซื้อนี้มีความสำคัญอย่างยิ่งต่อ s โดยเฉพาะอย่างยิ่ง นี่หมายความว่าองค์ประกอบของกลุ่มย่อย H มีลำดับที่ไม่หารด้วย s หากองค์ประกอบอยู่นอกกลุ่มย่อย H ลำดับของมันจะถูกหารด้วย s เนื่องจาก s แบ่งลำดับกลุ่ม หากปัญหาในการคำนวณลำดับขององค์ประกอบของกลุ่ม 2*n (หรือการกำหนดการหารด้วย s) สามารถแก้ไขได้อย่างมีประสิทธิภาพในกลุ่ม 2*n ปัญหาในการเข้าสู่กลุ่มย่อยก็ได้รับการแก้ไขอย่างมีประสิทธิภาพเช่นกัน
เมื่อเลือก ในลักษณะที่กำหนดกลุ่มย่อย H เรามีโอกาสที่จะเลือกเป็น M กลุ่มย่อยแบบวนของลำดับ r = 52 (หรือคำสั่ง s) กลุ่มย่อยดังกล่าวมีอยู่เนื่องจากลำดับของกลุ่ม 2*n เท่ากับ (p-1)^-1) = (52k + vi)^21 + sv) (หรือ (52k + vi)^1 + V)) หารด้วย 52 (บน) ลงตัว หากต้องการระบุ H ก็เพียงพอที่จะระบุ s นอกจากนี้ สำหรับการเลือกกลุ่มย่อย M เรามี M*2 =1 หากเมื่อถอดรหัสข้อความ m เป็นไปได้ที่จะได้รับองค์ประกอบของรูปแบบ tel โดยที่ ed คือ coprime ด้วย s จากนั้นเมื่อค้นหาจำนวนเต็ม y และ z โดยที่ edy + s2z = 1 เราก็สามารถคำนวณ teL = m ได้
อย่างไรก็ตามเมื่อระบุประเภทองค์ประกอบการสร้างของกลุ่มย่อย H จะไม่ถูกระบุดังนั้นหากมีอัลกอริทึมสำหรับการคำนวณลำดับขององค์ประกอบของกลุ่ม 2*n จะไม่อนุญาตให้คำนวณระยะเวลาของกลุ่มย่อย
H ซึ่งจะเป็นไปได้ในเวอร์ชันดั้งเดิมจาก.
ความรัดกุมของการเข้ารหัสของเวอร์ชันของโครงร่างนั้นขึ้นอยู่กับความยากในการกำหนดลำดับขององค์ประกอบของกลุ่ม 2*n ในเวอร์ชันที่เสนอนั้น ขึ้นอยู่กับความยากในการกำหนดช่วงเวลาของกลุ่มย่อยของ Z* ความแรงของความหมาย บอกให้รู้ว่า c = (hm")e (modn) เป็นข้อความที่เข้ารหัสในรูปแบบ (2) โดยที่ heH, m" = m1 หรือ m" = m2 การเข้ารหัสถือว่าแข็งแกร่งทางความหมายหากเป็นไปไม่ได้ เพื่อกำหนดสิ่งที่ - สอดคล้องกับ c ได้อย่างมีประสิทธิภาพ คำตอบที่ถูกต้อง mt (i = 1 หรือ 2) จะได้รับก็ต่อเมื่อ cmje เป็นของ H ซึ่งหมายความว่าการเข้ารหัสนั้นแข็งแกร่งทางความหมายหากและเฉพาะในกรณีที่ปัญหาเกิดขึ้นใน H ไม่สามารถตัดสินใจได้อย่างมีประสิทธิภาพในกรณีที่พิจารณาในบทความนี้ คือปัญหาของการเข้าสู่กลุ่มย่อยของ s-residues Z*s ในกรณีพิเศษ s = 2 เราได้รับปัญหาที่รู้จักกันดีและถือว่ายากในการเข้าสู่ Q2 *n ซึ่งใช้ความแข็งแกร่งทางความหมายของระบบการเข้ารหัส Goldwasser-Micali และระบบการเข้ารหัสอื่นๆ อีกจำนวนหนึ่ง
วรรณกรรม
Romankov V. A. ระบบการเข้ารหัสคีย์สาธารณะที่แข็งแกร่งเชิงความหมายใหม่โดยยึดตาม RSA // คณิตศาสตร์แบบไม่ต่อเนื่องประยุกต์ 2558. ฉบับที่ 3 (29). หน้า 32-40.
Rivest R., Shamir A., Adleman L. วิธีการรับลายเซ็นดิจิทัลและระบบเข้ารหัสคีย์สาธารณะ // Comm. พลอากาศเอก. 2521. ฉบับ. 21 ฉบับที่ 2 หน้า 120126
Hinek M. การเข้ารหัสลับของ RSA และตัวแปรต่างๆ โบคา ราตัน: แชปแมน & ฮอลล์/ซีอาร์ซี, 2010
Song Y.Y. การโจมตีแบบ Cryptonalytic บน RSA เบอร์ลิน: สปริงเกอร์, 2008.
แสตมป์ ม., รามต่ำ การเข้ารหัสประยุกต์ ทำลายยันต์ในโลกแห่งความเป็นจริง โฮโบเกน: จอห์น ไวลีย์ แอนด์ ซันส์, 2007.
Roman"kov V.A. การเข้ารหัสคีย์สาธารณะที่น่าจะเป็นใหม่โดยใช้ระบบเข้ารหัส RAS // Croups, Complexity, Cryptology 2558 เล่มที่ 7 หมายเลข 2 หน้า 153156
Romankov V.A. ความรู้เบื้องต้นเกี่ยวกับการเข้ารหัส อ.: ฟอรั่ม, 2012.
Menezes A., Ojrschot P.C., Vanstone S.A. คู่มือการเข้ารหัสประยุกต์ โบคา ราตัน: CRC Press, 1996
Goldwasser S. , Micali S. การเข้ารหัสความน่าจะเป็นและวิธีการเล่นโป๊กเกอร์ทางจิตโดยเก็บข้อมูลบางส่วนไว้เป็นความลับ // Proc. การประชุมสัมมนาเรื่องทฤษฎีคอมพิวเตอร์ครั้งที่ 14, 1982, หน้า 365-377
4.1. ข้อมูลเบื้องต้นเกี่ยวกับการเข้ารหัส
สาระสำคัญของการเข้ารหัสโดยใช้วิธีการทดแทนมีดังนี้ อนุญาตให้เข้ารหัสข้อความเป็นภาษารัสเซียและต้องเปลี่ยนตัวอักษรแต่ละตัวในข้อความเหล่านี้ แล้วอย่างแท้จริง กตัวอักษรต้นฉบับถูกเปรียบเทียบกับชุดสัญลักษณ์บางชุด (การแทนที่รหัส) ม. ก. – ม.บ. … , ฉัน – มิ- การแทนที่รหัสจะถูกเลือกในลักษณะที่ชุดใดชุดหนึ่ง ( เอ็ม ไอและ เอ็ม เจ, ฉัน ≠ เจ) ไม่มีองค์ประกอบที่เหมือนกัน ( มิ ฉัน ∩ ม เจ = Ø).
ตารางที่แสดงในรูปที่ 4.1 คือกุญแจสำคัญของรหัสแทนที่ เมื่อรู้แล้ว คุณสามารถทำทั้งการเข้ารหัสและถอดรหัสได้
ก | บี | ... | ฉัน |
เอ็ม เอ | เอ็ม บี | ... | เอ็ม ไอ |
รูปที่.4.1. ตารางการแทนที่รหัส
เมื่อเข้ารหัสตัวอักษรแต่ละตัว ก เปิดข้อความสามารถแทนที่ด้วยอักขระใดก็ได้จากชุด เอ็ม เอ- หากข้อความมีตัวอักษรหลายตัว กจากนั้นแต่ละรายการจะถูกแทนที่ด้วยอักขระใดๆ จาก เอ็ม เอ- ด้วยเหตุนี้คุณสามารถใช้คีย์เดียวได้ ตัวเลือกต่างๆไซเฟอร์แกรมสำหรับข้อความเปิดเดียวกัน ตั้งแต่ชุด ม.ม.ม.ม., ..., มิ.ยอย่าตัดกันเป็นคู่ดังนั้นสำหรับแต่ละสัญลักษณ์ของ ciphergram คุณสามารถระบุได้อย่างชัดเจนว่าชุดใดเป็นของและด้วยเหตุนี้จึงแทนที่ตัวอักษรตัวใดของข้อความเปิด ดังนั้นจึงสามารถถอดรหัสได้และข้อความที่เปิดอยู่จะถูกกำหนดในลักษณะเฉพาะ
คำอธิบายข้างต้นเกี่ยวกับสาระสำคัญของรหัสแทนที่นั้นใช้ได้กับทุกรูปแบบ ยกเว้น ซึ่งรหัสแทนที่เดียวกันนั้นสามารถใช้เพื่อเข้ารหัสอักขระต่างๆ ของตัวอักษรดั้งเดิมได้ (เช่น มิ ฉัน ∩ ม เจ ≠ Ø, ฉัน ≠ เจ).
ผู้ใช้หลายคนมักใช้วิธีการเปลี่ยนเมื่อทำงานกับคอมพิวเตอร์ หากคุณไม่เปลี่ยนชุดอักขระบนแป้นพิมพ์จากภาษาละตินเป็นซีริลลิกเนื่องจากการหลงลืม ดังนั้นแทนที่จะพิมพ์ตัวอักษรของตัวอักษรรัสเซีย เมื่อป้อนข้อความ ตัวอักษรของตัวอักษรละติน (“การแทนที่รหัส”) จะถูกพิมพ์
ตัวอักษรที่กำหนดอย่างเคร่งครัดใช้ในการบันทึกข้อความต้นฉบับและข้อความที่เข้ารหัส ตัวอักษรสำหรับบันทึกข้อความต้นฉบับและข้อความที่เข้ารหัสอาจแตกต่างกัน อักขระของตัวอักษรทั้งสองสามารถแสดงด้วยตัวอักษร การรวมกัน ตัวเลข รูปภาพ เสียง ท่าทาง ฯลฯ ตัวอย่างเช่น เราสามารถอ้างอิงนักเต้นรำจากเรื่องโดย A. Conan Doyle () และต้นฉบับของอักษรรูน () จากนวนิยายเรื่อง Journey to the Center of the Earth โดย J. Verne
ยันต์ทดแทนสามารถแบ่งออกเป็นดังต่อไปนี้ คลาสย่อย(พันธุ์)
รูปที่.4.2. การจำแนกประเภทของยันต์ทดแทน
I. ยันต์ปกติการแทนที่รหัสประกอบด้วยอักขระจำนวนเท่ากันหรือแยกจากกันด้วยตัวคั่น (เว้นวรรค จุด ขีดกลาง ฯลฯ)
รหัสสโลแกนสำหรับรหัสที่กำหนด การสร้างตารางการแทนที่รหัสจะขึ้นอยู่กับสโลแกน (คีย์) ซึ่งเป็นคำที่จำง่าย บรรทัดที่สองของตารางการแทนที่รหัสจะเต็มไปด้วยคำสโลแกนก่อน (และทิ้งตัวอักษรที่ซ้ำกัน) จากนั้นตามด้วยตัวอักษรที่เหลือซึ่งไม่รวมอยู่ในคำสโลแกนตามลำดับตัวอักษร ตัวอย่างเช่น หากเลือกคำสโลแกน "UNCLE" ตารางจะเป็นดังนี้
ก | บี | ใน | ช | ดี | อี | โย่ | และ | ซี | และ | ย | ถึง | ล | ม | เอ็น | เกี่ยวกับ | ป | ร | กับ | ต | คุณ | เอฟ | เอ็กซ์ | ค | ชม | ช | สช | คอมเมอร์สันต์ | ย | ข | อี | ยู | ฉัน |
ดี | ฉัน | และ | เอ็น | ก | บี | ใน | ช | อี | โย่ | และ | ซี | ย | ถึง | ล | ม | เกี่ยวกับ | ป | ร | กับ | ต | คุณ | เอฟ | เอ็กซ์ | ค | ชม | ช | สช | คอมเมอร์สันต์ | ย | ข | อี | ยู |
รูปที่.4.4. ตารางการเปลี่ยนรหัสสำหรับรหัสสโลแกน
เมื่อเข้ารหัสข้อความต้นฉบับ “ABRAMOV” โดยใช้คีย์ด้านบน ไซเฟอร์แกรมจะมีลักษณะเป็น “YAPDKMI”
จัตุรัสโพลีเบียนรหัสนี้ประดิษฐ์โดยรัฐบุรุษ ผู้บัญชาการ และนักประวัติศาสตร์ชาวกรีกชื่อ Polybius (203-120 ปีก่อนคริสตกาล) ในส่วนที่เกี่ยวข้องกับตัวอักษรรัสเซียและตัวเลขอินเดีย (อารบิก) สาระสำคัญของการเข้ารหัสมีดังนี้ ตัวอักษรเขียนในช่องสี่เหลี่ยมขนาด 6x6 (ไม่จำเป็นต้องเรียงตามตัวอักษร)
1 | 2 | 3 | 4 | 5 | 6 | |
1 | ก | บี | ใน | ช | ดี | อี |
2 | โย่ | และ | ซี | และ | ย | ถึง |
3 | ล | ม | เอ็น | เกี่ยวกับ | ป | ร |
4 | กับ | ต | คุณ | เอฟ | เอ็กซ์ | ค |
5 | ชม | ช | สช | คอมเมอร์สันต์ | ย | ข |
6 | อี | ยู | ฉัน | - | - | - |
รูปที่.4.5. ตารางการแทนที่ตัวเลขสำหรับจัตุรัสโพลีเบียน
ตัวอักษรที่เข้ารหัสจะถูกแทนที่ด้วยพิกัดของสี่เหลี่ยมจัตุรัส (แถว-คอลัมน์) ที่ใช้เขียน ตัวอย่างเช่น หากข้อความต้นฉบับคือ “ABRAMOV” ดังนั้นรหัสตัวเลขจะเป็น “11 12 36 11 32 34 13” ใน กรีกโบราณข้อความถูกส่งโดยใช้โทรเลขแบบออปติคัล (โดยใช้คบเพลิง) สำหรับตัวอักษรแต่ละตัวในข้อความ ขั้นแรกให้เพิ่มจำนวนคบเพลิงที่ตรงกับหมายเลขแถวของตัวอักษร จากนั้นจึงเพิ่มหมายเลขคอลัมน์
ตารางที่ 4.1. ความถี่ของการปรากฏตัวของตัวอักษรรัสเซียในข้อความ
เลขที่ | จดหมาย | ความถี่, % | เลขที่ | จดหมาย | ความถี่, % |
1 | เกี่ยวกับ | 10.97 | 18 | ข | 1.74 |
2 | อี | 8.45 | 19 | ช | 1.70 |
3 | ก | 8.01 | 20 | ซี | 1.65 |
4 | และ | 7.35 | 21 | บี | 1.59 |
5 | เอ็น | 6.70 | 22 | ชม | 1.44 |
6 | ต | 6.26 | 23 | ย | 1.21 |
7 | กับ | 5.47 | 24 | เอ็กซ์ | 0.97 |
8 | ร | 4.73 | 25 | และ | 0.94 |
9 | ใน | 4.54 | 26 | ช | 0.73 |
10 | ล | 4.40 | 27 | ยู | 0.64 |
11 | ถึง | 3.49 | 28 | ค | 0.48 |
12 | ม | 3.21 | 29 | สช | 0.36 |
13 | ดี | 2.98 | 30 | อี | 0.32 |
14 | ป | 2.81 | 31 | เอฟ | 0.26 |
15 | คุณ | 2.62 | 32 | คอมเมอร์สันต์ | 0.04 |
16 | ฉัน | 2.01 | 33 | โย่ | 0.04 |
17 | ย | 1.90 |
มีตารางที่คล้ายกันสำหรับคู่ตัวอักษร (ไดแกรม) ตัวอย่างเช่น บิ๊กแกรมที่พบบ่อย ได้แก่ "to", "but", "st", "po", "en" เป็นต้น อีกเทคนิคหนึ่งในการทำลายรหัสลับคือการกำจัดตัวอักษรที่เป็นไปได้รวมกัน ตัวอย่างเช่นในข้อความ (หากเขียนโดยไม่มีข้อผิดพลาดในการสะกด) คุณจะไม่พบชุดค่าผสม "chya", "shchi", "b" เป็นต้น
เพื่อให้งานถอดรหัสแบบตัวต่อตัวซับซ้อนขึ้น แม้กระทั่งในสมัยโบราณ ช่องว่างและ/หรือสระจะถูกลบออกจากข้อความต้นฉบับก่อนการเข้ารหัส อีกวิธีหนึ่งที่ทำให้เปิดได้ยากคือการเข้ารหัส บิ๊กแกรม(เป็นคู่ตัวอักษร)
4.3. ยันต์โพลีแกรม
ยันต์ทดแทนโพลีแกรม- สิ่งเหล่านี้คือเลขศูนย์ที่มีการแทนที่รหัสเดียวซึ่งสอดคล้องกับอักขระหลายตัวในคราวเดียว ข้อความต้นฉบับ.
พอร์ตการเข้ารหัส Bigram- รหัสของปอร์ตาซึ่งนำเสนอในรูปแบบตารางเป็นรหัสบิ๊กแกรมตัวแรกที่รู้จัก ขนาดของโต๊ะของเขาคือ 20 x 20 เซลล์ ตัวอักษรมาตรฐานเขียนไว้ด้านซ้ายบนในแนวนอนและแนวตั้ง (ไม่มีตัวอักษร J, K, U, W, X และ Z) สามารถเขียนตัวเลข ตัวอักษร หรือสัญลักษณ์ใดๆ ลงในเซลล์ตารางได้ - Giovanni Porta เองก็ใช้สัญลักษณ์ - โดยจะต้องไม่มีเนื้อหาของเซลล์ใดซ้ำกัน สัมพันธ์กับภาษารัสเซีย ตารางการแทนที่ตัวเลขอาจมีลักษณะเช่นนี้
ก | บี | ใน | ช | ดี | อี (โย่) | และ | ซี | และ (ญ) | ถึง | ล | ม | เอ็น | เกี่ยวกับ | ป | ร | กับ | ต | คุณ | เอฟ | เอ็กซ์ | ค | ชม | ช | สช | คอมเมอร์สันต์ | ย | ข | อี | ยู | ฉัน | |
ก | 001 | 002 | 003 | 004 | 005 | 006 | 007 | 008 | 009 | 010 | 011 | 012 | 013 | 014 | 015 | 016 | 017 | 018 | 019 | 020 | 021 | 022 | 023 | 024 | 025 | 026 | 027 | 028 | 029 | 030 | 031 |
บี | 032 | 033 | 034 | 035 | 036 | 037 | 038 | 039 | 040 | 041 | 042 | 043 | 044 | 045 | 046 | 047 | 048 | 049 | 050 | 051 | 052 | 053 | 054 | 055 | 056 | 057 | 058 | 059 | 060 | 061 | 062 |
ใน | 063 | 064 | 065 | 066 | 067 | 068 | 069 | 070 | 071 | 072 | 073 | 074 | 075 | 076 | 077 | 078 | 079 | 080 | 081 | 082 | 083 | 084 | 085 | 086 | 087 | 088 | 089 | 090 | 091 | 092 | 093 |
ช | 094 | 095 | 096 | 097 | 098 | 099 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 |
ดี | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 |
ของเธอ) | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 |
และ | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 |
ซี | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 |
ฉัน (ญ) | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 |
ถึง | 280 | 281 | 282 | 283 | 284 | 285 | 286 | 287 | 288 | 289 | 290 | 291 | 292 | 293 | 294 | 295 | 296 | 297 | 298 | 299 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 309 | 310 |
ล | 311 | 312 | 313 | 314 | 315 | 316 | 317 | 318 | 319 | 320 | 321 | 322 | 323 | 324 | 325 | 326 | 327 | 328 | 329 | 330 | 331 | 332 | 333 | 334 | 335 | 336 | 337 | 338 | 339 | 340 | 341 |
ม | 342 | 343 | 344 | 345 | 346 | 347 | 348 | 349 | 350 | 351 | 352 | 353 | 354 | 355 | 356 | 357 | 358 | 359 | 360 | 361 | 362 | 363 | 364 | 365 | 366 | 367 | 368 | 369 | 370 | 371 | 372 |
เอ็น | 373 | 374 | 375 | 376 | 377 | 378 | 379 | 380 | 381 | 382 | 383 | 384 | 385 | 386 | 387 | 388 | 389 | 390 | 391 | 392 | 393 | 394 | 395 | 396 | 397 | 398 | 399 | 400 | 401 | 402 | 403 |
เกี่ยวกับ | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 419 | 420 | 421 | 422 | 423 | 424 | 425 | 426 | 427 | 428 | 429 | 430 | 431 | 432 | 433 | 434 |
ป | 435 | 436 | 437 | 438 | 439 | 440 | 441 | 442 | 443 | 444 | 445 | 446 | 447 | 448 | 449 | 450 | 451 | 452 | 453 | 454 | 455 | 456 | 457 | 458 | 459 | 460 | 461 | 462 | 463 | 464 | 465 |
ร | 466 | 467 | 468 | 469 | 470 | 471 | 472 | 473 | 474 | 475 | 476 | 477 | 478 | 479 | 480 | 481 | 482 | 483 | 484 | 485 | 486 | 487 | 488 | 489 | 490 | 491 | 492 | 493 | 494 | 495 | 496 |
กับ | 497 | 498 | 499 | 500 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 509 | 510 | 511 | 512 | 513 | 514 | 515 | 516 | 517 | 518 | 519 | 520 | 521 | 522 | 523 | 524 | 525 | 526 | 527 |
ต | 528 | 529 | 530 | 531 | 532 | 533 | 534 | 535 | 536 | 537 | 538 | 539 | 540 | 541 | 542 | 543 | 544 | 545 | 546 | 547 | 548 | 549 | 550 | 551 | 552 | 553 | 554 | 555 | 556 | 557 | 558 |
คุณ | 559 | 560 | 561 | 562 | 563 | 564 | 565 | 566 | 567 | 568 | 569 | 570 | 571 | 572 | 573 | 574 | 575 | 576 | 577 | 578 | 579 | 580 | 581 | 582 | 583 | 584 | 585 | 586 | 587 | 588 | 589 |
เอฟ | 590 | 591 | 592 | 593 | 594 | 595 | 596 | 597 | 598 | 599 | 600 | 601 | 602 | 603 | 604 | 605 | 606 | 607 | 608 | 609 | 610 | 611 | 612 | 613 | 614 | 615 | 616 | 617 | 618 | 619 | 620 |
เอ็กซ์ | 621 | 622 | 623 | 624 | 625 | 626 | 627 | 628 | 629 | 630 | 631 | 632 | 633 | 634 | 635 | 636 | 637 | 638 | 639 | 640 | 641 | 642 | 643 | 644 | 645 | 646 | 647 | 648 | 649 | 650 | 651 |
ค | 652 | 653 | 654 | 655 | 656 | 657 | 658 | 659 | 660 | 661 | 662 | 663 | 664 | 665 | 666 | 667 | 668 | 669 | 670 | 671 | 672 | 673 | 674 | 675 | 676 | 677 | 678 | 679 | 680 | 681 | 682 |
ชม | 683 | 684 | 685 | 686 | 687 | 688 | 689 | 690 | 691 | 692 | 693 | 694 | 695 | 696 | 697 | 698 | 699 | 700 | 701 | 702 | 703 | 704 | 705 | 706 | 707 | 708 | 709 | 710 | 711 | 712 | 713 |
ช | 714 | 715 | 716 | 717 | 718 | 719 | 720 | 721 | 722 | 723 | 724 | 725 | 726 | 727 | 728 | 729 | 730 | 731 | 732 | 733 | 734 | 735 | 736 | 737 | 738 | 739 | 740 | 741 | 742 | 743 | 744 |
สช | 745 | 746 | 747 | 748 | 749 | 750 | 751 | 752 | 753 | 754 | 755 | 756 | 757 | 758 | 759 | 760 | 761 | 762 | 763 | 764 | 765 | 766 | 767 | 768 | 769 | 770 | 771 | 772 | 773 | 774 | 775 |
คอมเมอร์สันต์ | 776 | 777 | 778 | 779 | 780 | 781 | 782 | 783 | 784 | 785 | 786 | 787 | 788 | 789 | 790 | 791 | 792 | 793 | 794 | 795 | 796 | 797 | 798 | 799 | 800 | 801 | 802 | 803 | 804 | 805 | 806 |
ย | 807 | 808 | 809 | 810 | 811 | 812 | 813 | 814 | 815 | 816 | 817 | 818 | 819 | 820 | 821 | 822 | 823 | 824 | 825 | 826 | 827 | 828 | 829 | 830 | 831 | 832 | 833 | 834 | 835 | 836 | 837 |
ข | 838 | 839 | 840 | 841 | 842 | 843 | 844 | 845 | 846 | 847 | 848 | 849 | 850 | 851 | 852 | 853 | 854 | 855 | 856 | 857 | 858 | 859 | 860 | 861 | 862 | 863 | 864 | 865 | 866 | 867 | 868 |
อี | 869 | 870 | 871 | 872 | 873 | 874 | 875 | 876 | 877 | 878 | 879 | 880 | 881 | 882 | 883 | 884 | 885 | 886 | 887 | 888 | 889 | 890 | 891 | 892 | 893 | 894 | 895 | 896 | 897 | 898 | 899 |
ยู | 900 | 901 | 902 | 903 | 904 | 905 | 906 | 907 | 908 | 909 | 910 | 911 | 912 | 913 | 914 | 915 | 916 | 917 | 918 | 919 | 920 | 921 | 922 | 923 | 924 | 925 | 926 | 927 | 928 | 929 | 930 |
ฉัน | 931 | 932 | 933 | 934 | 935 | 936 | 937 | 938 | 939 | 940 | 941 | 942 | 943 | 944 | 945 | 946 | 947 | 948 | 949 | 950 | 951 | 952 | 953 | 954 | 955 | 956 | 957 | 958 | 959 | 960 | 961 |
รูปที่.4.10. ตารางการแทนที่การเข้ารหัสสำหรับการเข้ารหัสพอร์ต
การเข้ารหัสจะดำเนินการโดยใช้คู่ตัวอักษรของข้อความต้นฉบับ ตัวอักษรตัวแรกของคู่หมายถึงแถวการแทนที่รหัสตัวที่สอง - คอลัมน์ หากข้อความต้นฉบับมีจำนวนตัวอักษรคี่ จะมีการเพิ่มอักขระเสริม (“อักขระว่าง”) ลงไป ตัวอย่างเช่น ข้อความต้นฉบับ “AB RA MO V” เข้ารหัส - “002 466 355 093” ตัวอักษร "ฉัน" ใช้เป็นสัญลักษณ์เสริม
รหัส Playfair (อังกฤษ: “เกมยุติธรรม”)ในช่วงต้นทศวรรษ 1850 Charles Wheatstone ได้คิดค้นสิ่งที่เรียกว่า "รหัสสี่เหลี่ยม" Leon Playfair เพื่อนสนิทของวีทสโตนพูดถึงรหัสนี้ระหว่างงานเลี้ยงอาหารค่ำอย่างเป็นทางการในปี 1854 กับรัฐมนตรีกระทรวงมหาดไทย ลอร์ด พาลเมอร์สตัน และเจ้าชายอัลเบิร์ต และเนื่องจาก Playfair เป็นที่รู้จักกันดีในแวดวงทหารและการทูต ชื่อ "Playfair cipher" จึงถูกกำหนดให้เป็นผลงานการสร้างสรรค์ของ Wheatstone ตลอดไป
รหัสนี้เป็นรหัสตัวเลขบิ๊กแกรมตัวแรก (ตารางบิ๊กแกรมของปอร์ตาใช้สัญลักษณ์ ไม่ใช่ตัวอักษร) มันถูกออกแบบมาเพื่อรับประกันความลับของการสื่อสารทางโทรเลข และถูกใช้โดยกองทหารอังกฤษในโบเออร์และสงครามโลกครั้งที่หนึ่ง นอกจากนี้ยังถูกใช้โดยหน่วยยามฝั่งหมู่เกาะออสเตรเลียในช่วงสงครามโลกครั้งที่สองอีกด้วย
รหัสให้การเข้ารหัสคู่สัญลักษณ์ (ไดแกรม) ดังนั้นรหัสนี้จึงมีความทนทานต่อการแคร็กมากกว่าเมื่อเทียบกับรหัสทดแทนแบบธรรมดา เนื่องจากการวิเคราะห์ความถี่ทำได้ยากกว่า สามารถทำได้ แต่ไม่ใช่สำหรับ 26 ตัวอักษรที่เป็นไปได้ (ตัวอักษรละติน) แต่สำหรับ 26 x 26 = 676 บิ๊กแกรมที่เป็นไปได้ การวิเคราะห์ความถี่บิ๊กแกรมเป็นไปได้ แต่จะยากกว่าอย่างมากและต้องใช้ไซเฟอร์เท็กซ์จำนวนมาก
ในการเข้ารหัสข้อความ จำเป็นต้องแยกออกเป็นบิ๊กแกรม (กลุ่มของสัญลักษณ์สองตัว) และหากพบสัญลักษณ์ที่เหมือนกันสองตัวในบิ๊กแกรม สัญลักษณ์เสริมที่ตกลงไว้ล่วงหน้าจะถูกเพิ่มระหว่างสัญลักษณ์เหล่านั้น (ในต้นฉบับ - เอ็กซ์สำหรับอักษรรัสเซีย - ฉัน- เช่น "ข้อความที่เข้ารหัส" จะกลายเป็น "ข้อความที่เข้ารหัส" ฉันการสื่อสาร ฉัน- ในการสร้างตารางหลัก จะมีการเลือกสโลแกน จากนั้นจึงกรอกตามกฎของระบบการเข้ารหัส Trisemus ตัวอย่างเช่น สำหรับสโลแกน "UNCLE" ตารางหลักจะมีลักษณะดังนี้
ดี | ฉัน | และ | เอ็น | ก | บี |
ใน | ช | อี | โย่ | และ | ซี |
ย | ถึง | ล | ม | เกี่ยวกับ | ป |
ร | กับ | ต | คุณ | เอฟ | เอ็กซ์ |
ค | ชม | ช | สช | คอมเมอร์สันต์ | ย |
ข | อี | ยู | - | 1 | 2 |
รูปที่.4.11. ตารางคีย์สำหรับการเข้ารหัส Playfair
จากนั้น ตามกฎต่อไปนี้ คู่อักขระในข้อความต้นฉบับจะถูกเข้ารหัส:
1. หากสัญลักษณ์บิ๊กแกรมของข้อความต้นฉบับปรากฏในบรรทัดเดียว สัญลักษณ์เหล่านี้จะถูกแทนที่ด้วยสัญลักษณ์ที่อยู่ในคอลัมน์ที่ใกล้ที่สุดทางด้านขวาของสัญลักษณ์ที่เกี่ยวข้อง หากอักขระเป็นตัวสุดท้ายในบรรทัด อักขระนั้นจะถูกแทนที่ด้วยอักขระตัวแรกของบรรทัดเดียวกัน
2. หากอักขระบิ๊กแกรมของข้อความต้นฉบับปรากฏในคอลัมน์เดียว อักขระเหล่านั้นจะถูกแปลงเป็นอักขระในคอลัมน์เดียวกันซึ่งอยู่ด้านล่างอักขระเหล่านั้นโดยตรง หากอักขระเป็นอักขระด้านล่างในคอลัมน์ อักขระนั้นจะถูกแทนที่ด้วยอักขระตัวแรกของคอลัมน์เดียวกัน
3. หากสัญลักษณ์บิ๊กแกรมของข้อความต้นฉบับอยู่ในคอลัมน์ต่างกันและแถวต่างกัน สัญลักษณ์เหล่านั้นจะถูกแทนที่ด้วยสัญลักษณ์ที่อยู่ในแถวเดียวกัน แต่สอดคล้องกับมุมอื่น ๆ ของสี่เหลี่ยมผืนผ้า
ตัวอย่างการเข้ารหัส
บิ๊กแกรม "สำหรับ" เป็นรูปสี่เหลี่ยมผืนผ้า - ถูกแทนที่ด้วย "zhb";
บิ๊กแกรม "shi" อยู่ในคอลัมน์เดียว - แทนที่ด้วย "yuye";
bigram “fr” อยู่ในบรรทัดเดียว - ถูกแทนที่ด้วย “xc”;
บิ๊กแกรม "ov" เป็นรูปสี่เหลี่ยมผืนผ้า - ถูกแทนที่ด้วย "yzh";
บิ๊กแกรม "an" อยู่ในบรรทัดเดียว - ถูกแทนที่ด้วย "ba";
บิ๊กแกรม "แต่" เป็นรูปสี่เหลี่ยมผืนผ้า - ถูกแทนที่ด้วย "am";
บิ๊กแกรม "es" เป็นรูปสี่เหลี่ยมผืนผ้า - ถูกแทนที่ด้วย "gt";
บิ๊กแกรม "oya" เป็นรูปสี่เหลี่ยมผืนผ้า - ถูกแทนที่ด้วย "ka";
บิ๊กแกรม "เกี่ยวกับ" เป็นรูปสี่เหลี่ยมผืนผ้า - ถูกแทนที่ด้วย "pa";
บิ๊กแกรม "shche" เป็นรูปสี่เหลี่ยมผืนผ้า - ถูกแทนที่ด้วย "shyo";
บิ๊กแกรม "พรรณี" เป็นรูปสี่เหลี่ยมผืนผ้า - ถูกแทนที่ด้วย "อัน";
บิ๊กแกรม “ee” เป็นรูปสี่เหลี่ยมผืนผ้าและแทนที่ด้วย “gi”
รหัสคือ “zhb yue xs yzh ba am gt ka pa she an gi”
ในการถอดรหัส คุณต้องใช้การผกผันของกฎเหล่านี้ โดยละทิ้งอักขระ ฉัน(หรือ เอ็กซ์) หากข้อความเหล่านั้นไม่สมเหตุสมผลในข้อความต้นฉบับ
ประกอบด้วยดิสก์สองแผ่น - ดิสก์แบบคงที่ภายนอกและดิสก์แบบเคลื่อนย้ายได้ภายในซึ่งพิมพ์ตัวอักษรของตัวอักษร กระบวนการเข้ารหัสเกี่ยวข้องกับการค้นหาตัวอักษรของข้อความธรรมดา ไดรฟ์ภายนอกและแทนที่ด้วยตัวอักษร s ดิสก์ภายในยืนอยู่ใต้เธอ หลังจากนั้น ดิสก์ภายในถูกเลื่อนไปหนึ่งตำแหน่งและตัวอักษรตัวที่สองถูกเข้ารหัสโดยใช้อักษรตัวเลขใหม่ กุญแจสำคัญในการเข้ารหัสนี้คือลำดับของตัวอักษรบนดิสก์และตำแหน่งเริ่มต้นของดิสก์ภายในที่สัมพันธ์กับดิสก์ภายนอก
โต๊ะทริเซมัส.รหัสตัวหนึ่งที่ประดิษฐ์โดยเจ้าอาวาส Trisemus ชาวเยอรมันนั้นเป็นรหัสหลายตัวอักษรตามที่เรียกว่า "ตาราง Trisemus" - ตารางที่มีด้านเท่ากับ n, ที่ไหน n– จำนวนอักขระในตัวอักษร ในแถวแรกของเมทริกซ์ตัวอักษรจะถูกเขียนตามลำดับตัวอักษรในแถวที่สอง - ลำดับเดียวกันของตัวอักษร แต่มีการเปลี่ยนแบบวนไปทางซ้ายหนึ่งตำแหน่งในตำแหน่งที่สาม - ด้วยแบบวน เลื่อนไปทางซ้ายสองตำแหน่ง ฯลฯ
ก | บี | ใน | ช | ดี | อี | โย่ | และ | ซี | และ | ย | ถึง | ล | ม | เอ็น | เกี่ยวกับ | ป | ร | กับ | ต | คุณ | เอฟ | เอ็กซ์ | ค | ชม | ช | สช | คอมเมอร์สันต์ | ย | ข | อี | ยู | ฉัน |
บี | ใน | ช | ดี | อี | โย่ | และ | ซี | และ | ย | ถึง | ล | ม | เอ็น | เกี่ยวกับ | ป | ร | กับ | ต | คุณ | เอฟ | เอ็กซ์ | ค | ชม | ช | สช | คอมเมอร์สันต์ | ย | ข | อี | ยู | ฉัน | ก |
ใน | ช | ดี | อี | โย่ | และ | ซี | และ | ย | ถึง | ล | ม | เอ็น | เกี่ยวกับ | ป | ร | กับ | ต | คุณ | เอฟ | เอ็กซ์ | ค | ชม | ช | สช | คอมเมอร์สันต์ | ย | ข | อี | ยู | ฉัน | ก | บี |
ช | ดี | อี | โย่ | และ | ซี | และ | ย | ถึง | ล | ม | เอ็น | เกี่ยวกับ | ป | ร | กับ | ต | คุณ | เอฟ | เอ็กซ์ | ค | ชม | ช | สช | คอมเมอร์สันต์ | ย | ข | อี | ยู | ฉัน | ก | บี | ใน |
ดี | อี | โย่ | และ | ซี | และ | ย | ถึง | ล | ม | เอ็น | เกี่ยวกับ | ป | ร | กับ | ต | คุณ | เอฟ | เอ็กซ์ | ค | ชม | ช | สช | คอมเมอร์สันต์ | ย | ข | อี | ยู | ฉัน | ก | บี | ใน | ช |
อี | โย่ | และ | ซี | และ | ย | ถึง | ล | ม | เอ็น | เกี่ยวกับ | ป | ร | กับ | ต | คุณ | เอฟ | เอ็กซ์ | ค | ชม | ช | สช | คอมเมอร์สันต์ | ย | ข | อี | ยู | ฉัน | ก | บี | ใน | ช | ดี |
โย่ | และ | ซี | และ | ย | ถึง | ล | ม | เอ็น | เกี่ยวกับ | ป | ร | กับ | ต | คุณ | เอฟ | เอ็กซ์ | ค | ชม | ช | สช | คอมเมอร์สันต์ | ย | ข | อี | ยู | ฉัน | ก | บี | ใน | ช | ดี | อี |
และ | ซี | และ | ย | ถึง | ล | ม | เอ็น | เกี่ยวกับ | ป | ร | กับ | ต | คุณ | เอฟ | เอ็กซ์ | ค | ชม | ช | สช | คอมเมอร์สันต์ | ย | ข | อี | ยู | ฉัน | ก | บี | ใน | ช | ดี | อี | โย่ |
ซี | และ | ย | ถึง | ล | ม | เอ็น | เกี่ยวกับ | ป | ร | กับ | ต | คุณ | เอฟ | เอ็กซ์ | ค | ชม | ช | สช | คอมเมอร์สันต์ | ย | ข | อี | ยู | ฉัน | ก | บี | ใน | ช | ดี | อี | โย่ | และ |
และ | ย | ถึง | ล | ม | เอ็น | เกี่ยวกับ | ป | ร | กับ | ต | คุณ | เอฟ | เอ็กซ์ | ค | ชม | ช | สช | คอมเมอร์สันต์ | ย | ข | อี | ยู | ฉัน | ก | บี | ใน | ช | ดี | อี | โย่ | และ | ซี |
ย | ถึง | ล | ม | เอ็น | เกี่ยวกับ | ป | ร | กับ | ต | คุณ | เอฟ | เอ็กซ์ | ค | ชม | ช | สช | คอมเมอร์สันต์ | ย | ข | อี | ยู | ฉัน | ก | บี | ใน | ช | ดี | อี | โย่ | และ | ซี | และ |
ถึง | ล | ม | เอ็น | เกี่ยวกับ | ป | ร | กับ | ต | คุณ | เอฟ | เอ็กซ์ | ค | ชม | ช | สช | คอมเมอร์สันต์ | ย | ข | อี | ยู | ฉัน | ก | บี | ใน | ช | ดี | อี | โย่ | และ | ซี | และ | ย |
ล | ม | เอ็น | เกี่ยวกับ | ป | ร | กับ | ต | คุณ | เอฟ | เอ็กซ์ | ค | ชม | ช | สช | คอมเมอร์สันต์ | ย | ข | อี | ยู | ฉัน | ก | บี | ใน | ช | ดี | อี | โย่ | และ | ซี | และ | ย | ถึง |
ม | เอ็น | เกี่ยวกับ | ป | ร | กับ | ต | คุณ | เอฟ | เอ็กซ์ | ค | ชม | ช | สช | คอมเมอร์สันต์ | ย | ข | อี | ยู | ฉัน | ก | บี | ใน | ช | ดี | อี | โย่ | และ | ซี | และ | ย | ถึง | ล |
เอ็น | เกี่ยวกับ | ป | ร | กับ | ต | คุณ | เอฟ | เอ็กซ์ | ค | ชม | ช | สช | คอมเมอร์สันต์ | ย | ข | อี | ยู | ฉัน | ก | บี | ใน | ช | ดี | อี | โย่ | และ | ซี | และ | ย | ถึง | ล | ม |
เกี่ยวกับ | ป | ร | กับ | ต | คุณ | เอฟ | เอ็กซ์ | ค | ชม | ช | สช | คอมเมอร์สันต์ | ย | ข | อี | ยู | ฉัน | ก | บี | ใน | ช | ดี | อี | โย่ | และ | ซี | และ | ย | ถึง | ล | ม | เอ็น |
ป | ร | กับ | ต | คุณ | เอฟ | เอ็กซ์ | ค | ชม | ช | สช | คอมเมอร์สันต์ | ย | ข | อี | ยู | ฉัน | ก | บี | ใน | ช | ดี | อี | โย่ | และ | ซี | และ | ย | ถึง | ล | ม | เอ็น | เกี่ยวกับ |
ร | กับ | ต | คุณ | เอฟ | เอ็กซ์ | ค | ชม | ช | สช | คอมเมอร์สันต์ | ย | ข | อี | ยู | ฉัน | ก | บี | ใน | ช | ดี | อี | โย่ | และ | ซี | และ | ย | ถึง | ล | ม | เอ็น | เกี่ยวกับ | ป |
กับ | ต | คุณ | เอฟ | เอ็กซ์ | ค | ชม | ช | สช | คอมเมอร์สันต์ | ย | ข | อี | ยู | ฉัน | ก | บี | ใน | ช | ดี | อี | โย่ | และ | ซี | และ | ย | ถึง | ล | ม | เอ็น | เกี่ยวกับ | ป | ร |
ต | คุณ | เอฟ | เอ็กซ์ | ค | ชม | ช | สช | คอมเมอร์สันต์ | ย | ข | อี | ยู | ฉัน | ก | บี | ใน | ช | ดี | อี | โย่ | และ | ซี | และ | ย | ถึง | ล | ม | เอ็น | เกี่ยวกับ | ป | ร | กับ |
คุณ | เอฟ | เอ็กซ์ | ค | ชม | ช | สช | คอมเมอร์สันต์ | ย | ข | อี | ยู | ฉัน | ก | บี | ใน | ช | ดี | อี | โย่ | และ | ซี | และ | ย | ถึง | ล | ม | เอ็น | เกี่ยวกับ | ป | ร | กับ | ต |
เอฟ | เอ็กซ์ | ค | ชม | ช | สช | คอมเมอร์สันต์ | ย | ข | อี | ยู | ฉัน | ก | บี | ใน | ช | ดี | อี | โย่ | และ | ซี | และ | ย | ถึง | ล | ม | เอ็น | เกี่ยวกับ | ป | ร | กับ | ต | คุณ |
เอ็กซ์ | ค | ชม | ช | สช | คอมเมอร์สันต์ | ย | ข | อี | ยู | ฉัน | ก | บี | ใน | ช | ดี | อี | โย่ | และ | ซี | และ | ย | ถึง | ล | ม | เอ็น | เกี่ยวกับ | ป | ร | กับ | ต | คุณ | เอฟ |
ค | ชม | ช | สช | คอมเมอร์สันต์ | ย | ข | อี | ยู | ฉัน | ก | บี | ใน | ช | ดี | อี | โย่ | และ | ซี | และ | ย | ถึง | ล | ม | เอ็น | เกี่ยวกับ | ป | ร | กับ | ต | คุณ | เอฟ | เอ็กซ์ |
ชม | ช | สช | คอมเมอร์สันต์ | ย | ข | อี | ยู | ฉัน | ก | บี | ใน | ช | ดี | อี | โย่ | และ | ซี | และ | ย | ถึง | ล | ม | เอ็น | เกี่ยวกับ | ป | ร | กับ | ต | คุณ | เอฟ | เอ็กซ์ | ค |
ช | สช | คอมเมอร์สันต์ | ย | ข | อี | ยู | ฉัน | ก | บี | ใน | ช | ดี | อี | โย่ | และ | ซี | และ | ย | ถึง | ล | ม | เอ็น | เกี่ยวกับ | ป | ร | กับ | ต | คุณ | เอฟ | เอ็กซ์ | ค | ชม |
สช | คอมเมอร์สันต์ | ย | ข | อี | ยู | ฉัน | ก | บี | ใน | ช | ดี | อี | โย่ | และ | ซี | และ | ย | ถึง | ล | ม | เอ็น | เกี่ยวกับ | ป | ร | กับ | ต | คุณ | เอฟ | เอ็กซ์ | ค | ชม | ช |
คอมเมอร์สันต์ | ย | ข | อี | ยู | ฉัน | ก | บี | ใน | ช | ดี | อี | โย่ | และ | ซี | และ | ย | ถึง | ล | ม | เอ็น | เกี่ยวกับ | ป | ร | กับ | ต | คุณ | เอฟ | เอ็กซ์ | ค | ชม | ช | สช |
ย | ข | อี | ยู | ฉัน | ก | บี | ใน | ช | ดี | อี | โย่ | และ | ซี | และ | ย | ถึง | ล | ม | เอ็น | เกี่ยวกับ | ป | ร | กับ | ต | คุณ | เอฟ | เอ็กซ์ | ค | ชม | ช | สช | คอมเมอร์สันต์ |
ข | อี | ยู | ฉัน | ก | บี | ใน | ช | ดี | อี | โย่ | และ | ซี | และ | ย | ถึง | ล | ม | เอ็น | เกี่ยวกับ | ป | ร | กับ | ต | คุณ | เอฟ | เอ็กซ์ | ค | ชม | ช | สช | คอมเมอร์สันต์ | ย |
อี | ยู | ฉัน | ก | บี | ใน | ช | ดี | อี | โย่ | และ | ซี | และ | ย | ถึง | ล | ม | เอ็น | เกี่ยวกับ | ป | ร | กับ | ต | คุณ | เอฟ | เอ็กซ์ | ค | ชม | ช | สช | คอมเมอร์สันต์ | ย | ข |
ยู | ฉัน | ก | บี | ใน | ช | ดี | อี | โย่ | และ | ซี | และ | ย | ถึง | ล | ม | เอ็น | เกี่ยวกับ | ป | ร | กับ | ต | คุณ | เอฟ | เอ็กซ์ | ค | ชม | ช | สช | คอมเมอร์สันต์ | ย | ข | อี |
ฉัน | ก | บี | ใน | ช | ดี | อี | โย่ | และ | ซี | และ | ย | ถึง | ล | ม | เอ็น | เกี่ยวกับ | ป | ร | กับ | ต | คุณ | เอฟ | เอ็กซ์ | ค | ชม | ช | สช | คอมเมอร์สันต์ | ย | ข | อี | ยู |
รูปที่.4.17. โต๊ะทริเซมัส
บรรทัดแรกยังเป็นตัวอักษรสำหรับตัวอักษรข้อความธรรมดาด้วย ตัวอักษรตัวแรกของข้อความจะถูกเข้ารหัสในบรรทัดแรก ตัวอักษรตัวที่สองในบรรทัดที่สอง และอื่นๆ หลังจากใช้บรรทัดสุดท้ายแล้ว ก็จะกลับไปที่บรรทัดแรก ดังนั้นข้อความ "ABRAMOV" จะอยู่ในรูปแบบ "AVTGRUZ"
ระบบเข้ารหัสVigenèreในปี ค.ศ. 1586 นักการทูตชาวฝรั่งเศส แบลส วิเจแนร์ ได้นำเสนอคำอธิบายของรหัสลับที่เรียบง่ายแต่ค่อนข้างแข็งแกร่งต่อคณะกรรมาธิการของพระเจ้าเฮนรีที่ 3 ซึ่งอิงจากตารางทริเซมุส
ก่อนการเข้ารหัส จะมีการเลือกคีย์จากตัวอักษร ขั้นตอนการเข้ารหัสนั้นมีดังนี้ อักขระ i-th ของข้อความที่เปิดในบรรทัดแรกจะกำหนดคอลัมน์ และอักขระ i-th ของคีย์ในคอลัมน์ซ้ายสุดจะกำหนดแถว ที่จุดตัดของแถวและคอลัมน์จะมีอักขระตัว i อยู่ในไซเฟอร์แกรม หากความยาวของคีย์น้อยกว่าข้อความ แสดงว่ามีการใช้ซ้ำ ตัวอย่างเช่น ข้อความต้นฉบับคือ “ABRAMOV” กุญแจคือ “UNCLE” รหัสเข้ารหัสคือ “DAFIYOYE”
เพื่อความเป็นธรรมควรสังเกตว่าการประพันธ์รหัสนี้เป็นของ Giovanni Batista Bellaso ชาวอิตาลีซึ่งบรรยายไว้ในปี 1553 ประวัติศาสตร์ "ถูกละเลย ข้อเท็จจริงที่สำคัญและตั้งชื่อรหัสตาม Vigenère แม้ว่าเขาไม่ได้ทำอะไรเลยเพื่อสร้างมันขึ้นมาก็ตาม” Bellazo แนะนำให้เรียกคำหรือวลีลับ รหัสผ่าน(รหัสผ่านภาษาอิตาลี ทัณฑ์บนภาษาฝรั่งเศส - คำ)
ในปี 1863 ฟรีดริช คาซิสกี้ได้เผยแพร่อัลกอริธึมสำหรับโจมตีรหัสนี้ แม้ว่าจะมีกรณีที่ทราบกันดีอยู่แล้วว่ารหัสของเขาพังโดยนักเข้ารหัสลับที่มีประสบการณ์บางคนมาก่อน โดยเฉพาะอย่างยิ่งในปี ค.ศ. 1854 Charles Babbage ผู้ประดิษฐ์คอมพิวเตอร์วิเคราะห์เครื่องแรกถอดรหัสรหัสได้ แม้ว่าข้อเท็จจริงนี้จะเป็นที่รู้จักในศตวรรษที่ 20 เท่านั้น เมื่อนักวิทยาศาสตร์กลุ่มหนึ่งวิเคราะห์การคำนวณและบันทึกส่วนตัวของ Babbage อย่างไรก็ตาม การเข้ารหัส Vigenère มีชื่อเสียงในด้านความทนทานต่อการแคร็ก "ด้วยตนเอง" อย่างมาก เป็นเวลานาน- ดังนั้น Charles Lutwidge Dodgson นักเขียนและนักคณิตศาสตร์ชื่อดัง (Lewis Carroll) นักเขียนและนักคณิตศาสตร์ชื่อดังในบทความของเขาเรื่อง The Alphabetic Cipher ซึ่งตีพิมพ์ในนิตยสารสำหรับเด็กในปี 1868 จึงเรียกว่ารหัส Vigenère ที่ไม่สามารถแตกหักได้ ในปี 1917 นิตยสารวิทยาศาสตร์ยอดนิยมอย่าง Scientific American ยังได้กล่าวถึงรหัส Vigenère ว่ารหัสนี้ไม่สามารถแตกหักได้
เครื่องโรตารี่แนวคิดของ Alberti และ Bellaso ถูกนำมาใช้เพื่อสร้างเครื่องโรตารี่ระบบเครื่องกลไฟฟ้าในช่วงครึ่งแรกของศตวรรษที่ 20 บางส่วนถูกใช้ในประเทศต่าง ๆ จนถึงปี 1980 ส่วนใหญ่ใช้โรเตอร์ (ล้อกล) ตำแหน่งสัมพัทธ์ซึ่งกำหนดอักษรตัวเลขปัจจุบันที่ใช้ในการทดแทน เครื่องโรตารี่ที่มีชื่อเสียงที่สุดคือเครื่อง Enigma ของสงครามโลกครั้งที่สองของเยอรมัน
พินเอาท์พุตของโรเตอร์ตัวหนึ่งเชื่อมต่อกับพินอินพุตของโรเตอร์ตัวถัดไป และเมื่อกดสัญลักษณ์ข้อความต้นฉบับบนแป้นพิมพ์ วงจรไฟฟ้าจะเสร็จสมบูรณ์ ซึ่งส่งผลให้หลอดไฟที่มีสัญลักษณ์แทนที่รหัสสว่างขึ้น
รูปที่.4.19. ระบบโรตารี่ปริศนา [www.cryptomuseum.com]
เอฟเฟกต์การเข้ารหัสของ Enigma จะแสดงขึ้นเมื่อกดสองปุ่มติดต่อกัน - กระแสที่ไหลผ่านโรเตอร์ จะ "สะท้อน" จากตัวสะท้อนแสง จากนั้นอีกครั้งผ่านโรเตอร์
รูปที่.4.20. รูปแบบการเข้ารหัส
บันทึก. เส้นสีเทาแสดงความเป็นไปได้อื่นๆ วงจรไฟฟ้าภายในโรเตอร์แต่ละตัว จดหมาย กได้รับการเข้ารหัสแตกต่างออกไปเมื่อมีการกดปุ่มต่อเนื่องกัน โดยเข้าไปก่อน ชแล้วเข้า ค- สัญญาณจะใช้เส้นทางอื่นเนื่องจากการหมุนของโรเตอร์ตัวใดตัวหนึ่งหลังจากกดตัวอักษรก่อนหน้าของข้อความต้นฉบับ
3. อธิบายประเภทของยันต์ทดแทน
(การทดแทน). ในรหัสทดแทน ตัวอักษรจะถูกเปลี่ยนเป็นตัวอักษรอื่นจากตัวอักษรเดียวกัน เมื่อเข้ารหัส ตัวอักษรจะเปลี่ยนเป็นสิ่งที่แตกต่างไปจากเดิมอย่างสิ้นเชิง - รูปภาพ สัญลักษณ์ของตัวอักษรอื่น ลำดับของอักขระต่าง ๆ เป็นต้น มีการรวบรวมตารางการติดต่อแบบหนึ่งต่อหนึ่งระหว่างตัวอักษรของข้อความต้นฉบับและสัญลักษณ์รหัส และการเข้ารหัสแบบหนึ่งต่อหนึ่งจะเกิดขึ้นตามตารางนี้ ในการถอดรหัส คุณจำเป็นต้องรู้ตารางโค้ด
มีอยู่ จำนวนมากรหัสที่ใช้ในด้านต่าง ๆ ของชีวิตมนุษย์ รหัสที่รู้จักกันดีส่วนใหญ่จะใช้เพื่อความสะดวกในการส่งข้อมูลไม่ทางใดก็ทางหนึ่ง หากเฉพาะผู้ส่งและผู้รับทราบตารางรหัสเท่านั้นผลลัพธ์ที่ได้จะเป็นรหัสที่ค่อนข้างดั้งเดิมซึ่งง่ายต่อการวิเคราะห์ความถี่ แต่ถ้าบุคคลนั้นอยู่ห่างไกลจากทฤษฎีการเข้ารหัสและไม่คุ้นเคยกับการวิเคราะห์ความถี่ของข้อความก็ค่อนข้างเป็นปัญหาสำหรับเขาที่จะคลี่คลายยันต์ดังกล่าว
A1Z26
รหัสที่ง่ายที่สุด เรียกว่า A1Z26 หรือในเวอร์ชันรัสเซีย A1Я33 ตัวอักษรจะถูกแทนที่ด้วยหมายเลขซีเรียล
"NoZDR" สามารถเข้ารหัสเป็น 14-15-26-4-18 หรือ 1415260418
รหัสมอร์ส
ตัวอักษร ตัวเลข และสัญลักษณ์บางตัวเชื่อมโยงกับชุดจุดและขีดกลาง ซึ่งสามารถส่งผ่านสัญญาณวิทยุ เสียง เสียงเคาะ โทรเลขแบบแสง และสัญญาณธง เนื่องจากกะลาสีเรือมีธงที่เกี่ยวข้องกับตัวอักษรแต่ละตัวด้วย จึงสามารถถ่ายทอดข้อความโดยใช้ธงได้
อักษรเบรลล์
อักษรเบรลล์เป็นระบบการอ่านด้วยการสัมผัสสำหรับคนตาบอด ซึ่งประกอบด้วยอักขระหกจุดที่เรียกว่าเซลล์ เซลล์ประกอบด้วยความสูงสามจุดและความกว้างสองจุด
อักขระอักษรเบรลล์ที่แตกต่างกันจะถูกสร้างขึ้นโดยการวางจุดที่ตำแหน่งต่างๆ ภายในเซลล์
เพื่อความสะดวก จะมีการอธิบายประเด็นต่างๆ เมื่ออ่านดังนี้ 1, 2, 3 จากซ้ายจากบนลงล่าง และ 4, 5, 6 จากขวาจากบนลงล่าง
เมื่อเขียนข้อความให้ปฏิบัติตามกฎต่อไปนี้:
ข้ามเซลล์หนึ่ง (ช่องว่าง) ระหว่างคำ
หลังจากเครื่องหมายจุลภาคและอัฒภาค เซลล์จะไม่ถูกข้าม
เส้นประเขียนพร้อมกับคำก่อนหน้า
ป้ายดิจิทัลวางอยู่ด้านหน้าหมายเลข
หน้ารหัส
ในภารกิจและปริศนาคอมพิวเตอร์ ตัวอักษรสามารถเข้ารหัสตามรหัสในหน้ารหัสต่างๆ - ตารางที่ใช้ในคอมพิวเตอร์ สำหรับข้อความ Cyrillic วิธีที่ดีที่สุดคือใช้การเข้ารหัสที่พบบ่อยที่สุด: Windows-1251, KOI8, CP866, MacCyrillic แม้ว่าการเข้ารหัสที่ซับซ้อนคุณสามารถเลือกสิ่งที่แปลกใหม่กว่านี้ได้
คุณสามารถเข้ารหัสโดยใช้เลขฐานสิบหกหรือแปลงเป็นเลขฐานสิบก็ได้ ตัวอย่างเช่น ตัวอักษร E ใน KOI8-R มีรหัส B3 (179) ใน CP866 - F0 (240) และใน Windows-1251 - A8 (168) หรือคุณสามารถมองหาตัวอักษรในตารางด้านขวาเพื่อให้ตรงกับตัวอักษรด้านซ้ายจากนั้นข้อความจะกลายเป็น "คำบ้า" เช่น èαᬫº∩íαδ (866→437) หรือ Êðàêîçÿáðû (1251→ละติน-1)
หรือคุณสามารถเปลี่ยนครึ่งบนของอักขระเป็นครึ่งล่างภายในตารางเดียวได้ จากนั้นสำหรับ Windows-1251 แทนที่จะเป็น "krakozyabry" คุณจะได้รับ "jp"jng ap() แทนที่จะเป็น "HELICOPTER" - "BEPRNK(R" การเปลี่ยนแปลงดังกล่าวใน หน้ารหัส- นี่คือการสูญเสียแบบคลาสสิกของบิตที่สำคัญที่สุดระหว่างความล้มเหลว เมลเซิร์ฟเวอร์- อักขระละตินสามารถเข้ารหัสได้ด้วยการเลื่อนถอยหลังลง 128 อักขระ และการเข้ารหัสดังกล่าวจะเป็นรูปแบบหนึ่งของการเข้ารหัส - ROT128 ไม่ใช่เฉพาะสำหรับตัวอักษรปกติ แต่สำหรับโค้ดเพจที่เลือก
ไม่ทราบเวลาที่แน่นอนที่มาของรหัส แต่บันทึกที่พบในระบบนี้บางส่วนมีอายุย้อนกลับไปในศตวรรษที่ 18 รูปแบบของรหัสนี้ถูกใช้โดย Rosicrucian Order และ Freemasons อย่างหลังใช้มันค่อนข้างบ่อยในเอกสารลับและจดหมายโต้ตอบ ซึ่งเป็นเหตุให้รหัสเริ่มถูกเรียกว่ารหัส Masonic แม้แต่บนหลุมศพของ Masons คุณก็ยังสามารถเห็นคำจารึกโดยใช้รหัสนี้ ระบบการเข้ารหัสที่คล้ายกันนี้ถูกใช้ในช่วงสงครามกลางเมืองอเมริกาโดยกองทัพของจอร์จ วอชิงตัน เช่นเดียวกับนักโทษในเรือนจำกลางของสมาพันธ์สหรัฐอเมริกา
ด้านล่างนี้เป็นตัวเลือกสองรายการ (สีน้ำเงินและสีแดง) สำหรับการกรอกตารางของรหัสดังกล่าว ตัวอักษรถูกจัดเรียงเป็นคู่ ตัวอักษรตัวที่สองจากทั้งคู่จะถูกวาดด้วยสัญลักษณ์ที่มีจุด:
รหัสลิขสิทธิ์
รหัสที่หลากหลายซึ่งอักขระหนึ่งตัวของตัวอักษร (ตัวอักษร ตัวเลข เครื่องหมายวรรคตอน) ตรงกับสัญลักษณ์กราฟิกหนึ่งตัว (น้อยมาก) ได้รับการประดิษฐ์ขึ้น ส่วนใหญ่ถูกประดิษฐ์ขึ้นเพื่อใช้ในภาพยนตร์นิยายวิทยาศาสตร์ การ์ตูน และ เกมคอมพิวเตอร์- นี่คือบางส่วนของพวกเขา:
ผู้ชายเต้น
รหัสแทนที่ผู้เขียนที่มีชื่อเสียงที่สุดตัวหนึ่งคือ “” มันถูกประดิษฐ์และอธิบายโดยนักเขียนชาวอังกฤษ Arthur Conan Doyle ในผลงานเรื่องหนึ่งของเขาเกี่ยวกับ Sherlock Holmes ตัวอักษรของตัวอักษรจะถูกแทนที่ด้วยสัญลักษณ์ที่ดูเหมือนผู้ชายตัวเล็ก ๆ ในอิริยาบถที่แตกต่างกัน ในหนังสือ ชายตัวเล็กไม่ได้ถูกประดิษฐ์ขึ้นสำหรับตัวอักษรทุกตัว ดังนั้นแฟนๆ จึงได้แก้ไขสัญลักษณ์นี้อย่างสร้างสรรค์และนำกลับมาใช้ใหม่ และผลลัพธ์ที่ได้คือรหัสนี้:
ตัวอักษรของโทมัส มอร์
แต่โธมัส มอร์ อธิบายตัวอักษรดังกล่าวในบทความของเขาเรื่อง "ยูโทเปีย" ในปี 1516:
Ciphers จากซีรีย์อนิเมชัน "Gravity Falls"
บิล ไซเฟอร์
สแตนฟอร์ด ไพน์ส (นักไดอารี่)
ตัวอักษรเจไดจากสตาร์ วอร์ส
ตัวอักษรเอเลี่ยนจาก Futurama
ตัวอักษรคริปโตเนียนของซูเปอร์แมน
ตัวอักษรไบโอนิค
ความหมายของโค้ด HTML นั้นเป็นประเด็นร้อนเสมอ นักพัฒนาบางคนพยายามเขียนโค้ดความหมายอยู่เสมอ คนอื่นวิพากษ์วิจารณ์ผู้นับถือลัทธิดันทุรัง และบางคนก็ไม่รู้ว่ามันคืออะไรและทำไมจึงจำเป็น ความหมายถูกกำหนดไว้ใน HTML ในแท็ก คลาส รหัส และคุณลักษณะที่อธิบายวัตถุประสงค์ แต่ไม่ได้ระบุเนื้อหาที่แน่นอนที่มีอยู่ นั่นคือเรากำลังพูดถึงการแยกเนื้อหาและรูปแบบของเนื้อหา
เริ่มจากตัวอย่างที่ชัดเจนกันก่อน
ความหมายของรหัสไม่ถูกต้อง
ความหมายของรหัสที่ดี
ข้อความของบทความที่เขียนโดยใครบางคน อินโก กนิโต้- ผู้เขียนชื่อบทความ
ไม่ว่าคุณจะคิดว่า HTML5 พร้อมสำหรับการใช้งานหรือไม่ การใช้งานของ แต่ไม่ใช่ทุกสิ่งจะแสดงอย่างชัดเจนด้วยแท็ก HTML5 ลองดูที่ชุดของชื่อคลาสและดูว่าตรงตามข้อกำหนดด้านความหมายหรือไม่ ไม่ใช่รหัสความหมายนี่เป็นตัวอย่างคลาสสิก เวิร์กเบนช์กริด CSS ทุกอันใช้ชื่อคลาสประเภทนี้เพื่อกำหนดองค์ประกอบกริด ไม่ว่าจะเป็น "yui-b", "grid-4" หรือ "spanHalf" - ชื่อดังกล่าวมีความใกล้เคียงกับการระบุมาร์กอัปมากกว่าการอธิบายเนื้อหา อย่างไรก็ตาม การใช้งานจะหลีกเลี่ยงไม่ได้ในกรณีส่วนใหญ่เมื่อทำงานกับเทมเพลตกริดแบบโมดูลาร์ รหัสความหมายส่วนท้ายได้รับความหมายที่แข็งแกร่งในการออกแบบเว็บ นี่คือส่วนล่างของหน้า ซึ่งมีองค์ประกอบต่างๆ เช่น การนำทางซ้ำ สิทธิ์ในการใช้งาน ข้อมูลผู้เขียน และอื่นๆ คลาสนี้กำหนดกลุ่มสำหรับองค์ประกอบเหล่านี้ทั้งหมดโดยไม่ต้องอธิบาย หากคุณเปลี่ยนมาใช้ HTML5 จะเป็นการดีกว่าถ้าใช้องค์ประกอบ ไม่ใช่รหัสความหมายมันกำหนดเนื้อหาได้อย่างแม่นยำ แต่ทำไมข้อความจึงต้องใหญ่? เพื่อให้โดดเด่นจากข้อความเล็กๆ อื่นๆ? "standOut" (ไฮไลต์) เหมาะกว่าในกรณีนี้ คุณอาจตัดสินใจเปลี่ยนรูปแบบของข้อความไฮไลต์แต่ไม่ต้องทำอะไรเกี่ยวกับขนาดของข้อความ ซึ่งในกรณีนี้ชื่อชั้นเรียนอาจทำให้คุณสับสน รหัสความหมายในกรณีนี้ เรากำลังพูดถึงการกำหนดระดับความสำคัญขององค์ประกอบในอินเทอร์เฟซของแอปพลิเคชัน (เช่น ย่อหน้าหรือปุ่ม) องค์ประกอบระดับที่สูงกว่าอาจมีสีสว่างและขนาดที่ใหญ่กว่า ในขณะที่องค์ประกอบระดับที่ต่ำกว่าอาจมีเนื้อหามากกว่า แต่ในกรณีนี้ไม่มีคำจำกัดความที่ชัดเจนของสไตล์ ดังนั้นโค้ดจึงเป็นแบบความหมาย สถานการณ์แบบนี้คล้ายกับการใช้แท็กมาก รหัสความหมายถ้าเพียงทุกชื่อคลาสสามารถกำหนดได้อย่างชัดเจน! ในกรณีนี้ เรามีคำอธิบายของส่วนที่มีเนื้อหาซึ่งมีจุดประสงค์ที่อธิบายได้ง่าย เช่นเดียวกับ "ทวีต" "การแบ่งหน้า" หรือ "admin-nav" ไม่ใช่รหัสความหมายในกรณีนี้ เรากำลังพูดถึงการกำหนดสไตล์ให้กับย่อหน้าแรกของหน้า เทคนิคนี้ใช้เพื่อดึงดูดความสนใจของผู้อ่านมายังเนื้อหา ควรใช้ชื่อ "intro" ซึ่งไม่ได้กล่าวถึงองค์ประกอบ แต่จะเป็นการดีกว่าถ้าใช้ตัวเลือกสำหรับย่อหน้าดังกล่าว เช่น article p:first-of-type หรือ h1 + p ไม่ใช่รหัสความหมายนี่เป็นชื่อคลาสทั่วไปที่ใช้ในการจัดระเบียบการจัดรูปแบบขององค์ประกอบ แต่ไม่มีสิ่งใดในนั้นที่เกี่ยวข้องกับคำอธิบายของเนื้อหา นักทฤษฎีความหมายหลายคนแนะนำให้ใช้ชื่อคลาสเช่น "กลุ่ม" ในกรณีเช่นนี้ มีแนวโน้มว่าพวกเขาจะพูดถูก เนื่องจากองค์ประกอบนี้ทำหน้าที่จัดกลุ่มองค์ประกอบอื่นๆ อีกหลายรายการอย่างไม่ต้องสงสัย ชื่อที่แนะนำจึงอธิบายวัตถุประสงค์ได้ดีขึ้นโดยไม่ต้องลงรายละเอียด ไม่ใช่รหัสความหมายคำอธิบายรูปแบบเนื้อหาโดยละเอียดเกินไป ควรเลือกชื่ออื่นที่จะอธิบายเนื้อหามากกว่ารูปแบบ รหัสความหมายชั้นเรียนอธิบายสถานะของเนื้อหาได้ดีมาก ตัวอย่างเช่น ข้อความแสดงความสำเร็จอาจมีรูปแบบแตกต่างไปจากข้อความแสดงข้อผิดพลาดโดยสิ้นเชิง ไม่ใช่รหัสความหมายตัวอย่างนี้พยายามกำหนดรูปแบบของเนื้อหามากกว่าวัตถุประสงค์ "plain-jane" คล้ายกับ "ปกติ" หรือ "ปกติ" มาก โค้ด CSS ในอุดมคติควรเขียนในลักษณะที่ไม่ต้องใช้ชื่อคลาสเช่น "ปกติ" ที่อธิบายรูปแบบของเนื้อหา ไม่ใช่รหัสความหมายโดยทั่วไปคลาสประเภทนี้ใช้เพื่อกำหนดองค์ประกอบของไซต์ที่ไม่ควรรวมอยู่ในสายโซ่เชื่อมโยง ในกรณีนี้ จะดีกว่าถ้าใช้บางอย่างเช่น rel=nofollow สำหรับลิงก์ แต่ไม่ใช่คลาสสำหรับเนื้อหาทั้งหมด ไม่ใช่รหัสความหมายนี่เป็นความพยายามที่จะอธิบายรูปแบบของเนื้อหา ไม่ใช่วัตถุประสงค์ สมมติว่าคุณมีบทความสองบทความในเว็บไซต์ของคุณ และคุณต้องการถามพวกเขา สไตล์ที่แตกต่าง- "Movie Reviews" จะมีพื้นหลังสีน้ำเงิน และ "Breaking News" จะมีพื้นหลังสีแดงและขนาดตัวอักษรจะใหญ่ขึ้น วิธีหนึ่งในการแก้ปัญหาคือ: อีกวิธีหนึ่งคือ: แน่นอนว่า หากคุณสัมภาษณ์นักพัฒนาหลายคนว่าโค้ดใดสอดคล้องกับข้อกำหนดด้านความหมายมากกว่า คนส่วนใหญ่จะชี้ไปที่ตัวเลือกแรก สอดคล้องกับเนื้อหาของบทเรียนนี้อย่างสมบูรณ์แบบ: คำอธิบายวัตถุประสงค์โดยไม่มีลิงก์ไปยังการจัดรูปแบบ และตัวเลือกที่สองระบุรูปแบบ (“blueBg” คือชื่อของคลาสซึ่งเกิดจากสอง คำภาษาอังกฤษความหมาย "พื้นหลังสีน้ำเงิน") หากคุณตัดสินใจเปลี่ยนการออกแบบบทวิจารณ์ภาพยนตร์กะทันหัน เช่น สร้างพื้นหลังสีเขียว ชื่อคลาส "blueBg" ก็จะกลายเป็นฝันร้ายของนักพัฒนา และชื่อ “movie-review” จะช่วยให้คุณเปลี่ยนสไตล์การออกแบบได้อย่างง่ายดายโดยยังคงรักษาระดับการรองรับโค้ดที่ยอดเยี่ยมไว้ แต่ไม่มีใครอ้างว่าตัวอย่างแรกดีกว่าในทุกกรณีโดยไม่มีข้อยกเว้น สมมติว่ามีการใช้สีฟ้าเฉดหนึ่งในหลายจุดบนเว็บไซต์ เช่น เป็นพื้นหลังของส่วนท้ายบางส่วนและพื้นที่ในแถบด้านข้าง คุณสามารถใช้ตัวเลือกต่อไปนี้: บทวิจารณ์ภาพยนตร์ ส่วนท้าย > div:nth-of-type(2) นอกเหนือ > div:nth-of-type(4) ( พื้นหลัง: #c2fbff; ) วิธีแก้ปัญหาที่มีประสิทธิภาพเนื่องจากสีถูกกำหนดไว้ในที่เดียวเท่านั้น แต่โค้ดดังกล่าวจะรักษาได้ยาก เนื่องจากมันมีตัวเลือกที่ยาวซึ่งยากต่อการเข้าใจด้วยภาพ คุณจะต้องใช้ตัวเลือกอื่นเพื่อกำหนดสไตล์ที่ไม่ซ้ำใคร ซึ่งจะส่งผลให้มีโค้ดซ้ำ หรือคุณสามารถใช้แนวทางอื่นและแยกพวกมันออกจากกัน: บทวิจารณ์ภาพยนตร์ ( พื้นหลัง: #c2fbff; /* คำจำกัดความของสี */ ) ส่วนท้าย > div:nth-of-type(2) ( พื้นหลัง: #c2fbff; /* และอีกอย่างหนึ่ง */ ) กัน > div:nth-of - type(4) ( พื้นหลัง: #c2fbff; /* และอีกอย่างหนึ่ง */ ) สไตล์นี้ช่วยให้ไฟล์ CSS เป็นระเบียบมากขึ้น (มีการกำหนดพื้นที่ที่แตกต่างกัน) ส่วนต่างๆ- แต่ราคาที่ต้องจ่ายคือการทำซ้ำคำจำกัดความ สำหรับไซต์ขนาดใหญ่ การระบุสีเดียวกันสามารถเข้าถึงได้หลายพันครั้ง ย่ำแย่! วิธีแก้ไขคือใช้คลาสเช่น "blueBg" เพื่อกำหนดสีหนึ่งครั้งแล้วแทรกลงในโค้ด HTML เมื่อคุณต้องการใช้การออกแบบนั้น แน่นอนว่าควรเรียกมันว่า "mainBrandColor" หรือ "secondaryFont" เพื่อกำจัดคำอธิบายการจัดรูปแบบ คุณสามารถเสียสละความหมายของโค้ดเพื่อประหยัดทรัพยากรได้ นักออกแบบและนักพัฒนาเว็บไซต์ชอบใช้ศัพท์เฉพาะและวลีที่เข้าใจง่ายซึ่งบางครั้งเราเข้าใจยาก บทความนี้จะเน้นที่รหัสความหมาย เรามาดูกันดีกว่าว่ามันคืออะไร! รหัสความหมายคืออะไร? แม้ว่าคุณจะไม่ใช่นักออกแบบเว็บไซต์ แต่คุณคงรู้ว่าเว็บไซต์ของคุณเขียนด้วย HTML เดิมที HTML มีวัตถุประสงค์เพื่อใช้อธิบายเนื้อหาของเอกสาร แทนที่จะเป็นวิธีทำให้ดูสวยงามตา โค้ดความหมายกลับมาใช้แนวคิดดั้งเดิมนี้ และสนับสนุนให้นักออกแบบเว็บไซต์เขียนโค้ดที่อธิบายเนื้อหา แทนที่จะเขียนว่าควรมีลักษณะอย่างไร ตัวอย่างเช่น ชื่อหน้าสามารถตั้งโปรแกรมได้ดังนี้: นี่คือชื่อหน้า
สิ่งนี้จะทำให้ชื่อมีขนาดใหญ่และหนา ทำให้ดูเหมือนชื่อหน้า แต่ไม่มีสิ่งใดในนั้นที่อธิบายว่าเป็น "ชื่อ" ในโค้ด ซึ่งหมายความว่าคอมพิวเตอร์ไม่สามารถรับรู้ว่าเป็นชื่อของเพจได้ เมื่อเขียนชื่อเรื่องตามความหมาย เพื่อให้คอมพิวเตอร์จดจำว่าเป็น "ชื่อเรื่อง" เราต้องใช้รหัสต่อไปนี้: สามารถกำหนดลักษณะที่ปรากฏของส่วนหัวได้ แยกไฟล์ซึ่งเรียกว่า "Cascading Style Sheets" (CSS) โดยไม่รบกวนโค้ด HTML ที่สื่อความหมาย (ความหมาย) ของคุณ เหตุใดรหัสความหมายจึงมีความสำคัญ ความสามารถของคอมพิวเตอร์ในการจดจำเนื้อหาอย่างถูกต้องมีความสำคัญด้วยเหตุผลหลายประการ: รหัสความหมายยังมีข้อดีอื่น ๆ : คุณจะแน่ใจได้อย่างไรว่าเว็บไซต์ใช้โค้ดความหมาย บน ในขณะนี้ไม่มีเครื่องมือที่สามารถตรวจสอบโค้ดความหมายได้ ทั้งหมดนี้อยู่ที่การตรวจสอบสี แบบอักษร หรือเค้าโครงในโค้ด แทนที่จะต้องอธิบายเนื้อหา หากการวิเคราะห์โค้ดฟังดูน่ากลัว จุดเริ่มต้นที่ดีคือการถามนักออกแบบเว็บไซต์ของคุณ เขาเขียนโค้ดโดยคำนึงถึงความหมายหรือไม่ หากเขามองคุณอย่างว่างเปล่าหรือเริ่มพูดจาไร้สาระ คุณก็มั่นใจได้ว่าเขาไม่ได้เขียนโค้ดด้วยวิธีนี้ ในขณะนี้ คุณต้องตัดสินใจว่าจะให้ทิศทางใหม่ในการทำงานของเขา หรือหาตัวเองเป็นนักออกแบบหน้าใหม่! ,
,
และอื่นๆ แต่รวมถึงองค์ประกอบอินเทอร์เฟซอื่นๆ
แต่...
นี่คือชื่อ