Monday, April 11, 2011

Cryptological Applications of the Topology of Information Holes

A missing bit of information can be viewed as a hole. (Footnote: By 'hole' I mean, depending on the dimensionality, one of the following: A gap (1-D), a dent/chunk or cleaving gash (2-D), A tunnel, pocket, or hollow (3-D). I am unsure of what forms a hole can take in higher dimensions although I suspect that visualizing holes transforming over time would lead to other species of holes in 4 or more dimensions.)

Within a representation of data, any two missing bits that are 'adjacent' are then part of the same hole. But the concept of 'adjacent' depends on the structure of the information - i.e. how the information is laid out or represented in actual space (Footnote: and, as per Herny Flynt, how the "reader" is oriented to the data when "observing" it, e.g. his bivalent subtractive stroke equations: II - I = I vs. I = I - II when rotated 180 degrees). If the information is a one dimensional vector then 'adjacent' just means to the left or right. But if the information is in a 2-D matrix then 'adjacent' data becomes the neighbors to the left or right and also those above or below (but not diagonally). In other words, the notion of 'adjacent' depends on the "shape" of the container the data is placed within, that is, the containers, to some degree, constrain what shape is possible for the data. The container itself is usually implicitly a square or a cube with the bit/symbol placed "inside" it. The containers are then arranged in some orderly fashion (into a 1-D vector in the case of a string, or a 2-D marix or 3-D Cartesian grid space).

But the notion of 'adjacent' can take on other forms as well: First, the arrangement does not have to be orderly as long as the shapes of the containers are respected (Footnote: and what if we allow deformation of the shape of a container based on feedback?) so that arrangment could be staggered as with letters on a computer keyboard or bricks in a wall in the case of 2-D representation, or the containers are "shaken" randomly so there is space between containers and some are not touching their nearest neighbor - if so the concept of 'adjacent' again is changed. Secondly, any shapes can be used - tessalatable shapes (penrose tiles!) being desirable here, but not necessarily so. For instance, if the information was stored in hexagons, the concept of adjacent would need to include all six neighbors. Moving this up to higher dimensions (assuming orderly arrangement) the shape of the data can be placed into containers addressed via n-tuples (with n = to the dimension that the data structure resides within) with an extra bit for the storage of the information itself. Thus any ordered shape of data is isomorphic to a one dimensional vector.

There is nothing new in this linear data storage notion. But what is surprising is that the holes in the data are also implicitly there AS LONG as the data is permuted in the correct way within the correct data shape. Thus the holes (and any properties that they lend to the reconstitution of the deleted data that was used to create them) are permutationally sensitive in a way that the data, nor its deleted counterpart(s), is not - and this fact can be harnessed cryptographically.

The advantage to all this is, aside from the gross permutational possibilities derivable from the notion of data "shapes", that the topology and ontology of information holes become relevant assuming that they are irreducible to the topological information structures the holes are part of. For instance, a 3 dimensional solid mass with two independent tunnels through it is topologically equivalent to a 'y' shaped tunnel (owing to the ability to deform the mass contiguously and continuously from the one to the other), but they are two completely different forms of hole (the former structurally independent and the latter structurally dependent - i.e. holes that never meet are NOT the same as holes that intersect and form 'y's etc.).

What if an error correcting hash is applied based on the structure of the information AND the shape and type of the information hole (and is there any other way to apply one anyway)? If so, then the missing data deleted to create an information gash/tunnel that divides the data into two parts (or tunnels through a 3 or higher dimensional data structure) could be reconstituted using the hash, assuming the data was in that particular configuration when the hash was applied. This leads to a cryptological application, one version of which can be demonstrated in practice with the following algorithm:

1) Create a structure and place the data inside it.
2) Create the error correcting hash - possibly specificially modified to suit the form of information hole created in step 3.
3) Randomly gash it or create some other form of informational hole, preferably up to the maximum amount that error correction can reconstitute.
4) Merge the hash onto the information (or keep it as a secret key) and also add in a record of what sort of data structure was used when the hash was applied.
5) Scramble the data in a reversible way, e.g. swap each adjacent bit with its neighbor.
6) Then put the data into a new structure.
7) Repeat the whole procedure as many times as desired.

To retrieve the original message just reverse the algorithm, reconstituting the deleted data at each relevant stage.

Is this mode of working with data a form of compression? No, in that the hashes will add, not remove, information. But in a sense yes, because the amount of the original information present will shrink - concealment as a form of compression! This should be no surprise as compression is a form of concealment. Hiding is not the same as destroying. Implicit in all this is the assumption that what is missing from something is not functionally equivalent to a simple inversion of what remains, holes have their own rules counter-intuitively independent of the objects which instantiate them. That is to say, the ontology of holes is not reducible to the ontology of objects.

No comments:

Post a Comment