# Neuro-Amorphic Construction Algorithm — NACA

Egger Mielberg

egger.mielberg@gmail.com

29.12.2018

**Abstract.**

Under certain circumstances, determinism of a block cipher can lead to a disclosure of sensitive information about working mechanism of underlying machine. Unveiled restrictions of the mechanism can also give a possibility for an adversary to brute-force the cipher at a reasonable period of time.

We propose a nondeterministic algorithm operating on variable-length groups of bits with dynamically varying parts of round ciphertext. We named it as “Neuron Cipher”. It does not use as public as private key. In compared with symmetric or asymmetric encryption, it has obvious practical advantages. Among them is a “Perfect Secrecy” [4].

**1.** **Introduction**

In cryptography, there are a number of cryptographic hash functions that use deterministic algorithms with some restrictions on input data. *However, the most restrictions are realized in the deterministic algorithm, the bigger range of attacks the adversary is given*. The one who designs an authorization application should always remember that a percent of publicly presented information about the procedure of authorization is to converge to zero.

Minimizing predictability of what next step is going to be in an encryption process, we came up with a neurobiology-based solution. The basis of our research is in the field of memory formation. The principles of neurotransmission in the case of influence of dynamically changing dendrite formation. We also base on **Theory of One Synapse** [7].

The goal of this article is to present a new innovative approach of encryption mechanism. The mechanism that will allow a user, *first*, not to worry about publicly transmitted ciphertext, *second*, to get a ciphertext that makes any brute-force attacks meaningless.

**2.** **Construction details**

Neuro-amorphic structure of the algorithm is based on features of dendrites of a nerve cell and of amorphous substances. As a basis we took a simplified model of the nerve cell.

The algorithm can have as many rounds as it needs but in most practical cases, it will require not more than two or three rounds at all. In a first round, process of generating a hash consists of four stages:

**Stage 1**: Plaintext is split into two or more pieces, randomly. Length of each piece of the plaintext can or cannot be equal to other one’s length.

**Stage 2**: Generating a random number of 256, 512, 1024 or more bit size.

**Stage 3**: Calculating a synapse value (sv) by XORing the random number and the piece of the plaintext chosen by Fsp (round function). The chosen piece is a primary piece (pp).

**Stage 4**: Calculating hashes for remaining pieces of the plaintext by using sv. Obtained hashes of all pieces including sv, form a first hash value, ciphertext, for the whole plaintext.

Fsp — a multi-valued function the main task of which is to take a plaintext as an argument and split it into two or N pieces of different sizes. A piece of the plaintext can be a sentence, a phrase, a word, half a word, a letter (‘s), a number (‘s), special symbol (‘s) or a combination of word and special symbol, etc.

Hash value of the plaintext is different from round to round and its length as well.

K1, K2, K3,… KN — key hashes generated by the synapse value.

H1, H2, H3,… HN — round hash values of pieces of the plaintext.

**3.** **Mode of operation**

In our case, an algorithm that provides a confidentiality is based on two components, a unique binary sequence (256, 512, 1024, etc.) and an initialization vector (iv) that is calculated by Fsp on a random basis.

Formula for CNC encryption mode can have the following expression:

H0 = Si (XOR) K, 𝑖∈𝑁,

Hj = Fsp(sv (XOR) Pj), 𝑖 ≠𝑗, 𝑗∈𝑁

Formula for CNC decryption mode can have the following expression:

H0 = Ki (XOR) sv, 𝑖∈𝑁,

Pj = Fsp(Hj (XOR) Ki), 𝑗 ≠𝑖, 𝑗∈𝑁, 𝐾i ≠𝐾.

In compared with CBC (Cipher Block Chaining) [1], PCBC (Propagating Cipher Block Chaining) [2] and other modes of operation, CNC has several advantages. Among them:

1. Encryption and decryption processes can be parallelized. Thus, it can result in a fast overall performance of the entire hash process.

2. Ki values are being changed in every single round. It helps reach a good level of *Avalanche effect*.

3. Confusion property is totally realized in part of dependency of Hj on sv.

4. Diffusion property is realized completely. Changes in Si values will drastically change bits in the ciphertext (over 50%).

