Пойдем другим путем, всем понятным). Как известно, в Bitcoin Core подписывается не каждый файл релиза (как в Электруме), а просто сообщение, содержащее все SHA256 хеши файлов. Вот, например, файл
https://bitcoincore.org/bin/bitcoin-core-0.20.0/SHA256SUMS.asc-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
081b30b0f1af95656242c83eef30bbf7216b1a30fa8e8f29b3b160fe520d28f6 bitcoin-0.20.0-aarch64-linux-gnu.tar.gz
05014c7ff00f4496b1f389f0961d807e04505d8721d5c6f69567f2a0ec1985cc bitcoin-0.20.0-arm-linux-gnueabihf.tar.gz
34f377fee2c7adf59981dde7e41215765d47b466f773cf2673137d30495b2675 bitcoin-0.20.0-osx64.tar.gz
a6e44b928d9ac04f11d43e920f4971fbdf1e77a8c28f7c14fafdd741ca7bc99f bitcoin-0.20.0-osx.dmg
5b9cae3aa4197d1e557ff236754f489bce877ebba2267ce33af79b2ca4a13af6 bitcoin-0.20.0-riscv64-linux-gnu.tar.gz
ec5a2358ee868d845115dc4fc3ed631ff063c57d5e0a713562d083c5c45efb28 bitcoin-0.20.0.tar.gz
0f1ea61a9aa9aba383a43bcdb5755b072cfff016b9c6bb0afa772a8685bcf7b0 bitcoin-0.20.0-win64-setup.exe
3e9ddfa05b7967e43fb502b735b6c4d716ec06f63ab7183df2e006ed4a6a431f bitcoin-0.20.0-win64.zip
35ec10f87b6bc1e44fd9cd1157e5dfa483eaf14d7d9a9c274774539e7824c427 bitcoin-0.20.0-x86_64-linux-gnu.tar.gz
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQIcBAEBCAAGBQJe13SYAAoJEJDIAZ42wulkYrwQAIcbo6TAtb0AZkyC4ewM7+80
nQZTx7d0w9ljdr/0Wt9B/2F6BNhiW2TR1n+tYZ//Juk+kH79qQSVwsBSSdMpQJOR
7hlivCHUx5fwJEhtP7mEtuMnu/9o1YOX5lahPV3Yjfv8l3zdec6Dwlf6OAsPX8Dc
PAiWfhu/UplQnnI1U47LctwqTD6F5ywYunQ4U7S6Qfd8jqvQUTT7JQ68au1P1oHM
29/FCc9Qx7KbSVDgRWe9cjok7R6XRal1rQUz/4HW9OClRDUAsQym0Kxf3OzJVgJi
5hUq666Ld/rh7jQVjlMkSK8vrQn6VaNKk15q8TM238kRwj932zeZn9swkPaNf6ml
+pKFu7HxZhYpACa97vlHwEais4e/mVanTI5MBtt2POTT5ffkSD3isTfkiPHgYV3D
rTo4pmhAcFiOkXWcuNe5yWV2zZFkwy0gRgL/aNwHc3jnuv3foMkgS4SApL1/RnUs
hFf/Ce299c7WQa73tupHUJI0PrTggvvQHniGEZdomlFxaEzcTbOIW3Ao5IizZ5Yw
Aaum8n5/lRQgUMOQgF6EeWxEMKoqCA3wZITZ6mqoJBega52o3anZam5Lu+UKqhLV
a7May7n6L4acZkeJLKeJ4cMSsQYQ45Cc3dQJTmEmNicL9ix/crig38mKGLi7Sj6T
s3iI+NZb2h7g7gYg93MF
=e/wL
-----END PGP SIGNATURE-----
По вашей логике получается, что эти файлы тоже можно подделать? Разницы то здесь никакой нет, не так ли?
По такой логике - да, очевидно. Я вот решил освежить свою память, почитал, и кстати не нашел что конкретно Sha256 уязвим к такой атаке. А вот SHA1 - вполне. Так что вполне может оказаться, что именно для sha256 так и нормально делать, хотя везде по долгу службы где я встречался даже с sha256 (БД для хранения паролей), всегда хранили или в двойном хэшировании, или с солью, а самые толковые делали как я приводил вон выше, комбинируя эти методы.
Почитав википедию и немного погуглив про SHA-1, я обнаружил, что не рекомендуется формировать подпись таким образом: sha1 ( секрет + сообщение ), так как данный способ недостаточно надёжен. В это же время мне пришла подсказка от моего американского друга, который на тот момент уже успешно решил этот квест: length-extension, или атака удлинением сообщения, что также упоминается в википедии. Ну надо же… А я и не думал, что SHA-1 так уязвим.