Semantic cypher is a cryptosystem based on sha256.
The main goal is to change each word for other in a deterministic and secure way.
First of all we will hash each word from our ordered dictionary with a password.
Second, we will sort all these hashes in a list that we we call Sorted_Hash_List
Now we are ready to encrypt. The aplication that we will use for encrypt is this : f(dictionary[i])= Sorted_Hash_List[i]
This could be one possible output
If you encrypt something with this dictiorany it will be trivial to decrypt. But instead of using a 8 words dictonary if you use a list of more than 1 M words you will have 1000000! possible permutations for the Sorted_Hash_List and they will change "in a random way" depending on the password you choose. For example, using a file with more than 1065200 words and 12345 as a password, the phrase I am looking for a job will be converted to bullshitterting torture's corneliaring tubulether defamia immanencyses