Let me know a cryptographic symmetric stream cipher system with only two functions say
P() and it should satisfy the following conditions:
There will be two independent computers say M1 and M2 (no connection exists between them) and only one function should be stored in a machine.
For example: Function
S()will be executed on machine "M1" and the function
P()on machine "M2".
User selects a random string of bits (say
X) of desired length
User selects a machine randomly (either M1 or M2) and executes the function with the selected random string X as input to it. For example: if machine *"M1"*is selected then the function
S()will be executed to produce a output
Y = S(X).
Then the user executes the other function
Yas input to produce the original random string
X = P(Y).
And again user repeats the process in reverse order using the same random string
Xas input. For example: the function
P()in machine "M2" will be executed to produces a output
Z = P(X).
And again the user executes the other function
Zas input to produce the original random string
X. For example:
X = S(Z).
Length of outputs
Zshould be equal to the length of input
Zshould be non-linear with respect to the input
P(X)should be different. For example:
Y != Z.
Keeping it simple, it should demonstrate
S(P(X)) = P(S(X)) = X.
For example: function
Pare inverses of each other.
- How secure such a cipher?
- I feel such functions output may be difficult for any known cryptanalysis, if not, why?
- Is it easy/hard to design such a system?