What is NNSP?
NNSP is an abbreviation of 'Neural Network Synchronization Protocol' which is secured application-level protocol upon TCP/IP. Client's and server's neural networks are synchronized (have identical synaptic weights) by learning and exchanging public outputs of their networks. When synchronization is successfully done, weights of networks are used for secret key derivation. That key is then used for encryption/decryption purposes of next communication.
Client and server are active participants in synchronizing stage and that leads to synchronization of their neural networks. Consider third participant (attacker) who wants also to synchronize and derive secret key to decrypt communication between server and client. However, he is not able to do that because of passive participation (just listening), i.e. NNSP solves classic cryptographic problem.
Usage of NNSP
Source code of NNSP is written in C language and allows to build-up your client-server applications in very easy way. Developer of application don't need to implement any TCP/IP algorithms or socket operations. All he need is only to process incoming message, construct outgoing message and send it by using NNSP functions.
Server is multithread-based because of simplicity and need to store neural network and other information for each connected client, i.e. for each client different secret key is constructed and used.
Team is looking for...
Security specialist will be responsible for design and analysis of security issue and improvements of NNSP.
Main developer's task is to maintain source code and to implement new features of NNSP designed by security and neural networks specialists.