Version 1.07.2 (01-10-2012) - 129K - MD5-checksum: 56136a567abf6d53ba87c52ef778dfe3
ALWAYS CREATE A BACKUP before upgrading from an earlier version!
CrypStor is an application for storing and hiding sensitive data using Blowfish encryption. You can browse the database and let other applications running on the same machine query it for login data and such.
It is still a bit beta-ish, in the sense that I am the only one who has ever used it in earnest. So it may contain nasty bugs, although that has become increasingly unlikely over time.
I am not going to actively advertise this application. It works for me, has done so for quite some time already and I really do want to share it with others. However, it is becoming more and more difficult for me to find the time to do any serious RISC OS development. If I urged people to use it by advertising it, I would feel obliged to offer support immediately (or even sooner) and I may not be able to provide it that quickly. So I am just putting the program on this page in the hope that it is of use to anyone who stumbles across it. If it fails in some way, I will try to fix things. It just may take a lot longer than I would have liked...
This is a RISC OS program. It should run on any version of the operating system from 3.10, but it does expect a 'new map' format hard drive.
Having StrongHelp on your machine is strongly recommended. The most recent version of StrongHelp can be found here (apparently, Fred Graute is the de-facto maintainer now...).
This program is © Frank de Bruijn. It is released as Freeware (see the StrongHelp manual).
If something does not work as expected, please report it to the support address mentioned on the support page of the StrongHelp manual.
The author accepts no responsibility whatsoever for any loss or damage caused by use of or inability to use this software.
Found a bug. There's an ambiguity in the way the Blowfish documentation describes the use of registers with the SWIs. It led me to believe that because it used R0,1 to denote R0 as the pointer to the block to encode/decode and R1 as the length of that block, R3,4 for the value of IV was used in the same way (i.e. pointer, length). Unfortunately it isn't, so the first word of a decoded block would always come out as garbage. I programmed around that, so it doesn't really matter in the end. But it's still a bug...