ฉันต้องการที่จะกำหนดความปลอดภัยของอัลกอริทึม BIP-39 ได้ดีขึ้น ซึ่งฉันจะพิจารณาขั้นตอนการให้ "วลีเริ่มต้น" แก่ฉัน
จินตนาการถึงสถานการณ์ที่แฮ็กเกอร์พยายามเข้าถึงกระเป๋าเงินดิจิทัลที่มีอยู่โดยใช้วลีเริ่มต้นเป็นพื้นฐานในการผ่านอัลกอริทึม PK และรับแฮชของการเข้าถึงกระเป๋าเงินของเป้าหมาย ซึ่งเป้าหมายอาจเป็นผู้ใช้รายใดก็ได้ในเครือข่าย อย่างสมดุล (นี่คือสิ่งที่แฮ็กเกอร์ต้องการเท่านั้น เพราะผมเห็นหลายคนคำนวณเทียบกับเป้าหมาย โดยลืมไปว่าเป้าหมายสามารถมีได้มากกว่าหนึ่ง และใช่ อย่างน้อยก็หลายพันคน)
ดังนั้น เมื่อลองคิดถึงมุมมองของผู้โจมตี เราจะสังเกตเห็นว่า BIP-39 ของ Bitcoin หรือ Ethereum ทั้งคู่ใช้พจนานุกรม 2,048 คำ (ชุดค่าผสมที่เป็นไปได้ 2,048 ¹²) ตามอัลกอริทึมที่ได้รับอินพุต 128 บิต (สมมติว่า เฉพาะวิธีที่ง่ายที่สุดในการรับสตริงของคำที่ถูกต้อง 12 คำ) สร้างแฮช [... อีกสองสามขั้นตอน] จากนั้นส่งคืนดัชนีของวลีเริ่มต้นที่ถูกต้อง แต่ส่วนใหญ่ไม่เกี่ยวข้องกับกระเป๋าเงินใด ๆ ที่มียอดคงเหลือ แต่ในกรณีนี้ ฉันนึกออกว่าต้องใช้กำลังดุร้ายกับพจนานุกรมเพื่อเข้าถึงกระเป๋าเงินของใครบางคนอย่างกะทันหัน แต่มันใช้ไม่ได้จริงหรือ?
ฉันจินตนาการถึงสมการนี้:
T = วินาทีโดยประมาณในการเข้าถึงการ์ดใบแรกของผู้ใช้ --> สิ่งที่เรา
อยากทราบจริงๆ
x = จำนวนผู้ใช้ blockchain ที่มีเป้าหมายเป็น cryptocurrency
a = ความแตกต่างโดยประมาณระหว่างชุดค่าผสม (2048^12) และถูกต้อง
ชุดค่าผสมที่สร้างโดย BIP-39
b = ความพยายามต่อวินาทีด้วยวลีเริ่มต้นที่สร้างจาก BIP-39 (by
แทรกหลายบิตตามลำดับทีละ 32 รวมเป็น 128 สำหรับ
ฟังก์ชัน BIP-39 จดจำชุดค่าผสมที่เป็นไปได้ 2^128 ชุด)
T = ((2048^12) - x - ก) / ข
ฉันต้องการทราบว่าสมการนี้เป็นไปตามตรรกะในการคำนวณความมีชีวิตของการโจมตีของความซับซ้อนดังกล่าวหรือไม่
ฉันไม่ใช่ผู้เชี่ยวชาญด้านคณิตศาสตร์ คิดว่าปัญหาคือคณิตศาสตร์เป็นหลัก แต่ฉันอยากได้ข้อมูลเชิงลึกเกี่ยวกับการคำนวณที่ถูกต้องและตัวอย่างบางส่วนของเครื่องเฉพาะ ใช้เวลานานเท่าใดในการเข้าถึงกระเป๋าเงินของผู้ใช้รายใดรายหนึ่งจากทั้งหมด เครือข่ายหน้าฮาร์ดแวร์ด้วย ก ความจุของความพยายามต่อวินาที
ขอบคุณ.