Генерация общего секретного ключа с использованием открытого и закрытого ключа в C#
Взято с http://en.wikipedia.org/wiki/Public-key_cryptography
В схеме обмена ключами Диффи-Хеллмана каждая сторона генерирует пару открытый / закрытый ключ и распространяет открытый ключ. После получения подлинной копии открытых ключей друг друга Алиса и Боб могут вычислить общий секрет в автономном режиме. Общий секрет может использоваться, например, как ключ для симметричного шифра.
Мой вопрос, учитывая произвольный открытый ключ (Боба) и произвольный закрытый ключ (Алисы), как мы можем реализовать эту функцию (вывод общего секретного ключа в автономном режиме) в C#?
private static SecretKey generateSharedSecret(PrivateKey private_key, PublicKey public_key)
{
//combine the keys
return secretKey;
}