Создание эфемерной пары ключей

Здравтсвуйте!
Пытаюсь реализовать cms-вид шифрования с key transport моделью.
данные шифруются сессионным ключём ГОСТ-28147-89, а сам ключ нужно зашифровать неким ключём согласования.
В случае key transport  у меня есть только public key из сертификата получателя.
как я понял по госту, мне необходимо создать эфемерную пару public-private ключей.
тогда у меня будет две пары ключей, и по вашему примеру, с помощью C_Derive, я получу ключ согласования и C_WrapKey  сессионный ключ.
причём при расшифровке не используется открытый ключ отправителя. в cms предаются лишь параметры эфемерной пары: один длиной в 32байта, второй в 4 байта.

Вопрос, собственно, как создать эфемерную пару?