AxCrypt2Go Design Goals and Decisions
This details the ongoing progress of defining the design goals of AxCrypt2Go,
as well as the decisions taken to realize these goals.
Main Goals
The primary design goals of AxCrypt2Go is to provide the same basic
feature-set as AxCrypt 1.x, with some differences.
Please comment! Go to the
feature
request forum hosted by SourceForge - use the "Submit New" menu choice,
select AxCrypt2Go as the category. (You
do not need to
register, although it does enable you to monitor
responses via e-mail).
1. User Visible Major Functions
- Decryption - Encrypted files may be decrypted.
- Encryption - Plain files may be encrypted.
- Double-click style Decrypt-Application Launch-Re-Encrypt à la AxCrypt,
or functionally similar mechanism.
- Explorer style interface.
- Drag and drop.
- Minimize to tray.
- Keys can optionally be cached for encrypt and/or decryption.
- Directory-local persistent options.
- Single executable file with no dependencies and no installation required
for basic operation.
- Optionally installable for extended operation such as for double-click
decryption, and shell extension right-click à la AxCrypt 1.x.
- Integrated preference notification, and version update availability
check.
- Huge file support for Win98/ME too.
2. Globalization
- Fully Unicode-aware, including file names, passphrases etc.
- Optional language packs for any language that works with
Unicode in the operating environment.
- User-contributed translations that does not require any static linking
to the application.
3. Operating Environment
- Compatible with Windows 98 with Unicode support or later. Later versions
may provide better security/functionality.
- Persistent configuration information stored in XML-files on a
per-directory basis - no more registry keys.
- Prepared for cross platform porting, e.g. Macintosh, Linux, Unix etc.
4. Security
- Compatible with AxCrypt 1.x, but stronger cryptographic primitives for
encryption.
- Careful memory usage to reduce risk of passphrases and plain text in
swap file or other places in the system.
5. Programmatic Access
- Command Line compatible with AxCrypt (within reason).
- Direct but malware resistant access to keys in GUI-free key cache
server.
- Optional static library/dynamic library.
- Optional .NET managed code wrapper for library.
6. Axantum Internal
- No more NSIS!
- Small bloat-factor. Less is More (within reason).
- Resident fully GUI-free in-memory user mode key cache server.
- Fully streamable file format - one pass
encryption/decryption/authentication.
- Available as open source under GNU GPL.
- Available to OEMs and corporations via different licenses than GNU GPL.
- Customizable from a single source code base for OEMs and corporations.
- No more memory mapping - all file I/O via regular API.
- Built-in licensing technology.
- Smarter update notifications via web service and automatic e-mail
confirmation.
7. Various Lesser Features
- Automatic anonymous rename when encrypting.
- Display real name and other info in tool-tip style info when hover over
encrypted file with key in cache.
- Remember location of key-file per-directory if enabled.
- Optionally display entered passphrase in dialog.
- Support key-file from command line.
- Re-encrypt all files in a directory when closing.
- Warn when decrypting to a network device.
- Change GUI language at any time.
- Keyboard shortcuts and accelerators implemented wherever appropriate.
- Integrated md5/sha-1/sha-512 etc checksum via property sheets or other
way.
- Support paranoid mode wiping, i.e. Gutmann multi-pass etc.
- Recycle Bin wiping.
- Virtual keyboard and/or other modes of passphrase entry for Windows
Mobile etc.
- Encrypt and send as mail attachment. Send-to aware?
- Support for WebDAV download launch of decrypt-open - if possible.