บทความ

ประวัติความเป็นมาของ Cryptography

image

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

การเข้ารหัสในยุคโบราณ

การเข้ารหัสมีมาตั้งแต่สมัยโบราณ ในยุคแรก ๆ ต่างมีการใช้วิธีเข้ารหัสที่แตกต่างกันออกไป ยกตัวอย่างเช่น ในยุคสมัยอียิปต์โบราณ มีการใช้สัญลักษณ์ที่มีชื่อเรียกว่า “Hieroglyphs” เป็นอักษรโบราณประกอบด้วยตัวอักษรและสัญลักษณ์ต่างๆ ซึ่งการจะไขรหัสได้นั้นจําเป็นจะต้องมีความรู้เกี่ยวกับตัวอักษรเหล่านั้น นับได้ว่าเป็นรูปแบบการเข้ารหัสรุ่นแรก ๆ

image

ต่อมาในช่วง 700 ปีก่อนคริสต์ศักราช ชาวโรมันมีการใช้อุปกรณ์เพื่อการเข้ารหัสที่มีชื่อเรียกว่า “Scytale” หรือ “Skytale” เพื่อทําให้การสื่อสารมีความปลอดภัย โดยจะมีลักษณะเป็นแผ่นหนังที่พันบนท่อนไม้ บนแผ่นหนังจะมีการสลักตัวอักษรซึ่งเวลาคลี่ออกมาจะไม่มีความหมาย การที่จะสามารถไขรหัสได้จําเป็นต้องมีท่อนไม้ที่มีขนาดถูกต้องตามที่ได้ออกแบบไว้ เมื่อนําแผ่นหนังมาพันบนท่อนไม้ขนาดดังกล่าว ตัวอักษรบนแผ่นหนังจะเรียงกันเป็นคำหรือตัวอักษรเหมือนกับต้นฉบับ และผู้รับก็จะสามารถอ่านข้อความเหล่านั้นได้

image

ในช่วงประมาณ 60 ปีก่อนคริสต์ศักราช จูเลียสซีซาร์ คิดค้น “รหัสซีซาร์” ซึ่งนับเป็นเทคนิคการเข้ารหัสที่ง่าย และแพร่หลายที่สุด โดยใช้หลักการแทนที่ตัวอักษร ซึ่งในแต่ละตัวอักษรที่อยู่ในข้อความจะถูกแทนที่ด้วยตัวอักษรที่อยู่ลำดับถัดไป 3 ลำดับ เช่น ตัวอักษร “A” จะถูกแทนที่ด้วย “D” และ “B” จะถูกแทนที่ด้วย “E” เป็นต้น ซึ่งตัวอักษรปกติเราจะเรียกว่า Plain ส่วนตัวอักษรที่ถูกนำมาแทนที่จะเรียกว่า Cipher ดังนั้นการเข้ารหัสของ ซีซาร์ (Caesar) จะใช้การเทียบตัวอักษรปกติ (Plain) กับตัวอักษรที่ถูกนำมาแทนที่ (Cipher) เช่น Bitkub จะมีตัวอักษรที่ถูกนำมาแทนเป็น ELWNXE นั่นเอง

image

ช่วงปลายศตวรรษที่ 20

เมื่อเข้าสู่ช่วงปี ค.ศ. 1900 การเข้ารหัสถูกใช้ผ่านเครื่องเข้ารหัสที่มีความทันสมัยมากขึ้น หนึ่งในเครื่องจักรทางวิทยาศาสตร์ที่มีชื่อเสียงที่สุดนั้นคือ เครื่องอีนิกมา (Enigma) ซึ่งถูกคิดค้นและใช้โดยชาวนาซีเยอรมันในช่วงสงครามโลกครั้งที่ 2 เพื่อป้องกันไม่ให้ศัตรูรับรู้เนื้อหาของข้อความ

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

image

การเข้ารหัสในยุคคอมพิวเตอร์

ในยุคของคอมพิวเตอร์ การเข้ารหัสมีความก้าวหน้ามากกว่าในยุคอนาล็อกเป็นอย่างมาก การเข้ารหัสในยุคนี้เป็นการเข้ารหัสทางคณิตศาสตร์ที่มีความแข็งแกร่งมากกว่าการเข้ารหัสในสมัยก่อน ซึ่งเป็นมาตรฐานการเข้ารหัสสำหรับอุปกรณ์และระบบคอมพิวเตอร์ต่าง ๆ

