The character of Hannibal Lecter, the famous cannibalistic serial killer created by Thomas Harris in The Silence of the Lambs, was reportedly inspired by a convicted homosexual Mexican doctor.

For the 25th anniversary of the bestselling novel, Harris described his encounter with the man who inspired the famous villain played by Anthony Hopkins in the 1991 cinema adaptation.

Harris said he chanced upon a strange figure, to whom he gave the fictional name Dr Salazar, in a Monterrey prison. He met him as a young journalist while working on a story about an American convict serving a sentence there for a triple murder.

Dr Salazar had cured the convict of gunshot injuries suffered during a jailbreak attempt.

However, Salazar was not the prison doctor but a former surgeon serving a jail sentence for a gruesome murder.

"Dr Salazar was a small, lithe man with dark red hair. He stood very still and there was a certain elegance about him," Harris wrote in The Times.

The two spoke briefly about Dr Salazar's patient, in a conversation which echoes the dialogue between Lecter and FBI agent Clarice Starling which Harris later reproduced in his novel.

According to The Times Dr Salazar's real name was Alfredo Ballí Treviño.

Treviño served 20 years in the Penal del Topo Chico prison in Monterrey for the murder of Jesús Castillo Rangel, his lover.

Treviño reportedly cut his victim's throat with a scalpel and chopped his body into small pieces, which he then packed into a small box.

He died in 2009 aged 81 and reportedly spent the last years of his life helping the poor.

Harris met him in 1963 and The Silence of the Lambs was published five years later.