КриптоПро CAPILite  

CryptDeriveKey

Функция CryptDeriveKey генерит криптографические сессионные ключи, получая их из исходных данных. Эта функция гарантирует, что когда используются одинаковые CSP и алгоритмы, то ключи, сгенерированные из одинаковых исходных данных, будут идентичны. В качестве исходных данных может выступать пароль или любая другая информация пользователя.

Данная функция похожа на функцию CryptGenKey, исключая то, что ключи генерятся не случайным образом, а из исходных данных. Функция CryptDeriveKey используется только для генерации сессионных ключей. Она не может генерит ключевые пары закрытый ключ/открытый ключ.

Дескриптор сессионного ключа возвращается при помощи параметра phKey. Этот дескриптор может быть использован любой CryptoAPI функцией, для которой необходим дескриптор ключа.

Аналогична описанию в CryptoAPI

WINADVAPI BOOL WINAPI CryptDeriveKey(
  HCRYPTPROV hProv,
  ALG_ID Algid,
  HCRYPTHASH hBaseData,
  DWORD dwFlags,
  HCRYPTKEY * phKey
);

Требования:

AIX: 5/6/7 или выше.
FreeBSD: 7/8/9 или выше.
Linux: LSB 3.1 (RHEL 4, SuSE 10) или выше.
Solaris: 10/11 или выше.
Mac OSX: 10.7/8 или выше.
iOS: 6/7 или выше.
Файл описания: Прототип описан в файлах CSP_WinCrypt.h и WinCryptEx.h.

См. также

Функции генерации и обмена ключа , CryptAcquireContextA, CryptCreateHash, CryptDestroyHash, CryptDestroyKey, CryptExportKey, CryptGenKey, CryptGetKeyParam, CryptHashData, CryptHashSessionKey, CryptSetKeyParam, CryptDeriveKey в MS CryptoAPI 2.0 World Wide Web link