Рейтинг:0

Что это значит, если два файла, созданные одним и тем же человеком, используют один и тот же хэш SHA256?

флаг us

Итак, у меня есть задание по киберправу, и это может не иметь отношения к вопросу.Но у меня была ситуация, когда кто-то подписал завещание с помощью расширенной электронной подписи, но эта подпись была отделена от самого завещания. Итак, два разных документа: (1) signal.txt и (2) FinalTestament.txt. Если SHA256 этих двух документов совпадает, могу ли я предположить, что не было вмешательства в Завещание или SHA256 не имеет ничего общего с фактическим содержанием, содержащимся в документе? И действительно ли это идентификатор того, что один и тот же человек создал два документа? Я действительно изо всех сил пытаюсь понять SHA256, поэтому любые ссылки на объяснения, которые помогут в этом контексте, будут отличными. Спасибо!

DannyNiu avatar
флаг vu
Это юридический вопрос или технический вопрос? Если первое, то речь идет о юридическом определении **утвержденных и официально признанных** алгоритмов хеширования и цифровой подписи; в противном случае люди получат правильный ответ, и вы можете подумать о том, чтобы принять своего фаворита, чтобы заработать себе первые 2 очка репутации.
Рейтинг:1
флаг ng

Если SHA256 этих двух документов совпадает

то по определению устойчивость к столкновениям, эти два документа идентичны, или (включая и ) нарушена устойчивость к коллизиям SHA-256. Среди экспертов существует консенсус в отношении того, что устойчивость к коллизиям SHA-256 невозможно взломать с помощью доступных сегодня средств (то есть никто не может создавать отдельные документы с одним и тем же хэшем SHA-256).

Следовательно, согласно цитируемому предположению, существует консенсус экспертов в отношении того, что эти два документа должны быть идентичными; что, безусловно, является самым слабым местом в демонстрации, поскольку зависит от того, как хранятся (обязательно цифровые) документы, а также получается и сравнивается их хэш.


Вышеизложенное отвечает на поставленный вопрос, но мы теперь сказал что-то совсем другое:

когда подпись.txt (расширенная электронная подпись) расшифровывается с использованием предоставленного открытого ключа, это приводит к хэшу документа SHA256, который соответствует хэшу SHA256 FinalTestament.txt.

Это неправильная терминология: открытым ключом никогда не расшифруешь. Цель шифрования состоит в том, чтобы преобразовать часть данных, чтобы сделать их неразборчивыми до тех пор, пока они не будут расшифрованы держателем некоторого секрета; и, как следует из названия, открытый ключ не является секретным. Здесь мы не расшифровываем. Мы должны читать: "signature.txt является проверено используя предоставленный открытый ключ».

И в целом неверно, что проверка подписи восстанавливает хэш, а затем сравнивает его с хэшем документа, чтобы решить, применима ли подпись к этому документу. Это правильно для учебника RSA-подписи хэша¹, RSA-FDH, и (хотя это и необычно) может быть исправлено для RSASSA-PKCS1-v1_5. Но это не относится ко многим другим схемам подписи: РСАССА-ПСС, ECDSA, EdDSA, DSA, где хэш (или документ для проверки) должен быть входом процесса проверки подписи. Таким образом, мы, вероятно, должны прочитать: «signature.txt является проверено против хэш FinalTestament.txt с использованием предоставленного открытого ключа"

Самое главное: ничто в постановке задачи или дополнительных комментариях не говорит о том, что открытый ключ является открытым ключом умершего человека (и, если мы хотим быть придирчивыми, предназначенным для используемой системы проверки подписи). Таким образом, проверка, сделанная с помощью этого открытого ключа, не является технически действительным признаком того, что это лицо одобрило завещание.

Даже если мы добавим, что открытый ключ принадлежит умершему, нет никаких указаний на то, что FinalTestament.txt является окончательный завещание²; что подпись не была сделана под принуждением; что умерший имел правоспособность составить действительное завещание; что используемая система подписи является юридически обязательной (правила для этого различаются).


