วิธีกำหนดจำนวนการทดสอบที่ดำเนินการโดย CPU ต่อวินาที?


0

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

เป็นตัวอย่างในการบรรยายฉันมี:

  • สมมติหนึ่งล้านการทดสอบต่อวินาที (เร็ว)
  • จากนั้น DES มีหมายเลข 2 ^ 56 จำนวน

ฉันต้องการเปรียบเทียบพีซีที่ทันสมัยและระบบที่ซับซ้อน (โปรเซสเซอร์หลายตัว - เช่น 90 พันล้านการทดสอบ / คีย์ต่อวินาที)

เป็นไปได้อย่างไรในการแปลงหน่วยประมวลผลพูด 4 คอร์ 3.5 GHz คร่าวๆเป็นจำนวนการดำเนินการต่อวินาที

และหนึ่งล้านการทดสอบต่อวินาทีเทียบเท่ากับ 800 Mhz / 3k mhz?

ขออภัยหากเสียงเป็นใบ้ แต่ดีกว่าที่จะปรากฏโง่มากกว่าผิด

คำตอบ:


3

ฉันสงสัยว่าคุณตีความคำถามของอาจารย์ไม่ถูกต้อง

เมื่อ Q เขียน“ การสมมติหนึ่งล้าน [sic] ของการทดสอบต่อวินาที” นั่นหมายความว่า“ สมมติว่ามันสามารถทำการทดสอบหนึ่งล้านคีย์ต่อวินาที” การใช้งานจริงนั้นไม่สำคัญ

ซึ่งทำให้คำตอบค่อนข้างสำคัญ:
2 56จำนวนปุ่ม / 1,000,000 ปุ่มต่อวินาที

ต้องการ 72057594037 วินาทีสำหรับพื้นที่คีย์ทั้งหมด
(ซึ่งเท่ากับ 833999 วันหรือ 2283 ปี)

ซึ่งสำหรับพื้นที่คีย์ทั้งหมด โดยเฉลี่ยแล้วคุณจะต้องตรวจสอบเพียงครึ่งเดียวซึ่งจะทำให้คำตอบ 1141 ปี

สำหรับคะแนนโบนัส:

  1. นั่นคือสมมติว่าความเร็วของพีซีจะไม่เพิ่มขึ้นในช่วง 1141 ปีที่ผ่านมา
  2. นั่นคือด้วยระบบเดียวที่ทำงานกับปัญหา (ดู dnetc และคล้ายคลึงกันเพื่อดูว่าคุณสามารถแก้ไขปัญหานี้ได้อย่างไร)
  3. และถือว่าสถาปัตยกรรมเดียวกัน พีซีแบบโง่มาตรฐานทำงานได้ดีโดยทั่วไปไม่ทำอะไรเลยนอกจากชุดปฏิบัติการพิเศษที่มีความเชี่ยวชาญเป็นเวลาพันปี
    เห็นได้ชัดว่าไม่ใช่วิธีที่จะไปสำหรับงานเหล่านี้
    ดีใจที่ได้ดู: การบันทึก CCC ขนาดใหญ่


ฉันต้องการเปรียบเทียบพีซีที่ทันสมัยและระบบที่ซับซ้อน (โปรเซสเซอร์หลายตัว - เช่น 90 พันล้านการทดสอบ / คีย์ต่อวินาที)

วิธีที่ง่ายที่สุดในการใช้งานจริง (ไม่ใช่ทางทฤษฎี) ในการทำสิ่งนี้บนพีซีที่ทันสมัยคือการวิ่งข้ามพื้นที่สำคัญบางส่วน วัดจำนวนคีย์ที่เช็คอินจริงและชั่วโมง (หรือช่วงเวลาใดนานพอที่จะเฉลี่ยสิ่งออก)

นี่ไม่ใช่วิธีแก้ปัญหาทางวิทยาศาสตร์ แต่จะให้คำตอบที่ดีกับคุณ

เป็นไปได้อย่างไรในการแปลงหน่วยประมวลผลพูด 4 คอร์ 3.5 GHz คร่าวๆเป็นจำนวนการดำเนินการต่อวินาที

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

และหนึ่งล้านการทดสอบต่อวินาทีเทียบเท่ากับ 800 MHz / 3k MHz?

ไม่ตั้งแต่ MHz ไม่ได้บอกคุณว่า CPU เร็วแค่ไหน

การเปรียบเทียบที่ไม่ใช่ทางเทคนิคที่ใกล้เคียงที่สุดที่ฉันมีคือการเปรียบเทียบกับเครื่องยนต์รอบต่อนาทีหรือความเร็วรอบขาของคุณหมุนเมื่อขี่จักรยาน โดยไม่ต้องระบุว่าคุณอยู่ในเกียร์ใดหรือใช้เครื่องยนต์ 10CC หรือเครื่องยนต์ขนาดใหญ่ 10 ลิตร


น่าสนใจมากที่จะอ่านด้วย :-)
Aubergine
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.