TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Cracking random number generators (xoroshiro128+)

109 pointsby johndcookalmost 8 years ago

7 comments

pbnjayalmost 8 years ago
Author&#x27;s title should be &quot;Cracking PSEUDO-random number generators&quot; - We should all basically assume that any PRNG will be easily cracked like this and not use them for anything important to security!<p>Always use a cryptographic RNG for important code!
评论 #15072414 未加载
评论 #15072230 未加载
评论 #15073026 未加载
评论 #15074766 未加载
nolemursalmost 8 years ago
The article is a serious waste of time.<p>It can be summarized as &quot;Non cryptographic PRNGs can be predicted! Look, I cracked this one! I&#x27;m not going to tell you how I did it though.&quot;<p>There&#x27;s no exposition describing non cryptographic PRNGs, nor any evidence given for why they&#x27;re not sound beyond the author&#x27;s assertion that he cracked one.<p>To be clear, non cryptographic PRNGs <i>are</i> often predictable, and <i>shouldn&#x27;t</i> be used if that&#x27;s a problem, but if you&#x27;re interested in learning more about that, this article isn&#x27;t going to help you much.<p>Skip the read.
TACIXATalmost 8 years ago
Hey, author of the SMT attack here. There is probably a clever way to go after XorShift128+ as well, symbolic execution using an SMT solver is basically a brute-force solution.<p>I&#x27;ll have to give this challenge a shot later.
xoroshiroalmost 8 years ago
As someone who first learned how to program by implementing PRNGs but never really digging deeper into it, I found this post very interesting to read. I do have an idea about some (small portion) of the things behind it, but I have no background in cryptography.<p>Looking at the other posts, it seems like most PRNGs are fine for non-cryptographic applications, but what are other ways to make PRNG&#x27;s though? Everything I&#x27;ve learned (mostly simple stuff; Linear Congruential, Midsquare, etc.) seem to need to store a state to work, because otherwise, wouldn&#x27;t you just output the same thing over and over again? I know there&#x27;s stuff like &#x2F;dev&#x2F;random (though I&#x27;m unsure how that works), but that doesn&#x27;t seem like a good idea for getting a lot of numbers.
评论 #15075674 未加载
zb3almost 8 years ago
This problem can be solved using Z3: <a href="https:&#x2F;&#x2F;gist.github.com&#x2F;zb3&#x2F;c59cf596ce80c501db5ca16c31a1c3a7" rel="nofollow">https:&#x2F;&#x2F;gist.github.com&#x2F;zb3&#x2F;c59cf596ce80c501db5ca16c31a1c3a7</a><p>I don&#x27;t know whether autor used solver or some other magic method... Solutions should be available to those who want to see them.
edflsafoiewqalmost 8 years ago
Does anyone know how the constants in xoroshiro128+ were chosen?
aj7almost 8 years ago
Ha ha! By going to your predictions page I can crack you! Great post.