So sánh entropy và phân phối byte trong dữ liệu nén / mã hóa


8

Tôi có một số câu hỏi mà chiếm giữ bản thân mình trong một thời gian.

Kiểm tra entropy thường được sử dụng để xác định dữ liệu được mã hóa. Entropy đạt đến mức tối đa khi các byte của dữ liệu được phân tích được phân phối đồng đều. Thử nghiệm entropy xác định dữ liệu được mã hóa, bởi vì dữ liệu này có phân phối thống nhất - giống như dữ liệu nén, được phân loại là mã hóa khi sử dụng thử nghiệm entropy.

Ví dụ: entropy của một số tệp JPG là 7,9961532 Bits / Byte, entropy của một số container TrueCrypt là 7,9998857. Điều này có nghĩa là với thử nghiệm entropy tôi không thể phát hiện ra sự khác biệt giữa dữ liệu được mã hóa và nén. NHƯNG: như bạn có thể thấy trên bức ảnh đầu tiên, rõ ràng các byte của tệp JPG không được phân phối đồng đều (ít nhất là không đồng nhất như các byte từ thùng chứa truecrypt).

Một thử nghiệm khác có thể là phân tích tần số. Phân phối của mỗi byte được đo và ví dụ kiểm tra chi bình phương được thực hiện để so sánh phân phối với phân phối giả thuyết. kết quả là tôi nhận được giá trị p. Khi tôi thực hiện kiểm tra này trên JPG và TrueCrypt-data, kết quả sẽ khác.

Giá trị p của tệp JPG là 0, có nghĩa là phân phối từ chế độ xem thống kê không đồng nhất. Giá trị p của tệp TrueCrypt là 0,95, có nghĩa là phân phối gần như hoàn toàn đồng nhất.

Câu hỏi của tôi bây giờ: Ai đó có thể cho tôi biết tại sao bài kiểm tra entropy tạo ra dương tính giả như thế này không? Đây có phải là thang đo của đơn vị, trong đó nội dung thông tin được thể hiện (bit trên mỗi byte) không? Ví dụ: giá trị p là "đơn vị" tốt hơn nhiều, vì quy mô tốt hơn?

Cảm ơn các bạn rất nhiều cho bất kỳ câu trả lời / ý tưởng!

JPG-Image nhập mô tả hình ảnh ở đây TrueCrypt-Container nhập mô tả hình ảnh ở đây


2
Mặc dù bạn cung cấp hai ví dụ về entropies, nhưng thực tế bạn không áp dụng bất cứ thứ gì được gọi là "Thử nghiệm Entropy". Bạn có thể nói rõ cho chúng tôi biết bài kiểm tra đó là gì và cách thức hoạt động với hai tệp của bạn không?
whuber

Bạn sẽ có thể đăng những hình ảnh bây giờ. Vui lòng cung cấp thêm một số chi tiết theo nhận xét của mỗi người.
Đức hồng y

Đối với entropy, tôi tính xác suất mỗi số (0-255) xuất hiện. sau đó tôi tổng hợp tất cả nhật ký (xác suất) và có entropy. phần mềm như encase, được sử dụng để kiểm tra pháp y, sử dụng entropy để phát hiện dữ liệu được mã hóa. nhưng như bạn có thể thấy, entropy dẫn đến nhiều kết quả dương tính giả. phương pháp khác, như chi vuông, có kết quả tốt hơn nhiều. nhưng hai phép thử được sử dụng cho cùng một thứ, phát hiện sự đồng nhất của byte. làm thế nào kết quả có thể khác nhau như vậy?
tommynogger

xin lỗi, mô tả của tôi đã sai ... Tôi tính tổng entropy (p log p), trong đó p là xác suất cho mỗi số.
tommynogger

Tôi nghĩ rằng rất có thể bạn đang tính toán entropy không chính xác. Nó có thể đáng để cung cấp thêm chi tiết và một số mã mẫu. Bạn đã bình thường hóa chính xác phân phối xác suất (vì vậy nó tổng hợp thành một). Làm thế nào bạn đang làm điều đó chi tiết hơn? Là hai minh họa trên cùng một quy mô y? Nếu chúng là như vậy thì tôi nghĩ rằng entropy JPEG nên thấp hơn, nhưng chúng có cùng tỷ lệ không?
xuyên qua

Câu trả lời:


6

