Windows Diff Hellman Обмен ключами Получение ключа - PullRequest
0 голосов
/ 02 марта 2019

Итак, я взаимодействую между OpenSSL и функциями BCrypt в Windows.Я пишу приложение в QT и могу использовать только BCrypt для клиентской части и OpenSSL на стороне сервера.Я успешно произвел обмен ключами DH, единственная проблема, с которой я столкнулся, это то, как мне удалось бы получить ключ AES 128 из общего секрета.Код, который я использую для шифрования AES 128: https://github.com/Microsoft/Windows-classic-samples/blob/master/Samples/Security/CipherEncryptionDecryption/cpp/CipherEncryptionDecryption.cpp, где я передаю spassword как sha1 общего секрета.

код на стороне сервера PHP, который я использую:

echo bin2hex(openssl_pbkdf2(sha1($shared_secret), $salt, $keylen, $iterations, 'sha256'));

Итерации, соль и все совпадают на стороне клиента и сервера.Однако результаты не совпадают.Что является причиной этого?

1 Ответ

0 голосов
/ 02 марта 2019

Вы, кажется, смешиваете sha1 и sha256:

...sha1($shared_secret)...'sha256'...
...