Suppose the following imagined scenario:

I have a site that is used for military recruits.
Military recruits and only military recruits may sign up on this site.  - The easiest way to authenticate would be to get a list of pre-authorized email addresses. However, the military obviously will not release their email address list.
How would I authenticate these individuals to sign up?

My initial thought would be that I could get a sha3 hash of the email addresses. Then, when people register, I would check the sha3 of the email address they entered against the database. Basically, this would be a way to get a boolean back of whether the email is in the system without knowing the email address. 
Does this sound like a realistic approach, that would ensure the anonymity of the email address? Any better ideas to accomplish this?
Sounds good, as long as the "military" is convinced, correctly or not, that the hashing is truly irreversible, and is willing to trust you with the hashed list of addresses. (What is sha5, by the way? Afaik sha3 is the latest generation). 
If they will not entrust you with even the cryptographically hashed list, the alternative would be to delegate the authentication: You forward the email address to the military through a secure connection, and they tell you whether it's ok or not. It would be slower but you only need to do it once, at sign-up time.
Authenticating email address without being able to view email address