<div style="font-family: Arial, sans-serif; font-size: 14px;"><br></div><div style="font-family: Arial, sans-serif; font-size: 14px;"><br></div>
<div class="protonmail_signature_block" style="font-family: Arial, sans-serif; font-size: 14px;">
    <div class="protonmail_signature_block-user protonmail_signature_block-empty">
        
            </div>
    
            <div class="protonmail_signature_block-proton">
        Verzonden met <a target="_blank" href="https://proton.me/" rel="noopener noreferrer">Proton Mail</a> beveiligde e-mail.
    </div>
</div>
<div style="font-family: Arial, sans-serif; font-size: 14px;"><br></div><div class="protonmail_quote">
        Op dinsdag 7 november 2023 om 23:15 schreef Ray Dillinger <bear@sonic.net>:<br><br>
        <blockquote class="protonmail_quote" type="cite">
            
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 11/7/23 00:54, Michael Kjörling
      wrote:<br>
    </div>
    <blockquote type="cite"><span style="white-space: pre-wrap">
</span>
      <pre class="moz-quote-pre">Given that there are 2^447 possible inputs of 447 bits of length
(ignoring shorter inputs), but only 2^256 possible outputs of 256 bits
of length (for SHA-256), within a 2^447 input space, mathematically
there must statistically exist 2^(447-256) = 2^191 different possible
inputs for every single output. (It is of course possible that the
output distribution has non-uniform properties, especially after only
8 rounds, but likely still not on the order of 2^190.)

How does what you are showing compare against the current publicly
known attacks against SHA-256?

In English, what _exactly_ is your claim?
</pre>
    </blockquote>
    <p><br>
    </p>
    <p>I do not have a VB.Net environment to test this code in and
      haven't analyzed it extensively, but this appears to be an attempt
      to find a preimage for a given hash by iteratively finding
      preimages for single steps of the hashing algorithm.  This is not
      an approach I'm optimistic about for any hash (or any cipher) that
      takes input in blocks larger than 128 bits - the search for a
      preimage of a single step becomes prohibitive unless there's
      something I don't understand going on that restricts the search.</p>
    <p>The approach, even if fruitful, is closed off by modifications
      such as SHA-256D which requires finding blocks that are
      simultaneous preimages for different steps of the hash.</p>
    <p><br>
    </p>
    <p>Bear</p></blockquote><p style="font-family: Arial, sans-serif; font-size: 14px; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);"><br></p><div style="font-family: Arial, sans-serif; font-size: 14px; margin-top: 14px; margin-bottom: 14px; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);"><span style="line-height:1.5;font-family:sans-serif;font-size:12.8px;display:inline !important">Dear Ray,</span><br style="line-height:1.5;font-family:sans-serif;font-size:12.8px"><br style="line-height:1.5;font-family:sans-serif;font-size:12.8px"><span style="line-height:1.5;font-family:sans-serif;font-size:12.8px;display:inline !important">Thank you for your answer.</span></div><div style="font-family: Arial, sans-serif; font-size: 14px; margin-top: 14px; margin-bottom: 14px; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);"><i>The approach, even if fruitful, is closed off by modifications such as SHA-256D which requires finding blocks that are simultaneous preimages for different steps of the hash</i>.<br style="line-height:1.5;font-family:sans-serif;font-size:12.8px"><br style="line-height:1.5;font-family:sans-serif;font-size:12.8px"><span style="line-height:1.5;font-family:sans-serif;font-size:12.8px;display:inline !important">As stated, there is no guessing involved here, meaning a fixed number of iterations that will lead to the/a valid input message.</span><br style="line-height:1.5;font-family:sans-serif;font-size:12.8px"><br style="line-height:1.5;font-family:sans-serif;font-size:12.8px"><span style="line-height:1.5;font-family:sans-serif;font-size:12.8px;display:inline !important">Because the SHA-256 output hash still fits in a single input block, the same 'decryption'/reversion method (limited to 8 rounds here) can also be used for SHA-256D (by also applying it twice). Or a multitude of hashes of hashes for that matter.</span><br style="line-height:1.5;font-family:sans-serif;font-size:12.8px"><br style="line-height:1.5;font-family:sans-serif;font-size:12.8px"><br style="line-height:1.5;font-family:sans-serif;font-size:12.8px"><span style="line-height:1.5;font-family:sans-serif;font-size:12.8px;display:inline !important">Sincerely,</span><br style="line-height:1.5;font-family:sans-serif;font-size:12.8px"><span style="line-height:1.5;font-family:sans-serif;font-size:12.8px;display:inline !important">McDair</span><br></div><blockquote class="protonmail_quote" type="cite">
    <p> <br>
    </p>
  


        </blockquote><br>
    </div>