Цифровая подпись RSA

267
28 октября 2017, 14:09

Здравствуйте, делаю лабораторную работу и никак не могу разобраться как получить вменяемый хэш-образ. В общем суть задачи состоит в 1. Вычисление хеш-образа h = h(T), где T – исходное сообщение, h(T) – хеш-функция (для MD5 длина хеш-образа 128 бит).

Для примера после сжатия строки в число, получили маленькое число 7. Причем не указан никакой алгоритм для этого, и даже пример строки. В общем дальше нужно будет это число возводить в степень для расчета цифровой подписи. И вот я не понимаю как получить такое число. Я честно говоря знаю ток два метода:

  1. Хешированием с помощью MD5. Результат выдается 16ричном виде, что мне совершенно не подходит. Использовал класс System.Security.Cryptography.MD5.
  2. обычный метод GetHashCode на стринге. Но там выдаются значения вида -8893475.

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

В общем сам вопрос, как собственно получить некое число для этого алгоритма (вычислить хеш-сумму или как это правильно назвать)?

Answer 1

Вычисление цифровой подписи RSA состоит из 3-х частей:

  1. Вычисляем хэш от сообщения
  2. Далее выравниваем длину хэша, чтобы он был равен длине RSA ключа (например тупо обрезаем или как-то дополняем с помощью алгоритмов паддинга
  3. К полученному выровненному padded хэшу применяем h^d mod n

Теперь более конкретно, применительно к вашему случаю: у вас есть md5 хэш - 026f8e459c8f89ef75fa7a78265a0025 - это его 16-ричное представление, его надо сначала обрезать согласно длины вашего ключа и перевести в цифру:

number = BigInteger.Parse(
    "026f8e459c8f89ef75fa7a78265a0025", //не обрезан
    NumberStyles.HexNumber);

Далее у вас есть число, с которым вы можете работать как надо.

READ ALSO
tabControl вкадки

tabControl вкадки

tabControl, подскажите пожалуйста как изменить цвет именно самой вкладки (когда она еще не "нажата")

215
Проблема при открытии копии потока MemoryStream

Проблема при открытии копии потока MemoryStream

Есть код который создает из файла потокФайл содержит шаблонный вариант отчета в формате Open Xml

179
Zoom как в фотошопе на canvas

Zoom как в фотошопе на canvas

Создаю графический редактор с помощью canvas b fabricjs на javaScript

245