ในปี ค.ศ. 1970 กลุ่ม IBM ได้สร้างมาตรฐานการเข้ารหัสเพื่อปกป้องข้อมูลของลูกค้า และถูกใช้จนเป็นที่แพร่หลายในหลาย ๆ ประเทศ รวมถึงสหรัฐอเมริกาก็ได้เลือกวิธีนี้เป็นมาตรฐานการเข้ารหัส “Data Encryption Standard” หรือ DES ระบบปฏิบัติการที่ออกแบบมาเพื่อทํางานบนคอมพิวเตอร์ที่มีกําลังประมวลผลครั้งละ 64 บิต (bit) ซึ่งเป็นกําลังประมวลผลที่คอมพิวเตอร์ส่วนมากในสมัยนั้นมี จนกระทั่งถึงปี ค.ศ. 1999 คอมพิวเตอร์ที่มีกําลังประมวลผลมากกว่าถูกใช้เพื่อถอดรหัสมาตรฐาน DES ซึ่งเครื่องดังกล่าวใช้เวลาเพียงไม่กี่วันในถอดเข้ารหัส จึงทำให้การเข้ารหัสรูปแบบดังกล่าวไม่ปลอดภัยอีกต่อไป

ศตวรรษที่ 21

ในปี 2001 ได้มีการใช้ “Advanced Encryption Standard” (AES) หรือ มาตรฐานการเข้ารหัสขั้นสูง ซึ่งเป็นรูปแบบการเข้ารหัสที่รวดเร็วและปลอดภัยมากยิ่งขึ้น การเข้ารหัสแบบ AES คือการเข้ารหัสแบบ Symmetric-key ซึ่งเป็นวิธีเข้ารหัสแบบสมมาตรหรือตรงไปตรงมา การเข้ารหัสและถอดรหัสจะใช้กุญแจเพียงตัวเดียว กล่าวคือผู้ส่งที่ทําการเข้ารหัสและผู้รับที่ทําการถอดรหัสจะต้องมีกุญแจชุดเดียวกันเพื่อให้สามารถส่งผ่านข้อมูลกันได้ เป็นที่มาของคําว่าการเข้ารหัสแบบ “สมมาตร” ซึ่งกุญแจนี้จะอยู่ในรูปแบบของรหัสคอมพิวเตอร์และสามารถเลือกใช้ขนาดของกุญแจ (Key) ที่มีขนาดแตกต่างกันออกไปได้ เช่น 128, 192 หรือ 256 บิต ทําให้การโจมตีหรือความพยายามไขรหัสนั้นเป็นไปได้ยากขึ้น สำหรับตัวอย่างการเข้ารหัสแบบกุญแจสมมาตร ได้แก่ RC4, QUAD, AES, DES, Blowfish, และ 3DES เป็นต้น

การเข้ารหัสในคริปโทเคอร์เรนซี

สําหรับการเข้ารหัสของคริปโทเคอร์เรนซี มีการใช้เทคนิคการเข้ารหัสขั้นสูงหลายอย่างรวมกัน ไม่ว่าจะเป็น Asymmetric-key (การเข้ารหัสแบบ “อสมมาตร” ), Digital Signature (ลายเซ็นดิจิทัล ) และ Hash Function เทคนิคเหล่านี้ทําให้ข้อมูลที่ถูกจัดเก็บไว้ในบล็อกเชนมีความปลอดภัยสูง เพื่อเป็นการรับรองความถูกต้องของธุรกรรม

การใช้รหัสแบบกุญแจ “อสมมาตร” (Asymmetric Key) คือการใช้กุญแจที่ไม่เหมือนกันในการเข้าและถอดรหัส ได้แก่ กุญแจส่วนตัว (Private Key) และ กุญแจสาธารณะ (Public Key) โดยกุญแจสาธารณะจะคล้ายกับเลขบัญชีของธนาคาร ใช้ในการโอนเงินเข้า-ออก ส่วนกุญแจส่วนตัวคือรหัสที่ทำให้สามารถเข้าถึงบัญชีธนาคารของผู้ใช้และควบคุมได้ ดังนั้น กุญแจสาธารณะจึงสามารถถูกเผยแพร่ออกไปให้ทุกคนเห็นได้ แต่กุญแจส่วนตัวจะต้องเก็บไว้เป็นความลับที่เจ้าของเพียงคนเดียวเท่านั้น ไม่ควรเปิดเผยออกสู่สาธารณะ

