เครื่องมือสำหรับการวัดคุณภาพเอนโทรปี


26

มีเครื่องมือสำหรับระบบ Linux ที่สามารถวัด "คุณภาพ" ของเอนโทรปีในระบบได้หรือไม่?

ฉันรู้วิธีนับเอนโทรปี:

cat /proc/sys/kernel/random/entropy_avail

และฉันรู้ว่าบางระบบมีแหล่งเอนโทรปี "ดี" (คีย์เอนโทรปีของฮาร์ดแวร์) และบางระบบไม่มี (เครื่องเสมือน)

แต่มีเครื่องมือที่สามารถให้ตัวชี้วัดเกี่ยวกับ "คุณภาพ" ของเอนโทรปีในระบบได้หรือไม่?


ฉันสนใจทำไมคุณต้องการคำนวณเอนโทรปีของระบบ
whoami

คำตอบ:


26

http://www.fourmilab.ch/random/ใช้ได้กับฉัน

sudo apt-get install ent
head -c 1M /dev/urandom > /tmp/out
ent /tmp/out

4
เครื่องมือสุดเจ๋ง คุณสามารถตรวจสอบอุปกรณ์ด้วยคำสั่งเดียวด้วยdd if=/dev/urandom bs=1M count=1 | ent
l0b0

7
โปรดทราบว่าการเรียกใช้ตัวประมาณค่าเอนโทรปี/dev/urandomจะไม่มีประโยชน์อย่างสมบูรณ์ /dev/urandomเป็นผลลัพธ์ของ PRNG คุณภาพ crypto และตัวประมาณค่าเอนโทรปีจะให้คะแนนเต็มกับ PRNG แบบกึ่งดี คุณต้องเรียกใช้ตัวประมาณค่าเอนโทรปีในแหล่งเอนโทรปีที่ไม่มีเงื่อนไขซึ่งลีนุกซ์ไม่ได้เปิดเผยนอกเคอร์เนล Cc @DustinKirkland
Gilles 'SO- หยุดความชั่วร้าย'

@Gilles ไม่มีทาง?
เฟลิเป้

@FelipeMicaroniLalli ไม่มีทางทำอะไร ประมาณค่าเอนโทรปีจากผลลัพธ์ของ/dev/urandom? ใช่. ผลลัพธ์ของ/dev/urandom(หรือ/dev/randomปัญหาเดียวกัน) คือผลลัพธ์ของ PRNG คุณภาพ crypto และนั่นจะมีคะแนนสูงสุดสำหรับการประมาณค่าเอนโทรปี หากคุณต้องการประเมินเอนโทรปีคุณจะต้องขุดลงในเคอร์เนลหาว่ามันใช้สำหรับแหล่งข้อมูลเอนโทรปีและวัดเป็นเวลานานเท่าใด
Gilles 'หยุดความชั่วร้าย'

1
@FelipeMicaroniLalli ไม่แหล่งข้อมูลเอนโทรปีไม่ส่งผลกระทบต่อ PRNG ในวิธีที่สามารถวัดได้ นี่เป็นเรื่องนอกเรื่องของUnix & Linuxแต่ฉันรู้ว่าฉันเคยเห็นมันมาแล้วในการเข้ารหัสลองค้นหาแท็ก [entropy] และ [randomness] ที่นั่น
Gilles 'หยุดความชั่วร้าย'

6

"ent" เป็นเครื่องมือบรรทัดคำสั่งที่ยอดเยี่ยมสำหรับการประมาณค่าเอนโทรปีที่ง่ายและรวดเร็ว

ฉันใช้มันเพื่อช่วยเรียนรู้ว่าเครื่องกำเนิดไฟฟ้าเชิงเส้นเชิงเส้นทำงานอย่างไร แต่ถ้าโดย "การวัดเอนโทรปี" คุณหมายถึง "การวัดแบบแผน" ... ปัญหาจะซับซ้อนมากขึ้น

สำหรับการทดสอบแบบสุ่มที่มีประสิทธิภาพมากขึ้นคุณควรเช็คเอาต์ชุดทดสอบ dieharder: http://www.phy.duke.edu/~rgb/General/dieharder.php

มันไม่ได้ใช้งานง่ายเหมือน "ent" แต่มันก็เข้มงวดกว่า

สำหรับการศึกษาเชิงลึกเพิ่มเติม "Cipher's by Ritter" ให้การเชื่อมโยงที่เลือกมากมาย:

http://www.ciphersbyritter.com/NETLINKS.HTM#RandomnessLinks


3

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

การคำนวณเอนโทรปีของไฟล์โดยพลการนั้นเป็นไปไม่ได้ทางคณิตศาสตร์ดังนั้นจึงไม่มีเครื่องมือใดที่สามารถทำได้

ฉันสามารถเขียนตัวสร้างไฟล์ที่สร้างไฟล์เอนโทรปีต่ำมากได้อย่างง่ายดาย แต่จะยังคงผ่านการทดสอบเอนโทรปีของคุณ เพียงแค่ใช้ crypto PRNG กับเมล็ดเล็ก ๆ


0

คุณสามารถใช้ Binwalk พร้อม-Eตัวเลือก:

# binwalk -E data

DECIMAL       HEXADECIMAL     ENTROPY
--------------------------------------------------------------------------------
0             0x0             Falling entropy edge (0.000000)
2443264       0x254800        Rising entropy edge (0.988510)

คุณจะได้รับรหัสที่มาจากพื้นที่เก็บข้อมูล GitHub ของมัน


0

ncomputers.org/entropyarrayทำการทดสอบเอนโทรปีได้เร็วกว่าentการทดสอบความสัมพันธ์แบบอนุกรม 16, 32, 64, 128, 256 และ 512 บิต

ด้วยเครื่องมือncomputers.org/entropyคุณอาจทำการทดสอบความถี่ภาพและการแจกแจงโดยการพล็อตเอาท์พุตentropy.freqและentropy.gaus

ตัวอย่างเช่นคุณอาจทำการทดสอบออนไลน์สูงสุด 1GB โดยใช้servertest.online/entropytest

entropy.freq entropy.gaus


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