¹ Но стандартная подпись RSA хэша SHA-256 уязвима для экзистенциальная подделка, из-за Атака Десмедта и Одлызко.

² Или даже единственное завещание, которое сверяется с подписью.txt и открытым ключом: некоторые системы подписи, такие как оригинальная короткая подпись Шнорра, позволяют подписавшему создавать очень разные документы с одинаковой подписью. Таких систем подписи лучше избегать в юридических контекстах!

флаг us
Привет! Спасибо за Ваш ответ! Но я неправильно истолковал утверждение! Дело не в том, что хэш SHA256 документов одинаков, а в том, что при расшифровке файла signal.txt (расширенная электронная подпись) с использованием предоставленного открытого ключа получается хэш документа SHA256, который соответствует хешу SHA256 файла FinalTestament.txt.
Рейтинг:0
флаг fr

SHA-256 — это криптографически безопасная хэш-функция. Это означает, что он обладает тремя важными свойствами:

  • Сопротивление прообразу: при заданном хеш-значении трудно найти какое-либо сообщение с таким хэш-значением.
  • Сопротивление второму прообразу: для данного сообщения трудно найти другое сообщение с таким же хэшем.
  • Устойчивость к коллизиям: сложно найти два сообщения с одинаковым хешем.

Это обобщено в соответствующей статье Википедии. В этом контексте «сообщение» — это любая последовательность байтов (возможно, с непрактично большим ограничением по размеру). Это может быть файл, электронное письмо или практически все, что может хранить компьютер.

Из-за этих свойств мы обычно можем предположить, что два сообщения (файлы и т. д.) с одним и тем же хэшем SHA-256 — это одно и то же. (Существует крайне маловероятная вероятность того, что это не так, но у вас гораздо больше шансов неоднократно ударить молнией.) Итак, в этом случае два файла идентичны; если бы один из них был изменен, то хэш был бы другим. Обратите внимание, что любой может вычислить хэш документа: алгоритмы хеширования общедоступны и могут быть эффективно вычислены всеми.

Когда мы создаем безопасную цифровую подпись, мы берем пару ключей, которая содержит открытый ключ (известный всем) и закрытый ключ (известный только его владельцу). Мы хэшируем сообщение (используя хеш, например, SHA-256), а затем подписываем хэш закрытым ключом. Человек, который знает открытый ключ, может затем проверить эту подпись и узнать одну из двух вещей:

  • Сообщение не изменилось и действительно для этого открытого ключа (то есть владелец подписал идентичное сообщение); или же
  • По крайней мере, один из них не так.

Обратите внимание, что злоумышленник может создать другую пару ключей и подпись, которые также подтверждают сообщение (иногда даже не видя сообщения), поэтому мы должны знать, что открытый ключ на самом деле является частью пары ключей для рассматриваемой стороны. . Разные протоколы решают эту проблему по-разному.

Если у нас есть подпись и документ, над которым она была подписана, у этих двух не будет одного и того же хэша. Подпись обычно имеет фиксированный размер, зависящий от типа ключа, размера ключа и протокола, и будет такого же размера (относительно небольшого) независимо от размера документа. Мы можем подписать многие гигабайты данных сигнатурой всего в 64 байта.

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

флаг us
О да, ты прав! Подпись, найденная в signal.txt, при расшифровке с использованием открытого ключа приводит к хэшу SHA256, который совпадает с хэшем SHA256 документа FinalTestament.txt. Так что дело не в том, что хэши двух документов идентичны, а в том, что документ был подписан ключом и не был изменен - ​​поправьте меня, если эта интерпретация неверна. Основываясь на своих небольших знаниях и исследованиях по этой теме, я также нашел странным, что два хэша были одинаковыми, но я неправильно понял то, что было сказано, потому что я не понял. Большое спасибо @bk2204! Вы спасатель жизни.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.