Cameron Diaz doesn't want anyone to know she is princess Fiona in Shrek.

The actress voices the ginger haired green Ogress in the film series, but doesn't like people to tell their children, so as to keep the mystery of her character alive.

Speaking at the premiere of 'Shrek Forever After' at the Tribeca film festival in New York, Cameron told People.com: "When parents say to their kids, 'This is Princess Fiona,' I just tell them, 'Let the mystery and the fantasy live within them. Let them believe that Princess Fiona is actually real."

Some celebrity parents have let the secret slip, however, with Tom Cruise and Katie Holmes letting their four-year-old daughter Suri into Cameron's cartoon character secret.

Cameron, 37, added: "It's funny because Suri does know I'm Princess Fiona.

"I'm not going to speak for her, but yes, I think she does love Shrek."

Cameron appeared at the premiere of 'Shrek Forever After' - the last film in the series - on Wednesday (20.04.10) alongside co-stars Mike Myers, Eddie Murphy and Antonio Banderas, wearing an elegant black dress.

She also stars with Tom in action-comedy film 'Knight and Day', which is due to be released In July.