O.k., here is what I would try. Surprise submarine attack on both U.S. carriers, obviously. It is possible. America has other planes, such as f-22 in the area, but not many. Taking out the carriers is the most important thing. Obviously you then lose the element of surprise and the U.S. sends more carriers and starts hammering your facilities with SSN launched tomahawks, immediately. Nothing you can do about that, but there is only so much damage that can be done with Tomahawks on the opening days of the war. Your next move must be to cripple the world economy by shutting off the straight. If gas prices go through the roof, like $10 a gallon, there could be political instability in the United States because the economy would certainly begin to crumble. I think economies are much more intertwined compared to world war II and this should be exploited since Iran's military can not win over a longer period of time.
There could be demands by all countries to go to the negotiating tables instead of push the world economy into the toilet. Best case, you take out a couple of carriers, the U.S. responds with tomahawk bombardment of Iran, and then negotiations begin. That would be a sort of victory to be able to attack the U.S. and live to tell about it.
Worst case, the U.S. and its allies end up carpet bombing the whole country like it did to Japan, take over the oil sector, and install a U.S. friendly leader for a regime change. Most likely scenario. $10 a gallon gas would be the best and only strategy against the U.S.