อัลกอริทึ่มแบบไม่对称คืออะไร

อัลกอริทึ่มแบบไม่สมมาตรคืออัลกอริทึ่มที่สามารถเข้ารหัสและถอดรหัสข้อมูล


อัลกอริทึ่มแบบสมมติ-กุญแจเชิงอนันต์คืออะไร


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






อัลกอริทึมที่เกี่ยวข้องคืออัลกอริธึมแบบสมมาตรคีย์ซึ่งใช้คีย์การเข้ารหัสสําหรับการเข้ารหัสข้อความธรรมดาและการถอดรหัสข้อความเข้ารหัส ตัวอย่างเช่น การใช้ AES (Advanced Encryption Standard) Symmetric-key Algorithms เพื่อเข้ารหัสคําว่า "Gate.io" สามารถรับสตริงตัวอักษร U2FsdGVkX18fop1iGBPzNdnADZ57AJxOn+wEBSIUAG4 ในทางกลับกัน ciphertext ยังสามารถถอดรหัสโดย AES Symmetric-key Algorithms เพื่อรับ Gate.io สตริงตัวอักษรดั้งเดิม ในช่วงแรก ๆ อัลกอริธึมสมมาตรคีย์ถูกใช้เพื่อส่งโทรเลขที่เข้ารหัส กระบวนการถอดรหัสนี้ง่ายและรวดเร็ว แต่หลังจากวิธีการเข้ารหัสรั่วไหลมันเป็นเรื่องง่ายที่จะถอดรหัสข้อมูลที่สกัดกั้นและความปลอดภัยไม่สูง


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


1. ทั้ง Jim และ Bob ต้องสร้างคีย์สาธารณะและคีย์ส่วนตัวคู่;

2. คีย์สาธารณะของจิมถูกส่งไปยังบ็อบ และคีย์ส่วนตัวถูกบันทึกโดยจิม; คีย์สาธารณะของบ็อบถูกส่งไปยังจิม และคีย์ส่วนตัวถูกบันทึกโดยบ็อบ;

3. เมื่อ Jim ส่งข้อความถึง Bob เขาจะเข้ารหัสข้อความด้วยกุญแจสาธารณะของ Bob;

4. หลังจากที่บ็อบได้รับข้อความ เขาสามารถถอดรหัสด้วยการใช้กุญแจส่วนตัวของเขา


การประยุกต์ใช้ของอัลกอริทึ่มแบบไม่对称ในบล็อกเชน


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


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

  2. ลายเซ็นดิจิทัล: ให้ความแน่ใจในการกำหนดสิทธิของข้อมูล โดยเพื่อแสดงว่าข้อมูลไม่ได้ถูกปลอมแปลงและจริงจังถูกส่งโดยเจ้าของข้อมูล ลายเซ็นดิจิทัลถูกแนบไว้ด้านหลังของข้อมูลต้นฉบับ เหมือนลายเซ็นด้วยมือ มีความเฉพาะเจาะจงและกระชับ

  3. การพิสูจน์ตัว: ลูกค้าเข้ารหัสข้อมูลการเข้าสู่ระบบด้วยกุญแจส่วนตัวและส่งให้เซิร์ฟเวอร์ ซึ่งถอดรหัสและพิสูจน์ตัวของข้อมูลการเข้าสู่ระบบด้วยกุญแจสาธารณะของลูกค้าหลังจากได้รับข้อมูล

  4. ใบรับรองดิจิทัล: รับรองความถูกต้องของคีย์สาธารณะ ในการที่ผู้ส่งจะตรวจสอบว่าคีย์สาธารณะที่ได้จากอินเทอร์เน็ตเป็นจริง จะมีองค์กรของฝ่ายที่สาม CA (Certificate Authority) ถูกสร้างขึ้นเพื่อให้การรับรองความถูกต้องของคีย์สาธารณะ ขณะที่เผยแพร่ข้อมูล เจ้าของข้อความต้นฉบับของข้อมูลจำเป็นต้องนำลายเซ็นดิจิทัลและใบรับรองดิจิทัลของตนเองมาด้วย ซึ่งสามารถให้การรับรองว่าข้อมูลไม่ได้ถูกแก้ไข


