The former US secretary of state Colin Powell has accused the White House of pursuing policies in the "war on terror" that have put America out of step with the rest of the world.

In a rare public breach with the administration, Mr Powell told an audience in Norfolk, Virginia, on Tuesday that he opposed White House plans to redefine America's commitment to sections of the Geneva convention protecting detainees from torture and degrading treatment.

"We know what the president needs," Mr Powell said. "We don't want to dispute the president. But we are having trouble with the rest of the world."

He added that the world looked on the US as a law-abiding society - although that had been shaken by events at Abu Ghraib and Guantánamo Bay.

Although Mr Powell is known to have had many clashes in private with the vice-president, Dick Cheney, and the defence secretary, Donald Rumsfeld, he has offered only rare public criticism since he left the administration in January 2005.

Earlier, Mr Powell used an aide to express his opposition to the choice of UN ambassador, John Bolton, and to admit regret over the use of false intelligence in the run-up to the invasion of Iraq.

In a letter released last week, he joined Senator John McCain and other prominent Republicans in opposing the White House demand that Congress redefine the convention. "The world is beginning to doubt the moral basis of our fight against terrorism," he said.

In response, Mr Bush accused his former secretary of state of "flawed logic", while the White House press secretary, Tony Snow, said Mr Powell was "confused".