A suicide bomber killed 12 people in an attack on a village near Peshawar in northwest Pakistan.

The bomber blew himself up as the village's mayor was visiting a market crowded with people.

Islamist militants have unleashed a campaign of bomb and suicide attacks in Pakistan in recent weeks in retaliation for a major offensive launched by security forces in their main bastion, South Waziristan, on the Afghan border.

The Pakistani army said 20 militants were killed in the latest fighting there, taking their total death toll to 478 since the offensive began.

At least 44 soldiers have been killed in the same period, according to military figures.

There was no independent verification of casualties as reporters and other independent observers are not allowed into the war zone.