PKCS #3 compliant Diffie Hellman key agreement protocol implementation. This is used as part of SKE (SILC Key Exchange) protocol.