Dear all,
I’m experiencing a very bad situation with one of the most important files in the Cryptomator vault. My computer has unexpectedly shut down while I was editing the file, and now it cannot be decrypted! Unfortunately, there’s no backup.
I would be immensely grateful for any advice on whether and how one could recover the file that can’t be decrypted due to content tag mismatch error!
Please find below the excerpt from the cryptomator’s log file related to this problem:
09:34:48.068 [Thread-67] ERROR o.c.frontend.fuse.ReadOnlyAdapter - read /path/myfile.md failed.
java.io.IOException: org.cryptomator.cryptolib.api.AuthenticationFailedException: Content tag mismatch.
at org.cryptomator.cryptofs@2.8.0/org.cryptomator.cryptofs.fh.ChunkCache.getChunk(ChunkCache.java:123)
at org.cryptomator.cryptofs@2.8.0/org.cryptomator.cryptofs.ch.CleartextFileChannel.readLocked(CleartextFileChannel.java:113)
at org.cryptomator.cryptofs@2.8.0/org.cryptomator.cryptofs.ch.AbstractFileChannel.read(AbstractFileChannel.java:155)
at org.cryptomator.frontend.fuse@5.0.5/org.cryptomator.frontend.fuse.OpenFile.read(OpenFile.java:59)
at org.cryptomator.frontend.fuse@5.0.5/org.cryptomator.frontend.fuse.ReadOnlyFileHandler.read(ReadOnlyFileHandler.java:62)
at org.cryptomator.frontend.fuse@5.0.5/org.cryptomator.frontend.fuse.ReadOnlyAdapter.read(ReadOnlyAdapter.java:345)
at org.cryptomator.jfuse.api@0.7.3/org.cryptomator.jfuse.api.FuseOperationsDecorator.read(FuseOperationsDecorator.java:117)
at org.cryptomator.jfuse.linux.amd64@0.7.3/org.cryptomator.jfuse.linux.amd64.FuseImpl.read(FuseImpl.java:195)
Caused by: org.cryptomator.cryptolib.api.AuthenticationFailedException: Content tag mismatch.
at org.cryptomator.cryptolib@2.2.0/org.cryptomator.cryptolib.v2.FileContentCryptorImpl.decryptChunk(FileContentCryptorImpl.java:146)
at org.cryptomator.cryptolib@2.2.0/org.cryptomator.cryptolib.v2.FileContentCryptorImpl.decryptChunk(FileContentCryptorImpl.java:97)
at org.cryptomator.cryptofs@2.8.0/org.cryptomator.cryptofs.fh.ChunkLoader.load(ChunkLoader.java:40)
at org.cryptomator.cryptofs@2.8.0/org.cryptomator.cryptofs.fh.ChunkCache.loadChunk(ChunkCache.java:133)
at org.cryptomator.cryptofs@2.8.0/youorg.cryptomator.cryptofs.fh.ChunkCache.lambdayou$getChunk$2(ChunkCache.java:117)
at com.github.benmanes.caffeine@3.2.0/com.github.benmanes.caffeine.cache.BoundedLocalCache.lambda$remap$16(BoundedLocalCache.java:2880)
at java.base/java.util.concurrent.ConcurrentHashMap.compute(Unknown Source)
at com.github.benmanes.caffeine@3.2.0/com.github.benmanes.caffeine.cache.BoundedLocalCache.remap(BoundedLocalCache.java:2875)
at com.github.benmanes.caffeine@3.2.0/com.github.benmanes.caffeine.cache.BoundedLocalCache.compute(BoundedLocalCache.java:2824)
at com.github.benmanes.caffeine@3.2.0/com.github.benmanes.caffeine.cache.LocalCache.compute(LocalCache.java:99)
at org.cryptomator.cryptofs@2.8.0/org.cryptomator.cryptofs.fh.ChunkCache.getChunk(ChunkCache.java:115)
… 7 common frames omitted
Caused by: javax.crypto.AEADBadTagException: Tag mismatch
at java.base/com.sun.crypto.provider.GaloisCounterMode$GCMDecrypt.doFinal(Unknown Source)
at java.base/com.sun.crypto.provider.GaloisCounterMode.engineDoFinal(Unknown Source)
at java.base/javax.crypto.Cipher.doFinal(Unknown Source)
at org.cryptomator.cryptolib@2.2.0/org.cryptomator.cryptolib.v2.FileContentCryptorImpl.decryptChunk(FileContentCryptorImpl.java:143)
… 17 common frames omitted