Randomness

From Maze

(Difference between revisions)
Jump to: navigation, search
(Worked this section into draft text)
(→Randomness in Contemporary Computing)
Line 91:Line 91:
When a computer needs to generate a new password for a user, a URL that will let someone in to reset a password, or a CAPTCHA that will help to keep automated spammers out and allow access to legitimate users, randomness is employed. A regular password would allow for a password, URL, or distorted word that could be guessed. But randomness also plays a role behind the scenes of protocols such as SSH (Secure Shell) and SSL (Secure Sockets Layer). Random values are used in a few ways, including the generation of keys for encryption and to pad out the rest of a block when the plaintext message is too short to complete it. Without randomness, it wouldn't be possible to complete a secure credit card transaction on the Web, which is protected by an SSL connection. In fact, early versions of SSL as implemented in the Netscape browser suffered from being insufficiently random. The seeds for random number generation were the the current time, the process ID, and the parent process ID, which left the browser vulnerable to attack. The solution was better randomness.
When a computer needs to generate a new password for a user, a URL that will let someone in to reset a password, or a CAPTCHA that will help to keep automated spammers out and allow access to legitimate users, randomness is employed. A regular password would allow for a password, URL, or distorted word that could be guessed. But randomness also plays a role behind the scenes of protocols such as SSH (Secure Shell) and SSL (Secure Sockets Layer). Random values are used in a few ways, including the generation of keys for encryption and to pad out the rest of a block when the plaintext message is too short to complete it. Without randomness, it wouldn't be possible to complete a secure credit card transaction on the Web, which is protected by an SSL connection. In fact, early versions of SSL as implemented in the Netscape browser suffered from being insufficiently random. The seeds for random number generation were the the current time, the process ID, and the parent process ID, which left the browser vulnerable to attack. The solution was better randomness.
−
[Random choice of wait time during exponential backoff for Ethernet.]
+
Computers using Ethernet - almost all of those that are plugged into wired networks - communicate with one another thanks to randomness, too. All systems on a single local area network send information over the same wire. If two of them start sending at the same time, what is known as a "collision" occurs; the data being sent is not intelligible to the intended recipients. When a collision happens, a sending computer that detects it sends a jamming signal and tries to restart. But instead of restarting immediately, it chooses at random to start or wait - and the other computer that was trying to send does the same. If there is another collision, the computers either send immediately or wait for one of three intervals. The increasing number of intervals is part of "exponential backoff," but the selection of one of them at random is also an essential part of this method of avoiding network congestion.
[Hashing? Simulation? Fault tolerance?]
[Hashing? Simulation? Fault tolerance?]

Revision as of 15:51, 16 June 2011

View this revision of Randomness.

Personal tools