DBPBE Considerations

Home Specifications Single Byte Example Multi Byte Example Considerations

By Jacob Still January 2020.
Updated January 2021
Code on GitHub
Licensed under GPLv3


In order to decrypt the data, one MUST have the password or key-file used to encrypt the data. This is because the decryption process requires vectors, see the specifications. The encrypted data, on the other hand is simply the magnitude portion of a vector. You would still need the starting point and direction.

One may think that a way to brute force this is to take all distances and apply them to all data points possible. Then the intersection points of those circles are used to find the key points. While this may be possible, I believe (based on the extremely small number of tests I have performed) that this is not possible. Granted, I have no mathematical proof that this is the case, but I would like if someone would assist in proving this.

If the number of keys is assumed to be three, applying the distances to each data point shown in the specifications would result in a unpredictable number of intersection points. In the tests that I have performed, the key point was on only one of these circles and not remotely close to the nearest intersection point. Shown in the images below is a basic example based on the single byte example. Notice the key points are not close to the intersections of any of the circles.

Brute Force Example 1

Brute Force Example 2

Brute Force Example 3

Brute Force Example 4

Source for the graphs.