ไม่ว่าเหตุผลของคุณคือต้องการสร้างโปรแกรมเข้ารหัส การสร้างโปรแกรมขึ้นมาก็เป็นเรื่องที่สนุกและท้าทายมาก อย่างไรก็ตาม อาจเป็นเรื่องยากที่จะคิดออกว่าจะทำอย่างไรหากนี่เป็นครั้งแรกของคุณ บทความนี้ครอบคลุมแนวคิดทั่วไปและขั้นตอนพื้นฐานที่คุณต้องดำเนินการเพื่อสร้างโปรแกรมเข้ารหัสที่ใช้งานได้จริง
ขั้นตอน
ส่วนที่ 1 จาก 2: การสร้างวิธีการเข้ารหัส
ขั้นตอนที่ 1 ออกแบบอัลกอริทึม
อัลกอริทึมทั่วไปเป็นแกนหลักของวิธีการเข้ารหัสทั้งหมด RSA ใช้คุณสมบัติทางคณิตศาสตร์ของจำนวนเฉพาะจำนวนมากเพื่อเข้ารหัสข้อมูลส่วนตัวอย่างรวดเร็วและปลอดภัย Bitcoin ใช้ RSA เวอร์ชันหนึ่งเพื่อรักษาความปลอดภัยในการชำระเงิน และทำให้แน่ใจว่าผู้ส่งต้องการส่งบิตคอยน์ไปยังผู้ใช้รายอื่นจริงๆ คุณควรศึกษาเกี่ยวกับอัลกอริธึมการเข้ารหัสประเภทต่างๆ เช่น การเข้ารหัสคีย์ส่วนตัวและคีย์สาธารณะ ควรสังเกตว่าไม่มีการเข้ารหัสใด ๆ หากคุณวางแผนที่จะดึงข้อมูลจะไม่สามารถแตกหักได้ การเข้ารหัสทำได้เพียงกีดกันการสอดแนมชั่วคราวและชะลอการโจมตีที่รุนแรง ขอแนะนำให้คุณเรียนรู้ว่าไบนารีคืออะไร มันจะทำให้การสร้างอัลกอริทึมของคุณง่ายขึ้นและเกี่ยวข้องกับการเข้ารหัสข้อมูลมากขึ้น
ขั้นตอนที่ 2 ทดสอบอัลกอริทึมของคุณ
เมื่อคุณคิดว่าคุณมีอัลกอริธึมที่ดีแล้ว คุณควรลองเข้ารหัสข้อความสั้นๆ ด้วยมือ การดำเนินการนี้จะใช้เวลามากกว่าสองสามนาทีสำหรับอัลกอริธึมการเข้ารหัสที่ดี หลักการที่ดีก็คือ หากคุณเข้ารหัสข้อความในหัวได้ ก็ไม่ปลอดภัยสำหรับการเข้ารหัสที่จริงจัง หากข้อความสุดท้ายดูคล้ายกับข้อความต้นฉบับไม่ว่าในทางใด แสดงว่าข้อความนั้นอาจไม่ปลอดภัย
ขั้นตอนที่ 3 พิจารณาการถอดรหัสลับ
ต้องมีวิธีที่ผู้มีอำนาจในการเข้าถึงข้อมูลที่เข้ารหัสโดยอัลกอริทึมของคุณ คุณควรตรวจสอบให้แน่ใจว่าคุณสามารถถอดรหัสข้อมูลได้อย่างง่ายดายหากคุณรู้รหัส และทำให้ยากสำหรับผู้โจมตีที่จะบังเอิญเจอรหัสโดยไม่ได้ตั้งใจผ่านการลองผิดลองถูก
ถ้าคุณไม่ต้องการให้เรียกข้อมูลได้เลย ให้พิจารณาสร้างอัลกอริทึมการแฮชแทน อัลกอริทึมการแฮชรับอินพุตและสร้างค่าทางเดียวตามอินพุตนี้ เป็นไปได้ที่จะเปลี่ยนจากอินพุตต้นทางเป็นค่าที่แฮช แต่เป็นไปไม่ได้ที่จะย้อนกลับไปยังอินพุตต้นทางจากค่าที่แฮช สิ่งนี้เป็นไปได้โดยเฉพาะสำหรับการป้องกันด้วยรหัสผ่าน เมื่อคุณสร้างบัญชีบนเว็บไซต์ด้วยรหัสผ่าน จริยธรรม เว็บไซต์จะแฮชรหัสผ่านของคุณก่อนจัดเก็บ สิ่งนี้มีประโยชน์มากมาย เช่น ทำให้ผู้โจมตีล่าช้าจากการถอดรหัสรหัสผ่านของคุณ อย่างไรก็ตาม หากคุณลืมรหัสผ่าน คุณจะต้องสร้างรหัสผ่านใหม่
ขั้นตอนที่ 4 ร่างรหัสเทียม
สิ่งนี้ควรจะค่อนข้างง่ายเมื่อคุณสร้างและทดสอบอัลกอริธึมของคุณเพื่อพิสูจน์ว่าใช้งานได้ pseudocode ควรอ่านเหมือนภาษาอังกฤษที่เข้าใจง่าย สามารถอ่านได้เพียงพอสำหรับคนธรรมดาที่จะเข้าใจ และให้คำแนะนำเพียงพอสำหรับโปรแกรมเมอร์ที่จะนำอัลกอริทึมไปใช้ในภาษาเช่น C, Java เป็นต้น
ส่วนที่ 2 จาก 2: เผยแพร่อัลกอริทึม
ขั้นตอนที่ 1 แชร์อัลกอริทึมของคุณกับผู้ที่ชื่นชอบการเข้ารหัสข้อมูล
วิธีนี้จะช่วยให้คุณค้นพบประตูกลที่เป็นไปได้ในการเข้ารหัสของคุณ และรับข้อเสนอแนะเกี่ยวกับความปลอดภัยและความอยู่รอดของอัลกอริทึม ถ้าอัลกอริธึมของคุณซับซ้อนจนไม่มีใครเข้าใจ ก็คงไม่มีใครใช้ แต่เช่นเดียวกันหากอัลกอริทึมนั้นง่ายจนทุกคนสามารถถอดรหัสข้อความได้โดยใช้ความพยายามเพียงเล็กน้อย
ขั้นตอนที่ 2 โพสต์คำท้าในฟอรัม
มีฟอรัมสำหรับการแก้ปัญหาและถอดรหัสข้อมูลโดยเฉพาะ ลองเผยแพร่ข้อความสั้น ๆ ที่คุณเข้ารหัสพร้อมกับคำแนะนำเกี่ยวกับอัลกอริทึมที่ใช้ หากคุณรู้สึกมั่นใจ คุณยังสามารถให้อัลกอริทึมแก่พวกเขาและดูว่าคนอื่นๆ ใช้เวลานานเท่าใดในการเจาะข้อมูลโดยใช้กำลังดุร้าย
เคล็ดลับ
- เริ่มต้นด้วยการเรียนรู้วิธีการทำงานของอัลกอริธึมการเข้ารหัสยอดนิยมอื่นๆ RSA มีเอกลักษณ์เฉพาะและใช้กันอย่างแพร่หลายในโลกแห่งความเป็นจริงสำหรับการเข้ารหัสข้อมูล
- การสร้างอัลกอริธึมการเข้ารหัสที่ดีไม่ใช่เรื่องง่าย โดยเฉพาะอย่างยิ่งหากนี่เป็นครั้งแรกของคุณ เริ่มต้นด้วยความคิด และสร้างมันขึ้นมา หากคุณสังเกตเห็นข้อบกพร่อง การเริ่มต้นใหม่ทั้งหมดอาจง่ายกว่าแทนที่จะพยายามแก้ไขข้อบกพร่อง
คำเตือน
- อัลกอริทึมการเข้ารหัสควรทำงานในระดับบิตของข้อมูล หลีกเลี่ยงการสร้างรหัสที่ใช้งานได้เฉพาะกับการเปลี่ยนตัวอักษรในข้อความเป็นอย่างอื่นเล็กน้อย สิ่งเหล่านี้ไม่ปลอดภัยอยู่เสมอ
- เว้นแต่ว่าคุณมีวุฒิการศึกษาด้านทฤษฎีข้อมูลหรือความปลอดภัย คุณไม่ควรใช้การเข้ารหัสเพื่อรักษาความปลอดภัยรหัสผ่านหรือข้อมูลส่วนตัวอื่นๆ
- ไม่มีการเข้ารหัสที่สมบูรณ์แบบ หากคุณวางแผนที่จะดึงข้อมูลที่คุณเข้ารหัส การทำเช่นนี้เพียงอย่างเดียวจะสร้างช่องโหว่ในการเข้ารหัสของคุณ แม้ว่าคุณจะไม่ต้องการดึงข้อมูล อย่างน้อยก็ยังสามารถถอดรหัสและค้นพบได้ในทางทฤษฎี