I don’t think he did, because I don’t think he would have done it the way he was supposed to have done it. I think it would be supremely stupid of him to have murdered them in secret. What does that accomplish? If no one knows they are dead, then anything he might fear from them being alive, like an uprising in their favor, can still happen. I think if he had caused them to be murdered, he would have had them suffocated, then displayed the bodies, and claimed they’d died of a fever, or sweating sickness, or something, and had royal funerals for them. Richard didn’t know he would reign only three years; as far as he knew, he could reign for forty, and would probably be asked about the boys at some point.
Henry VII benefited more from them disappearing mysteriously. If they were newly murdered, but he wanted people to believe Richard had killed them several years earlier, he couldn’t very well display the bodies.
It’s also significant, I think, that Henry didn’t conduct a search for them. If they were genuinely missing, suspected murdered, and Henry genuinely had nothing whatsoever to do with it, I think he would have searched high and low for the bodies. They were after all, his brothers-in-law, and Henry had more to fear from an uprising in their favor, since he had legitimized them. Plus, Henry had to worry about pretenders (which did happen). If it had been in Henry’s power to produce bodies, I think he would have, but clearly, he couldn’t produce two very fresh bodies and blame their deaths on Richard.
So no, I don’t think Richard did it, and yes, I think Henry did. Henry got rid of an awful lot of other people. The princes would have been just two more, more or less, and he’d probably lost count.