FRACTAL ENCRYPTION
Fractal encryption, as implemented by SummerSoft Labs, is a common-key
encryption method, featuring:
- No size inflation,
- User selectable keys, and,
- Light weight
and high speed.
First, an encryption key (K) is fractally encoded to make K'. K is the first
q bytes of any file a user selects and considered to be an image of a square.
Lavender_C supports
up to 64-byte x 64-byte squares (q = 4,096). Our fractal encoding sheme is
based on quadtree partitions.
K => K'
=> indicates the fractal encryption process. Please note that this
process is an irrevocable one; there is no way to rebuild K from K'. The size
of K' is slightly lower than the original key (K).
Then K' is used to scramble the original file (OF) to be enciphered,
genarating a corresponding enciphered file (EF).
OF + K' = EF (eq. 1)
Namely,
OF [O1, O2, ...................., On]
+
K' [K1, K2, ...., Kj]
||
EF [E1, E2,
....................., En]
In this diagram, OF, K', and EF contain n, j, and n bytes, respectively. As
shown, the size of OF and that of EF are the same. Lavender_C adds 8 bytes to the top of EF as a signature:
EF [signature (8 bytes), E1, E2,
....................., En]
To decrypt EF, the same K is used to generate K'. Then,
EF - K' = OF (eq. 2)
is performed. The signature is stripped out before this operation.
The addition (+) in eq. 1 and subtraction (-) in eq. 2 involve
random-number scramble operations.
If you need further details of the operation, please contact us.