Merge pull request #513 from alex/kdf-interface

Begin designing the KDF interfaces. Fixes #511