วิธีการทำงานของอัลกอริทึ่มแบบสมมติ-คีย์ของบิตคอยน์


อัลกอริทึ่มของกุญแจที่ไม่สมมาตรที่ใช้ในบล็อกเชน Bitcoin คือ อัลกอริทึ่มเข่ารหัสโดยใช้เส้นโค้งเอลลิปติก พวกเขายังเป็นอัลกอริทึ่มของกุญแจที่ไม่สมมาตรที่ใช้กันอยู่ในบล็อกเชนในปัจจุบัน ที่เรียกว่า ECDSA ซึ่ง EC หมายถึง "เส้นโค้งเอลลิปติก" และ DSA หมายถึง "อัลกอริทึ่มลายเซ็นต์ดิจิตอล"


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



ตัวอย่างเช่น จะสร้างเลขจำนวนเฉพาะสองตัว (152, 891) โดยสุ่มเพื่อสร้าง "คีย์ส่วนตัว" 6 หลัก 152891 และกฎสำหรับการสร้าง "คีย์สาธารณะ" คือ การคูณเลขจำนวนเฉพาะสองตัวนี้ (152x891=135432) ในขณะนี้ ผู้คนบนเครือข่ายสามารถรับ "คีย์สาธารณะ" นี้ได้ เมื่อคุณต้องการให้ข้อมูลนี้ถูกแก้ไขโดยคุณเท่านั้น คุณสามารถเพิ่มบันทึกไปยังข้อมูล "‘คีย์สาธารณะ’ 135432": เพียงแค่เลขจำนวนเฉพาะด้านซ้ายสามหลักคูณกับเลขจำนวนเฉพาะด้านขวาเท่ากับคีย์สาธารณะและสามารถแก้ไขได้


หากฮากเกอร์บนเครือข่ายต้องการแก้ไขข้อมูลโดยไม่ได้รับอนุญาต แม้ว่าเขารู้ว่า "คีย์ส่วนตัว" สร้าง "คีย์สาธารณะ" โดยการคูณสองจำนวนเฉพาะ แต่เขาไม่รู้ว่าจำนวนเฉพาะสองจำนวนคืออะไร ดังนั้นเพื่อหา "คีย์ส่วนตัว" ของ "คีย์สาธารณะ" 135423 เขาสามารถลองหาทีละตัวได้แค่ทางตรง: 001 x 02, …, 998 x 999 ฯลฯ กระบวนการนี้ยากเมื่อจำนวนเฉพาะมีขนาดใหญ่


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



เชิงโค้งวงแหวน


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


อัลกอริทึ่มอัสซิเมตริกคีย์ที่พบบ่อย


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


อัลกอริทึ่ม RSA (Rivest Shamir Adleman): เนื่องจากมันยากต่อการปั้นรหัส จึงได้รับการใช้งานอย่างแพร่หลายในด้านการเข้ารหัสดิจิทัลและลายเซ็นดิจิทัล ในอัลกอริทึ่ม RSA ทั้งกุญแจสาธารณะและกุญแจส่วนตัวสามารถใช้ในการเข้ารหัสข้อมูล หากใช้กุญแจสาธารณะในการเข้ารหัส (เพื่อป้องกันการถูกขโมยข้อมูล) ก็จะใช้กุญแจส่วนตัวในการถอดรหัส หากใช้กุญแจส่วนตัวในการเข้ารหัส (เพื่อป้องกันการถูกแก้ไขข้อมูล) ก็จะใช้กุญแจสาธารณะในการถอดรหัส (ลายเซ็นดิจิทัล) ทฤษฎีของมันคือ ยิ่งจำนวนบิตของกุญแจในอัลกอริทึ่ม RSA ยิ่งยากต่อการปั้นรหัส (ยกเว้นคอมพิวเตอร์ควอนตัม) ดังนั้น กุญแจที่ใช้กันอย่างทั่วไปในอุตสาหกรรมต้องมีไม่น้อยกว่า 2048 บิต

