<oembed><type>rich</type><version>1.0</version><author_name>npub15fc36esk6dy2x4ptk2ner209rl9u0d736gr99edtu9knu9uny80s4g5grz</author_name><author_url>https://nostr.ae/npub15fc36esk6dy2x4ptk2ner209rl9u0d736gr99edtu9knu9uny80s4g5grz</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2017-02-24&#xA;📝 Original message:??? apparently we are not discussing the same thing&#xA;&#xA;Maybe I did not provide the right links (reading them again I myself&#xA;don&#39;t find them so clear), see maybe again&#xA;https://github.com/whatwg/streams/issues/33#issuecomment-28045860&#xA;&#xA;a - b - c -d&#xA;&#xA;hash(a)&#xA;&#xA;hash(a+b)&#xA;&#xA;etc&#xA;&#xA;But you are not going to rehash from the beginning, then:&#xA;&#xA;update a --&gt; keep the remaining bytes a_ (+ hash state 1) --&gt; digest&#xA;a=hash(a)&#xA;&#xA;update a_+b from hash state 1--&gt; keep the remaining bytes b_ (+ hash&#xA;state 2) --&gt; digest a_+b=hash(a+b)&#xA;&#xA;etc&#xA;&#xA;Basically that&#39;s similar to a real time progressive hash of chunks of a&#xA;file that you are streaming and therefore don&#39;t know what will come next&#xA;(per opposition to hashing a file that you already have), this could&#xA;apply to trees&#xA;&#xA;This is different from something like:&#xA;&#xA;hash(a)&#xA;&#xA;hash(hash(a) +hash(b))&#xA;&#xA;etc&#xA;&#xA;There is no initial state, and the attacker can&#39;t modify what was&#xA;already hashed, to make it more difficult you can probably modify the&#xA;hash state N&#xA;&#xA;&#xA;Le 24/02/2017 à 17:30, Tim Ruffing via bitcoin-dev a écrit :&#xA;&gt; On Fri, 2017-02-24 at 16:18 +0100, Aymeric Vitte via bitcoin-dev wrote:&#xA;&gt;&gt; Not sure that you really read deeply what I sent, because stating&#xA;&gt;&gt; that&#xA;&gt;&gt; hashing files continuously instead of hashing the intermediate steps&#xA;&gt;&gt; just gives more latitude to the attacker can&#39;t be true when the&#xA;&gt;&gt; attacker&#xA;&gt;&gt; has absolutely no control over the past files&#xA;&gt; What prevents the attacker to provide different past files when talking&#xA;&gt; to parties who are still in the initial state?&#xA;&gt;&#xA;&gt; Then the question is: knowing the hash state, is it as easy to find a&#xA;&gt;&gt; collision between two files that will be computed in the next round&#xA;&gt;&gt; than&#xA;&gt;&gt; finding a collision between two files only?&#xA;&gt; With the original usage of the hash function, the hash state is always&#xA;&gt; the initial state. Now that the attacker has some control over the hash&#xA;&gt; state even. In other words, if the original use of the hash function&#xA;&gt; was vulnerable, then your scheme is vulnerable for the initial state.&#xA;&gt;&#xA;&gt; Concrete attack: If you can find x != y with H(x) = H(y), then you can&#xA;&gt; also find m, x != y, with H(m||x) = H(m||y), just by setting m = &#34;&#34;. &#xA;&gt;&#xA;&gt; Not sure if this is the right place to discuss that issue though...&#xA;&gt;&#xA;&gt; Best,&#xA;&gt; Tim&#xA;&gt; _______________________________________________&#xA;&gt; bitcoin-dev mailing list&#xA;&gt; bitcoin-dev at lists.linuxfoundation.org&#xA;&gt; https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#xA;&#xA;-- &#xA;Zcash wallets made simple: https://github.com/Ayms/zcash-wallets&#xA;Bitcoin wallets made simple: https://github.com/Ayms/bitcoin-wallets&#xA;Get the torrent dynamic blocklist: http://peersm.com/getblocklist&#xA;Check the 10 M passwords list: http://peersm.com/findmyass&#xA;Anti-spies and private torrents, dynamic blocklist: http://torrent-live.org&#xA;Peersm : http://www.peersm.com&#xA;torrent-live: https://github.com/Ayms/torrent-live&#xA;node-Tor : https://www.github.com/Ayms/node-Tor&#xA;GitHub : https://www.github.com/Ayms</html></oembed>