Помогите цифровой подписи строки хеширования (SHA1) - PullRequest
2 голосов
/ 31 августа 2010

Я отправляю данные в REST URI в виде фрагмента кода xml с заголовком и телом. Тело зашифровано, и затем заголовок включает цифровую подпись (которая является зашифрованным телом, хешированным с помощью SHA1 и затем зашифрованным. У меня вопрос, как мне создать подпись. Какой метод используется для шифрования - мне сказали использовать тот же общий ключ, что и для зашифрованного тела Rinjdael.

Спасибо

Ответы [ 2 ]

1 голос
/ 31 августа 2010

Подписание включает в себя асимметричную криптографию.

  • Отправитель создает хеш и шифрует его своим собственным закрытым ключом => подпись
  • Получатель расшифровывает подпись с помощью открытого ключа отправителя.
  • Получатель хэширует полученные данные и сравнивает локальный хеш и расшифрованный хеш
  • если они совпадают, данные принадлежат владельцу закрытого ключа

Итак, Нет , вы не используете (симметричный) ключ Рейндаля.

1 голос
/ 31 августа 2010

Вы можете сделать подпись, используя RSA.

Вот ссылка: Как: подписывать XML-документы с помощью цифровых подписей

Я не слишком уверен в использовании того же ключа для шифрования, что и при подписании, однако, поскольку подпись RSA является методом подписи с открытым / закрытым ключом, который позволяет безопасно создавать подпись с использованием закрытого ключа и безопасно проверено на клиенте с использованием только открытого ключа.

В качестве дополнения, Шифрование! = Хеширование. SHA1 - это алгоритм хеширования, иначе. односторонняя необратимая функция. Шифрование обратимо. Шифрование - это двусторонняя функция.

...