Gesturing at the camera with a finger to stress points, Bin Ladin once again took responsibility for the September 11 attacks and said reasons to attack the United States remain.
He also accused US President George Bush of deceiving the American people.
"Despite the fact that we are into the fourth year after September 11, President Bush is still misleading you and hiding the real reason from you, which means that the reasons to repeat what happened remain," bin Ladin said.
In his address just four days ahead of the US presidential election, Bin Ladin also said the US administration resembled "corrupt" Arab governments.
Apparently sitting or standing at a table against a neutral brown background, Bin Ladin wore a white head covering and white tunic under a light brown cloak.
Reading from a sheet of paper, his voice was strong and he appeared in fair health.
He accused Bush of reacting slowly to the September 11 attacks, saying: "I never thought that the supreme leader would leave 50,000 of his people in the two towers to face the terrifying events alone at the time they were in need for him."
Referring to next week's elections, he told Americans: "Your security is not in the hands of Kerry or Bush or al-Qaida. Your security is in your own hands.
"We decided to destroy towers in America," because "we want to regain the freedom of our nation," Bin Ladin said.
Bin Ladin also said the US considers "killing innocent people including children in Iraq" a legitimate act.
He said the US has dropped millions of tonnes of bombs on Iraqi children just to replace an old agent with a new one to plunder Iraqi oil wealth.
Bin Ladin said the September 11 attacks was in response to the injustices by the US.