Menu

Datasheet-1

overview (3)
Wolfgang Keller

JQUICKBASE Datasheet

Naming Conventions

JQuickBase Release Packages:
a) packages including encryption are named "JQB-A", packages without encryption "JQB-B".
b) following the type marker comes the package version, like "0.0.4" or "0-1-0".
b) Snapshot editions are marked with a "-SNx" appendix to the name, where "x" is replaced by a serial number relative to the preceding expression. Snapshots are tryout versions from development with a probability of unsolved problems or reduced functionality.


Latest Available Packages

JQB-A-0-9-0 (30-03-2022) - good implementation for fixed and variable record lengths (3 data models), scalable index implementation w/ B+ tree index files. Record-data streaming technology. Allows strong data encryption using Twofish algorithm and state-of.-the-art encryption technology. Tested and stable.

JQB-B-0-9-0 (30-03-2022) - good implementation for fixed and variable record lengths (3 data models), scalable index implementation w/ B+ tree index files. Database features allow to keep data from direct sight on file level. Record-data streaming technology. No strong encryption but quite well tested and stable.

JQB-A-0.0.4 (28-05-2005) - good Standard file implementation, without Flexible files, includes big-key Twofish encryption on a weaker basis (ECB modus) without protection against brute force attacks and crypt-analysis. This encryption technology must be regarded unsafe for multiple reasons!


Data Models and Database Limitations

Limit TINY STANDARD LARGE
cell size 65535 2.1 GB 2.1 GB
record size 65535 4.2 GB 9.2 EB
entries 65535 4.2 G 1.0 T
id storage bits (unsigned) 16 32 40
length storage bits (unsigned) 16 32 63

File Features

With file features some properties of database or index files can be activated, additional to what is made available at the programmatic interfaces. File features have to be set up when a file is created, they cannot be recalled or added at a later time. The following is a complete list of available features to be set (refer to a tutorial on how to implement them).

Feature Range Modification
AUTO_REORG DB, IX internal reference lists are reconstructed automatically during the first open on a file instance (per session); this optimises usage of reclaimed data-cells. This feature is firmly set for index files.
ERASER DB, IX released data contents of a record actually disappear from the data file; this affects over-writing or deletion of records.
FILE_CRC DB, IX a CRC of all records and the user header is calculated on every close and open operation. An exception is thrown if a bad CRC is found during file open. This feature is useful to detect data damage, but should be applied only in conjunction with a save-and-restore strategy for affected files. This makes a file inaccessible in case of an error.
FLAT_RECORD DB the size of any record in the file is always the same
MODEL_LARGE DB activates data-model LARGE
MODEL_STANDARD DB, IX activates data-model STANDARD (actually this need not be set but can be used for documentary reasons)
MODEL_TINY DB activates data-model TINY
READ_PROTECT DB, IX the file is protected against simple read attempts on low level file access.
RECORD_CRC DB a CRC value (32-bit) is calculated and stored for each data record; the value can be programmatically tested.
UNIQUE_KEYS IX attribute of an index-file, that all keys of its entries are unique in the index (supports to depict a transformation instead of a relation into the reference values)
VARIANT DB record sizes are possible beyond the (atomic) data-cell size; a chain of data-cells constitutes the content for a single record.

Data Encryption

JQuickbase series Alpha (JQB-A) offers file encryption as an option (which is realised by setting a file feature). If encryption is chosen, key material has to be supplied as extra arguments for the creation and opening of databases or indexes. The minimum length of a user access key is 4 bytes and there is no restriction on the quality of the supplied material.

JQuickbase uses the Twofish algorithm of Bruce Schneier et al. for the basic, ECB, cipher mode and a modified CTR cipher-mode for encryption. The database environment of repeated writings of records is secured against the possibility of crypt-analysis through our special cipher-mode. The encryption key used for the algorithm is always 32 bytes of length and random generated by JQB software when the file is created. This encryption key does not change during the life-time of a database file. The user access key is a different asset and can be changed at any time. The files allow to setup security loops in the key verification process in order to provide a protection against brute force password guessing attacks.


Related

Wiki: Home