Presumably you're coming during the two months of the year where one can take a public tour of Buckingham Palace.
The British Museum is like the Smithsonian in that you could spend a week there and not see everything. That said, four hours should allow you to hit the highlights, i.e., enormous things pilfered from the Egyptians and Greeks. I'd try to keep some flex time in reserve in case you want to go back once you realize how much stuff is there.
Bletchley Park can easily be a full day once you factor in the train up and back. I went up there with a friend in November, and we had four hours and kind of had to rush through at the end. There's a walking tour that takes either 60 or 90 minutes and is well worth it, and then there's a bunch of exhibits to see. Never even made it near the collection of Churchill stuff they have and even rushed through the Turning stuff. I'm going back (entry is valid for a year), but that's likely not an option for you. I'd say allot six hours if you're the type that likes to read information that's part of exhibits and do the walking tour.
Tower of London: Please let us know which parts of the Tower of London you want to see the most so we can advise on if your time allocation is appropriate. I've spent 2-3 hours there three times already without repeating anything and will go back at least once more to finish it. (I'm a member.) You definitely want to do a Beefeater tour (one hour, iirc), and I would guess you'll want to see the crown jewels. The queuing for that can be 30-60 minutes, it seems (maybe worse during absolute peak tourist season), but maybe if you get there right at opening you can get in quickly and save yourself some time.