Iran has denied that the Stuxnet virus has caused any delays in its nuclear power programme.
It issued the denials following speculation from a former UN nuclear inspector that Stuxnet had managed to damage key equipment.
But Iran said it had caught Stuxnet before it managed to reach its intended target - controllers for centrifuges.
The country accused the West of trying to sabotage what it called its "peaceful" nuclear power plans.
The denial came from Iranian Vice President Ali Akbar Salehi who oversees the country's nuclear project.
"From more than a year ago, Westerners tried to implant the virus into our nuclear facilities in order to disrupt our activities but our young scientists stopped the virus at the very same spot they wanted to penetrate," he said in comments reported on an Iranian state television website.
Stuxnet is the first malicious program that targets key parts of industrial plants. Analysis by security firm Symantec suggest that Stuxnet was intended to wreck the centrifuges used to concentrate uranium - a key part of the nuclear power generation process.
Reports suggest that Iran has taken thousands of centrifuges offline in recent months and its nuclear programme is known to have suffered significant delays.
Earlier this week, three senior diplomats from member countries of the UN's International Atomic Energy Agency (IAEA) confirmed that Iran had had to power down its centrifuges.
The revelations, reported by AP, raised further suspicion that Stuxnet had infected control systems in Iran's nuclear plants.
Olli Heinonen deputy director at the IAEA confirmed that Iran had experienced problems with centrifuges and said they could have been caused by technical problems or Stuxnet, but added that there was no proof that the worm was responsible.
Correction 24 November 2010: This story has been amended since it was first published. The original implied that an unnamed IAEA official had suggested that Stuxnet infected control systems in Iran's nuclear plants. This was not the case.
- 22 November 2010
- 19 November 2010
- 26 September 2010
- 2 October 2010