Я читаю википедию о криптографии с открытым ключом с открытым ключом ( http: // en. wikipedia.org/wiki/Public-key_cryptography) и в нем говорится:
В схеме обмена ключами Диффи – Хеллмана каждая сторона генерирует пару открытого / закрытого ключей и распространяет открытый ключ ... После получения подлинные копии открытых ключей друг друга, Алиса и Боб могут вычислить общий секрет в автономном режиме. Общий секрет может использоваться, например, как ключ для симметричного шифра.
Мне интересно, как этого добиться в Java? то есть, учитывая произвольный открытый ключ и произвольный частный ключ, как сгенерировать из него общий секрет?
Чтобы было понятнее:
У Алисы есть пара открытого / закрытого ключей key_pair_alice ,
У Боба есть пара открытого / закрытого ключей key_pair_bob ,
Если я правильно понимаю, должен существовать метод common_keys () , чтобы:
combine_keys(key_pair_alice.private, key_pair_bob.public) ==
combine_keys(key_pair_alice.public, key_pair_bob.private)
Мой вопрос - как реализовать метод comb_keys () в Java.
Спасибо.