I am looking for a secure approach to handing the following situation:
You're given a string that means something. It contains parts of something larger, each of which is clearly understood. For example imagine a string John_Smith where we can safely assume that an English speaking person will understand John to be a first name and Smith to be a last name.
Requirement: For the sake of argument lets say that you need to encrypt (i am using this term loosely) this String to a cypher of finite number of characters n.
Now .. in theory it is possible that encrypted version of John_Smith is in fact longer then n characters or .. less then it. In either way if we want to decrypt it (as i understand it) we need some kind of hash lookup table.
The lookup table will contain a translation between 0ffdd4377ca2944 -> John_Smith, which in turn must be made secure.
What approach would you recommend to make sure look up table and data in it is secure?
I realize that this is very basic and thank you for your patience.