DSA อัลกอริทึ่มลายเซ็นจำลองดิจิทัล: อัลกอริทึ่มนี้ไม่สามารถเข้ารหัสหรือถอดรหัสข้อมูลได้ และใช้สำหรับเซ็นและรับรองข้อมูลที่เข้ารหัส ความปลอดภัยสูงเท่ากับอัลกอริทึ่ม RSA แต่ความเร็วในการประมวลผลเร็วกว่า

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


สรุป


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


ผู้เขียน: Rena
นักแปล: Joy
ผู้ตรวจทาน: Hugo, Jiji, Piper
* ข้อมูลนี้ไม่ได้มีวัตถุประสงค์เป็นคำแนะนำทางการเงินหรือคำแนะนำอื่นใดที่ Gate.io เสนอหรือรับรอง
* บทความนี้ไม่สามารถทำซ้ำ ส่งต่อ หรือคัดลอกโดยไม่อ้างอิงถึง Gate.io การฝ่าฝืนเป็นการละเมิดพระราชบัญญัติลิขสิทธิ์และอาจถูกดำเนินการทางกฎหมาย

แชร์

เนื้อหา

อัลกอริทึ่มแบบไม่对称คืออะไร

การใช้งานของอัลกอริทึ่มแบบไม่เช่นเส้นตรงในบล็อกเชน

วิธีการทำงานของอัลกอริทึ่มสำหรับกุญแจไม่สมมาตรของบิตคอยน์

อัลกอริทึ่มแบบไม่对称ที่พบบ่อย

สรุป

อัลกอริทึ่มแบบไม่对称คืออะไร

มือใหม่11/21/2022, 8:01:19 AM
อัลกอริทึ่มแบบไม่สมมาตรคืออัลกอริทึ่มที่สามารถเข้ารหัสและถอดรหัสข้อมูล

อัลกอริทึ่มแบบไม่对称คืออะไร

การใช้งานของอัลกอริทึ่มแบบไม่เช่นเส้นตรงในบล็อกเชน

วิธีการทำงานของอัลกอริทึ่มสำหรับกุญแจไม่สมมาตรของบิตคอยน์

อัลกอริทึ่มแบบไม่对称ที่พบบ่อย

สรุป


อัลกอริทึ่มแบบสมมติ-กุญแจเชิงอนันต์คืออะไร


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






อัลกอริทึมที่เกี่ยวข้องคืออัลกอริธึมแบบสมมาตรคีย์ซึ่งใช้คีย์การเข้ารหัสสําหรับการเข้ารหัสข้อความธรรมดาและการถอดรหัสข้อความเข้ารหัส ตัวอย่างเช่น การใช้ AES (Advanced Encryption Standard) Symmetric-key Algorithms เพื่อเข้ารหัสคําว่า "Gate.io" สามารถรับสตริงตัวอักษร U2FsdGVkX18fop1iGBPzNdnADZ57AJxOn+wEBSIUAG4 ในทางกลับกัน ciphertext ยังสามารถถอดรหัสโดย AES Symmetric-key Algorithms เพื่อรับ Gate.io สตริงตัวอักษรดั้งเดิม ในช่วงแรก ๆ อัลกอริธึมสมมาตรคีย์ถูกใช้เพื่อส่งโทรเลขที่เข้ารหัส กระบวนการถอดรหัสนี้ง่ายและรวดเร็ว แต่หลังจากวิธีการเข้ารหัสรั่วไหลมันเป็นเรื่องง่ายที่จะถอดรหัสข้อมูลที่สกัดกั้นและความปลอดภัยไม่สูง


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


