<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Jun 13, 2016 at 3:34 AM, Jerry Leichter <span dir="ltr"><<a href="mailto:leichter@lrw.com" target="_blank">leichter@lrw.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">> I am auditing some code that I think that is crap and I have to demonstrate it without access to it, it is black box testing.<br>
><br>
> The data is something like this and I have ten rows<br>
><br>
> Variable  Variable TS                   Signature<br>
> ID1       ID2<br>
><br>
><br>
> 3242424   34      2015-10-31 23:59:59   a1a2b3A4A<br>
> 3242425   34      2015-10-31 23:59:59   123456Aab<br>
> 3242426   34      2015-10-31 23:59:59   abcdefABC<br>
><br>
> I bet on that Signature is a function of ID1, ID2 and TS without any additional secret.<br>
><br>
> I think that there is a process that could help me deduce that function. Could some one hint me some keywords?<br>
Unless the function is very simple-minded, determining it strictly from a black-box implementation is a very challenging proposition.  There are just so many possible quite simple transformations.<br>
<br>
If all you want to prove is that no secret is involved, there's a fairly straightforward procedure:  Take two different instantiations of the same code (which should presumably have different secrets) and show that they produce the same output for different inputs.<br>
<br>
If you're not in a position to do that, the notion of a "secret" in the algorithm makes little sense:  The "secret" *is simply part of the algorithm".</blockquote><div><br></div><div>This seems to be something simple minded like base 62ish ([a-zA-Z0-9]) encoding.</div><div>Perhaps</div><div>    <a href="https://www.kerstner.at/en/2012/07/shortening-strings-using-base-62-encoding/">https://www.kerstner.at/en/2012/07/shortening-strings-using-base-62-encoding/</a><br>How reversible or discoverable it is an additional question. <br>What they are hashing is unclear.<br><br>A data set of three to ten lines does not seem to be sufficient short of luck.</div><div><br></div><div>Black box testers in most contexts have bounds and limits if only to </div><div>finish testing in the life of the universe.   <br><br>Keywords to mumble to multiple search engines are the database vendor, data base method, hash,</div><div>encoding and also base 62.   </div><div>Signature is likely more than just a function of ID1,  ID2 and TS.</div><div>Look at the data flow and use to see what signature validates.</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">  T o m    M i t c h e l l</div></div>
</div></div>