public function getEncryptionPublicKey(): EncryptionPublicKey
    {
        $ed25519_pk = $this->getRawKeyMaterial();
        $x25519_pk = \sodium_crypto_sign_ed25519_pk_to_curve25519(
            $ed25519_pk
        );
        return new EncryptionPublicKey(
            new HiddenString($x25519_pk)
        );
    }
public function getEncryptionPublicKey(): EncryptionPublicKey
    {
        $ed25519_pk = $this->getRawKeyMaterial();
        $x25519_pk = \sodium_crypto_sign_ed25519_pk_to_curve25519(
            $ed25519_pk
        );
        return new EncryptionPublicKey(
            new HiddenString($x25519_pk)
        );
    }
public function getEncryptionPublicKey ( ) : EncryptionPublicKey { $ ed25519_pk = $ this -> getRawKeyMaterial ( ) ; $ x25519_pk = \ sodium_crypto_sign_ed25519_pk_to_curve25519 ( $ ed25519_pk ) ; return new EncryptionPublicKey ( new HiddenString ( $ x25519_pk ) ) ; }
Get an encryption public key from a signing public key.

@return EncryptionPublicKey
@throws \TypeError
@throws InvalidKey
Get an encryption public key from a signing public key .