1. ทั้ง Jim และ Bob ต้องสร้างคีย์สาธารณะและคีย์ส่วนตัวคู่;

2. คีย์สาธารณะของจิมถูกส่งไปยังบ็อบ และคีย์ส่วนตัวถูกบันทึกโดยจิม; คีย์สาธารณะของบ็อบถูกส่งไปยังจิม และคีย์ส่วนตัวถูกบันทึกโดยบ็อบ;

3. เมื่อ Jim ส่งข้อความถึง Bob เขาจะเข้ารหัสข้อความด้วยกุญแจสาธารณะของ Bob;

4. หลังจากที่บ็อบได้รับข้อความ เขาสามารถถอดรหัสด้วยการใช้กุญแจส่วนตัวของเขา


การประยุกต์ใช้ของอัลกอริทึ่มแบบไม่对称ในบล็อกเชน


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


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

  2. ลายเซ็นดิจิทัล: ให้ความแน่ใจในการกำหนดสิทธิของข้อมูล โดยเพื่อแสดงว่าข้อมูลไม่ได้ถูกปลอมแปลงและจริงจังถูกส่งโดยเจ้าของข้อมูล ลายเซ็นดิจิทัลถูกแนบไว้ด้านหลังของข้อมูลต้นฉบับ เหมือนลายเซ็นด้วยมือ มีความเฉพาะเจาะจงและกระชับ

  3. การพิสูจน์ตัว: ลูกค้าเข้ารหัสข้อมูลการเข้าสู่ระบบด้วยกุญแจส่วนตัวและส่งให้เซิร์ฟเวอร์ ซึ่งถอดรหัสและพิสูจน์ตัวของข้อมูลการเข้าสู่ระบบด้วยกุญแจสาธารณะของลูกค้าหลังจากได้รับข้อมูล

  4. ใบรับรองดิจิทัล: รับรองความถูกต้องของคีย์สาธารณะ ในการที่ผู้ส่งจะตรวจสอบว่าคีย์สาธารณะที่ได้จากอินเทอร์เน็ตเป็นจริง จะมีองค์กรของฝ่ายที่สาม CA (Certificate Authority) ถูกสร้างขึ้นเพื่อให้การรับรองความถูกต้องของคีย์สาธารณะ ขณะที่เผยแพร่ข้อมูล เจ้าของข้อความต้นฉบับของข้อมูลจำเป็นต้องนำลายเซ็นดิจิทัลและใบรับรองดิจิทัลของตนเองมาด้วย ซึ่งสามารถให้การรับรองว่าข้อมูลไม่ได้ถูกแก้ไข


วิธีการทำงานของอัลกอริทึ่มแบบสมมติ-คีย์ของบิตคอยน์


อัลกอริทึ่มของกุญแจที่ไม่สมมาตรที่ใช้ในบล็อกเชน Bitcoin คือ อัลกอริทึ่มเข่ารหัสโดยใช้เส้นโค้งเอลลิปติก พวกเขายังเป็นอัลกอริทึ่มของกุญแจที่ไม่สมมาตรที่ใช้กันอยู่ในบล็อกเชนในปัจจุบัน ที่เรียกว่า ECDSA ซึ่ง EC หมายถึง "เส้นโค้งเอลลิปติก" และ DSA หมายถึง "อัลกอริทึ่มลายเซ็นต์ดิจิตอล"


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



