Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Algorithms used

EscoDB makes use of the following cryptographic primitives and constructions:

  • AES-256-GCM
  • SHA-256
  • HMAC
  • PBKDF2

The implementation of all these algorithms is provided by the host platform; on Node.js we use the crypto module and in the browser we use the Subtle Crypto API.

Keys, initialisation vectors (IVs), salts, and other random values are produced in one of two ways. If the platform provides a dedicated generateKey() function for the relevant algorithm, then that function is used. Otherwise, the crypto.randomBytes() or crypto.getRandomValues() function is used.

Where buffers need to be compared for equality, a timing-safe comparison function provided by the host platform is used.