รหัสทดแทน - กิจกรรมการศึกษาและวิทยาศาสตร์ของ 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 จะเป็นการดีกว่าถ้าใช้องค์ประกอบ

ในกรณีเช่นนี้ หมายเหตุนี้ยังใช้กับส่วนอื่นๆ ทั้งหมดของหน้าเว็บด้วย (ส่วนหัวควรเป็น
, แถบด้านข้าง -