หลังจากอ่านความคิดเห็นของคุณนั่นฟังดูสมเหตุสมผลกว่า ฉันไม่แน่ใจว่าคุณตั้งใจจะเข้ารหัสข้อมูลขนาดเมกะไบต์เช่นนี้หรือไม่
ฉันขอแนะนำตามคำแนะนำของ Oliver ว่าคุณเพิ่มความหนาแน่นของข้อมูลของคุณโดยการยืมหน้าจากศูนย์เข้ารหัสของเบคอนซึ่งแก๊งค์คุกมักใช้เพื่อเข้ารหัสข้อความที่ซ่อนอยู่ในขีปนาวุธที่เขียนในรูปแบบสคริปต์ที่แตกต่างกันสองแบบ อักขระตัวพิมพ์เล็กหรือพิมพ์กับอักขระแบบตัวสะกดเช่น
Hey mOM, WHAT's FOR diNNeR TODAY? = ABBBA AAAAA BAAAB BAABA AAAAA
= P A S T A
อย่างไรก็ตามเนื่องจากเป้าหมายของคุณไม่ใช่ stegnography คุณเพียงแค่ใช้สิ่งนี้เพื่อขยายชุดสัญลักษณ์ของคุณ ในการดำเนินการนี้คุณสามารถมีร่ายมนตร์ได้ถึง 114 ร่ายมนตร์เพียงใช้ตัวอักษรและตัวเลขแบบตัวพิมพ์และตัวอักษรหรือ 12996 จุดรหัสโดยใช้การเข้ารหัสอักขระสองตัว
อย่างไรก็ตามเนื่องจากร่ายมนตร์ทั้งหมดมีค่ามากกว่า 15 และน้อยกว่า 256 จะเหมือนกันสำหรับรหัสเลขฐานสองตรง (หมายถึงคุณยังต้องใช้อักขระ 2 ตัวเพื่อแทนแต่ละไบต์ทำให้คุณมีความหนาแน่นของข้อมูล 4 บิตต่อตัวอักษรใน ทุกกรณี) คุณสามารถใช้จุดรหัสพิเศษ 98 glyphs / 12740 สำหรับการตรวจจับ / แก้ไขข้อผิดพลาด
วิธีในการทำเช่นนี้รวมถึง:
- เลือกชุดคอมโบตัวละครที่อ่าน / เขียนได้ง่ายที่สุด 256 ชุด หากมีคำสั่งผสมอักขระอื่นเกิดขึ้นคุณรู้ว่านี่เป็นข้อผิดพลาดในการคัดลอก
- ใช้อักขระสิ้นสุดสองเวอร์ชันเป็นพาริตีบิต
สร้างชุดสัญลักษณ์ glyph 16 ตัว 50 ชุด จากนั้นคุณสามารถใช้พวกเขาในการเข้ารหัสข้อมูลการแก้ไขข้อผิดพลาดเข้ารหัส
เช่น{set 1}{set 1}
หมายถึง 3 ต่อไปแทะเท่ากับ0x000
, {set 1}{set 2}
เท่ากับ0x001
ฯลฯ
คุณสามารถใช้สิ่งนี้เพื่อแสดงถึง 2500+ ค่า 4096 ที่เป็นไปได้ 1.5 ไบต์ ในทำนองเดียวกันคุณสามารถใช้เพียง 16 ชุดเพื่อเป็นตัวแทนของค่าทั้งหมดของไบต์ต่อไปนี้ให้ความซ้ำซ้อน 100% โดยไม่เพิ่มความยาวของข้อมูลที่เข้ารหัสของคุณ
หรือคุณสามารถใช้สัญลักษณ์พิเศษสำหรับการบีบอัดเพิ่มเติม:
- ใช้การเข้ารหัสความกว้างของตัวแปรโดยเลือก 98 จุดของรหัสอักขระเดี่ยว วิธีนี้จะลดขนาดเนื้อหาที่เข้ารหัสโดยเฉลี่ยประมาณ 20%
- ใช้สิ่งที่คล้ายกับการเข้ารหัสแบบรันไทม์โดยใช้ชุดสัญลักษณ์ glyph หรือชุดสัญลักษณ์ glyph ที่ต่างกันเพื่อแสดงถึงการทำซ้ำไบต์ / ไบต์ เช่น
Ab
= aba
; aB
= abab
; AB
= ababab
...
- ใช้สัญลักษณ์พิเศษหรือจุดรหัสเพื่อแสดง "คำ" และ "วลี" ที่ซ้ำกันในข้อมูลของคุณ แม้ว่าข้อมูลที่ถูกบีบอัดไว้ล่วงหน้าจะมีระดับเอนโทรปีในระดับสูง แต่ฉันก็ไม่รู้ว่ามันจะมีประสิทธิภาพแค่ไหน
เพื่อลดข้อผิดพลาดในการคัดลอกฉันจะแสดงเนื้อหาที่เข้ารหัสในเส้นกริดและคัดลอกลงบนกระดาษกราฟ หากคุณสามารถใช้เครื่องเขียนแบบกำหนดเองที่มีการสลับสีคอลัมน์ / แถวหรือตารางหมากรุกแบบหมากรุกกับคอลัมน์ตัวอักษรและแถวหมายเลขสำหรับการค้นหาอย่างรวดเร็วซึ่งจะเพิ่มความแม่นยำในการคัดลอกเพิ่มเติม
นอกจากนี้คุณยังสามารถรวมเค้าโครงตารางที่สลับกับลักษณะอักขระที่สลับกันเป็นรูปแบบที่ง่ายในการตรวจหาข้อผิดพลาด นั่นคือถ้าคอลัมน์แปลก ๆ จะเป็นตัวพิมพ์ใหญ่เสมอหากผู้ติดตามพบว่าตัวเองเป็นตัวพิมพ์เล็กในคอลัมน์แปลก ๆ พวกเขารู้ว่าพวกเขาได้ทำผิดพลาดและสามารถเริ่มติดตามกลับไปดูว่าเกิดอะไรขึ้น
แต่ถ้ามีความสำคัญหลักของคุณคือความถูกต้องผมจะใช้การเข้ารหัสแบบไบนารี + รหัส
Hamming การใช้รหัส Hamming ที่สั้นลง (12, 8) บนกระดาษกราฟมาตรฐานคุณอาจพอดี 187 ไบต์เท่านั้นและเข้ารหัสข้อมูลเพียง 124 ไบต์ แต่มันสามารถถอดความได้อย่างรวดเร็ว (สแลชสำหรับ 1 ไม่มีอะไรสำหรับ 0) และให้การแก้ไขข้อผิดพลาดเดียว การตรึงบิตพาริตีพิเศษ (13, 8) จะช่วยให้ SECDED (การแก้ไขข้อผิดพลาดเดียว, การตรวจจับข้อผิดพลาดสองครั้ง) ด้วยการใช้รหัส hamming มาตรฐานเช่น (15, 11) หรือ (31, 26) คุณจะได้รับประสิทธิภาพที่ดียิ่งขึ้นด้วย 137 และ 156 ไบต์ของข้อมูลต่อแผ่นตามลำดับ อัตราโค้ดที่สูงขึ้นสามารถทำได้ขึ้นอยู่กับความถูกต้องที่คุณคิดว่าผู้ใช้บริการของคุณสามารถทำได้
การเข้ารหัสแบบไบนารีจะง่ายต่อการอ่าน (ออกเสียง) และ OCR / OMR