The initial cost of each shuttle comes from NASA, John Glenn, PBS/NOVA and Sandia National Laboratories. They're all in agreement except for the price of Endeavour, in which three of the four sources list $2.1 billion and NASA claims $1.7 billion.
The $450 million per flight number comes from NASA. See this link for details.
The $1 billion amortized launch expense 1977-1993 comes from Aviation Week Forum on Compu$erve, 26 July 1993.
The first shuttles cost $1.7 billion apiece; Endeavour cost $2.1 billion because long-abandoned fabrication plants had to be reactivated.
Each shuttle flight cost $450 million.
Back in '93 on the Compu$erve Aviation Week forum, some smart Johnny pointed out that if you took the total Space Shuttle budget from 1977-1993 and divided it by the flights over that same time period, you came up with an amortized flight cost of $1 billion per flight.
The Space Shuttle was never reusable. After every flight, it was essentially stripped down to parts and rebuilt. Main engines which were meant for 27,000 seconds of operation were doing well to get a tenth of that.
So could we please stop spreading this silly meme about the Shuttle being "reusable"? It's not. Never was.
In the end, the Shuttle has proven to be disposable. Unfortunately, the lives lost with each disposable Shuttle aren't.
If you sell out for a price, regardless of circumstances, it means you sold out.
H.L. Mencken was at a high society function and speaking with one of the grande dames of society. After some initial witty small talk, he asked her "Madame, would you sleep with me for a million dollars?"
Much laughter later, she agreed.
"Madame, would you sleep with me for one dollar?"
The dame was grievously offended and asked Mencken what she thought she was--some whore?
"Madame, we've already established that you're a whore," he replied. "Now we're just dickering about your price."
The Jews didn't invent the principle, they inherited it from the Babylonians.
On the contrary. Who established the Code of Hammurabi? Hammurabi; that's why it's named after him. If Hammurabi wanted to say "you know, I really don't like this law, this peasant screwed me over and I want to torture him a few weeks before having him slaughtered"... there was nothing to stop him. When a government puts limits on itself, those limits are, and always will be, arbitrary and subject to arbitrary revocation or suspension.
On the other hand, when the people believe "God has said `you cannot exact vengeance past a certain point'" (or, for the secularists in the audience, "it is universally morally wrong to exact vengeance past a certain point"), that's a very real limitation on government: because a government which violates these precepts will lose its legitimacy in the eyes of the people.
The way Hebrew law was brilliant was that it established certain things as being moral absolutes which government could not lawfully suspend. That's why Hebrew law establishes limits on the power of government to punish--but the Code of Hammurabi established no limits, only guidelines which could (and were, if you've read much history from that era) be suspended at the whim of the ruler.
Lex talionis is not, and never has been, "an eye for an eye, a tooth for a tooth, a life for a life". Lex talionis is a view towards law that treats justice as interchangeable with retribution. If someone puts out your eye, then go over and slaughter the sonufabitch--that's lex talionis in a nutshell. What the lex talionis codes did was codify this pre-existing principle and give it color of law.
On the other hand, Hebrew law has not been viewed as proscriptive, but rather prohibitive. Instead of saying "retribution is justice", the Hebrew scriptures actually put limits on the government's ability to authorize retribution--you were forbidden from exacting vengeance past the wrong done to you. If someone put out my eye, I wasn't allowed to put their entire family to the sword.
"An eye for an eye, a tooth for a tooth, a life for a life" is, like much of the Old Testament, usually read with absolutely no clue about the context in which it was written. Look at the Code of Hammurabi, which is another legal code from roughly the same period in antiquity. The Code can be summed up as "if you transgress these laws in any way, you're going to get killed. Or if your transgression was really minor, just permanently maimed." That was a helluva system of laws, let me tell you. That's all it was: a system of laws. There was no concept of justice at that time, just pure, unadulterated law, and if you broke it, you died.
Then along come the Jews and their principle of "an eye for an eye, a tooth for a tooth, a life for a life"... and this system of laws was hailed as moral, merciful, and just. Why? Because it established limits on what the government could mete out for punishment.
So the next time you feel like condemning Hebrew law ("an eye for an eye") as a "morally bankrupt code", please consider the other options available at the time. And also consider that you're completely misunderstanding what the entire point of the Hebrew "an eye for an eye" instruction was and is.
It was, believe it or not, perhaps the first time in human history that someone put limits on the power of government and established that there were moral limits to governmental power. As such, it deserves our respect.
Stop thinking about the encrypted bits. Start thinking about who sent these bits and who these bits were sent to. Think about the application which created the data. Think about what purpose the data is going to be used.
Once you have this information, you'll be much better equipped to figure out what the basic structure underpinning the cipher is. For instance, if the data is part of a realtime encrypted stream, I'd think "stream cipher" and look at RC4 or SEAL. If the data's part of a pen-and-paper arrangement with all values mod 26, I'd think "Solitaire". If the data's a pen-and-paper arrangement meant for communicating between two deep-cover espionage agents, I'd think "one-time pad". If the data's something pulled off a disk drive, I'd think of Matt Blaze's ECB+OFB algorithm. Etc.
What it boils down to is, this question is pretty arbitrary. Very rarely will you have no metainformation about the plaintext. Seek out as much metainformation as you can, and use the metainformation to make educated guesses, cribs, etc.
Schneieer has a lovely explanation of why you can't brute force a 256-bit key.
There are both time and power requirements. Time can always be sidestepped just by making faster processors, up until you hit the Planck Time. Power, on the other hand, is much harder to sidestep. So let's look at that, shall we?:)
Let's set up a couple of baselines for our brute-forcers. One, they're deterministic Turing machines (i.e., no quantum computing--although you can make a similar power analysis for QC, I'm not going to do it here). Two, they are running at the very limits of thermodynamic possibility. Thermodynamics places a limit on kT joules of energy to erase a bit, where k = Boltzmann constant and T = whatever temperature your computer is running at. So let's assume we've got a machine running at 3.2 Kelvins (the ambient temperature of the universe), and thus requires 4.4 * 10**-26 joules of energy per bit erasure. These are our assumptions about our hardware efficiency.
As if we weren't making this easy enough, let's say that we can test one key with each bitflip. I.e., we don't have to worry about key schedules or initialization costs or... each time we flip a bit, we (a) create a new key and (b) check this key to see if it works. These are our assumptions about our software efficiency.
To break a 128-bit key will require, on average, 2**127 attempts. Multiply (2**127) * (4.4 * 10**-26) and you get... 7.4 * 10**12 joules of energy needed. That's 7.4 terajoules, or about two million kilowatt-hours. I.e., with a thermodynamically perfect computer running perfect algorithms, we could theoretically break a 128-bit cipher by brute force using a significant portion of the entire United States power grid.
To break a 256-bit key by brute force, using those same assumptions, would require over one googol joules. That's right, guys, 1.3 * 10**102. Not only do we not have access to that much energy, I doubt there's that much energy in the entire Milky Way galaxy. Nor do I know how we could harness that much energy without having some symmetry-breaking event which would annihilate the Universe as we know it.
And remember, these are calculations assuming perfect computers and perfect algorithms. We're nowhere near either.
Short version: we're not going to break 128-bit crypto anytime soon by brute force. I doubt we will ever be able to break 256-bit crypto by brute force.
Not just let's throw him in the Slammer. Let's throw him in Federal Pound-Me-In-The-Ass prison [*] with a cellmate who's affectionately known as... the Slammer.
"So, Mr. Worm Writer, are you enjoying your cellmate's one-eyed worm?"
Technically, DES does have a 64-bit key; it's just that eight of the key bits are used for parity checking and contribute nothing to the security of the algorithm, leaving the key with 56 bits of entropy. Many software implementations do away with the parity bits altogether and just use a raw 56-bit key, but the original spec called for 64-bit keys.
Judging from your comment about how Visual Basic is the only useful elective left, that leads me to think this is your senior year. If you're an upperclassman and you're having trouble with COBOL and Visual Basic, find another major.
COBOL and Visual Basic are both pretty simple imperative languages--the simplest form of language to understand. (Yes, VB has objects nowadays, but it's usually used in a mostly-imperative fashion.) Not only that, but you already know C++, which supports both imperative and object-oriented programming.
It's not like you're suddenly dropped into an AI course and you have to learn LISP and PROLOG both; it's not like you've been thrown a copy of Ullman's Elements of ML Programming and told you have a test on OCaml in a week. These languages all make you think about problems in a totally new way, and that can take a significant investment of time. But learning imperative languages when you already understand imperative programming should not be difficult. You're not learning anything new; you're just learning a new vocabulary and grammar to express things you already know.
If it'll give you any problems, you should give very serious thought to whether or not you want to make computer science your career. It sounds as if you possess neither inclination nor motivation, and you will probably be a much happier person if you can find a field for which you possess both inclination and motivation.
"The rate of normal English takes various values between 1.0 bits per letter and 1.5 bits per letter... [Shannon] indicated a rate of 2.3 bits/letter for 8-bit chunks, but the rate drops to between 1.3 and 1.5 for 16-letter chunks. Thomas Cover used a gambling estimating technique and found an entropy of 1.3 bits/character."
I like to use 1.5 for my ballpark figures, since it makes the math easier; but assuming the most conservative value of 1.3, that still means a 70-character passphrase in plain English has 91 bits of entropy.
That's a freaking lot, incidentally.
How long did it take the RC5-64 challenge to succeed? Multiply that by 128 million. That's how long it would take them, on average, to break a 91-bit passphrase.
Would you care to revise your statement about not very long, since your passphrase is probably just a text sentence type string, and language has extremely low entropy... it's vulnerable to an elaborate dictionary attack?
PGP 6.5.8 uses CAST5-128 to encrypt the private key, and uses SHA-160 to redact the passphrase into a cryptographic key; the last 32 bits are discarded.
According to Shannon, Schneier, etc., English has about 1.5 bits of entropy per glyph. You'd be looking at much higher entropy per glyph if your passphrase was random, had alphanumerics, etc.--still, for simplicity's sake, let's take the 1.5 bits per glyph as canonical.
The C preprocessor isn't Turing-complete. Try and write the following code in C:
=====
#include <iostream>
template <unsigned long n> struct factorial {
const static unsigned long value = n * factorial::value; };
template <> struct factorial<0> {
const static unsigned long value = 1; };
int main(void) {
using namespace std;
cout << "10! = " << factorial<10>::value << endl;
return 0; }
=====... Free hint: it optimizes for an O(1) execution time, at the price of an ungodly compile time. Template metaprogramming rocks. And you can't do it in C.:)
I dunno what the mass would be, but I suspect the mass of all the workmen's comp claims, SPF 5000 sunblock and all the environmental impact paperwork would exceed the Chandrasekhar Mass and undergo gravitational collapse into a black hole which would destroy the solar system.
So let's not put that one to an empirical test, huh?:)
Imagine, please, that you have a pipe 1m in diameter stretching from just past Earth's atmosphere to the Alpha Centauri system. (Ignore the engineering difficulties, please.)
Can you guess how much all the contents of that pipe would weigh?
Less than a kilogram.
Considerably less than a kilogram.
I would tell you just how tiny, but you wouldn't believe me. I'll let you do the math: the observed density of the universe is 2.1 * 10**-29 kilograms per cubic meter. From here to Alpha Centauri is about 4.5 lightyears, and each lightyear is 9.5 * 10**15 meters.
So we're looking at a total distance of about 4*10**16m to Alpha Centauri. Multiply that by the cross-sectional area of our pipe (.6m) and you get... 2.4 * 10**16m**3 of volume.
Multiply that by the observed density of the universe and you get...
5 * 10**-13 kilograms.
Yeah. Like I said. Considerably less than a kilogram.
Your post shows a severe lack of understanding about space. One, it's freaking cold. Two, once you get past Saturn you can pretty much write off solar flares and activity. Three, sure, there are energetic cosmic rays--but they're here on Earth, too, so Earth's no better off. (No, our atmosphere doesn't protect us in any substantial way from cosmic rays.)
If you were to stand on Pluto and turn on a cell phone, the radio signal from your cell phone would be the brightest electromagnetic signal in the sky--by orders of magnitude.
Space is overwhelmingly small, dark and quiet. Yes, there is the occasional bit of matter which can be a real royal pain in the ass... but the odds of a collision are, well, astronomical.
I don't think you understand a damn word of what you just posted, and it astonishes me that you can get a +4 moderation for being totally flipping wrong.
Uh, guy, you do know that Teflon-coated bullets aren't armor-piercing, and that the NRA actually led the way in writing legislation to ban armor-piercing ammunition, right?
Thought not.
You see, you make armor-piercing bullets out of very hard metals--steel, zinc or brass all work. They're much harder than lead, they don't deform when they hit the target, and as a result, they can punch through steel. Including the steel of a gun barrel--firing steel bullets out of a gun will destroy the barrel in just a few shots.
So in order to protect the barrel from the steel bullets, the KTW Corporation started... coating their bullets in Teflon.
And this is how the media myth of Teflon bullets came about.
The NRA was opposed to anti-Teflon-bullet laws because the NRA knew that wouldn't solve the problem. Instead, the NRA wanted to push legislation which would ban bullets which had cores made out of certain materials--like steel, zinc and brass.
Of course, because "everybody knew" the Teflon was what made a bullet armor-piercing, the NRA got pilloried in the press.
The NRA did the country a favor when they convinced Congress not to ban Teflon rounds, and instead to ban steel, brass and zinc-core rounds... and the country will never forgive the NRA for it.
A lot of kids who are diagnosed with ADD/ADHD don't have that particular mental condition. There are many other conditions which have symptoms similar to ADD/ADHD. Most doctors and pretty much all schoolteachers are only familiar with ADD/ADHD, though, so... "if it looks like ADD, it's ADD."
Even when it's not.
Please, if you haven't already done so, go get your child checked out by a qualified professional NOT affiliated with the school. Make sure to ask about other pervasive developmental disorders, such as hyperlexia, Asperger's Syndrome, PDD-NOS, and so forth.
If your child really has ADD/ADHD, the first step is obviously to get her medical treatment for ADD/ADHD. If your child really has Asperger's Syndrome, or PDD-NOS, or... then the first step is to get her properly diagnosed.
Speaking personally, I have Asperger's--so I'm firsthand acquainted with how easily kids can be misdiagnosed by well-meaning but blind school officials and school psychiatrists.
Differentiate "peacetime expendables" from "wartime expendables", please.:) The Marine Corps might be able to go a month in the field for peacetime operations without serious resupply. In combat conditions, they might well need resupply in a matter of hours, depending on how frenetic the tempo is.
In Afghanistan, many Marine Corps bases were (still are, in some cases) getting supplies flown to them 600 miles by carrier aviation and helicopter, resupplied from Navy replenishment vessels in the Indian Ocean. These resupply flights were, are, daily occurrences. If the Corps could take care of itself for a solid month at a full combat tempo without the need for resupply, I doubt they'd make dangerous daily resupply runs.
(And yeah, daily resupply is really dangerous. You never know when some Taliban with a Stinger is going to be lying in wait for the helo or plane to come in.)
Like I said... 5,000 troops. They wouldn't have been even a speed bump.
The Marine Corps is also not a self-sustaining unit. They can't be; being self-sustaining requires carrying around so many supplies that it would destroy the Corps' utility as a rapid-reaction force. The Corps can get anywhere in the world in just a few hours, and they can hold that position against even the forces of hell... but burning through expendables which they cannot replace on their own. Within days of first contact, the expendables are gone and they're stuck throwing rocks at the bad guys to make them stop.
This isn't a slam against the Corps, by the by. It's just an acknowledgment that it is not the Corps' job to hold the line. That's the Army's job. It's the Corps' job to be the "kick the door down" reaction force. They get in, they hit like hell, and then they'd better be relieved by Army troops or else the Marines are going to be in a whole lot of trouble.
I consider it much more important to have an intelligent army than a bigass army.
Intelligence costs money. You want a light army that can go anywhere in twenty-four hours or less, which has overhead assets, signals intercepts, secure communications, all these other things that help make an army so effective? It's going to cost a lot of money.
Sure, we don't need huge numbers of troops anymore... but that doesn't mean we need a reduced military budget. Combat effectiveness costs money. There's no way around that. You cannot have an effective and professional military force while nickel-and-diming them to death.
It's sort of like the old saw about the $500 wrench. Yes, it really did exist; it was used to remove seat bolts on F-16A jet fighters. Yes, a $3.99 wrench from the hardware store could also undo the bolts. What the $500 wrench could do that the $3.99 wrench couldn't do was hold the bolts securely even after they'd been removed, so that the bolt wouldn't fall between the seat and the fuselage and go about rattling into the heart of the F-16A's avionics. Once that happened, it required $200,000 of labor and materials to disassemble the plane enough to find and remove the bolt. Sure, the proper fix would be change the damn seat design, which they did in the F-16C series. But as an interim fix, a $500 wrench is pretty darn cost-effective, given the risk of using a $3.99 wrench.
Even the Romans knew that soldiers cost money, lots of it, and there was no way around it. The word `soldier' comes from a Latin root... meaning `to pay'.
Unless you were there, you didn't see the Gulf War. You saw what someone else wanted you to see. That someone else may have been a military censor, may have been a CNN camera crew, may have been the BBC, may have been Al-Jazeers for all I know--but you didn't see the Gulf War.
It was a bloodless war because of superior leadership.
One, it wasn't a bloodless war. Find out how many Iraqis died sometime.
Two, it was a one-sided war because Hussein was stupid enough to give us a couple of months to build up our forces. At the time he invaded Kuwait, we had fewer than 5,000 troops in Saudi. The Republican Guard wouldn't have even noticed that few troops--it wouldn't even have been a speedbump on the road to Riyadh.
In the space of just a few months, though, we had aircraft carriers--each with more naval power than existed in all of World War Two--in the Gulf, we had E-3s airborne over Prince Sultan and Riyadh, we had EW craft jamming Iraqi radars, and we'd dropped tens of thousands of tons of bombs on Iraq. Not smart bombs, either--only 3% of all bombs in the Gulf War were precision-guided.
We were able to get all that materiel to the Gulf in the space of a handful of months precisely because we'd invested a hell of a lot of money in (a) materials and (b) logistics. To suggest that those two can be entirely done away with just by getting "good generals" is to commit the ultimate armchair general's mistake.
Amateurs talk about strategy and tactics.
Professionals talk about materiel and logistics.
You can't have supplies, or the means to transport supplies quickly and effectively, if you aren't willing to invest in them.
The initial cost of each shuttle comes from NASA, John Glenn, PBS/NOVA and Sandia National Laboratories. They're all in agreement except for the price of Endeavour, in which three of the four sources list $2.1 billion and NASA claims $1.7 billion.
The $450 million per flight number comes from NASA. See this link for details.
The $1 billion amortized launch expense 1977-1993 comes from Aviation Week Forum on Compu$erve, 26 July 1993.
The first shuttles cost $1.7 billion apiece; Endeavour cost $2.1 billion because long-abandoned fabrication plants had to be reactivated.
Each shuttle flight cost $450 million.
Back in '93 on the Compu$erve Aviation Week forum, some smart Johnny pointed out that if you took the total Space Shuttle budget from 1977-1993 and divided it by the flights over that same time period, you came up with an amortized flight cost of $1 billion per flight.
The Space Shuttle was never reusable. After every flight, it was essentially stripped down to parts and rebuilt. Main engines which were meant for 27,000 seconds of operation were doing well to get a tenth of that.
So could we please stop spreading this silly meme about the Shuttle being "reusable"? It's not. Never was.
In the end, the Shuttle has proven to be disposable. Unfortunately, the lives lost with each disposable Shuttle aren't.
See my full rant about the Shuttle here.
If you sell out for a price, regardless of circumstances, it means you sold out.
H.L. Mencken was at a high society function and speaking with one of the grande dames of society. After some initial witty small talk, he asked her "Madame, would you sleep with me for a million dollars?"
Much laughter later, she agreed.
"Madame, would you sleep with me for one dollar?"
The dame was grievously offended and asked Mencken what she thought she was--some whore?
"Madame, we've already established that you're a whore," he replied. "Now we're just dickering about your price."
The Jews didn't invent the principle, they inherited it from the Babylonians.
On the contrary. Who established the Code of Hammurabi? Hammurabi; that's why it's named after him. If Hammurabi wanted to say "you know, I really don't like this law, this peasant screwed me over and I want to torture him a few weeks before having him slaughtered"... there was nothing to stop him. When a government puts limits on itself, those limits are, and always will be, arbitrary and subject to arbitrary revocation or suspension.
On the other hand, when the people believe "God has said `you cannot exact vengeance past a certain point'" (or, for the secularists in the audience, "it is universally morally wrong to exact vengeance past a certain point"), that's a very real limitation on government: because a government which violates these precepts will lose its legitimacy in the eyes of the people.
The way Hebrew law was brilliant was that it established certain things as being moral absolutes which government could not lawfully suspend. That's why Hebrew law establishes limits on the power of government to punish--but the Code of Hammurabi established no limits, only guidelines which could (and were, if you've read much history from that era) be suspended at the whim of the ruler.
Lex talionis is not, and never has been, "an eye for an eye, a tooth for a tooth, a life for a life". Lex talionis is a view towards law that treats justice as interchangeable with retribution. If someone puts out your eye, then go over and slaughter the sonufabitch--that's lex talionis in a nutshell. What the lex talionis codes did was codify this pre-existing principle and give it color of law.
On the other hand, Hebrew law has not been viewed as proscriptive, but rather prohibitive. Instead of saying "retribution is justice", the Hebrew scriptures actually put limits on the government's ability to authorize retribution--you were forbidden from exacting vengeance past the wrong done to you. If someone put out my eye, I wasn't allowed to put their entire family to the sword.
"An eye for an eye, a tooth for a tooth, a life for a life" is, like much of the Old Testament, usually read with absolutely no clue about the context in which it was written. Look at the Code of Hammurabi, which is another legal code from roughly the same period in antiquity. The Code can be summed up as "if you transgress these laws in any way, you're going to get killed. Or if your transgression was really minor, just permanently maimed." That was a helluva system of laws, let me tell you. That's all it was: a system of laws. There was no concept of justice at that time, just pure, unadulterated law, and if you broke it, you died.
Then along come the Jews and their principle of "an eye for an eye, a tooth for a tooth, a life for a life"... and this system of laws was hailed as moral, merciful, and just. Why? Because it established limits on what the government could mete out for punishment.
So the next time you feel like condemning Hebrew law ("an eye for an eye") as a "morally bankrupt code", please consider the other options available at the time. And also consider that you're completely misunderstanding what the entire point of the Hebrew "an eye for an eye" instruction was and is.
It was, believe it or not, perhaps the first time in human history that someone put limits on the power of government and established that there were moral limits to governmental power. As such, it deserves our respect.
Stop thinking about the encrypted bits. Start thinking about who sent these bits and who these bits were sent to. Think about the application which created the data. Think about what purpose the data is going to be used.
Once you have this information, you'll be much better equipped to figure out what the basic structure underpinning the cipher is. For instance, if the data is part of a realtime encrypted stream, I'd think "stream cipher" and look at RC4 or SEAL. If the data's part of a pen-and-paper arrangement with all values mod 26, I'd think "Solitaire". If the data's a pen-and-paper arrangement meant for communicating between two deep-cover espionage agents, I'd think "one-time pad". If the data's something pulled off a disk drive, I'd think of Matt Blaze's ECB+OFB algorithm. Etc.
What it boils down to is, this question is pretty arbitrary. Very rarely will you have no metainformation about the plaintext. Seek out as much metainformation as you can, and use the metainformation to make educated guesses, cribs, etc.
Yeah, I accidentally multiplied by 4.4e2x instead of 4.4e-2x. My bad. The results are still grotesque no matter how you slice and dice it, though.
Schneieer has a lovely explanation of why you can't brute force a 256-bit key.
:)
There are both time and power requirements. Time can always be sidestepped just by making faster processors, up until you hit the Planck Time. Power, on the other hand, is much harder to sidestep. So let's look at that, shall we?
Let's set up a couple of baselines for our brute-forcers. One, they're deterministic Turing machines (i.e., no quantum computing--although you can make a similar power analysis for QC, I'm not going to do it here). Two, they are running at the very limits of thermodynamic possibility. Thermodynamics places a limit on kT joules of energy to erase a bit, where k = Boltzmann constant and T = whatever temperature your computer is running at. So let's assume we've got a machine running at 3.2 Kelvins (the ambient temperature of the universe), and thus requires 4.4 * 10**-26 joules of energy per bit erasure. These are our assumptions about our hardware efficiency.
As if we weren't making this easy enough, let's say that we can test one key with each bitflip. I.e., we don't have to worry about key schedules or initialization costs or... each time we flip a bit, we (a) create a new key and (b) check this key to see if it works. These are our assumptions about our software efficiency.
To break a 128-bit key will require, on average, 2**127 attempts. Multiply (2**127) * (4.4 * 10**-26) and you get... 7.4 * 10**12 joules of energy needed. That's 7.4 terajoules, or about two million kilowatt-hours. I.e., with a thermodynamically perfect computer running perfect algorithms, we could theoretically break a 128-bit cipher by brute force using a significant portion of the entire United States power grid.
To break a 256-bit key by brute force, using those same assumptions, would require over one googol joules. That's right, guys, 1.3 * 10**102. Not only do we not have access to that much energy, I doubt there's that much energy in the entire Milky Way galaxy. Nor do I know how we could harness that much energy without having some symmetry-breaking event which would annihilate the Universe as we know it.
And remember, these are calculations assuming perfect computers and perfect algorithms. We're nowhere near either.
Short version: we're not going to break 128-bit crypto anytime soon by brute force. I doubt we will ever be able to break 256-bit crypto by brute force.
... but the opinions of the New York Times editorial staff certainly are. :)
What the hell, I got karma to burn. :)
... thank you, Office Space
Not just let's throw him in the Slammer. Let's throw him in Federal Pound-Me-In-The-Ass prison [*] with a cellmate who's affectionately known as... the Slammer.
"So, Mr. Worm Writer, are you enjoying your cellmate's one-eyed worm?"
[*]
Technically, DES does have a 64-bit key; it's just that eight of the key bits are used for parity checking and contribute nothing to the security of the algorithm, leaving the key with 56 bits of entropy. Many software implementations do away with the parity bits altogether and just use a raw 56-bit key, but the original spec called for 64-bit keys.
All this is, of course, IIRC.
Judging from your comment about how Visual Basic is the only useful elective left, that leads me to think this is your senior year. If you're an upperclassman and you're having trouble with COBOL and Visual Basic, find another major.
COBOL and Visual Basic are both pretty simple imperative languages--the simplest form of language to understand. (Yes, VB has objects nowadays, but it's usually used in a mostly-imperative fashion.) Not only that, but you already know C++, which supports both imperative and object-oriented programming.
It's not like you're suddenly dropped into an AI course and you have to learn LISP and PROLOG both; it's not like you've been thrown a copy of Ullman's Elements of ML Programming and told you have a test on OCaml in a week. These languages all make you think about problems in a totally new way, and that can take a significant investment of time. But learning imperative languages when you already understand imperative programming should not be difficult. You're not learning anything new; you're just learning a new vocabulary and grammar to express things you already know.
If it'll give you any problems, you should give very serious thought to whether or not you want to make computer science your career. It sounds as if you possess neither inclination nor motivation, and you will probably be a much happier person if you can find a field for which you possess both inclination and motivation.
Schneier, page 234:
... it's vulnerable to an elaborate dictionary attack?
"The rate of normal English takes various values between 1.0 bits per letter and 1.5 bits per letter... [Shannon] indicated a rate of 2.3 bits/letter for 8-bit chunks, but the rate drops to between 1.3 and 1.5 for 16-letter chunks. Thomas Cover used a gambling estimating technique and found an entropy of 1.3 bits/character."
I like to use 1.5 for my ballpark figures, since it makes the math easier; but assuming the most conservative value of 1.3, that still means a 70-character passphrase in plain English has 91 bits of entropy.
That's a freaking lot, incidentally.
How long did it take the RC5-64 challenge to succeed? Multiply that by 128 million. That's how long it would take them, on average, to break a 91-bit passphrase.
Would you care to revise your statement about not very long, since your passphrase is probably just a text sentence type string, and language has extremely low entropy
PGP 6.5.8 uses CAST5-128 to encrypt the private key, and uses SHA-160 to redact the passphrase into a cryptographic key; the last 32 bits are discarded.
According to Shannon, Schneier, etc., English has about 1.5 bits of entropy per glyph. You'd be looking at much higher entropy per glyph if your passphrase was random, had alphanumerics, etc.--still, for simplicity's sake, let's take the 1.5 bits per glyph as canonical.
70 * 1.5 = 105 bits of entropy
I would be thirty-one flavors of not worried.
Gah. Damn < anglebrackets. The first struct should be
template <unsigned long n>
struct factorial
{
const static unsigned long value = n * factorial<(n-1)>::value;
};
The C preprocessor isn't Turing-complete. Try and write the following code in C:
... Free hint: it optimizes for an O(1) execution time, at the price of an ungodly compile time. Template metaprogramming rocks. And you can't do it in C. :)
=====
#include <iostream>
template <unsigned long n>
struct factorial
{
const static unsigned long value = n * factorial::value;
};
template <>
struct factorial<0>
{
const static unsigned long value = 1;
};
int main(void)
{
using namespace std;
cout << "10! = " << factorial<10>::value << endl;
return 0;
}
=====
I dunno what the mass would be, but I suspect the mass of all the workmen's comp claims, SPF 5000 sunblock and all the environmental impact paperwork would exceed the Chandrasekhar Mass and undergo gravitational collapse into a black hole which would destroy the solar system.
:)
So let's not put that one to an empirical test, huh?
Imagine, please, that you have a pipe 1m in diameter stretching from just past Earth's atmosphere to the Alpha Centauri system. (Ignore the engineering difficulties, please.)
Can you guess how much all the contents of that pipe would weigh?
Less than a kilogram.
Considerably less than a kilogram.
I would tell you just how tiny, but you wouldn't believe me. I'll let you do the math: the observed density of the universe is 2.1 * 10**-29 kilograms per cubic meter. From here to Alpha Centauri is about 4.5 lightyears, and each lightyear is 9.5 * 10**15 meters.
So we're looking at a total distance of about 4*10**16m to Alpha Centauri. Multiply that by the cross-sectional area of our pipe (.6m) and you get... 2.4 * 10**16m**3 of volume.
Multiply that by the observed density of the universe and you get...
5 * 10**-13 kilograms.
Yeah. Like I said. Considerably less than a kilogram.
Your post shows a severe lack of understanding about space. One, it's freaking cold. Two, once you get past Saturn you can pretty much write off solar flares and activity. Three, sure, there are energetic cosmic rays--but they're here on Earth, too, so Earth's no better off. (No, our atmosphere doesn't protect us in any substantial way from cosmic rays.)
If you were to stand on Pluto and turn on a cell phone, the radio signal from your cell phone would be the brightest electromagnetic signal in the sky--by orders of magnitude.
Space is overwhelmingly small, dark and quiet. Yes, there is the occasional bit of matter which can be a real royal pain in the ass... but the odds of a collision are, well, astronomical.
I don't think you understand a damn word of what you just posted, and it astonishes me that you can get a +4 moderation for being totally flipping wrong.
Uh, guy, you do know that Teflon-coated bullets aren't armor-piercing, and that the NRA actually led the way in writing legislation to ban armor-piercing ammunition, right?
Thought not.
You see, you make armor-piercing bullets out of very hard metals--steel, zinc or brass all work. They're much harder than lead, they don't deform when they hit the target, and as a result, they can punch through steel. Including the steel of a gun barrel--firing steel bullets out of a gun will destroy the barrel in just a few shots.
So in order to protect the barrel from the steel bullets, the KTW Corporation started... coating their bullets in Teflon.
And this is how the media myth of Teflon bullets came about.
The NRA was opposed to anti-Teflon-bullet laws because the NRA knew that wouldn't solve the problem. Instead, the NRA wanted to push legislation which would ban bullets which had cores made out of certain materials--like steel, zinc and brass.
Of course, because "everybody knew" the Teflon was what made a bullet armor-piercing, the NRA got pilloried in the press.
The NRA did the country a favor when they convinced Congress not to ban Teflon rounds, and instead to ban steel, brass and zinc-core rounds... and the country will never forgive the NRA for it.
(And no, I'm not a member of the NRA.)
A lot of kids who are diagnosed with ADD/ADHD don't have that particular mental condition. There are many other conditions which have symptoms similar to ADD/ADHD. Most doctors and pretty much all schoolteachers are only familiar with ADD/ADHD, though, so... "if it looks like ADD, it's ADD."
Even when it's not.
Please, if you haven't already done so, go get your child checked out by a qualified professional NOT affiliated with the school. Make sure to ask about other pervasive developmental disorders, such as hyperlexia, Asperger's Syndrome, PDD-NOS, and so forth.
If your child really has ADD/ADHD, the first step is obviously to get her medical treatment for ADD/ADHD. If your child really has Asperger's Syndrome, or PDD-NOS, or... then the first step is to get her properly diagnosed.
Speaking personally, I have Asperger's--so I'm firsthand acquainted with how easily kids can be misdiagnosed by well-meaning but blind school officials and school psychiatrists.
It's not larger than all the other armies in the world combined. China actually has more troops than we do.
/spending/ is larger than the next several countries combined... but then again, so is our gross domestic product. Where's the problem?
Our military
Differentiate "peacetime expendables" from "wartime expendables", please. :) The Marine Corps might be able to go a month in the field for peacetime operations without serious resupply. In combat conditions, they might well need resupply in a matter of hours, depending on how frenetic the tempo is.
In Afghanistan, many Marine Corps bases were (still are, in some cases) getting supplies flown to them 600 miles by carrier aviation and helicopter, resupplied from Navy replenishment vessels in the Indian Ocean. These resupply flights were, are, daily occurrences. If the Corps could take care of itself for a solid month at a full combat tempo without the need for resupply, I doubt they'd make dangerous daily resupply runs.
(And yeah, daily resupply is really dangerous. You never know when some Taliban with a Stinger is going to be lying in wait for the helo or plane to come in.)
Like I said... 5,000 troops. They wouldn't have been even a speed bump.
The Marine Corps is also not a self-sustaining unit. They can't be; being self-sustaining requires carrying around so many supplies that it would destroy the Corps' utility as a rapid-reaction force. The Corps can get anywhere in the world in just a few hours, and they can hold that position against even the forces of hell... but burning through expendables which they cannot replace on their own. Within days of first contact, the expendables are gone and they're stuck throwing rocks at the bad guys to make them stop.
This isn't a slam against the Corps, by the by. It's just an acknowledgment that it is not the Corps' job to hold the line. That's the Army's job. It's the Corps' job to be the "kick the door down" reaction force. They get in, they hit like hell, and then they'd better be relieved by Army troops or else the Marines are going to be in a whole lot of trouble.
Logistics is obviously very important...
Darn straight. And logistics costs money.
I consider it much more important to have an intelligent army than a bigass army.
Intelligence costs money. You want a light army that can go anywhere in twenty-four hours or less, which has overhead assets, signals intercepts, secure communications, all these other things that help make an army so effective? It's going to cost a lot of money.
Sure, we don't need huge numbers of troops anymore... but that doesn't mean we need a reduced military budget. Combat effectiveness costs money. There's no way around that. You cannot have an effective and professional military force while nickel-and-diming them to death.
It's sort of like the old saw about the $500 wrench. Yes, it really did exist; it was used to remove seat bolts on F-16A jet fighters. Yes, a $3.99 wrench from the hardware store could also undo the bolts. What the $500 wrench could do that the $3.99 wrench couldn't do was hold the bolts securely even after they'd been removed, so that the bolt wouldn't fall between the seat and the fuselage and go about rattling into the heart of the F-16A's avionics. Once that happened, it required $200,000 of labor and materials to disassemble the plane enough to find and remove the bolt. Sure, the proper fix would be change the damn seat design, which they did in the F-16C series. But as an interim fix, a $500 wrench is pretty darn cost-effective, given the risk of using a $3.99 wrench.
Even the Romans knew that soldiers cost money, lots of it, and there was no way around it. The word `soldier' comes from a Latin root... meaning `to pay'.
I saw the Gulf Conflict.
Unless you were there, you didn't see the Gulf War. You saw what someone else wanted you to see. That someone else may have been a military censor, may have been a CNN camera crew, may have been the BBC, may have been Al-Jazeers for all I know--but you didn't see the Gulf War.
It was a bloodless war because of superior leadership.
One, it wasn't a bloodless war. Find out how many Iraqis died sometime.
Two, it was a one-sided war because Hussein was stupid enough to give us a couple of months to build up our forces. At the time he invaded Kuwait, we had fewer than 5,000 troops in Saudi. The Republican Guard wouldn't have even noticed that few troops--it wouldn't even have been a speedbump on the road to Riyadh.
In the space of just a few months, though, we had aircraft carriers--each with more naval power than existed in all of World War Two--in the Gulf, we had E-3s airborne over Prince Sultan and Riyadh, we had EW craft jamming Iraqi radars, and we'd dropped tens of thousands of tons of bombs on Iraq. Not smart bombs, either--only 3% of all bombs in the Gulf War were precision-guided.
We were able to get all that materiel to the Gulf in the space of a handful of months precisely because we'd invested a hell of a lot of money in (a) materials and (b) logistics. To suggest that those two can be entirely done away with just by getting "good generals" is to commit the ultimate armchair general's mistake.
Amateurs talk about strategy and tactics.
Professionals talk about materiel and logistics.
You can't have supplies, or the means to transport supplies quickly and effectively, if you aren't willing to invest in them.