# Is it possible to derive the midstate of a sha256 hash?

Let's say I have an unknown string with the known sha256-hash of it. I was wondering if it was possible to now calculate the sha256 of the concatenation of the unknown string and "abc".

(In PHP: hash('sha256', $unknownString .'abc');) I thought in order to do so "all I need" is to go from the hash that I know back to the midstate of the sha256 algorithm (in most implementations called finalize) and append the data that I want (via, in most implementations called, update) and then call finalize again. Block lengths shouldn't be a problem because the unknown string has a length of 256 bit and my own string has this as well. Is this possible or by the way sha256 is designed impossible to achieve? PS: I have no intention in getting the unknown string. I absolutely do not care about the plaintext contents of this. - Thanks @poncho for the added keyword. I did not know this was called like that and I think I found exactly what I wanted. Thanks! – jabbink Jun 24 '13 at 22:31 – CodesInChaos Jun 24 '13 at 22:37 @jabbink: Hopefully, you found that the answer to your question is: no (by any known method), for the extension abc; but yes for some slightly longer extensions (possibly ending in abc), and assuming the length of$unknownString is known. – fgrieu Jun 25 '13 at 5:15