The problem is a bit tricky and it has been quite some time since I did the tests.
So I did test again in more detail
First things first
Every encrypted TW version can be decrypted. So opening an encrypted file should not be a problem.
Issue with importing an encrypted file wiki
There has been a change in v5.2.0, that broke “import” decryption in v5.2.0 and v5.2.1. So TW v5.2.0 and v5.2.1 are a bit bugged.
The problem was fixed in v5.2.2
There are 2 questions we have to answer for the status quo AES128
- Can newer TW versions import encrypted wikis created with old eg: v5.1.0? (backwards compatibility)
- Can “old” wikis import encrypted wikis created with TW v5.3.5? (forward compatibility)
Add 1) I did test import to latest version first. As can be seen by the test, there are exactly 3 issues with backwards compatibility, where is “broken”.
Encrypted with: v5.1.0 import to v5.3.5 -> works
Encrypted with: v5.1.23 import to v5.3.5 -> works
Encrypted with: v5.2.0 import to v5.3.5 -> works
Encrypted with: v5.2.1 import to v5.3.5 -> works
Encrypted with: v5.2.2 import to v5.3.5 -> works
Encrypted with: v5.1.0 import to v5.3.0 -> works
Encrypted with: v5.1.23 import to v5.3.0 -> works
Encrypted with: v5.2.0 import to v5.3.0 -> works
Encrypted with: v5.2.1 import to v5.3.0 -> works
Encrypted with: v5.2.2 import to v5.3.0 -> works
Encrypted with: v5.1.0 import to v5.2.0 -> works
Encrypted with: v5.1.23 import to v5.2.0 -> works
Encrypted with: v5.2.0 import to v5.2.0 -> **broken**
Encrypted with: v5.1.0 import to v5.2.1 -> works
Encrypted with: v5.1.23 import to v5.2.1 -> works
Encrypted with: v5.2.0 import to v5.2.1 -> **broken**
Encrypted with: v5.2.1 import to v5.2.1 -> **broken**
Encrypted with: v5.1.0 import to v5.2.2 -> works
Encrypted with: v5.1.23 import to v5.2.2 -> works
Encrypted with: v5.2.0 import to v5.2.2 -> works
Encrypted with: v5.2.1 import to v5.2.2 -> works
Encrypted with: v5.2.2 import to v5.2.2 -> works
Add 2) As seen by the following tests there is limited forward compatibility.
Files encrypted with:
- v5.3.x can be imported down to v5.2.2
- v5.2.x can be imported down to v5.2.2
- v5.1.x can be imported down to v5.1.1
Encrypted with: v5.3.5 import to v5.2.2 -> works
Encrypted with: v5.3.5 import to v5.2.1 -> **incompatible**
Encrypted with: v5.3.5 import to v5.2.0 -> **incompatible**
Encrypted with: v5.3.5 import to v5.1.23 -> **incompatible**
Encrypted with: v5.2.0 import to v5.1.23 -> **incompatible**
Encrypted with: v5.1.23 import to v5.1.1 -> works
Encrypted with: v5.1.23 import to v5.1.0 -> **no feedback - does not work ??**
That’s the status quo with AES128 encryption.
Tests for AES256 will follow in a new post.
Hope that makes sense.
-m