#Mathematica, 89 bytes, [cracked](https://codegolf.stackexchange.com/a/51081/8478)

<!-- language: lang-mathematica -->

    Last@CellularAutomaton[(a=Mod)[#^2,256],{#~IntegerDigits~2,0},{#~a~99,128}]~FromDigits~2&
Not the shortest.