Blockchain - การเข้ารหัสคีย์สาธารณะ

Public Key Cryptography หรือเรียกสั้น ๆ ว่า PKI เรียกอีกอย่างว่าการเข้ารหัสแบบอสมมาตร ใช้คีย์สองคู่ - สาธารณะและส่วนตัว คีย์คือเลขฐานสองแบบยาว คีย์สาธารณะเผยแพร่ไปทั่วโลกและเผยแพร่สู่สาธารณะอย่างแท้จริงตามชื่อของมัน คีย์ส่วนตัวจะต้องเก็บไว้เป็นส่วนตัวอย่างเคร่งครัดและไม่ควรทำหาย

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

PKI มีสองฟังก์ชัน - การพิสูจน์ตัวตนและความเป็นส่วนตัวของข้อความผ่านกลไกการเข้ารหัส / ถอดรหัส ตอนนี้ฉันจะอธิบายทั้งสองฟังก์ชั่นเหล่านี้ -

การรับรองความถูกต้อง

เมื่อทั้งสองฝ่ายแลกเปลี่ยนข้อความสิ่งสำคัญคือต้องสร้างความไว้วางใจระหว่างผู้ส่งและผู้รับ โดยเฉพาะอย่างยิ่งผู้รับต้องเชื่อถือแหล่งที่มาของข้อความ ไปที่สถานการณ์ก่อนหน้านี้ (แสดงในรูปที่ 1) ที่บ็อบส่งเงินให้ลิซ่าเพื่อซื้อสินค้าบางอย่างจากเธอให้เราดูว่า PKI สร้างความไว้วางใจระหว่างบ็อบและลิซ่าได้อย่างไร ดูภาพด้านล่าง -

ในตอนแรกหาก Bob ต้องการส่งเงินให้ Lisa เขาจะต้องสร้างคีย์ส่วนตัว / คีย์สาธารณะของตัวเอง โปรดทราบว่าคีย์ทั้งสองจะจับคู่กันเสมอและคุณไม่สามารถผสมคีย์ส่วนตัวและคีย์สาธารณะของแต่ละบุคคลหรืออินสแตนซ์ที่ต่างกันได้

ตอนนี้บ็อบบอกว่าเขาส่งเงิน 10 เหรียญให้ลิซ่า ดังนั้นเขาจึงสร้างข้อความ (ข้อความธรรมดา) ที่มีคีย์สาธารณะของบ็อบ (ผู้ส่ง) คีย์สาธารณะ (ผู้รับ) ของลิซ่าและจำนวนเงิน ($ 10)

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

ความเป็นส่วนตัวของข้อความ

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

ลิซ่าสร้างข้อความเช่น "นี่คือลิงก์ไปยัง ebook ของฉันที่คุณร้องขอ" ลงนามด้วยคีย์สาธารณะของ Bob ที่เธอได้รับในข้อความคำขอของ Bob และเข้ารหัสข้อความโดยใช้คีย์ลับที่แชร์ระหว่างสอง ในระหว่างการจับมือ HTTPS

ตอนนี้ลิซ่ามั่นใจว่ามีเพียงบ็อบเท่านั้นที่สามารถถอดรหัสข้อความโดยใช้คีย์ส่วนตัวที่บ็อบถืออยู่คนเดียว นอกจากนี้ใครบางคนที่ดักฟังข้อความจะไม่สามารถกู้คืนเนื้อหาได้เนื่องจากเนื้อหาถูกเข้ารหัสโดยคีย์ลับที่บ็อบและอลิซถือไว้เท่านั้น สิ่งนี้เป็นการรับประกันกับ Lisa ว่าการเข้าถึง ebook ของเธอนั้นมอบให้กับ Bob เท่านั้น

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

เพื่อความรู้ของคุณ - อัลกอริทึม PKI ที่ได้รับความนิยมมากที่สุดคือRSAและECDSA Bitcoin ใช้อันหลัง