อัลกอริทึ่มแบบไม่สมมาตรอยู่ในสาขาของการเข้ารหัสลับ พวกเขาเป็นอัลกอริทึ่มที่สามารถเข้ารหัสและถอดรหัสข้อมูล การดำเนินการของพวกเขาต้องใช้กุญแจสาธารณะและกุญแจส่วนตัว กุญแจสาธารณะอาจเป็นทราบโดยผู้อื่น ส่วนกุญแจส่วนตัวต้องไม่รู้จักโดยใครนอกจากเจ้าของ กุญแจสองตัวสามารถเข้ารหัสและถอดรหัสกัน โดยเนื่องจากการเข้ารหัสและถอดรหัสใช้กุญแจสองตัวที่แตกต่างกัน จึงทำให้เรียกว่า อัลกอริทึ่มแบบไม่สมมาตร
อัลกอริทึมที่เกี่ยวข้องคืออัลกอริธึมแบบสมมาตรคีย์ซึ่งใช้คีย์การเข้ารหัสสําหรับการเข้ารหัสข้อความธรรมดาและการถอดรหัสข้อความเข้ารหัส ตัวอย่างเช่น การใช้ 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. หลังจากที่บ็อบได้รับข้อความ เขาสามารถถอดรหัสด้วยการใช้กุญแจส่วนตัวของเขา
อัลกอริทึ่มแบบไม่对称เป็นอัลกอริทึ่มที่ใช้ในบล็อกเชนเป็นหลัก สถานการณ์การใช้งานหลักมีการเข้ารหัสข้อมูล ลายเซ็นดิจิตอล การตรวจสอบการเข้าสู่ระบบและใบรับรองดิจิตอล ค่าความสำคัญของมันในบล็อกเชนคือคีย์สาธารณะและคีย์ส่วนตัวเพื่อระบุตัวตนของผู้ส่งและผู้รับ
การเข้ารหัสข้อมูล: ให้ความมั่นคงของข้อมูล ผู้ส่งมีกุญแจสาธารณะและไม่สำคัญว่าผู้อื่นทราบได้ด้วย เพราะข้อมูลที่ส่งโดยผู้อื่นไม่มีผลต่อผู้รับ กุญแจที่ถือโดยผู้รับคือเป็นกุญแจส่วนตัวและผู้รับเท่านั้นที่สามารถปลดล็อคข้อมูลที่ถูกเข้ารหัส การเข้ารหัสเทคโนโลยีของธุรกรรมบิตคอยน์เป็นส่วนนี้
ลายเซ็นดิจิทัล: ให้ความแน่ใจในการกำหนดสิทธิของข้อมูล โดยเพื่อแสดงว่าข้อมูลไม่ได้ถูกปลอมแปลงและจริงจังถูกส่งโดยเจ้าของข้อมูล ลายเซ็นดิจิทัลถูกแนบไว้ด้านหลังของข้อมูลต้นฉบับ เหมือนลายเซ็นด้วยมือ มีความเฉพาะเจาะจงและกระชับ
การพิสูจน์ตัว: ลูกค้าเข้ารหัสข้อมูลการเข้าสู่ระบบด้วยกุญแจส่วนตัวและส่งให้เซิร์ฟเวอร์ ซึ่งถอดรหัสและพิสูจน์ตัวของข้อมูลการเข้าสู่ระบบด้วยกุญแจสาธารณะของลูกค้าหลังจากได้รับข้อมูล
ใบรับรองดิจิทัล: รับรองความถูกต้องของคีย์สาธารณะ ในการที่ผู้ส่งจะตรวจสอบว่าคีย์สาธารณะที่ได้จากอินเทอร์เน็ตเป็นจริง จะมีองค์กรของฝ่ายที่สาม 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 มีความปลอดภัยสูงสุด
การเข้ารหัสเป็นหนึ่งในเทคโนโลยีพื้นฐานที่สนับสนุนการทำงานของระบบบล็อกเชน มันกลายเป็นส่วนสำคัญที่ไม่อาจหายไปของความปลอดภัยของคอมพิวเตอร์สมัครเล่นและเป็นองค์ประกอบสำคัญของระบบนิเวศคริปโทคอร์เรนซีที่กำลังเติบโตอย่างรวดเร็ว ด้วยการพัฒนาการเข้ารหัสอย่างต่อเนื่อง อัลกอริทึ่มสมมติ-คีย์และอัลกอริทึ่มไม่สมมติ-คีย์จะเล่นบทบาทที่สำคัญมากขึ้นในการต่อต้านความเสี่ยงต่าง ๆ ในความปลอดภัยของคอมพิวเตอร์ในอนาคตและการตรวจสอบความปลอดภัยของคริปโทคอร์เรนซี
Partilhar
Conteúdos
อัลกอริทึ่มแบบไม่สมมาตรอยู่ในสาขาของการเข้ารหัสลับ พวกเขาเป็นอัลกอริทึ่มที่สามารถเข้ารหัสและถอดรหัสข้อมูล การดำเนินการของพวกเขาต้องใช้กุญแจสาธารณะและกุญแจส่วนตัว กุญแจสาธารณะอาจเป็นทราบโดยผู้อื่น ส่วนกุญแจส่วนตัวต้องไม่รู้จักโดยใครนอกจากเจ้าของ กุญแจสองตัวสามารถเข้ารหัสและถอดรหัสกัน โดยเนื่องจากการเข้ารหัสและถอดรหัสใช้กุญแจสองตัวที่แตกต่างกัน จึงทำให้เรียกว่า อัลกอริทึ่มแบบไม่สมมาตร
อัลกอริทึมที่เกี่ยวข้องคืออัลกอริธึมแบบสมมาตรคีย์ซึ่งใช้คีย์การเข้ารหัสสําหรับการเข้ารหัสข้อความธรรมดาและการถอดรหัสข้อความเข้ารหัส ตัวอย่างเช่น การใช้ 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. หลังจากที่บ็อบได้รับข้อความ เขาสามารถถอดรหัสด้วยการใช้กุญแจส่วนตัวของเขา
อัลกอริทึ่มแบบไม่对称เป็นอัลกอริทึ่มที่ใช้ในบล็อกเชนเป็นหลัก สถานการณ์การใช้งานหลักมีการเข้ารหัสข้อมูล ลายเซ็นดิจิตอล การตรวจสอบการเข้าสู่ระบบและใบรับรองดิจิตอล ค่าความสำคัญของมันในบล็อกเชนคือคีย์สาธารณะและคีย์ส่วนตัวเพื่อระบุตัวตนของผู้ส่งและผู้รับ
การเข้ารหัสข้อมูล: ให้ความมั่นคงของข้อมูล ผู้ส่งมีกุญแจสาธารณะและไม่สำคัญว่าผู้อื่นทราบได้ด้วย เพราะข้อมูลที่ส่งโดยผู้อื่นไม่มีผลต่อผู้รับ กุญแจที่ถือโดยผู้รับคือเป็นกุญแจส่วนตัวและผู้รับเท่านั้นที่สามารถปลดล็อคข้อมูลที่ถูกเข้ารหัส การเข้ารหัสเทคโนโลยีของธุรกรรมบิตคอยน์เป็นส่วนนี้
ลายเซ็นดิจิทัล: ให้ความแน่ใจในการกำหนดสิทธิของข้อมูล โดยเพื่อแสดงว่าข้อมูลไม่ได้ถูกปลอมแปลงและจริงจังถูกส่งโดยเจ้าของข้อมูล ลายเซ็นดิจิทัลถูกแนบไว้ด้านหลังของข้อมูลต้นฉบับ เหมือนลายเซ็นด้วยมือ มีความเฉพาะเจาะจงและกระชับ
การพิสูจน์ตัว: ลูกค้าเข้ารหัสข้อมูลการเข้าสู่ระบบด้วยกุญแจส่วนตัวและส่งให้เซิร์ฟเวอร์ ซึ่งถอดรหัสและพิสูจน์ตัวของข้อมูลการเข้าสู่ระบบด้วยกุญแจสาธารณะของลูกค้าหลังจากได้รับข้อมูล
ใบรับรองดิจิทัล: รับรองความถูกต้องของคีย์สาธารณะ ในการที่ผู้ส่งจะตรวจสอบว่าคีย์สาธารณะที่ได้จากอินเทอร์เน็ตเป็นจริง จะมีองค์กรของฝ่ายที่สาม 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 มีความปลอดภัยสูงสุด
การเข้ารหัสเป็นหนึ่งในเทคโนโลยีพื้นฐานที่สนับสนุนการทำงานของระบบบล็อกเชน มันกลายเป็นส่วนสำคัญที่ไม่อาจหายไปของความปลอดภัยของคอมพิวเตอร์สมัครเล่นและเป็นองค์ประกอบสำคัญของระบบนิเวศคริปโทคอร์เรนซีที่กำลังเติบโตอย่างรวดเร็ว ด้วยการพัฒนาการเข้ารหัสอย่างต่อเนื่อง อัลกอริทึ่มสมมติ-คีย์และอัลกอริทึ่มไม่สมมติ-คีย์จะเล่นบทบาทที่สำคัญมากขึ้นในการต่อต้านความเสี่ยงต่าง ๆ ในความปลอดภัยของคอมพิวเตอร์ในอนาคตและการตรวจสอบความปลอดภัยของคริปโทคอร์เรนซี