I am a software developer interested in developing an application with cryptography. I can explain what I want to accomplish, but I do not know the technical terms for the cryptographic functions I am seeking. Many Google searches have not helped me. Could someone please help me with the proper cryptographic terms for what I am seeking, so I know what to search for in my research? Here is what I am looking for: - Encrypt large amounts of data quickly with key E. - Encryption is currently unbreakable and is expected to remain so as far as is known. - The encrypted data cannot be decrypted with key E. - The encrypted data can only be decrypted with key D. - Key E is created by passing key D into an algorithm/function. - It is preferred that key D can be less than 20 characters and can be typed from what is visible on the keys of an ordinary computer keyboard. (AKA...a password) Thank you!