UP

Meyer and Matyas define a function CE of a string of bytes yielding 128 bits. They believe that it is computationally infeasible to find distinct strings b and c such that CE(b) = CE(c). They call such a function a "Compressed Encoding". Their function involves two non-secret DES keys.

CEF is a factory for objects that hold a changeable DES keys and implement the function CE. Such objects all initially have the same DES keys which are suitable for this purpose.

If CE is such an object then CE(0,((16,keys))=>c;) changes CE's keys.

CE(1,str=>c;,,,CO), CO(1,str=>c;,,,CO), ... CO(2,str=>c,((16,sum));) computes the function of the concatenation of the strings "str". The length of all of these strings must be a multiple of 8. The degenerate form of such a call is CE(2,str;=>0,((16,sum));)

Error code c=1 indicates a string of invalid length.

CE(kt+4=>0) deletes CE.

CEF(kt=>0560AD058), CE(kt=>0560AD059)