HNHacker News
TopNewBestAskShowJobs

jgeralnik

1,174 karma · joined June 17, 2011

Contact me. jgeralnik at gmail
submissionscomments
jgeralnik··on Is my developer's home-brew password security right or wrong, and why?
The goal of a salt is to make it so that each password must be targeted individually. The salt need not be random, only unique and sufficiently long. It is impractical to precompute the hashes for (that is, have rainbow tables for) every possible salt, since rainbow tables take up a huge amount of space and take time to generate. Instead, you have to choose a specific password you want to attack and generate the table just for that password. Somebody is not just going to "have the rainbow table" for the salt G$F#V2.

Your calculations are off by several orders of magnitude. Bcrypt can be customized to take more time, but a reasonable amount of time might be 0.1 seconds per password, or 10 passwords per second. Most users are already logged in, so logging in should not be a very common operation.

By comparison, a $500 graphics card can hash billions of SHA1 passwords per second. So what takes 1 second to brute force with SHA1 will take 100 million times as long, or over 3 years, to brute force using bcrypt.

Note that a 10 character all lowercase password has 26^10 possibilities. If we are just targeting this password it will take 19 hours at 2 billion SHA1 hashes per second (well, on average half of that, so around 10 hours), and over 447000 years at 10 bcrypt hashes per second(again, half that on average).

jgeralnik··on Bankrupt Kodak sells off patents to investors for $525M

  An idea or patent is utterly worthless without execution
No it's not. In this case it's worth $525m. Clearly other people assign value to them, even if you don't.
jgeralnik··on Why we still love board games
While agricola does have significant luck in the inital game state, this is lessened by drafting the initial cards which almost all advanced players do. This ensures that at most players will only have 1 extremely powerful card, and adds another level of skill with managing the draft. The game itself is extremely skill based, to the point that an experienced player with a poor hand should be able to beat a less experienced player with an awesome hand most of the time. Unlike in caylus, the best players are only able to win 60-70% of the time
jgeralnik··on Vector vengeance: Researchers claim they can kill the pixel within five years
The most important line in the article is this one towards the end:

  Ultimately, though, I think it will take a lot more than a new codec to kill the pixel.
jgeralnik··on Hacker News search
To prevent people from (unintentionally) DDoSing the site.
jgeralnik··on The Humble THQ Bundle
No, they gave you android versions in addition to the Linux/Mac/Windows versions.
jgeralnik··on Gaussian distributions are monoids and why machine learning experts should care
That's the definition of variance. Look here: http://en.wikipedia.org/wiki/Variance#Definition
jgeralnik··on 3D Systems sues Formlabs, Kickstarter
You missed Printrbot: Your First 3D Printer which raised $830,827

http://www.kickstarter.com/projects/printrbot/printrbot-your...

jgeralnik··on SAT: Getting the lowest score possible
No, it was just for show.
jgeralnik··on SAT: Getting the lowest score possible
Tangentially related, on one of my (national) highschool math finals, I decided to bring an abacus instead of a calculator. The proctor gave me a weird look, I explained I was using it as a calculator, and he gave me no problems.
jgeralnik··on The most dangerous code in the world
Some code obfuscators will introduce illegal programming constructs. Most VMs will tolerate these but the decompiled source cannot be recompiled without fixing these. Not saying that's what happened here, but it is an option.
jgeralnik··on New draft of Trevor Perrin and Moxie Marlinspike's TACK SSL extension
For what it's worth, the way I read HN is:

a) Skim the front page

b) Go to tptacek's comments page and read everything

Almost every comment you write having anything to do with crypto is absolutely fascinating and since realizing how much I enjoy and learn from your comments I've been actively stalking you. Thanks.

jgeralnik··on Beta Late Than Never (Steam Linux Beta)
None of the other posts on the blog have a number at the end of them.
jgeralnik··on SHA-3 to Be Announced
Just pulling off a preimage attack on a partial block is as hard as pulling off a preimage attack on the whole thing - you still need to find two inputs which hash to the same output.
jgeralnik··on SHA-3 to Be Announced
Brute forcing a partial block is just as hard as bruteforcing the whole thing - you still need to create a second string which hashes to the same as the first one.

Simply trying all the values from 0x00 to 0xFF will (statistically) never result in 2 blocks with the same value since you are only bruteforcing 8 bits and the output of the hash is 512. The chance of two arbitrary blocks matching, regardless of length, is 1/2^512.

