Israel and the United States created the Stuxnet worm to sabotage Iran's nuclear programme, a leading security expert has claimed.
Ralph Langner told a conference in California that the malicious software was designed to cripple systems that could help build an Iranian bomb.
Mr Langner was one of the first researchers to show how Stuxnet could take control of industrial equipment.
It is widely believed that its target was machinery used to enrich uranium.
Speaking at the TED conference in Long Beach, California, Mr Langner said: "My opinion is that Mossad [Israel's intelligence agency] is involved."
However he speculated that Israel was not the main driver behind the creation of Stuxnet.
"There is only one leading source, and that is the United States," said Mr Langner.
In a recent report on Stuxnet, the security firm Symantec said that it would have taken a team of between five and 10 developers, six months to create the worm.
Mr Langner said that the project would have required "inside information", so detailed that "they probably knew the shoe size of the operator."
Stuxnet first came to light in July 2010. Nearly 60% of reported infections were inside Iran.
The worm targets industrial control systems, known as programmable logic controllers (PLCs), made by Siemens.
While PLCs are used to control a wide variety of automated systems, it is believed that it was those inside Iran's nuclear facilities that were the intended target.
Analysts who have examined the Stuxnet code say it could have been used to damage centrifuges which play a crucial role in the process of enriching uranium for both nuclear power and weapons.
The United States and Israel have led an international campaign to halt Iran's nuclear programme, however there is no hard evidence to link either country to the creation of Stuxnet.
Earlier in the week Iran's Interior Ministry denied that Stuxnet had been responsible for a shutdown at the country's Bushehr nuclear reactor.
A report by the International Atomic Energy Agency showed that Russian engineers working at the plant had removed 163 fuel rods.
Iranian sources said that the action was taken as a result of problems with the rods, rather than Stuxnet.