split specs in separate document, expand Key API into 3 smaller APIs: pubkey, signature and DH