What we need is Ipv6 capable NAT boxes that are capable of doinf 4/6 translation on the fly. The main barrier to adoption of that type of strategy is folk who really can't see beyond the end-to-end principle.
I think those would be called NPT boxes (network protocol translation)...
Where did you get this? There is at least one thing that a non-deterministic computer can do that a deterministic computer cannot: generate random numbers.
You vote for a minority Conservative government. It'll be non-Liberal, thus sending a clear message to everyone that corruption will *not* be tolerated by the Canadian people, and the opposition parties will keep them in line.
Here's how to secure the internet: Drop software patents and the remaining crypto export laws, and encourage other countries to do the same. The market will take care of the rest.
Syed was arbitrarily removed in 2002 for wearing her nose stud to work.
Canada has tougher labour laws than some places in the US. It's possible that Syed was really just a terrible employee, and that firing her "for the nose stud" was just less complicated than documenting all the other reasons and firing her for those.
I'd want to talk with some of her co-workers before I'd conclude that she was really being discriminated against.
Finally, AFAICR C doesn't support the implicit return at the end of main that C++ does, so there's a missing return statement. (I may be wrong about the third one if it was fixed in C99; I don't have a copy of the revised standard handy.)
You are correct. This is from ISO/IEC 9899:1999(E):
5.1.2.2.3 Program termination
1 If the return type of the main function is a type compatible with int, a return from the
initial call to the main function is equivalent to calling the exit function with the value
returned by the main function as its argument; reaching the } that terminates the
main function returns a value of 0. If the return type is not compatible with int, the
termination status returned to the host environment is unspecied.
substitute "the last bit of each byte" or "padbyte=rand(DVD-byte)" where rand() is a random-# generator and it's random enough.
[Disclaimer: I'm not an expert at cryptography, but I like to think I understand it better than most non-mathematicians outside the field. It would be really nice if a crypto expert could clarify this, but I don't expect that to happen on Slashdot.]
You are correct that your scheme would add some security, but not nearly as much as our intuition might lead us to believe.
Let's say you are going to transmit an n-bit message. Even if you don't transmit any information, an attacker knows that there are 2^n possible messages that you could transmit. If we assume that your message is compressed as much as possible, then before you transmit the message, all 2^n messages are equally likely (from an attacker's point of view).
So, you have n bits of data. We'll call this message P (the plaintext). Now, let's say you generate another n-bit random message, called K (the key). Finally, you xor P and K together to produce C (the ciphertext), which is also an n-bit message.
The theory behind the one-time pad says that if and only if there are at least 2^n equally-likely possibilities for K, then someone who only knows C cannot learn anything about P.
We can express this a different way. Let's say you have an invertible function, C = f(P), and:
P is 2^n bits long.
C is 2^n bits long.
There are at least 2^n equally-likely functions for the function f
Note that the function f is just a generic representation of the one-time pad algorithm and the key K, so similarly, we cam say that an attacker who knows nothing about the function f cannot learn anything about P from only C.
And that's the problem: every time you transmit a message (P) that isn't *completely* random, you give the attacker a little information about f, unless you completely change f every time you transmit a new message. This why you can never re-use a key in the one-time-pad system.
So let's say you have a key, K, that has fewer than 2^n equally-likely possibilities. Then, there are fewer than 2^n possible functions f. If there are still 2^n possible values for P, then an attacker can learn some information about P from C. So, if you don't want that to happen, you need to have 2^n possible functions for f.
So, you have 2^n equally-likely functions for f, and you need to use a different one for every message. In order to let the recipient know which function to use each time you transmit a message, you have to transmit at least n bits of information to the recipient. I think you can see where this is going...
If you were going to write an algorithm to implement the function f, the optimally-compressed description of the algorithm would have to be at least n bits long, and would need to be replaced for every new message that you send. It doesn't matter if f is an algorithm based on a DVD library, or a really complicated program. In order for the one-time pad to work (an attacker learns nothing about P from C), you need make sure that there are at least an additional n bits of information that the attacker knows nothing about.
So in your example, you'd still need to send a new 4GB (optimally-compressed) version of rand() for every 4GB message you send.
I can't wait until traffic comes to a screeching halt when somebody sets up a rogue transmitter that fakes GPS signals...
I think those would be called NPT boxes (network protocol translation)...
Where did you get this? There is at least one thing that a non-deterministic computer can do that a deterministic computer cannot: generate random numbers.
Yes, but people like Bruce Perens have enough brains to know when to stop talking.
I actually like the design. Rather than designing your own channel multiplexing protocol, you just re-use TCP.
Most of your post is pretty good, but you would do well to avoid placing categorizing yourself in such a one-dimensional way.
Hmm... Aren't axiomatic systems deterministic? Is a Turing machine still a Turing machine if you add non-deterministic components to it?
Do you check your SSH host key fingerprints?
You see, Theo, it's probably a reference to the HOUSE of COSBYS, you know.
... which is somewhat amusing, since having a menu bar at the top of the screen is actually better design.
SCO is already thoroughly screwed, although it would be funny.
Their spec could use some improvement, though. A few complete examples would be nice.
+1, Original
Um... We'd have to see the rest of the entries to determine anything from that...
You vote for a minority Conservative government. It'll be non-Liberal, thus sending a clear message to everyone that corruption will *not* be tolerated by the Canadian people, and the opposition parties will keep them in line.
Have you ever *watched* CSI? I think they already do this.
Doing autopsies in the dark because 'it looks cool' is a little too much for me....
Crackers don't want your savegames; they want your Internet connection.
Here's how to secure the internet: Drop software patents and the remaining crypto export laws, and encourage other countries to do the same. The market will take care of the rest.
I question credibility of any scientist that brings them up.
Canada has tougher labour laws than some places in the US. It's possible that Syed was really just a terrible employee, and that firing her "for the nose stud" was just less complicated than documenting all the other reasons and firing her for those.
I'd want to talk with some of her co-workers before I'd conclude that she was really being discriminated against.
No... No more "Woot! I am leet haxor. I pwn noobs!"
You are correct. This is from ISO/IEC 9899:1999(E):
(emphasis added)[Disclaimer: I'm not an expert at cryptography, but I like to think I understand it better than most non-mathematicians outside the field. It would be really nice if a crypto expert could clarify this, but I don't expect that to happen on Slashdot.]
You are correct that your scheme would add some security, but not nearly as much as our intuition might lead us to believe.
Let's say you are going to transmit an n-bit message. Even if you don't transmit any information, an attacker knows that there are 2^n possible messages that you could transmit. If we assume that your message is compressed as much as possible, then before you transmit the message, all 2^n messages are equally likely (from an attacker's point of view).
So, you have n bits of data. We'll call this message P (the plaintext). Now, let's say you generate another n-bit random message, called K (the key). Finally, you xor P and K together to produce C (the ciphertext), which is also an n-bit message.
The theory behind the one-time pad says that if and only if there are at least 2^n equally-likely possibilities for K, then someone who only knows C cannot learn anything about P.
We can express this a different way. Let's say you have an invertible function, C = f(P), and:
Note that the function f is just a generic representation of the one-time pad algorithm and the key K, so similarly, we cam say that an attacker who knows nothing about the function f cannot learn anything about P from only C.
And that's the problem: every time you transmit a message (P) that isn't *completely* random, you give the attacker a little information about f, unless you completely change f every time you transmit a new message. This why you can never re-use a key in the one-time-pad system.
So let's say you have a key, K, that has fewer than 2^n equally-likely possibilities. Then, there are fewer than 2^n possible functions f. If there are still 2^n possible values for P, then an attacker can learn some information about P from C. So, if you don't want that to happen, you need to have 2^n possible functions for f.
So, you have 2^n equally-likely functions for f, and you need to use a different one for every message. In order to let the recipient know which function to use each time you transmit a message, you have to transmit at least n bits of information to the recipient. I think you can see where this is going...
If you were going to write an algorithm to implement the function f, the optimally-compressed description of the algorithm would have to be at least n bits long, and would need to be replaced for every new message that you send. It doesn't matter if f is an algorithm based on a DVD library, or a really complicated program. In order for the one-time pad to work (an attacker learns nothing about P from C), you need make sure that there are at least an additional n bits of information that the attacker knows nothing about.
So in your example, you'd still need to send a new 4GB (optimally-compressed) version of rand() for every 4GB message you send.
Nice try, though. Keep it up!
Because of the birthday "paradox", MD5 takes on average 2^64 operations to find a collision. You often have a similar problem using 128-bit keys.