jgeralnik··on I Am Worried About The Future Of Python
That was his whole point, so does Eve.
jgeralnik··on Mypy - An experimental Python variant with dynamic and static typing
I stand corrected. Still, saying they are going to remove the GIL without addressing the challenges faced by other people who did the same - most notably the performance hit - makes me skeptical as to their ability to fulfill their promises.
jgeralnik··on Mypy - An experimental Python variant with dynamic and static typing

  > Mypy will get rid of the Global Interpreter Lock (GIL)
  >Details of the concurrency model are still undecided, though
Wait, what? There have been numerous attempts to get rid of the GIL, most of which failed miserably. A promise to get rid of the GIL without even deciding on a concurrency model seems a little premature.
jgeralnik··on The man who singlehandedly carved a road through a mountain
> Why does he get 65 days off a year?

Because it's easier to multiply by 300 than by any 340

jgeralnik··on Pandorhack: Stealing Pandora Passwords
Then read the article where there is a link to pandora.com. Click the link. Now you know pandora.
jgeralnik··on Fast Inverse Square Root
If anybody wants to further play around with this, I wrote the following script in python using matplotlib:

  import numpy
  import matplotlib.pyplot as plt
  import struct
  
  def power(x,p):
    i = struct.unpack("i", struct.pack("f", x))[0]
    i = (1-p) * 0x3f7a3bea + (p*i)
    return struct.unpack("f", struct.pack("i", i))[0]
  
  p = -0.5
  xs = numpy.arange(0.1,100,0.1)
  ys1 = map(lambda x: x**p, xs)
  ys2 = map(lambda x: power(x, p), xs)
  
  plt.plot(xs, ys1, label="Real function")
  plt.plot(xs, ys2, label="Approximation")
  
  plt.title("Graph of x^%d"%p)
  plt.legend(loc="upper left")
  plt.savefig("graph.png")
Change p to whatever you want (even values greater than 1) to see different powers.
jgeralnik··on Google disables compression for OpenSSL in Chrome - SSL exploit coming?
You can't read the cookie for the victim website from a malicious site. What you can do is send POST/GET requests to which the browser will attach the appropriate cookies.
jgeralnik··on Proof Claimed for Deep Connection between Prime Numbers
Encryption algorithms exist and are being developed which are not based on prime factorization and for which no known quantum algorithm exists which can break them in polynomial time.

There will probably be significant warning before quantum computers exist which can break RSA. In that time it will probably become the norm to no longer use algorithms which are rendered obsolete by quantum computers.

jgeralnik··on The abc conjecture, explained as a game
I may have misunderstood something, but I believe it is simple to prove that R cannot equal c.

Because c is relatively prime to both a and b, there exists some prime p which b is divisible by and c is not. Because b is divisible by p, R=rad(a,b,c) is also divisible by p. Since R is divisible by p and c is not, R!=c.

jgeralnik··on Proof Claimed for Deep Connection between Prime Numbers
Yes. The naive algorithm for factorization runs in O(2^N) (where N is the number of bits in the number you want to factorize), which is impractical for any sufficiently large N (2^64 > 10^19, 2^1024 > 10^328 which is BIG). There are better known algorithms, but none of them are polynomial, so a bruteforce is highly impractical.

Shor's algorithm, on the other hand, runs in O((logN)^3). For an idea of the difference, log(64)^3 = 216, log(1024)^3 = 1000.

So Shor's algorithm could be used to very quickly factorize large numbers and would effectively break RSA. We just need a quantum computer, which as far as we know nobody has yet.

jgeralnik··on Proof Claimed for Deep Connection between Prime Numbers
His answer was that he thinks there will be no practical applications from this proof, since it merely states that something exists without giving us an idea of how to find that thing.
jgeralnik··on How we keep GitHub fast
I believe it was sarcasm intended to show that just because Steve Jobs gives an example in a field he has no experience in doesn't mean you should take it literally.
jgeralnik··on Baking Pi - Operating Systems Development
Because the cost of manufacture is something like 1% of the cost from 20 years ago? Because similar devices can and would be sold for a fraction of the price if students were allowed to use them?
jgeralnik··on '; CREATE TABLE `Capture the Flag`;' -- Stripe's Web Security CTF is Live
The site's down again. 502 Bad Gateway.
jgeralnik··on I'm Not Japanese
Presumably articles that need to be censored in Germany would be censored on blogspot.de and not on blogspot.com, so Germans are redirected.
← PreviousPage 4 of 7Next →