Without that vital obstacle, anybody - a crazed military commander, or a terrorist - might have been able to spark a conflict that would have killed millions.

For the sake of our sanity, then, perhaps it's best that we have had to wait until now to discover that for many years, according to an expert closely involved in the process, the eight digits in question were 00000000.

"The codes were the only real mechanical or technical impediment to the crews launching missiles," said Bruce Blair, who worked as a launch officer in an underground nuclear silo in Montana. "And they were all set to zero. The safeguard was non-functional."

Mr Blair, now president of the Centre for Defence Information, a Washington thinktank, said he recently revealed the information to Robert McNamara, who served as secretary of defence during the administrations of John F Kennedy and Lyndon Johnson. He said Mr McNamara responded he was shocked and outraged, and asked: "Who the hell authorised that?"

The codes were set to zero because they were so deeply disliked by the military, Mr Blair argues in a CDI document.

He says Mr McNamara "basically forced" the system on senior commanders, who were far more concerned with eliminating anything that might slow down their otherwise lightning-fast response to a Soviet attack.

Mr Blair and one other colleague were in a position to fire up to 50 Minuteman missiles at the Soviet Union. "That's the whole of World War Two in one go," he pointed out.

Steven Bellovin, a researcher for AT&T who has studied launch codes, declared himself puzzled by Mr Blair's revelations, and suggested he was confusing two sets of codes, one required to detonate the nuclear bomb and one required to launch the missile containing the bomb.

The codes that had been set to zero, he argued in an email, were mainly used to stop missiles being launched in the event of "physical capture of the devices - it had nothing to do with our own launch officers" sparking a war on their own initiative.