Core ideas

Core ideas #

Dispatch and encapsulation → data-set #

The first core idea revolved around how to interface with a plugin, and I ended up with the Data Set

Along with this came an environment object, on which everything else hinges.

Objects and Operations #

All cryptograhic algorithms are made up of a number of operations, and in some cases, a well defined object or two (typically, a key).

Both Objects and Operations are represented as Data Sets, along with a set of interface functions.

Passing arbitrary parameters → parameter descriptors #

Different cryptograhic objects and operations may be parametrized, so there’s a need for the plugins to specify what parameters they take, and what sort of contents should be passed with each of them.