ตัวอย่างเช่น จะสร้างเลขจำนวนเฉพาะสองตัว (152, 891) โดยสุ่มเพื่อสร้าง "คีย์ส่วนตัว" 6 หลัก 152891 และกฎสำหรับการสร้าง "คีย์สาธารณะ" คือ การคูณเลขจำนวนเฉพาะสองตัวนี้ (152x891=135432) ในขณะนี้ ผู้คนบนเครือข่ายสามารถรับ "คีย์สาธารณะ" นี้ได้ เมื่อคุณต้องการให้ข้อมูลนี้ถูกแก้ไขโดยคุณเท่านั้น คุณสามารถเพิ่มบันทึกไปยังข้อมูล "‘คีย์สาธารณะ’ 135432": เพียงแค่เลขจำนวนเฉพาะด้านซ้ายสามหลักคูณกับเลขจำนวนเฉพาะด้านขวาเท่ากับคีย์สาธารณะและสามารถแก้ไขได้


หากฮากเกอร์บนเครือข่ายต้องการแก้ไขข้อมูลโดยไม่ได้รับอนุญาต แม้ว่าเขารู้ว่า "คีย์ส่วนตัว" สร้าง "คีย์สาธารณะ" โดยการคูณสองจำนวนเฉพาะ แต่เขาไม่รู้ว่าจำนวนเฉพาะสองจำนวนคืออะไร ดังนั้นเพื่อหา "คีย์ส่วนตัว" ของ "คีย์สาธารณะ" 135423 เขาสามารถลองหาทีละตัวได้แค่ทางตรง: 001 x 02, …, 998 x 999 ฯลฯ กระบวนการนี้ยากเมื่อจำนวนเฉพาะมีขนาดใหญ่


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



เชิงโค้งวงแหวน


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


อัลกอริทึ่มอัสซิเมตริกคีย์ที่พบบ่อย


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


อัลกอริทึ่ม RSA (Rivest Shamir Adleman): เนื่องจากมันยากต่อการปั้นรหัส จึงได้รับการใช้งานอย่างแพร่หลายในด้านการเข้ารหัสดิจิทัลและลายเซ็นดิจิทัล ในอัลกอริทึ่ม RSA ทั้งกุญแจสาธารณะและกุญแจส่วนตัวสามารถใช้ในการเข้ารหัสข้อมูล หากใช้กุญแจสาธารณะในการเข้ารหัส (เพื่อป้องกันการถูกขโมยข้อมูล) ก็จะใช้กุญแจส่วนตัวในการถอดรหัส หากใช้กุญแจส่วนตัวในการเข้ารหัส (เพื่อป้องกันการถูกแก้ไขข้อมูล) ก็จะใช้กุญแจสาธารณะในการถอดรหัส (ลายเซ็นดิจิทัล) ทฤษฎีของมันคือ ยิ่งจำนวนบิตของกุญแจในอัลกอริทึ่ม RSA ยิ่งยากต่อการปั้นรหัส (ยกเว้นคอมพิวเตอร์ควอนตัม) ดังนั้น กุญแจที่ใช้กันอย่างทั่วไปในอุตสาหกรรมต้องมีไม่น้อยกว่า 2048 บิต

DSA อัลกอริทึ่มลายเซ็นจำลองดิจิทัล: อัลกอริทึ่มนี้ไม่สามารถเข้ารหัสหรือถอดรหัสข้อมูลได้ และใช้สำหรับเซ็นและรับรองข้อมูลที่เข้ารหัส ความปลอดภัยสูงเท่ากับอัลกอริทึ่ม RSA แต่ความเร็วในการประมวลผลเร็วกว่า

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


สรุป


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


ผู้เขียน: Rena
นักแปล: Joy
ผู้ตรวจทาน: Hugo, Jiji, Piper
* ข้อมูลนี้ไม่ได้มีวัตถุประสงค์เป็นคำแนะนำทางการเงินหรือคำแนะนำอื่นใดที่ Gate.io เสนอหรือรับรอง
* บทความนี้ไม่สามารถทำซ้ำ ส่งต่อ หรือคัดลอกโดยไม่อ้างอิงถึง Gate.io การฝ่าฝืนเป็นการละเมิดพระราชบัญญัติลิขสิทธิ์และอาจถูกดำเนินการทางกฎหมาย
เริ่มตอนนี้
สมัครและรับรางวัล
$100