Cryptogram


introduction Downloading Compose a message Contents of the mailbox


  • vissza a címlapra
  • a projekt rövid ismertetése
  • letölthetõ programok szövegek virtuális "szobrokba" kódolásához
  • Néhány tanács a titkosításhoz

    A "cryptogram alapötlete nagyon egyszerû: egy háromszögletû felületekbôl álló 3 dimenziós objektum felületének pontjai (a háromszögek csúcsai) egyszerûen hozzárendelhetôk karakter-kódokhoz. Ilyen módon bármilyen szöveg virtuális szoborba kódolható: a szöveg minden egyes karaktere a szobor egyik vertex-pontjává alakítható, a pontok között kifeszülô háromszögek pedig a karakterek egymásutánjának megfelelõ rendben alkotják a virtuális szobor felszínét. A titkosítást végzô program bemenetként egy "kulcs"-file-t és egy szöveg-file-t olvas, és a VRML 1.0 specifikációnak megfelelõ virtuális szobrot, egy "wrl" kiterjesztésû file-t hoz létre.

    A visszafejtés folyamata hasonlóan egyszerû: a program elõször beolvassa a "kulcs"-file-ból a karakterekhez tartozó koordinátákat, majd megkeresi a "wrl"-file vertexpontjaihoz tartozó karaktereket. A szöveg a szobor felületét alkotó háromszögek rendjének megfelelõen épül fel a karakterekbõl.

    A "Cryptogram"-okban ("wrl" file-okban, "szöveg-szobrokban") való kommunikáció elõnyei nem merülnek ki a titkosításban, a módszer ugyanis magát a kommunikáció tényét is elrejti. Gyanútlan kívülállók számára virtuális-valósággal foglalkozók szobrainak csere-beréjének tûnik az egész folyamat, ha pedig valaki megvizsgálja a fileokat, feltehetôleg haszontalan "mûalkotásoknak" tekinti majd. Másrészrôl pedig a beavatottak némi gyakorlat után képessé válhatnak a gyakoribb üzenetek dekódolás nélküli, "szobor formában" való megértésére is.

    1. Titkosítás a "txt2vrml" programmal

    Egy file kódolása a "txt2vrml" program lokális gépen való futtatásával lehetséges. Induláskor a program 3 paramétert igényel: a kulcs-file nevét, a kódolásra szánt file nevét, és a létrehozandó wrl-file nevét. Filenévként bármi megadható, kivéve a létrehozandó file-t, melynek "wrl" kiterjesztése kell hogy legyen, annak érdekében, hogy a "browser"-ek virtuális valóság fileként ismerjék fel. Mivel a wrl file dekódolásához a visszafejtést végzô programot az érdeklõdõ a saját gépén kell hogy elindítsa, kedves figyelmesség az MS-DOS/NT felhasználók felé ha 8 karakternél nem hosszabb filenevet használunk.

    Például:
    txt2vrml key.txt uzenet.txt uzenet.wrl

    ahol key.txt a keyfile neve, uzenet.txt a titkosítandó file neve, az üzenet.wrl pedig a létrehozandó (vrml-) file. A program 3 paramétert igényel: a kulcs-file nevét, a megfejtendõ file nevét, és a létrehozandó szöveg-file nevét.

    2. Dekódolás a "vrml2txt" programmal

    A dekódolás a "vrml2txt" program lokális gépen való futtatásával lehetséges. A program 3 paramétert igényel: a kulcs-file nevét, a megfejtendõ file nevét, és a létrehozandó szöveg-file nevét.

    Például:
    vrml2txt key.txt uzenet.wrl uzenet.txt

    ahol key.txt a keyfile neve, uzenet.wrl a megfejtendõ file neve, az üzenet.txt pedig a létrehozandó szöveg-file.

    3. A "kulcsfile"

    Akár fileokat kíván szobrokba titkosítani, akár visszafejteni azokat, mindenképpen szükség van valamilyen kulcs-filera, mely tartalmazza a "karakterek koordinátáit". A nyilvános postaládán keresztüli levelezéshez egy példa keyfile-t (cavalier.txt) találhat az oldalakon, amely azonos a munka elsõ, a "Pillangó-Hatás" címû kiállításon bemutatott változatában használttal.

    A kulcs-file ascii-formátumú szövegfile kell hogy legyen, mely kizárólag a koordinátákat tartalmazza. A programok szekvenciálisan olvassák a kulcsfile-t, és minden egyes sort egy-egy karakterhez rendelnek. Minden egyes pont X Y Z koordinátái egy "újsor karakterrel" végzõdõ sorban legyenek, a koordinátákat szóközök válasszák el. "Saját kulcs" létrehozásához egy 256 vertexpontot tartalmazó 3 dimenziós objektumra lesz szüksége, melybõl egy 256 soros szövegfile-t kell készítenie, melyben minden egyes karakterhez tartozó (szóközökkel elválasztott) X Y Z koordináták egy sorban találhatók.

    Például a "cavalier.txt" file így kezdõdik:
    16.06 143.0 -65.0
    3.517 141.1 -74.8
    7.009 139.2 -79.8

    ahol az elsõ sor ("16.06 143.0 -65.0\n") az elsõ ASCII karakter koordinátáit tartalmazza, a második ("3.517 141.1 -74.8\n") a másodikét, stb. (A "\n" a sorvégi newline karaktert jelenti.)

    Szegedy-Maszák Zoltán,
    Május 4, 1996 7:30:24 PM

  • to the welcome-page
  • brief explanation of the project
  • downloadable programs for encrypting texts into "sculptures"
  • Instructions on encrypting

    The idea of the "Cryptogram" is very simple: having a 3D virtual object built of triangular facets, we can link the points holding the faces to character codes. This way any text could be encrypted to a virtual object: each caracter of the text could be converted to one vertex-point of the sculpture, and the triangular faces could be built according to the order of the characters in the text. The "encrypting program" reads a "key file" and a "text-file" as input, and produces a virtual sculpture (a file with the extension "wrl") in the format of the Virtual Reality Modelling Language 1.0.

    The decoding process is similarly simple: the program first scans the "key-file" for setting up the relations between the vertex-points and characters, then scans the wrl file for vertices, and converts each of them to character-codes. The text is built from the characters according to the order of the faces of the wrl-file.

    Communicating through "Cryptograms" (with wrl files as text sculptures) has not only the advantage of encryption, it hides the fact of exchanging messages as well: for unsuspecting outsiders the process seems to be the exchange of wrl worlds by virtual reality fans. If someone would examine the wrl files themselves, perhaps would recognise them as meaningless or uninterpretable "artworks". In the other hand the initiated Cryptogram-fans could acquire the skills after some practice to understand the most common enrypted messages in form of "sculptures" without decoding them.

    1. Encoding with "txt2vrml"

    To encode a file you can run (on your local machine) my "txt2vrml" program. The program needs 3 arguments: the name of keyfile, the name of the textfile to be encrypted, and the name of the outputfile. No matter how you name the files, except for the outputfile, which should have the extension "wrl" to let browsers recognize it as a VRML "world" file. Since to decode the wrl-file, one would have to run the decoding program on his local machine, it is a reasonable practice to use a filename not longer than 8 characters (to enable MS-DOS/NT users decoding the file).

    Example:
    txt2vrml key.txt message.txt message.wrl

    where key.txt is the name of the keyfile, message.txt is the name of the file to be encrypted, and message.wrl is the name of the output (vrml-) file.

    2. Decoding with "vrml2txt"

    To decode a file you can run (on your local machine) my "vrml2txt" program. The program needs 3 arguments: the name of keyfile, the name of the sculpture-file from which the text should be decoded, and the name of the outputfile.

    Example:
    vrml2txt key.txt message.wrl message.txt

    where key.txt is the name of the keyfile, message.wrl is the name of the sculpture-file from which the text should be decoded, and message.txt is the name of the outputfile.

    3. The "keyfile"

    Either if you want to encode files to sculptures, or you want to decode them, a keyfile (containing the characters and "their coordinates") is required. For mailing through the "encrypted public mailbox" an example keyfile is provided, which is the same I used for the installation released on the "Butterfly Effect" exhibition, named "cavalier.txt".

    The keyfile must be in pure ascii format, containing only the coordinates. The program reads the file sequentially, assigning one line to one character in the order of scanning them. The 3 coordinates (X,Y,Z) of one point must be in one line(terminated with a newline character), and they must be separated by spaces. In other words to create a keyfile, you need a 3d object built of 256 vertices, from which you must create a 256 lines long textfile, where the X Y Z(separated by spaces) coordinates of each point is in one line.

    For example, the "cavalier.txt" file starts like this:
    16.06 143.0 -65.0
    3.517 141.1 -74.8
    7.009 139.2 -79.8

    where the first line ("16.06 143.0 -65.0\n") contains the X Y Z coordinates of the first ASCII character, the second ("3.517 141.1 -74.8\n") contains the coordinates of the second, etc. (The "\n" stands for the newline character at the end of each line.)

    Zoltán Szegedy-Maszák,
    May 3, 1996 7:29:59 PM


    Most recent revision May 4, 1996 11:03:40 PM