Personal site Vyacheslav Gorchilin
All articles
One of the implementations of the Hash-Mask algorithm. Browser off-line coding

The main differences from existing models
Almost any modern communication Protocol is based on the transmitting side, the mediation server and the receiving. Thus, no matter how protected was not the Protocol before and after the mediation server, the problem of data leakage can be in it: the human factor, back-doors, hacking, etc.

One possible solution to this problem lies in the implementation of Hash-Mask algorithm, the main requirement is that the data encoding on the transmitting side, and decoding on the host. In other words, the mediation server will be stored "Abracadabra" principle does not allow, for example, the administrator can access the data. It is also clear that for the transmission of such data we will be able to use open channels of communication.

Browser + JavaScript
When implementing transmission and reception of important openness and readability of cryptographic scripts. On the one hand the script should be written in an open and public language, on the other — should be platformandversion. The perfect solution — the browser and JavaScript.

Modern JavaScript has all the necessary solutions: AJAX + frangaki, which removed all the "pitfalls" in the differences between various browsers and OS. The uniqueness of frangosul in the fact that they simplify programming while remaining completely open source.

The implementation of the transmission
The user in the browser window enters the data to transfer (VD), for example, a text message, and a code word (CW). First, the script determines the total number of groups (e.g., 32 characters each) that will be equal to the number of cycles. Also, the script generates SKL — set of 32 random hex numbers. In each cycle, the number of which (NGR) is taken from the counter, stitching SKL + KS + NGR generated by a hash mask. Then, using the obtained hash-mask is a disguise of data by algorithm [1]. The data are rst converted to their hex equivalents. These mankirovanie data we have consistently added to the string (SSTR), immediately after the SCR. Thus, the first 32 characters is SKL, followed by the masked data. SSTR we pass via AJAX to the server via the http Protocol.

The implementation of the host part
For decoding the received data the user enters in the browser window the code word (CW). The script separates the first 32 characters and considers them to SKL. The rest splits into groups and cyclically decodes them. In each cycle of the generated hash mask stitching SKL + KS + NGA, and unmasked by the algorithm [2]. Received output symbols are converted from hex to real analogues and are added sequentially to a string. This string will be decoded and the data to be presented to the user.

And what does the server?
It may not be, but the channel between subscribers will be generated by means of the network itself. If the server all the same will, in its functions may include storage or even just stream SSTR. Alternatively, it can generate a random code words, and send them on request to the receiving and transmitting side in the sms message. Note that the code word is the set of characters of any length.

Also, it could be a full-fledged email server with some differences. For example, the complete absence of Spam, because here it is impossible: to link two subscribers need only they know the code word.

What frangaki to use?
For AJAX, such as jQuery, and for hash-mask - Javascript MD5.

Secure mail implemented under this scheme

Vyacheslav Gorchilin, 2014
* Reprinting of the article or the implementation of the algorithm are possible with the installation of links on the website and respect the copyright

« Назад
2009-2018 © Vyacheslav Gorchilin