HNHacker News
TopNewBestAskShowJobs

jedwards1211

32 karma · joined May 19, 2015

submissionscomments
jedwards1211··on Cracking a 512-bit DKIM key for less than $8 in the cloud
function ops(n) { return Math.exp (((64/9) * (1/3) + 1) * (Math.log(n) * (1/3)) * (Math.log(Math.log(n)) * (2/3))) }

> ops(2*16)

121106.42245436447

> ops(2*32)

38178499.24944067

> ops(2*32) / ops(2*16)

315.24751929508244

So if ops(2*16) costs $8, then ops(2*32) costs $8 * ops(2*32) / ops(2*16) = $2521.98. Far more than $8^2.

The cost reaches the millions for 64 bits, and ~$165 trillion for 128 bits:

> 8 * ops(2*64) / ops(2*16)

5601332.962726709 (far more than $8^2^2)

> 8 * ops(2*128) / ops(2*16)

165647073370.16437 (far more than $8^2^2^2)

Note that this is increasing faster than the number of bits squared:

> ops(2*32) / 32 * 2

37283.690673281904

> ops(2*64) / 64 * 2

20701824.831895076

> ops(2*128) / 128 * 2

153052707259.34015

As the wiki page says, it's super-polynomial in the number of bits.

If you still disagree with all of this, can you explain what's wrong with this method of calculating the worst-case cost of factoring the number n?

Cost(n) = ops(n) * Cost(2^16) / ops(2^16)

Or what you don't understand about this way of calculating it?

jedwards1211··on Cracking a 512-bit DKIM key for less than $8 in the cloud
The wiki article on GNFS says:

> The size of the input to the algorithm is log2 n or the number of bits in the binary representation of n. Any element of the order nc for a constant c is exponential in log n. The running time of the number field sieve is super-polynomial but sub-exponential in the size of the input.

"Super-polynomial" means that the running time increases by more than the square.

In any case, even if the algorithm were just polynomial, the argument about squaring costs doesn't work out.

jedwards1211··on Cracking a 512-bit DKIM key for less than $8 in the cloud
We're trying to help you understand, and you're stubbornly refusing to swallow your pride and think about what we're saying
jedwards1211··on Cracking a 512-bit DKIM key for less than $8 in the cloud
Okay I hadn't read about how many calculations it takes to cover the search space, so my equations aren't right about that.

However, you will do yourself a big favor if you take the time to understand why this is wrong:

> if 2^512 calculations costs you $8 then (2^512)^2 calculations costs you $64

The cost per calculation is some constant C:

Cost(n calcs) = n calcs * C

Therefore,

Cost(n^2 calcs) = n^2 calcs * C

In this example, C = $8 / 2^512 = $2^-509

So Cost(2^512^2) = Cost(2^1024) = 2^1024 * $2^-509 = $2^425

jedwards1211··on Cracking a 512-bit DKIM key for less than $8 in the cloud
Right, so if it costs $8 to search the space for a 16-bit key, a proper equation for the cost of cracking an n-bit key is

Cost(n) = search_space(n) * $8 / search_space(16)

And search_space(x) = 2^x so

Cost(n) = 2^n * $2^3 / 2^16 = $2^(n - 13)

Cost(32) = $2^(32 - 13) = $524288 Cost(64) = $2^(64 - 13) = $2251799813685248

So it quickly becomes astronomically expensive.

If you double the number of bits n you get

Cost(2n) = $2^(2n - 13)

You were assuming that Cost(32) = Cost(16)^2, in other words Cost(2n) = Cost(n)^2. But this equality doesn't hold:

Cost(n)^2 = $2^(n - 13)^2 = $2^(2n - 26)

This is significantly smaller than Cost(2n) = $2^(2n - 13) as stated above.

An equation with different units on each side like "512 bit = $8" doesn't work mathematically and will lead to contradictory conclusions.

jedwards1211··on Understanding the Y Combinator
Hacker News is one of the most simple, unaesthetic sites out there so the untyped lambda calculus seems like a fitting metaphor to me
jedwards1211··on Haskell Foundation
"it embodies a radical and elegant attack on the entire enterprise of writing software"

An "attack"? Jeez

jedwards1211··on Ask HN: Thoughts on new GitHub layout?
My first thought was good ol' Microsoft UX design...

Wish they had kept the description and page URL top and center.

And at least made the tabs and badges area the same width as the content. I bet they'll eventually come to their senses about that.

jedwards1211··on Editors (Vim)
Vim emulation in VSCode worse than any other IDE I've used.

All extensions have to run on the same thread in a background process and intercepted keystrokes are passed to that process over IPC. So if other extensions (like the TS language tools) are tying up the extension host process, the Vim extension can't respond to your keyboard input until other extensions yield.

Performance issues come and go but for awhile I was stuck waiting for several seconds any time I typed a < after an identifier.

A lot of us have tried to demand a separate process for extensions that intercept keystrokes to solve this issue permanently. But the maintainers don't really care.

jedwards1211··on Presentation Rules
It sounds like a non-native speaker to me, I wouldn't even be surprised if this is Google translate output
jedwards1211··on Relicensing React, Jest, Flow, and Immutable.js
Yes, that React is really convenient for building practically any type of web app, not just real-time apps, and they probably want the slick and seamless user experience they can get by building a progressive web app in React.
jedwards1211··on Lyrebird – An API to copy the voice of anyone
I was pretty impressed by fake Obama's voice. Obviously it doesn't stand up to close scrutiny, but I think if I heard it playing in the background, I could be fooled. And the biggest giveaway was occasional weird intonation rather than the timbre of his voice. All they have to do is make it to where you say a sentence, and it matches your intonation with the other person's voice.
jedwards1211··on Lyrebird – An API to copy the voice of anyone
Yes, but imagine a human impersonator who has infinite time to take requests from anyone and generate free recordings of any person with a substantial online audiovisual presence.
jedwards1211··on Lyrebird – An API to copy the voice of anyone
Avoiding court misjudgment is reasonably possible.

How we're going to fight against people believing whatever sound bytes from fake news they want to believe is a harder question...

jedwards1211··on MIT Values
To the people who are complaining about this sort of thing: where do you draw the line on free speech on college campuses? For instance would you want universities to allow students to use racial slurs, with malice, in classroom discussions or paper, without any disciplinary consequences?
jedwards1211··on MIT Values
Exactly. It would be helpful if that document went into detail about what can be classified as discrimination, hate speech, etc. so as to make those terms less malleable and abusable. I also wish that it emphasized the intent of someone's speech and actions rather than the content or other's reactions to speech.
jedwards1211··on MIT Values
That document classified nothing as true or untrue; it simply stated some things that are not compatible with the university's mission (goals being inherently subjective) and that the professors would resist such things. I would prefer that the document acknowledge that racism, bigotry, etc. are subjective judgments, however; it spoke of them as if they were objective classifications.
jedwards1211··on Automated Inference on Criminality Using Face Images
that brings up an important point -- being convicted or incarcerated might affect one's daily mood enough to change their resting facial expression -- so to control for that the study should have made sure to only use photos of criminals taken before their first arrest or conviction, perhaps even before their first confessed criminal act if possible.
← PreviousPage 2 of 2