В Corda как хэшируются и проверяются вложения? - PullRequest
0 голосов
/ 14 мая 2018

У меня есть следующие вопросы о SecureHash, сгенерированном Corda при загрузке JAR-файла вложения на узел:

  1. Всегда ли хеш уникален в зависимости от содержимого файла?
  2. Если содержимое файла JAR изменяется, гарантированно ли изменится хеш (так же, как с обычной хеш-функцией)?
  3. Может ли контрагент проверить целостность хеша (и убедиться, что вложение не было взломано) на своем конце?
  4. Может ли контрагент проверить подлинность банки (что она была подписана загрузчиком)?

1 Ответ

0 голосов
/ 14 мая 2018
  1. Теоретически SecureHash - это оболочка для хэшей, сгенерированных с использованием различных алгоритмов хэширования.Однако, только SecureHash.SHA256, который использует семейство хэш-функций SHA-2, был реализован с Corda 3.1.Столкновение хеша с этим алгоритмом крайне, крайне маловероятно.
  2. Опять же, крайне маловероятно, что если содержимое JAR изменится, хеш останется прежним.
  3. После получения вложениявпервые узел проверяет, является ли он действительным файлом JAR, прежде чем импортировать его в свое хранилище вложений.Вместо отправки хеша вложения контрагентом, он вычисляет сам хеш вложения и использует этот хеш в качестве идентификатора вложения.
  4. Подписание JAR не реализовано в Corda 3.1.Узел просто проверяет, является ли файл JAR действительным.
...