John Bolton told the BBC that Iran wanted nuclear arms to intimidate the rest of the Middle East and possibly supply them to terrorists.
He said Iran had violated its obligations under the nuclear Non-Proliferation Treaty.
Iran has denied US allegations about its nuclear programme.
Tehran says it is intended solely for civilian use.
Meanwhile, US Secretary of State Condoleezza Rice has gone to Moscow to discuss the Iranian nuclear issue with Russia’s President Vladimir Putin.
‘Concealment and deception’
Speaking on the BBC’s Newsnight programme, Mr Bolton said: “I think that the Iranians have been pursuing a nuclear weapons programme for up to 18 years.
“They have engaged in concealment and deception and they’ve engaged in threats before.
“The real issue is whether an international community is going to accept an Iran that violates its treaty commitments under the Non-Proliferation Treaty, that lies about its programme and is determined to get nuclear weapons deliverable on ballistic missiles that it can then use to intimidate not only its own region but possibly to supply to terrorists.”
Earlier, Ms Rice urged Iran to resume talks with the European Union or risk referral to the UN Security Council.
In August, Tehran walked away from talks aimed at halting its plans to enrich uranium.
Speaking in Paris, Ms Rice warned Iran: “There is always the course of negotiation… but there is also the course of the Security Council.
“It is therefore important that Iran negotiate in good faith.”
France previously argued in favour of a diplomatic approach, but after talks with Ms Rice on Friday, Foreign Minister Philippe Douste-Blazy said referring the matter to the UN was a real option.
Last month, Russia abstained in a crucial vote held by the UN’s nuclear watchdog, the International Atomic Energy Agency (IAEA).
However, a resolution was still passed threatening Iran with UN Security Council referral unless it abandoned its plans to process and enrich uranium – the first stages in developing nuclear weapons.
The IAEA will meet again next month, but it is still not clear if there is enough backing to refer Iran to the UN Security Council.
President Putin has made clear that he does not want Iran to have a weapons programme, but Iran and Russia have close energy ties, and Moscow has shown little appetite to punish Iran.
The US wants to include Russia in efforts being led by Britain, France and Germany to persuade Iran to return to negotiations aimed at preventing Iran from having access to the nuclear fuel cycle.
This week, Tehran said it would welcome the resumption of talks with the Europeans without preconditions.
Later on Saturday, the US Secretary of State will fly to London for talks with UK Prime Minister Tony Blair and Foreign Minister Jack Straw.