Câu hỏi này vẫn thiếu thông tin cần thiết, nhưng tôi nghĩ rằng tôi có thể đưa ra một số dự đoán thông minh:

  • Các entropy của một phân phối rời rạc được định nghĩa làp=(p0,p1,,p255)

    H(p)=i=0255pilog2pi.
  • Bởi vì là một hàm lõm, entropy được tối đa hóa khi tất cả đều bằng nhau. Vì chúng xác định phân phối xác suất (chúng tổng hợp với nhau), điều này xảy ra khi cho mỗi , từ đó entropy tối đa làlogpipi=28i

    H0=i=025528log2(28)=i=025528×8=8.
  • Các của bit / byte ( nghĩa là sử dụng logarit nhị phân) và cực kỳ gần nhau và với giới hạn lý thuyết của .7.99615327.9998857H0=8

    Làm thế nào gần? Mở rộng trong chuỗi Taylor xung quanh mức tối đa cho thấy độ lệch giữa và bất kỳ entropy bằngH(p)H0H(p)

    H0H(p)=i(pi28)2228log(2)+O(pi28)3.

    Sử dụng công thức này, chúng ta có thể suy ra rằng một entropy , chênh lệch , được tạo ra bởi độ lệch bình phương trung bình gốc chỉ giữa và phân phối đồng đều hoàn toàn . Điều này thể hiện độ lệch tương đối trung bình chỉ %. Một tính toán tương tự cho một entropy tương ứng với độ lệch RMS trong chỉ 0,09%.0,0038468 0,00002099 p i 2 - 8 0,5 7,9998857 p i7.99615320.00384680.00002099pi280.57.9998857pi

    (Trong hình như hình dưới cùng trong câu hỏi, có chiều cao kéo dài khoảng pixel, nếu chúng ta giả sử chiều cao của các thanh đại diện cho , thì biến thể RMS % tương ứng với các thay đổi chỉ một pixel trên hoặc dưới chiều cao trung bình , và hầu như luôn luôn ít hơn ba pixel. đó chỉ là những gì nó trông như thế nào. Một % RMS, mặt khác, sẽ được liên kết với các biến thể của khoảng điểm ảnh trên trung bình, nhưng hiếm khi vượt quá pixel hoặc lâu hơn. đó là không gì hình trên trông giống như, với các biến thể rõ ràng từ pixel trở lên. Do đó, tôi đoán rằng những hình này không phảip i 0,09 0,5 6 15 1001000pi0.090.5615100 so sánh trực tiếp với nhau.)

Trong cả hai trường hợp, đây là những sai lệch nhỏ, nhưng một cái nhỏ hơn năm lần so với cái kia. Bây giờ chúng tôi phải đưa ra một số dự đoán, bởi vì câu hỏi không cho chúng tôi biết các entropies được sử dụng như thế nào để xác định tính đồng nhất, và cũng không cho chúng tôi biết có bao nhiêu dữ liệu. Nếu một "thử nghiệm entropy" thực sự đã được áp dụng, thì giống như bất kỳ thử nghiệm thống kê nào khác, nó cần tính đến sự thay đổi cơ hội. Trong trường hợp này, các tần số quan sát được (từ đó các entropies đã được tính toán) sẽ có xu hướng thay đổi so với các tần số cơ bản thực sự do tình cờ. Các biến thể này dịch, thông qua các công thức được đưa ra ở trên, thành các biến thể của entropy được quan sát từ entropy thực sự bên dưới. Cung cấp đủ dữ liệu,chúng ta có thể phát hiện xem entropy thực sự có khác với giá trị liên quan đến phân phối đồng đều hay không. Tất cả những thứ khác đều bằng nhau, lượng dữ liệu cần thiết để phát hiện chênh lệch trung bình chỉ % so với chênh lệch trung bình % sẽ xấp xỉ lần: trong trường hợp này, nó hoạt động được gấp hơn lần0,09 0,5 ( 0,5 / 0,09 ) 2 3380.090.5(0.5/0.09)233

Do đó, hoàn toàn có thể có đủ dữ liệu để xác định rằng một entropy được quan sát là khác biệt đáng kể so với trong khi một lượng dữ liệu tương đương sẽ không thể phân biệt với . (Nhân tiện, tình huống này được gọi là âm tính giả , không phải là "dương tính giả", vì nó không xác định được sự thiếu đồng nhất (được coi là kết quả "âm tính"). Theo đó, tôi đề xuất rằng (a ) các entropies thực sự đã được tính toán chính xác và (b) lượng dữ liệu giải thích thỏa đáng những gì đã xảy ra.8 7,99988 ... 87.99687.999888


Ngẫu nhiên, các số liệu dường như là vô dụng hoặc gây hiểu lầm, bởi vì chúng thiếu nhãn phù hợp. Mặc dù cái dưới cùng dường như mô tả phân phối gần như đồng nhất (giả sử trục x là rời rạc và tương ứng với giá trị byte có thể và trục y tỷ lệ với tần số quan sát được), cái trên cùng có thể có thể tương ứng với một entropy ở bất cứ đâu gần . Tôi nghi ngờ số 0 của trục y trong hình trên không được hiển thị, do đó sự khác biệt giữa các tần số được phóng đại. (Tufte sẽ nói rằng con số này có Yếu tố Lie lớn.)82568


Entropy tính toán đề cập đến các hình ảnh trên. Tệp JPG có kích thước khoảng 5MB, TrueCrypt-Container khoảng 100MB. Ngay cả khi tôi lấy một phần 5 MB của TrueCrypt-Container, nó vẫn được phân phối đều - bằng với tệp JPG. Bạn trả lời cho nhiều chi tiết về entropy mà tôi chưa từng nghe, cảm ơn bạn vì điều này! Có thể một số chi tiết quá nhiều, tôi không thống kê quá nhiều ... Tôi mới thử "sử dụng" số liệu thống kê trong một thời gian. Một câu hỏi vẫn còn lại: lý do tại sao một sự phân biệt có thể được thực hiện với phân tích tần số (ví dụ chi bình phương), nhưng không phải với entropy?
tommynogger

Kiểm tra chi bình phương chiếm số lượng khả năng biến đổi cơ hội. Theo như tôi có thể nói, so sánh các entropies của bạn thì không. Đó dường như là nguồn gốc của sự khác biệt. Bạn cũng cần cẩn thận với cách bạn diễn giải kết quả: mọi thứ có thể được phân phối quá đều ; đó cũng có thể được coi là bằng chứng chống lại hành vi ngẫu nhiên.
whuber
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.