@@ -549,7 +549,7 @@ The chi-squared test requires a p-value, for which to reject the hypothesis that

...

@@ -549,7 +549,7 @@ The chi-squared test requires a p-value, for which to reject the hypothesis that

>>> chi2.ppf([0.1**10, 1-0.1**10], 255)

>>> chi2.ppf([0.1**10, 1-0.1**10], 255)

array([ 136.49878495, 425.92327131])

array([ 136.49878495, 425.92327131])

We round these values to the nearest integer. So for chi-squared values between 136 and 425, we accept the hypothesis that the data is random/encrypted.

We round these values to the closest integer. So for chi-squared values between 136 and 426, we accept the hypothesis that the data is random/encrypted.

We will not be able to prevent false positives as effectively as false negatives. Since we treat all random-looking partitions as TrueCrypt/VeraCrypt candidates, we will definitely have false positives, because there are other use cases for random looking partitions, for example plain dm-crypt, headerless LUKS, or LoopAES partitions. This cannot be avoided, therefore we have to clearly indicate to the user that a partition is not definitely a TrueCrypt/VeraCrypt partition, but only a candidate.

We will not be able to prevent false positives as effectively as false negatives. Since we treat all random-looking partitions as TrueCrypt/VeraCrypt candidates, we will definitely have false positives, because there are other use cases for random looking partitions, for example plain dm-crypt, headerless LUKS, or LoopAES partitions. This cannot be avoided, therefore we have to clearly indicate to the user that a partition is not definitely a TrueCrypt/VeraCrypt partition, but only a candidate.