Catch up on stories from the past week (and beyond) at the Slashdot story archive


Forgot your password?

Comment: Re:Difficult? (Score 1) 152

by Mr.Z of the LotFC (#49674595) Attached to: The Best Way To Protect Real Passwords: Create Fake Ones

If only the passwords (& not usernames or URLs or whatnot) are encrypted & no checksum or other verification is used, then entering the wrong master password could very well cause it to decrypt to completely useless but structurally valid passwords.

Of course, care would need to be taken to ensure the result is always valid...probably have a "password format" field that indicates what format the password is allowed to have (at least 1 of each of these types of character, at least 8 characters & no more than 16, that sort of thing), then do a "base conversion" of sorts so that valid passwords map to consecutive integers. The only remaining problem is if the format does not pack nicely into an integral number of bits, since then you might get out-of-range values with certain choices for the master password, but this can either be ignored (you rule some fraction of the master passwords out but still have to do a lot of searching) or handled by randomly (not necessarily uniformly...) choosing any value that is equivalent modulo the number of passwords allowed by the format.

Comment: Re:Koomey's law (Score 1) 101

by Mr.Z of the LotFC (#49476307) Attached to: Fifty Years of Moore's Law
The space requirement is not infinite for reversible computing unless it is also infinite for irreversible computing (& thus equally impractical), even if you want a polynomial slowdown. The paper proves this. That 3 GHz CPU either has finite external memory (& thus loops or stops after at most exponentially many steps (or, in the real world, suffers hardware failure)) or infinite external memory (in which case, you have already solved the infinity problem).

Comment: Re:Koomey's law (Score 1) 101

by Mr.Z of the LotFC (#49475661) Attached to: Fifty Years of Moore's Law
Reversible Space Equals Deterministic Space says that for a Turing machine running in time T(n) & space S(n), you can get the space & time both linear in T(n) (as I suggested) or space O(S(n) log T(n)) with time O(T(n)^(1+epsilon)) or space O(S(n)) with time exponential in T(n). So there is a tradeoff, but the space does not have to be (more than linearly) worse if you are willing to wait (way too long, of course, unless you are already worrying about the heat death of the universe), & not much worse for space or time in the middle case.

Comment: Re:Koomey's law (Score 1) 101

by Mr.Z of the LotFC (#49475389) Attached to: Fifty Years of Moore's Law

Hmm. I suppose that can be true in an iterative setting (needing to store some data from every iteration), & that the only hope of avoiding that is rewriting the whole loop to be fully reversible so it does not consume space every iteration. (It cannot take more space than linear in the run time, at any rate.) I was imagining recursive functions with stack allocation for each, but I should know better since I use tail recursion all the time. So I guess I was only right about iteration- & tail-recursion-free code.

On the other hand, it should not require more than an exponential increase (hah, only exponential) in space for any terminating & non-interactive computation, since with that you could store every possible state of the original irreversible machine. For non-terminating computation, it is at worst linear in the runtime, as aforementioned.

Comment: Re:Koomey's law (Score 1) 101

by Mr.Z of the LotFC (#49475141) Attached to: Fifty Years of Moore's Law

B=A XOR B (leaving A unchanged) is a reversible operation & is what I meant. More generally, B=f(A) XOR B is reversible (in fact, self-inverse), where f can be any (even irreversible) function.

Sure, you need to save the input to otherwise-irreversible steps, but the point is that you can erase a known value, & since there was some method to compute the intermediate values in the first place, they can be removed from memory in reverse order. (This is a known method—I did not come up with it.) Then you only need enough memory to store the maximum intermediate storage size (which is not all intermediate results unless the computation is a single list of originally-irreversible steps with no subroutines & such), & you can eventually end up with just the answer (& any inputs) remaining in memory.

Comment: Re:Koomey's law (Score 1) 101

by Mr.Z of the LotFC (#49474781) Attached to: Fifty Years of Moore's Law
Reversible computing in no way requires infinite just compute something, copy the answer, & then un-compute it (by computing each value in reverse order & XORing it with its original copy, for example). You then only need storage for the maximum size of temporary data plus the final answer, just like now. You get a speed penalty for all that un-computation, of course, but not infinite storage. Plus, you can still expend energy occasionally to erase data (such as the data left over from correction of hardware errors), just as long as you do not do so much as to incinerate your computer.

Comment: Re:Don't tell Kurzweill (Score 1) 101

by Mr.Z of the LotFC (#49474431) Attached to: Fifty Years of Moore's Law
Making use of reversible computing, we could build fully 3-D circuitry since there would be much less power to dissipate (although still some to correct hardware errors & perhaps to clean up crashed processes). This would in turn get around no longer being able to make smaller transistors, & thus could be one future direction. Fabrication might be more tricky, but more money could go into such projects if it is not going into smaller, smaller, smaller. Software would similarly require changes, but again, once there is no easy way forward, harder ones will be attempted, like has happened with methods of gold & oil extraction.

Comment: Re:Nice, so where's the processor to match? (Score 1) 152

by Mr.Z of the LotFC (#49471179) Attached to: Sharp Announces 4K Smartphone Display
One use would be as a glasses-free 3D display (if they used something like a lenticular layer, although it would need to be active to adjust for viewing distance). Of course, the GPU would need to catch up, as you say. In fact, it might make sense to have a 4K panel configured as an HD 3D display that allows screen rotation (& just double up the pixels in the currently-vertical direction)...that way, you only need twice the GPU power of an HD display rather than 4X. If the lenticular layer can be switched off entirely, it could even switch to full 4K (at a lower frame rate if necessary) for things like viewing text & relatively-static images.

Comment: HWRNG (Score 1) 56

by Mr.Z of the LotFC (#49415315) Attached to: How To Make a Bitcoin Address With a TI-89 Calculator

Did they try finding an entropy source on-calculator like Linux uses for /dev/random? It seems that reading from an unconnected address occasionally yields different values...maybe characterize the distribution to get a lower bound on its entropy, then let it run automated for however many seconds or minutes it takes to accumulate enough. It would be easier on the user than rolling a die a bunch. (Of course, it might be hard to rule out systematic trends in the bits returned without intimate knowledge of the physics of the hardware involved.)

For that matter...what about the slight bias of actual physical dice rolled by humans? You only get ~258 bits from 72d12, assuming it is perfectly random. You need extra rolls to get the full 256 bits needed (with a sufficiently high probability), plus some strategy (hashing?) to mix the slightly spread-out entropy into a maximum-entropy key.

"Be *excellent* to each other." -- Bill, or Ted, in Bill and Ted's Excellent Adventure