Overview

GordianKnot provides an layer over the BouncyCastle encryption library, and adds significant additional functionality, via a GordianFactory object. Two flavours of factory are provided, one that accesses BouncyCastle via the JCA provider interface, and one that accesses the BouncyCastle lightweight API. This second flavour supports additional algorithms not currently available in the JCA interface, or for that matter in BouncyCastle itself.

The factory provides access to a number of subFactories (e.g. GordianDigestFactory) to simplify the API.

Vanilla API

The Vanilla API provides access to cryptographic primitives. Each primitive is identified by a Specification object such as GordianDigestSpec which identifies the algorithm variant that is required.

Symmetric API

  1. Block Ciphers
  2. Stream Ciphers
  3. Password Based Ciphers
  4. Digests
  5. MACs
  6. Randoms

Asymmetric API

  1. KeyPairs
  2. Signatures
  3. Agreements
  4. Encryptors

Extended API

The Extended API provides access to additional features that are not provided by BouncyCastle.

  1. Personalisation
  2. KeySets
  3. Locks
  4. Secure ZipFile