A.Yu.Bykovsky, A.A.Egorov and B.Yu.Rager : Multiple-Valued Logic Protected Coding for Optoelectronic Systems Distant Control via the Global Network Multiple-Valued Logic Protected Coding for Optoelectronic Systems Distant Control via the Global Network A.Yu.Bykovsky*, A.A.Egorov** and B.Yu.Rager** Abstract : Multiple-valued logic protected coding is proposed to be supplemented by PARSEK network pr ogramming language in order to provide distant protected control of robotic agents via the global network. PARSEK is the known tree-structured language, which makes easier to fit together multiple-valued logic cryptography codes and controlling procedures for distributed computing in a multiagent robotic system. Keywords : Multiple-valued logic, tree structured data, protected robotic control, distant control of agents. network and attacks of eavesdroppers aimed at network servers. Of course, such a malfunction will not be a catastrophe, if special flexible programs are designed for robots beforehand. The second possible and much more dangerous type of malfunctions can be caused by motivated attacks of an eavesdropper namely at PC, exploited as a supervisor for a robotic team. That is why it is reasonable for a local user to include some additional crypto coding methods into a robotic team and host PC independently from network security methods. INTRODUCTION Many social and commercial applications of robotics and automatic machinery need low-price and reliable methods of distant control, based on data exchange between a man and a controlled autonomous robotic team [1]. The principal scheme for such a system is given in Fig.1, where the team of autonomous robots is shown to work on some territory. The distant man-supervisor interacts with robotic team via the special host PC agent, included into the robotic team. The supervisor and the host PC in the robotic team are supposed to be equipped with typical network hardware, and for the sake of simplicity, the robotic team is supposed to have highly protected local data channels, which does not disturb the supervisor. The user of a distant robotic team may need to transfer not only direct tasks and instructions for robots, but large volume of visual photo and video information, objects parameters, work results, test and service procedures. As the global Internet network provides cheap and high throughput data transmission channels, it can be regarded potentially as a very attractive control data transfer channel, highly adapted for transfer of visual information, but a motivated eavesdropper, using modern codes breaking methods, can stole confidential business information, damage and modify control instructions. Nowadays global network technologies do not provide the necessary level of data protection for transferred messages [2]. First of all, the civil owner of a distant robotic team practically can`t withstand possible general malfunctions in the global Supervisor + PC INTERNET global network Host PC based agent Local data transfer channels. A B C Team of robotic agents. Fig. 1. The principal scheme of control instructions transfer via the global network. The communication channel is shown between supervisor`s PC and special host PC, which have separate local data channels with robotic agents A,B,C. * Leading researcher, P.N. Lebedev Physical Institute RAS, Moscow, Russia e-mail: [email protected] ** Post graduate student, Moscow Engineering Physics Institute (State University), Moscow, Russia 140 Pacific Science Review, vol. 13, no.3, 2011, pp. 140~149 Methods of data and knowledge protection in a hardware agent [3] are the base for protection of robotic team and can be subdivided into three main parts. Firstly, a user can raise the level of protection of agents by enhanced multiple-valued logic (MVL) cipher protocols in communication channels [4], including application of error correction codes and authentication procedures. Secondly, the user can potentially apply special programs in agents for the logical analysis of content of received messages [3], what is a complicated task and out of the item of this paper. Third group of methods include physical active and passive protection of an agent “body” from direct physical access to its memory chips, here one can apply special MVL procedure [5] for “friend-or-foe” recognition of agents, which have the permission to come into contact with the agent, and special key unit for controlled distant disordering/reconstruction of the fuzzy logic rule base, when the robot is switched off and afterwards switched on [6]. The ideal protected representation of a confidential information message, transferred via global network data channels, can be depicted [2, 7] as the set of large dimension digital arrays, otherwise an eavesdropper will be able simply to guess the real code. Moreover, the numbers in these arrays also should follow in a random manner and have random numbers content, otherwise the eavesdropper can analyze and reconstruct interrelations between actions and data structure. As industrial and service robots are typically specialized on some kinds of activity, namely visual control of the scene in combination with data traffic analysis can give the potential eavesdropper the greatest chance to classify robotic actions and to reconstruct the language of robotic team control. Another kind of possible prompts is due to the fact, that distant control of a robotic team include correction of different types of information: renewal of cryptography codes, correction of tasks and characteristics of objects. Every class of such information has its typical representation formats, but all of them should be unified to some universal data structure. The motivated designer of additional cryptography procedures also should remember, that the most powerful and correct crypto code is to be based on classical principle of a “one-time” cipher pad, providing long enough random one-time key for every coded message [7]. Another obvious demand to additional cryptography procedures lies in the fact, that for agents with massive optoelectronic data processing security procedures should not create obstacles for visual data transmission. Besides this, robotic team actions, initially described by natural language constructions [2], should be maximally hidden within the secret message exposed to the Internet media. Thus, the coded representation of addresses (i.e., names of robots), instructions, objects characteristics, pictures and etc. should be uniform and just the same. As one should have the possibility to transfer secretly even the most simple instructions and characteristics, the coding transformation should provide the smallest level of data “granularity”. As a result, for future robotic team applications namely the “low” level language of network programming, using the very primitive set of basic operators (mostly close to basic logic operators in algebra theory [8]) seems to be the most reasonable way to transform initial messages into the array with large enough dimension and uniform structure of quasi random numbers. One more actual and interesting aspect of distant protected control is that a robotic team can be regarded as a separate variety of a distributed computing system, which in its turn may have the computing tasks for global distributed computing system, such as a P2P network, grid system or “cloud” computing network [9]. As for such computing systems the user can`t choose the exploited hardware in the network, it is practically impossible to apply additional crypto methods in a global distributed network with arbitrarily activated hardware. As a result, the robotic team user should apply additional knowledge protection methods just in his agents contacting with the network. The aim of this paper is to show, that the joint application of highly protected multiple-valued logic (MVL) protected coding [2,4,6] and special architecture of a protected agent [3,10], together with so-called PARSEK language [9], earlier designed for distributed global grid computing, is the most simple and direct way to adapt the robotic team for highly protected delivery of instructions via the global network between the distant supervisor and robotic agents. PARSEK here is the most adequate method of transfer of additionally coded messages between robotic agents, and MVL coding is the method of additional coding just in robotic agents. At the same time, special protected architecture of agents is here the way to create integral knowledge and data space, needed for PARSEK application. Its task is also to combine secret coding modules with all other data processing subsystems into the integral control data space. 141 A.Yu.Bykovsky, A.A.Egorov and B.Yu.Rager : Multiple-Valued Logic Protected Coding for Optoelectronic Systems Distant Control via the Global Network operations give the direct possibility to create, delete tree branches, to control the cursor movement along the tree and edit links between nodes. Thus, e.g., if one has generated an ordered random numbers sequence {a1, a2, …}={102, 5, …} for cryptography purpose, he can distantly transfer and correct it via network by direct PARSEK instructions in perfectly visualized representation. CHARACTERISTIC FEATURES OF PARSEK, CRITICAL FOR CRYPTOGRAPHY CODING IN ROBOTIC AGENTS PARSEK globally distributed computing language [9], based on C++, was designed as a software tool to provide the effective programming of distributed grid computing in global P2P networks and the global integration of distributed data. Tree structured calculus models, used in PARSEK, is the way to overcome: - incompatibility of data representation forms, - extreme heterogeneity of information space in global network, - huge number of representation forms and processing methods in grid computing. PARSEK designers especially emphasized [9], that commercial grid instrumentation has too many platforms and this fact leads to extreme non-uniformity of global computing information space. Such a situation is the consequence of the classical von Newman model and is out of the item of this paper. PARSEK language [9] operates only with tree-structures, providing closed (or self-contained) calculus and use the full set of tree structures operations with data and files inside the PC and in distant PCs. Thus, for a full linked tree structure PARSEK is a tool to find necessary data and to work with data trees branches in all distant parts of the network. The well-known tree structure data representation, earlier widely used in popular Norton Commander soft for PC, is given in Fig.2 a) and visualizes an ordered set of elements {a1, a2, a3 ,…}={102, 5, 25,…}. Elementary tree represent structured object and consists of nodes and links. There are three types of hierarchical links: deep- link with the lower node: next- link with the next node of the same level; prev- link with the upper level node. In PARSEC one can read the content and the adress of the node: cont ( ); change the content : re_cont ( ); create and delete nodes: node_create ( ), node_del ( ); to edit links between nodes: link_next ( , ), link_ deep ( , ), link_prev ( , ). Therefore, the cursor transition from address #a1 to address #a2 can be given by direct operator deep, values for a set {a1, a2, ,…} can be read by operator cont. As a result, for ordered sets like {a1, a2, …} PARSEK A a1=102 a2=5 a3=25 ... a) B <*program_ name*> `rout start of branch of main program `parform list of start up parameters of a program subtree `subrout list of subroutines b) Fig. 2. a) Tree structure, representing e.g., ordered set {a1, a2, a3 ,…}={ 102, 5, 25,…}. b) Simplified tree structure representation of a program in PARSEC. (Adapted from [9]). It can contain tree branches for cycles, conditions if -then, subroutines and etc. PARSEK [9] operators include cycles and conditions, assignment, expression and functions. Consequently, non-binary logic operators MIN, MAX can be directly emulated in PARSEK. This provides the realization of algorithms, necessary for full-range programming, while any program in PARSEK can be given by tree structure, like shown in Fig.2 b). Also PARSEK instruments set includes instructions for memory content addressing just in the every computer in the network, including IP network address of the computer, port address, SRAM and disk memory address. Special operators are used for 142 Pacific Science Review, vol. 13, no.3, 2011, pp. 140~149 input/output of tree structures {read_tree, write_tree} and files {Copy, Move, Rename} operations, where all possible variants of trees and files transfer possible between memory SRAM and disks. Consequently, tree structure calculus in PARSEK is the tool to organize integral data space for memory and addressing, excluding unambiguous description and alternative interpretation of data and instructions. This integral data space is represented as a traditional tree structure and is easy to visualize, modify and verify the branches of that integral tree. Ordered sequences here are only one and the simplest variant of tree structures, but it is already quite enough to apply MVL secret coding. Computing device in the communication module is highly specialized and can be even based on a microcontroller, and not PC. Protocol 1. (Message is being send by the supervisor and is to be delivered to host PC and further to a robotic agent). 1. Receiving/transmitting PC waits for and receives the message, consisting of 3 parts: {a} - IP address, according to commercial TCP/IP protocol, {b} - uncoded message adressed to robotic agents (if the supervisor is not the owner of the robotic team, part {b} can be also coded by some other key in order to create more complicated multistage protection, but this here is not substancial), METHOD TO VERIFY THE FACT OF MODIFICATION OF A MESSAGE, TRANSFERRED VIA GLOBAL NETWORK Host PC Supervisor PC wants to send y1 ,y2 ,...,yJ Algorithm and hardware for secret coding. Netcard & TCP/IP For MVLcoding: procedures. Random number generator & A coded message, which has been delivered via Internet, can be either original or modified. The situation, when some of messages were not deliberately delivered to a robotic team, is supposed to be determined only by logical check of content during some time intervals, but that is a task for a complicated reasoning analysis system and is out of the item of this paper. More easy is to determine the fact of modification. Convenient method can be proposed, appropriate both for MVL and traditional cryptographic coding. The principal scheme is given in Fig. 3 a), b), which describes the protocol to verify possible message modification. Message transfer is initiated by the supervisor PC, see Fig.3 a), which sends the message to host PC and further to a robotic agent. Supervisor`s PC and host PC are to be equipped with hardware and soft for work with network and additional cryptographic coding. If the application of highly protected MVL codes is supposed, than supervisor`s PC and host PC should be supplemented by a good quality random number generator (RNG) modules and one and the same secret MVL function y=FMVL (x1,x2,…,xn), is to be written in their memory devices. Receiving host PC unit (in the host PC based agent in Fig.1) is to be composed from two modules, see Fig.3 b): 1) receiving /transmitting computing device (e.g., PC), equipped with network communication hardware, 2) separate communication module with RNG and independent computing device. These modules are to be linked by USB or COM ports. Initially receiving/transmitting PC and communication module are switched into waiting mode. a) Open type network data channel y=FMVL (x1 ,x2 ,...,xn). Algorithm and hardware Netcard & for secret decoding. TCP/IP procedures. For MVLcoding: Random number generator & y=FMVL (x1 ,x2 ,...,xn). Host PC unit global network data channel message: {a), b), c)} PC unit with netcard for receiving/ transmitting of messages (to be reloaded from ROM or CD ROM) parts of message { b), c) } Hardware port link (USB or COM port) Communication module with RNG compares decoded parts b) and c) to detect modification part { b) } in coded or decoded form To agents A,B,C b) Fig. 3. a) The general scheme to verify modification of a message, transferred from supervisor PC to host PC. Both of devices have network card, RNG and secret MVL function. b) The scheme of receiving host PC unit, consisting of receiving/transmitting PC and special communication module, linked to receiving PC by USB or COM port. Received message consists of parts a),b),c), where a) is {TCP/IP data}, b) is {coded or non-coded instruction}, part c) is a coded replic of instruction b) and is needed for verification. {c} - part {b}, coded e.g., by MVL codes. Optionally, automatic message documentation can be activated from ROM, data are to be written into a separate disk or flash memory. 2. Receiving/ transmitting PC transfer parts {b} and {c} via port link into communication module, after this receiving/transmitting PC is to be reloaded from ROM and to be returned into wait mode. 143 A.Yu.Bykovsky, A.A.Egorov and B.Yu.Rager : Multiple-Valued Logic Protected Coding for Optoelectronic Systems Distant Control via the Global Network MIN, MAX > include constants 0,1,…,k-1 , operators MIN=MINIMUM (x1, x2 ) (selection of the minimal value from a pair of elements), operator MAX=MAXIMUM (x1, x2) (selection of the maximal value from a pair). Operator LITERAL X(a,b) is defined via parameters a and b [11] as 3. Communication module, equipped with RNG, decodes part {c} and, if necessary, part {b}, according e.g., to earlier published procedures of MVL secret coding/decoding [3,4,6]. 4. Communication module compares content of part {b} and {c}, if there are no mistakes it delivers part {b} to announced agent. If there is any difference between {b} and {c}, communication module activates special error check and correction program. 5. Return to waiting mode. For the duplex communication, i.e. for transmitting of a message from agent to host PC and to supervisor, the scheme should be reversed. Protocol 2. (Message is being send by the robotic agent and is to be delivered to host PC and further to a supervisor). 1. Communication module, equipped with RNG for work with MVL codes and independent computing device, waits and receives the message from the agent, where message consists of initially uncoded part {b}. 2. Communication module codes part {b}, thus creating part {c}, and optionally codes part {b} by the same or different one-time MVL key. 3. Communication module transfer parts {b} and {c} via port link into receiving/transmitting PC. 4. Receiving/ transmitting PC choose the necessary network IP, creates full message (including parts {a},{b},{c}) and sends it, according to standard TCP/IP protocol. Optionally, automatic message documentation can be activated from ROM device, data are to be written into a separate disk or flash memory. 5. Receiving/ transmitting PC is reloaded from ROM and is drawn into waiting mode. Given above protocols does not modify the content of part {b} in message (even for some complicated multistage coding). That is why any knowledge structure in part {b} of a message, described by PARSEC language, will not be changed by verification procedure. This verification scheme is applicable to any additional code and does not interact and conflict with network language. X(a,b)= { 0, if x<a k-1, if a ≤ x ≤ b. (1) Thus, traditional arithmetic operations sum, subtraction, multiplication, division are not defined in AGA, that is why this calculus can`t be directly used for traditional mathematical modeling. However, as is discussed further, special procedures for k-valued logic switching function can be effectively used for secret codes generation [4,6] and even for modeling of agent work [9]. Arbitrary discrete MVL function for k=256 logic levels and n variables x1,…,xn can be defined as a truth table, see Fig. 4 a), and equivalent logic term representation can be given by y=F(x1,…,xn)= 1∗X1 (a11 ,b11)∗ …∗Xn (a1n ,b1n) + + 2 ∗X1 (a2 1,b21)∗ …∗Xn (a2 n,b2n) + … (2) + q∗X1 (aq1 ,bq1)∗ …∗Xn (aqn ,bqn) , where exp. (2) can be combined from several groups of minterms with different constants. Ordered sets of all constants C ={0,1,…,k-1} and coefficients a={a11,…, aqn} , b ={b11 ,…, bqn} completely define MVLF. Exp. (2) may be shortened (minimized) according to known method of minimization [11]. During this procedure the set of Literals coefficients a ij ,bij should be transformed. For an arbitrary MVL function the overall number of parameters aij ,bij [4] is equal to Nparametrs=2x(k-1)xn, where k– is the chosen number of logic levels, and n – is the chosen number of variables x1,..,xn. Respectively, MVL function e.g., for 30 variables and 256 logic levels, can be written in a memory chip only ≈16 KBytes, as the number of Literal parameters a ij,bij will be Nparameters ≤ 2x256x30=15360. The “less or equal” symbol is used here, as for simple MVL functions some constants will not be used in exp.(2). That is why, the distant transfer of a whole MVL function, defined by the ordered set with 15360 elements, by means of PARSEK procedures can be regarded simply as the transfer of tree structure branch (see Fig.2) with many nodes. This long sequence of numbers is an ordered one and can be easily subdivided into separate blocks for DATA STRUCTURES OF MVL CRYPTOGRAPHY CODING, CONVENIENT FOR TREE STRUCTURED OPERATIONS MVL coding method [4,6] is based on Allen-Givone algebra (AGA) [11], which is a full set of logic operators in k-valued logic, where k - is the value of truth, k={0,1,…,k-1}. Its operators <0,1,…,k-1, X(a,b), 144 Pacific Science Review, vol. 13, no.3, 2011, pp. 140~149 =25630 ≈1,7 ⋅1072. These random combinations x2,…,xn are further to be used as random one-time keys! That is why one MVL function, secretly written into communicating devices with quite modest memory storage, can provide long autonomous work for secret coding. In order to realize simple technical method of secret coding in an arbitrary communication line, it is more comfort to apply re-coding sequence principle [4], disclosed briefly in Fig.4 b). Ordinary memory chip has adress and cell pins. To make the procedure more illustrative, one may suppose that initial recoding sequence R0 ={0,1,…,255} is written into the memory chip. Using simple procedures discussed in [4,10], or some more complicated method, one should make the random permutation of R0, leading to final recoding sequence R. In order to receive biunique coding and decoding keys for R, it should not contain repeated numbers, but only some permutation Pk of R0. As the used initial sequence R0={0,1,…,255} is very long - 256 numbers, the number of all possible combinatorial permutations Pk =k! can be estimated by the well-known Stirling formula for large k, which gives for k=256, and n=30: Pk ≈8,57x10506 [4,6]. That is why such a simple procedure for generating of random sequence R is very attractive for the generation of large spaces of secret keys. The general protocol of secret data transfer between two agents, which was discussed in [4,5,6,10], can be directly used for message transfer via network. For the data transfer channel {supervisor PC}-{host PC} (see Fig.3), each of both devices should have RNG. The message to be coded should be represented as a set of phrases (i.e. number sequences), as for each of them the length does not exceed 256 numbers. The described above final recoding sequence R is used as a one-time key for only one phrase, as in classical “one-time” cipher-pad method [7]. As it was shown earlier, the verification procedure is here independent from MVL coding. The coded part {с} in message in Fig.3 should in its turn contain two parts: first part is a coded message, received by random substitutions in initial message, and second part is the “prompt” for the receiving device, i.e. the set of x`2,…,x`n values, which was used by the transmitting device for coding of that very message. It is used in host PC for calculation of reverse key R i and for decoding. That very principle can provide the correct work in an open channel, exposed to potential eavesdroppers as in the classical Diffie-Hellman-Merkle algorithm [2]. In such a scheme the attempt to repeat earlier used prompt sequence x`2,…,x`n is useless, as the eavesdropper does not know the secret function. In order to reconstruct the secret function for given k and n by the brute force attack method, he will have to work with transmission and restoration from separate phrases (or blocks) afterwards. MVL secret coding [4, 6] can be easily applied together with PARSEK network language, as this method of cryptography coding is built only on operations with one dimensional ordered data arrays, directly represented as tree structures in PARSEK. The brief scheme of secret coding is given in Fig.4 a), b). If according to Fig.3 the supervisor PC wants to send the secretly coded message to host PC, then the secret MVL function by exp. (2) should be beforehand written into the memory of both devices. Some truth table responds to the used expression (2). Truth table of a MVL function y=F(x1 , ...,xn), with randomly choosen parameters (ai ,bj) of Literals in exp.(1). Dec. nom. of row Sequence x2 ,..., xn is "chosen" by RNG. xn x n-1 x2 x1 y 0 0 0 ........... 0 0 f(0,0,...,0) 1 0 0 ........... 0 1 f(0,0,...,1) ..................................................................................... k-1 0 0 ........... 0 k-1 f(0,0,...,k-1) k 0 0 ............. 1 0 f(0,0,...,1 ,0) ............................................ .......................................... n k-1 k-1 k-1 ............. k-1 k-1 f(k-1,k-1,...,k-1) a) Memory chip: adresses #: 0 1 2 ........... 254 255 0 cells: 0 1 2 ........... 254 255 102 1 2 5 For x1 from 0 up to k-1. ........... 254 255 ........... 254 237 Random permutation Initial recoding sequence R0 Final recoding sequence R contain random permutation of R0 . Coding (direct) key substitutes: R1={0→102,...,2→ 25,...}. b) Decoding (reverse) key substitutes: R1={102→0,...,25→ 2,...}. Fig. 4. a) The scheme, disclosing the procedure of secret MVL code generation. b) The principle of random permutations in a SRAM chip, used to receive coding and decoding keys. Also, each of devices has separate RNG inside. The MVL function is given for k-logic levels, e.g., k=256, and n=30 input variables x1,…,xn . Its set of less then 16 KBytes of constants and coefficients in Literals are chosen by the good quality RNG. This RNG is used to choose random set of values for variables x2,…,xn ( x1 is not fixed!) in Fig.4 a). It is more visual to show in truth table, that further one is to scroll all values x1 from 0 up to 255 (shown by the ellipse in Fig.4 a) and calculate k values of function y. They (also shown by the second ellipse) will be randomly distributed within the band of [0,…,255]. The number of all possible x2,…,xn combinations [4] is determined by the number of rows in MVL function truth table [ 8], which is N rows =kn 145 A.Yu.Bykovsky, A.A.Egorov and B.Yu.Rager : Multiple-Valued Logic Protected Coding for Optoelectronic Systems Distant Control via the Global Network expert knowledge in the table representation. That is why some tools from relational databases methods still can be reproduced. The architecture being discussed further in this section, initially is aimed to build the most simple and obvious MVL modeling tool, i.e., the mapping scheme for a set of MVL functions [10]. These functions are to model the work of separate subsystems of the agent. As separate MVL function can be easily described by PARSEK instructions, than integral MVL model for a separate agent or a robotic team can also be controlled by PARSEK. However, this proposal has some obstacles to be realized. The calculation of minimized exp. (2) according to expert knowledge given in tables needs to solve the problem of quick logical minimization of MVL terms, written for truth tables [11]. In the 70-th and 80-th years of the 20-th century, as it was stressed by designers of AGA in [11], it was a large problem, but for modern computing systems this problem seems to become more easy. The question is what number of discrete k-levels and input variables n can be maximally computed. That item was somehow discussed in [11] and is to be revised in future investigations. For complex protection the MVL model [3] needs to be obligatory supplemented by the whole spectrum of data protective tools: a) non-alphabet language with fixed phrase structure, depicting the world model of the robotic team, b) special type of asynchronous local network of microcontrollers as the agent hardware base, c) distributed “blackboard” memory in the agent with rigid control of re-writing procedure, preventing from direct access of an eavesdropper`s queries into memory, d) MVL cryptography coding of communication channels, e) logical content verifiction for incoming messages, f) sensor detection of direct unauthorized intrusion into memory modules of the agent. In [10] this list was further enlarged, as some new tools were proposed. In the new variant [10] of the architecture [3] it was proposed to model the work of separate subsystems in agent by individual MVL functions, in order to receive the integral framework model, which can be applied for general debugging of the agent behaviour. Also, such a scheme was further developed in paper [6], where a protocol and scheme for the distant MVL coding key was designed, which can distantly destroy and rebuild the fuzzy rules base. This scheme used the representation of the set of fuzzy logic “If…Then…” rules as only one MVL function. Here, MVL coding and computing of discrete logical multilevel switching functions was the tool to integrate fuzzy logic units into the general MVL model of the agent. Besides this, general MVL model is the mean to raise drastically the space of secret keys, which should be space of all possible MVL functions, which is [8] Nvariants kn of MVLF=k . For k=256 and n=30 this number attain 72 Nvariants of MVLF =25625630 > 256 10 , it obviously exceeds the key space for all modern cryptosystems. The simplest practical method to realize MVL coding [4] is to integrate the memory chip with n cells, shown in Fig.4, into the data bus to make substitutions for incoming data, delivered via address pins. Here, even 8 or 16 bits chip is already enough for huge increase of secret key space, in comparison with traditional cryptography methods. For the eavesdropper, which tries to guess the current content of coding memory chip, the number of all possible variants of sequences with length of n k-level numbers, written simply as k memory cells in the chip, will be Npermutations =Pk=k!. MVL functions are here the comfort and simple tool to organize long and autonomous work with random numbers from RNG in the open data channel. This method does not use any traditional cryptography methods [2]. Consequently, ordered sequences in MVL coding are practically the only really needed instrument, providing exclusive dimensions for key spaces parameters and transfer of MVL codes and functions by PARSEK commands. THE ARCHITECTURE OF THE PROTECTED AGENT MODELED BY A SET OF MVL FUNCTIONS PARSEK language [9] provides optimized work with global data and files space in a distributed network. As a robotic team or even the separate agent [3] can also be regarded as a distributed computing system with parallel data processing, than the most easy and natural interaction of network with PARSEK soft will be obtained namely for tree structured architecture of agents. The most realistic candidate for joint work with PARSEK is the protected distributed “ blackboard” type architecture of a robotic agent, proposed in [3] and enhanced in [10]. Its substantial advantage is that it propose not only the parallel distributed multi-parametric computing in the specialized network of microcontrollers, but it also give the possibility to build integral graph tree for all experimentally measured parameters and mathematically modeled variables, by means of a sequence of MVL functions, depicting separate subsystems of the agent [10]. As it was mentioned above, multiple valued logic AGA itself has no arithmetic operations and can`t be directly used for modeling of algebraic or geometry expressions. But it has logic terms calculus exp.(2), and its truth table with k-grades of input/output variables is quite a real tool to work with 146 Pacific Science Review, vol. 13, no.3, 2011, pp. 140~149 task, FHdanger , estimating the measure of detected threat. The resulting parameters, disclosing possibility of an agent to work, are to be directly send to other subsequent modules. Second step. After the first step is carried out, communication receiver and transmitter units are to deliver instruction of the supervisor into agent and to send request for additional instructions, if necessary. External instructions, incoming into soft module FCagent movement , are to be taken into account together with homeostat results. This function estimates reasonable agent movement in the scene, and is to be used for further task solver in the decision making unit. FCcommunication task can be calculated to form e.g., SOS or help signals. analyzed by a potential eavesdropper for brute force attack or cryptography analysis. It was shown in [10], that if an MVL function is given as along sequence of numbers (> 15000) computed beforehand, this is extremely good for MVL cryptography protection, as this long sequence of numerical coefficients provide the colossal dimension secret permutations of greater than Npermutations=Pk=k!=15000!. Thus, the secret MVL coding for other MVL functions, modeling the work of largescale modules in the agent, is a very attractive method to keep algorithms of their work in secret. But as it was discussed in Introduction, the protected agent for fullscale distant control should also provide distant transfer of corrected and renewed MVL functions and MVL crypto coding parameters. As a result, the architecture presented in [10] is to be also modified. The proposed architecture of an agent with protected MVL models of basic subsystems is shown in Fig.5 a). Its main idea is that main subsystems (homeostat, communications units, sensor subsystems, including computer vision, decision making unit) are semiautonomous modules as in [3,10]. Cycles of their work are to be activated by clocking scheme with time lags, and each subsequent subsystem can use some of the results, obtained by previous cascades. Each of subsystems, equipped with its own microcontroller, computes its specific set of MVL functions, calculating them as exp. (2). Some of possible functions are given in Fig.5 b), where three of agent`s subsystems are shown to respond to three columns of MVL functions. For example, homeostat, or the subsystem to sustain vital parameters, takes into account data from sensors and from “blackboard” memory. Here, in the scheme modified for MVL secret coding, independent modules for MVL coding are to be installed as just in the communication modules, as between subsystems and “blackboard” type memory. The knowledge structure can be taken from “blackboard” by all subsystems, but partially useful information is exposed in secret form, according to the principle that only “authorized and subscribed” subsystems will understand. For massive MVL calculation in the agent it is easier to integrate some additional secretly coded information just in the general access memory device [3], but not to seclude special secret memory device. Possible procedures, using calculations of discrete MVL functions, are shown further as several illustrative steps, disclosing possible cycle type algorithm to work with MVL functions model. First step. Homeostat controls e.g., battery check, control sensors, external temperature. For current sensor data, working in the manner close to well-known fuzzy controllers, homeostat calculates by means of exp.(2) e.g., FHhealth , estimating “health” of agent, FHactiveness , estimating e.g., the measure of efforts to carry out the to network sensors ... Homeostat (vital parameters) executive devices MVL coder Unit to receive messages Unit to send messages ... variables of vital param. executive devices ... ... MVL decoder sensors sensors ... Computer vision unit ... ... Sensor process. unit Decision making unit ... ... variables of tasks and planning variables of tasks and external objects scene map memory (x, y, z, t) 밄 lackboard? memory a) Homeostat (H) H F health H F activeness data from sensors and memory Decision making unit (D) Communication module (C) F Ccommunication. task C F agent movement ... F Hdanger ... ... D F task selector D F search time limiter F Dsave MVLC b) F memory access MVLC F operations with map Fig. 5. a) The modified architecture, integrating MVL coders into the structure of agent subsystems. b) The graph scheme to define the structure of MVL functions, modeling the work of an agent with protected knowledge and database. Third step. After the second step is carried out, sensor and executive devices units, including computer vision system, can be processed as a complicated set of functions. Computer vision will obviously need the most powerful computing resources and the large set of features and variables, but in the discussed scheme the 147 A.Yu.Bykovsky, A.A.Egorov and B.Yu.Rager : Multiple-Valued Logic Protected Coding for Optoelectronic Systems Distant Control via the Global Network difference between separate subsystems is only in the number of formalized parameters to be processed. Moreover, MVL logic primitive instrument is not enough to include traditional binary and approximate fuzzy logic formulas, needed for complex computer vision processing. But here one can apply the method proposed in [10], where MVL switching functions were used to activate separated binary and fuzzy logic soft units, when necessary. …. N-th step. After all necessary information is received from all subsystem, the decision making unit estimates its functions, e.g., for task selecting, time limiting of parameters, evacuation decision and etc. The necessary property of an agent with protected architecture is that all knowledge and objects characteristics, which are to be written into memory, are to individually coded while passing through the special unit for MVL coding/decoding (see. Fig.5 a)). Such a model scheme seems to be more adequate for complex visual data processing schemes, as secret information can be accumulated from separate messages, and one can additionally verify its correctness. Thus, secret coding is not necessary to use all the time for all data, but it can be selectively applied for some types of data (e.g., the secret map of treasures location). The special type memory [3], providing sequential access of all subsystems to general knowledge base, is needed here to provide the work with the coordinate and time maps, lists of objects and is to be designed especially for specific expert knowledge. What is substantial, the MVL coding/decoding unit, regulating access to “blackboard” memory, should calculate several own MVL functions, e.g., FCcommunication FMVLCmemory access to activate “Enable” pins in task or memory chips and FCoperations with map, which is to regulate access to secret pages in coordinate map. Thus, MVL architecture is to integrate experimentally measured variables, modeled parameters and cryptography parameters into the whole and integral model. It responds to the general rule in cryptography to make the key space as large as possible, as modern eavesdropper also can use distributed and grid computing! As the graph, composed of MVL functions, given in Fig.5 b), is comfort to work with only for small scale models, practical representation of it should be regarded as a time sequence of all mapping MVL functions, more appropriate for soft design [10]. That is a repeated cycle, as schemes in Fig.5 b) disclose the time-table for activation of different MVL functions: { yi Homeostat=FH i( x1, x2, ...xn ), }⇒ { yi Communication module 1 = FC i( x1, x2, ...xn )} ⇒ { yi Secret coding 1 = FMVLC i( x1, x2, ...xn )} ⇒ ………………… { yi Decision making=F Di( x1, x2, ...xn )} ⇒ RETURN. The given notation for the sake of simplicity show different sets of output variables y with only one index i, because real MVL functions model should contain many variables, and it is easier to tag them for programming by numbers in the general list of variables {x1, x2, ...,xn}, but not by different alphabet letters. The proposed architecture is, no doubt, is a model, which demonstrates only general principle of MVL functions application. The practical design should include many other complicated aspects, however it still shows that graph schemes in Fig.5 give the possibility to unite all MVL functions, sensor parameters and service crypto coding variables into the integral tree structure. MVL functions representation of an agent model is compact and contain many possible values of output parameters for every MVL function, that is why the given MVL functions set creates comparatively compact framework for addressing and search in the integral tree structure. Another aspect of joint application of PARSEC network language with protected team of robotic agents lies in the choice of possible language for description of tasks in communication channels in the robotic team and inside the agent. What is interesting, in the first paper devoted to MVL secret coding [4], the simple language was proposed for the robotic team control, which is very close to the idea of transfer of tree structures, described in the integral diagnostic space of all possible states of the agent and the robotic team. The simple language for agents communication [3,4] was based on the short nonalphabet phrase “Who sends the message -To whom is addressed message-What task is to be done -Where to execute the task -When to execute the taskCommentaries”. For more quick work of the communication link, based on microcontroller MCS-51, the transmission of coded data was subdivided into separate phrases (numbers sequences) with 7 8-bit numbers. Each “word’ (i.e., number) in the phrase can have k=256 logic values, and the finite set of all possible phrases is given by the set of 7 different vocabularies, according to 7 “words “in the phrase. This knowledge representation form was designated for 8-bit microcontroller transfer module, linked to laser open or fiber line [4]. Even such a primitive formalized language form potentially provides coordinate-time description of actions, necessary for work with maps. It seems the authors to be quite a possible candidate for initial steps in cooperation between MVL, secret codes, PARSEK language and protected agent architecture for parallel data processing. (3) 148 Pacific Science Review, vol. 13, no.3, 2011, pp.140~149 an optical non-quantum communicateon line. Journal of Russian Laser Research, 27(5): 492-505, 2006. [5] Antipov A.L., A.Yu. Bykovsky, N.A. Vasiliev, A.A. Egorov. Authentication procedure of robotic agents based on multiple-valued and fuzzy logics. Radiotechnika (in rus.), 8: 97-104, 2008. [6] Antipov A.L., A.Yu. Bykovsky, A.A.Egorov. Data Protection Ordering/ Disordering of a Fuzzy Logic Model in a Robotic Agent via the Optical Data Transfer Line. Journal of Russian Laser Research, 29(4): 324-335, 2008. [7] Ryabko B.Ya., A.N. Fionov. Cryptography methods for data defence. Hot line-Telecom, 2005. [8] Shimbirev P.N. Hybrid continious logic devices. Moscow, Energoatomizdat, 1990. [9] Zatuliveter Yu.S, A.V. Toporishev. PARSEK language: programming in globally distributed computing within the model of tree-structured calculus. Control Sciences, 4:12-20, 2005. [10] Bykovsky A.Yu, A.A. Egorov. Methods of protected coding of messages and knowledge structures in hardware multi-agent systems, based on multiplevalued Allen-Givone algebra. Proc. of the 5-th Int. Conf. on Parallel Computing and Control Problems, 2010. [11] D.C. Rine ed. Computer Science and MultipleValued Logic: Theory and Applications, Ch.7-9. Amsterdam, North Holland, 1984. CONCLUSIONS The global network data channels for distant control of civil robotic teams can be protected by MVL codes, if PARSEK network language [9], earlier designed for distributed global grid computing, is combined with special agent architecture. The motivation to apply PARSEK language in future mass robotic teams is due to the fact, that network language is already adapted for transmission of visual information from optoelectronic subsystems in agents, and network data channels are comparatively cheap. As the local robotic team user can`t modify the network itself, the task is to add and to integrate high-level protection tools just into agents, without breaking the network protocols. Another task here is to make the application of additional cryptography tools maximally ”invisible” for network eavesdroppers. Three joint tools are discussed for the solution of the problem described above. First of them is the simple protocol, proposed to verify the modification of the message, transferred via network between supervisor`s PC and the host PC, delivering messages further to robotic agents. Second tool is the intrinsic tree structure of MVL coding method, where one-time secret keys, coded messages and even secret MVL functions themselves can be directly transferred via network by ordered sequences of numbers. PARSEK operators are well convenient for such procedures. Third tool is the modified architecture of a protected agent, adapted both for MVL codes and distributed processing of optoelectronic data. It provides the comparatively compact MVL functions “framework” for modeling of integral addressing space, including MVL coding parameters, vital sensor parameters, communication parameters, objects descriptions and decision-making variables. REFERENCE [1] Bräunl T. Embedded robotics. Mobile Robot Design and Applications with Embedded Systems. Springer, 2006. [2] Schneier B. Applied Cryptography. Protocols, Algorithms, and Source Code in C. Wiley, 2000. [3] Antipov A.L., A.Yu. Bykovsky, N.A.Vasiliev, A.A. Egorov. Protected Query Coding in Multi-Agent Optoelectronic System. Optical Memory and Neural Networks, 16(4): 211-226, 2007. [4] Antipov A.L., A.Yu. Bykovsky, N.A. Vasiliev, A.A. Egorov. Multiple-valued logic-protected coding for 149
© Copyright 2024