# Defining format-preserving encryption for natural language

Assume we have plaintext in natural language. Can we use format-preserving encryption in such a way that the produced ciphertext cannot be distinguished from natural language?

• This is a form of steganography. It is feasible if we accept that ciphertext is significantly larger than plaintext, for some definition of natural language (especially if that includes modern poetry, or something looking like the output of automatic translation, or/and if we feed the encryption program with natural text that it slightly transforms). – fgrieu May 5 '15 at 7:32
• You could use format-preserving encryption along with a word dictionary to create a permutation over all possible words in your given natural language. – pg1989 May 5 '15 at 16:49
• @fgrieu it is interesting to see this from steganography perspective. i did not thought that way before ! – sashank May 7 '15 at 2:02

We can do this with the standard approach for FPE i.e $rank-encrypt-derank$. Build a $key-value$ pair map of all the words in the language of preference Where $key$ is the number and $value$ is the word. {Say from $1$ to $n$ }. $n$ being maximum number of words in dictionary.