Digital Signature หรือ ลายเซ็นดิจิทัล มีคุณสมบัติเหมือนลายเซ็นในโลกแห่งความจริง ลายเซ็นดิจิทัลคือการเข้ารหัสโดยมีกุญแจ 2 ส่วน ได้แก่ กุญแจส่วนตัว (Private Key) และ กุญแจสาธารณะ (Public Key) โดยกุญแจทั้งสองจะมีความสัมพันธ์ซึ่งกันและกัน การใช้งานนั้นจะนําเอาข้อมูลที่ต้องการเข้ารหัสมาเข้ารหัสด้วยกุญแจส่วนตัว ซึ่งจะทําหน้าที่คล้ายกับลายเซ็น เป็นข้อมูลที่ยืนยันได้และสามารถนําข้อมูลที่ถูกเข้ารหัสนั้นไปถอดรหัสโดยใช้กุญแจสาธารณะต่อไปได้ นับเป็นอีกหนึ่งวิธีป้องกันข้อมูลให้มีความปลอดภัย

การเข้ารหัสแบบ Hash Function คือการนําชุดข้อมูล (Input) ที่มีความยาวเท่าใดก็ได้ ทําการเข้ารหัสโดยระบบอัลกอริทึมจะสร้างผลลัพธ์ (Output) ใหม่ออกมา โดยที่เราไม่สามารถหาจุดเชื่อมโยงของผลลัพธ์ย้อนกลับไปได้ ยกตัวอย่างเช่น SHA-256 ระบบอัลกอริทึมของ Bitcoin ที่สร้างความปลอดภัยในการเข้ารหัส

ตัวอย่างของการเข้ารหัสด้วย SHA-256

SHA-256 ที่สอดคล้องกันของคําว่า “ Bitkub” มีลักษณะดังนี้:

2660fcf5602644995ee6cfb182158591bc79a79fa81fb32475fc4527105b3e96

หากเราเปลี่ยนอักษรเพียงสัญลักษณ์เดียวเช่นจาก “B” เป็น “b” ในคําว่า “bitkub” Hash จะมีลักษณะดังนี้:

54b263d705de2f5aef0aabfaefd5ccf6aa217dd3530525698589378c917dd207

สรุป

การเข้ารหัสมีพัฒนาการมาอย่างยาวนานตั้งแต่ในยุคสมัยโบราณจนถึงปัจจุบัน และยังคงได้รับการพัฒนาอย่างต่อเนื่อง ตราบเท่าที่ยังมีข้อมูลที่ควรได้รับการปกป้อง ถึงแม้ว่าการเข้ารหัสที่ใช้ในบล็อกเชนและสกุลเงินดิจิทัลในปัจจุบัน จะเป็นรูปแบบที่มีความก้าวหน้าที่สุดของการเข้ารหัสในยุคสมัยนี้ แต่ยังคงเป็นเพียงส่วนหนึ่งของเทคโนโลยีที่มนุษย์ยังคงศึกษาและพัฒนาอย่างต่อเนื่อง หากเราจะก้าวให้ทันยุคสมัย การเข้าใจระบบรักษาความปลอดภัยและความเป็นส่วนตัวเหล่านี้ก็นับเป็นเรื่องที่สำคัญเป็นอย่างยิ่ง

อ้างอิง: History of Cryptography, The Birth of Security: The Scytale, Caesar Cipher in Cryptography, Cryptography: Crash Course Computer Science #33, Definition of 64-bit operating system, Token Security: Cryptography — Part 2, SHA256 Online, Blockchain เข้าใจง่าย. บทความนี้ตั้งใจจะอธิบายเทคโนโลยีที่ชื่อ… | by Thana Hongsuwan, Encryption 101 การเข้ารหัสที่คุณต้องรู้ | borntoDev Creator, [Maliboo’] ความปลอดภัยของ SHA-256

ที่มา:

Medium

ผู้เขียน: Pitipoom Rugchoocheep | 07 ม.ค. 65 | อ่าน: 7,294
บทความล่าสุด