I'm working on a web application which the users will need to submit their social security numbers.
I would like to use asymmetric keys for encryption so if the web server is compromised the private key will still be safe. The application won't be processed on the webserver.
However the app needs the ability to know if the SSN is a duplicate to A not allow duplicates and B to allow users to come back to their application.
Can this be done?
Does it make sense to use a one way hash similar to the way passwords are stored or will that compromise the data?
Since there are only aprox. 10 Billion SSNs. Does that make any hashing alg. susceptible to brute force attacks. Will a salt help here? If the salt is known isn't it still susceptible to brute force? Is it possible to properly hide a salt since if someone has access to the database they also have access to the salt?