Verification And Synthesis Of Information Flow Secure Hardware Designs