Also, it should be noted that, *first*, Si value (iv) is chosen randomly by Fsp and *second*, the length of the ciphertext for the same plaintext is different for a single encryption process.

**4.** **Perfect Secrecy**

As [4] claims, “Perfect Secrecy is defined by requiring of a system that after a cryptogram is intercepted by the enemy the *a posteriori probabilities* of this cryptogram representing various messages be identically the same as the *a priori probabilities* of the same message before the interception”. In other words, the chances to decrypt a ciphertext for an attacker must be the same in both situations, when the attacker gets known about the ciphertext and when he or she gets known nothing about it. That is, the ciphertext gives absolutely no additional information about the plaintext.

According to Shannon’s proof, a one-time pad has the perfect secrecy property. *But a practical realization of the one-time pad has serious drawbacks*. Among them:

1. “*Security place*”. A place where the one-time pad is stored must be as secure as a military territory.

2. “*Limit of users*”. A number of people which have an access to the one-time pad as minimum as possible.

3. “*Transport efficiency*”. It becomes practically impossible if there is an urgent need for transportation of the one-time pad from one place in planet to another without using Internet.

As we see, non-deterministic property of NACA can eliminate above-mentioned drawbacks.

Let’s consider the following practical example (Internet version).

Suppose, agent A has to transmit to agent B some secret message “*Meet me at 8 o’clock, October 31, 7799 Broadway, New York*”. In case of a one-time pad usage, agent A must share his or her one-time pad with agent B before any message transmission.

Moreover, keeping the perfect secrecy property agent A will always need to generate and transmit a new one-time pad each time when he or she needs to send a secret message. This requirement is time-consuming and costly for both agents.

Now, imagine that a generation of the one-time pad is executed on the side of agent A. Then, in order to send a secret message agent A will not need to share his or her generated pad with agent B. In this situation, only one secret agent B has to know is a sv.

As seen on Figure above, snippet “October 31” (S7) is used as a iv value in Round 1. sv is generated by XORing a 256 (512, 1024, etc.) bits key and iv. Then, sv is used for generating a key hash K7 by XORing sv and a randomly chosen new iv. For each round, there is a unique iv. Thus, the length as well as hash value of the plaintext will change from round to round. In this case, the ciphertext can be as longer as shorter than the plaintext. This property of NACA is **crucial** as it allows the ciphertext, *first*, not to be strictly tied to the following inequality |𝐾|≥|𝐶|≥|𝑃|, where 𝐶 is a ciphertext, 𝑃 is a plaintext and 𝐾 is a key hash.

[4] claims, “if a secrecy system with a finite key is used, and 𝑁 letters of cryptogram intercepted, there will be, for the enemy, a certain set of messages with certain probabilities that this cryptogram could represent. As 𝑁 increases the field usually narrows down until eventually there is a unique solution to the cryptogram”. In case of NACA, there is no need to worry about interception at all as a ciphertext of any plaintext can be presented publicly with no any disclosure of plaintext information.

Another **crucial** property of NACA is a set of different ciphertexts for a single plaintext. It became possible because of randomness of iv value.

**5.** **Neural entropy**

The degree of uncertainty is a crucial property of any cryptographic algorithm in part of outcome value. Ideally, an outcome (ciphertext) of the cryptographic algorithm should, *first*, be presented publicly without giving a possibility to hack it, *second*, have a unique value compared with another outcomes of the same input value (plaintext).

We believe that this two features of an outcome are self-sufficient and let the degree of uncertainty reach its maximum.

The first feature implies an absolute identity of both, *priori* and *posteriori* *probabilities* of the outcome. It is different from the interpretation of “Perfect Secrecy” formulated by Shannon [4]. In our case, there is no need to separate a priori probability from a posteriori one as the outcome of NACA can be unveiled as much public as a public key in asymmetric cryptography.

The second feature implies that the one-way cryptographic NACA-based function is multivariable. In other words, for any given plaintext there is an infinite set of different ciphertexts with different length.

Thus, we are coming to such a definition as “*Neural Content*” (NC):

Want to read more, please see **pdf-format version**.