40 ความเป็นไปได้ของจุดอ่อนทางการเข้ารหัส

แปลโดย : Claude 3 Opus (Pro)

40

ความเป็นไปได้ของจุดอ่อนทางการเข้ารหัส

มีหลายกระทู้ที่ครอบคลุมประเด็นต่าง ๆ ซึ่ง Satoshi เสนอวิธีแก้ไขเดียวกัน สองกระทู้ข้างล่างเกี่ยวกับ SHA-256 ซึ่งเป็นฟังก์ชันแฮชเข้ารหัสที่ใช้สร้าง "message digest" ของบล็อกที่ใช้เป็นบัญชีแยกประเภทสาธารณะ โดยแต่ละบล็อกมีชุดของธุรกรรม bitcoin SHA-256 ถูกใช้โดยอุตสาหกรรมธนาคารและสถาบันการเงินอื่น ๆ หากวันหนึ่งพบจุดอ่อนในวิธีการเข้ารหัสนี้ ก็จะส่งผลกระทบต่อทั้งอุตสาหกรรมการเงิน ซึ่งจะต้องเปลี่ยนไปใช้วิธีใหม่ Satoshi แนะนำนโยบายเดียวกันสำหรับ Bitcoin

กระทู้ที่สองเป็นเรื่องการค้นพบจุดอ่อนสำคัญทางการเข้ารหัส ในตอนแรก Satoshi อ้างถึงโพสต์ก่อนหน้าของเขาเกี่ยวกับการชนกันของ SHA-256 แต่ผู้ใช้ llama ระบุกรณีที่พบจุดอ่อนสำคัญในโค้ดการเข้ารหัส elliptic curve ที่ใช้สำหรับ private key ของ Bitcoin

Re: จัดการกับการชนกันของ SHA-256

Satoshi Nakamoto 14 มิถุนายน 2010, 08:39:50 น.

อ้างอิงจาก: lachesis เมื่อ 14 มิถุนายน 2010, 01:01:11 น.

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

SHA-256 แข็งแกร่งมาก มันไม่เหมือนกับการก้าวเปลี่ยนจาก MD5 เป็น SHA1 มันสามารถอยู่ได้หลายทศวรรษ เว้นแต่จะมีการโจมตีที่ก้าวหน้าอย่างมหาศาล

ถ้า SHA-256 พังไปอย่างสิ้นเชิง ผมคิดว่าเราน่าจะตกลงกันได้ว่าบล็อกเชนที่ซื่อสัตย์ก่อนที่ปัญหาจะเริ่มต้นคืออะไร ล็อคส่วนนั้นเอาไว้ และดำเนินต่อจากจุดนั้นด้วยฟังก์ชันแฮชใหม่

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

Re: ความวุ่นวายครั้งใหญ่

Satoshi Nakamoto 10 กรกฎาคม 2010, 16:26:01 น.

อ้างอิงจาก: llama เมื่อ 1 กรกฎาคม 2010, 22:21:47 น.

Satoshi นั่นจะเป็นวิธีแก้ปัญหาได้จริง ๆ ถ้า SHA พัง (แน่นอนว่าเป็นวิกฤตที่น่าจะเกิดขึ้นมากกว่า) เพราะเรายังคงสามารถระบุเจ้าของเงินที่ถูกต้องจากลายเซ็นของพวกเขาได้ (private key ของพวกเขาจะยังคงปลอดภัย)

อย่างไรก็ตาม ถ้ามีอะไรเกิดขึ้นและลายเซ็นถูกบุกรุก (บางทีการแยกตัวประกอบจำนวนเต็มถูกแก้ไขแล้ว คอมพิวเตอร์ควอนตัม?) แม้แต่การตกลงเห็นพ้องเรื่องบล็อกล่าสุดที่ถูกต้องก็จะไร้ค่า

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

Re: Hash() function not secure

Satoshi Nakamoto July 16, 2010, 04:13:53 PM

SHA256 is not like the step from 128 bit to 160 bit.

To use an analogy, it’s more like the step from 32-bit to 64-bit address space. We quickly ran out of address space with 16-bit computers, we ran out of address space with 32-bit computers at4GB, that doesn’t mean we’re going to run out again with 64-bit anytime soon.

SHA256 is not going to be broken by Moore’s law computational improvements in our lifetimes. If it’s going to get broken, it’ll be by some breakthrough cracking method. An attack that could so thoroughly vanquish SHA256 to bring it within computationally tractable range has a good chance of clobbering SHA512 too.

If we see a weakness in SHA256 coming gradually, we can transition to a new hash function after a certain block number. Everyone would have to upgrade their software by that block number. The new software would keep a new hash of all the old blocks to make sure they’re not replaced with another block with the same old hash.

Last updated