Silver Key Parcels
- Introduction to the Library
- Basic support package (com.kryptel.bslx)
- Kryptel API Commons package (com.kryptel)
- Cipher package (com.kryptel.cipher)
- Compressor package (com.kryptel.compressor)
- Exceptions package (com.kryptel.exceptions)
- Hash function package (com.kryptel.hash_function)
- MAC function package (com.kryptel.mac)
- Silver Key engine (com.kryptel.silver_key)
There are three types of Silver Key parcels – standard, self-extracting, and hidden.
- The standard parcel; the parcel data starts from the beginning of the parcel file.
- The parcel includes a decryptor stub, i.e. a small decrypting program at the beginning of the parcel file. When the decryptor program starts, it scans its own file, locates the parcel, and decrypts it.
- The parcel is hidden; it is attached to some innocently looking file, usually a JPEG picture. Note that some data files get invalid when unrelated data are added at the end of the file. Such a file can't be used as a parcel base file.
It is important to understand that the types above are for user convenience only. From the programming point of view there are no 'types'. As can easily be seen from the parcel format description, any parcel can have pre-header data. A decrypting program ignores the data before the parcel header, be they a decryptor stub, a JPEG picture, or just some random obfuscation bytes.
Moreover, the type of the parcel can be changed without decryption using the standard Repacker program included in the Silver Key product. That's because adding or removing pre-header (or post-trailer) data does not invalidate the parcel.
Note that you must specify the parcel type during parcel creation (see ISilverKeyParcel) because the engine needs to know how to decorate the created parcel. That does not affect the parcel itself; with the same success you can create a standard parcel and decorate it later using Repacker or the mundane file copy command.