Cryptogram


introduction Downloading Compose a message Contents of the mailbox

  • vissza a címlapra
  • a projekt rövid ismertetése
  • letölthetõ program szövegek virtuális "szobrokba" kódolásához
  • példaképpen az "eredeti" installáció WWW változata
  • 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&eecaute; ha 8 karakternél nem hosszabb filenevet használ.

    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.

    (Tudatában vagyok annak, hogy mindez nem tûnik túl vonzónak, hamarosan letölthetõ konverziós programokat fogok feltenni az oldalakra, kérem legyen türelemmel.)

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

  • back to the welcome-page
  • brief explanation of the project
  • the downloadable code for encrypting texts into virtual "sculptures"
  • an example: the WWW version of the original work
  • 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 encrypts the fact of exchanging messages as well, since for unsuspecting outsiders the process seems to be the exchange of wrl worlds by vrml-fans, if one of them would look at the wrl files, they might seem some kinds of "artworks" for him. In the other hand the initiated Cryptogram-fans could acquire the skill 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 netscape recognize as a "world" file. Since to decode the wrl-file, one would have to run the decoding program on his local machine, it might be a nice idea (to enable MS-DOS/NT users decoding the file) to use a filename not longer than 8 characters.

    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 like I used for the installation realeased 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...

    (I know that it seems nasty, but you will find conversion-programs for common 3D file formats in the near future.)

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


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