A computer implemented method of encryption and decryption of data over a network comprising network nodes wherein artificial neural network is used, wherein the method comprises: storing copies of artificial neural network at least on a client computer device of a first node, client computer device of at least one other node and on at least one network server node of the network; sending a set of input parameters from the at least one network server node to the client computer device of the first node and at least one other node; synchronizing the artificial neural network at each node using input parameters; creating encryption keys using an artificial neural network and input parameters at each node of the network; creating a set of output parameters using an artificial neural network, blockchain data and encryption keys; selecting an encryption algorithm using an artificial neural network and output parameters; selecting a type of encryption obfuscation using an artificial neural network and output parameters; synchronizing encryption keys, encryption algorithms and encryption obfuscation at each node of the network; encrypting data using encryption keys, selected encryption algorithm, and selected encryption obfuscation; transmitting encrypted data from the first client computer device to the at least one network server; decrypting the data using encryption keys, selected encryption algorithm, and selected encryption obfuscation at the server; re-encrypting with other parameters such as encryption algorithm, another encryption key, encryption obfuscation at the server; transmitting re-encrypted data to a final receiver node; computing a new block of a blockchain at the at least one server node of the network; transmitting an updated blockchain from the at least one server node to the first node and each other node of the network; retraining the artificial neural network at each node of the of the network using an updated blockchain. storing copies of artificial neural network at least on a client computer device of a first node, client computer device of at least one other node and on at least one network server node of the network; sending a set of input parameters from the at least one network server node to the client computer device of the first node and at least one other node; synchronizing the artificial neural network at each node using input parameters; creating encryption keys using an artificial neural network and input parameters at each node of the network; creating a set of output parameters using an artificial neural network, blockchain data and encryption keys; selecting an encryption algorithm using an artificial neural network and output parameters; selecting a type of encryption obfuscation using an artificial neural network and output parameters; synchronizing encryption keys, encryption algorithms and encryption obfuscation at each node of the network; encrypting data using encryption keys, selected encryption algorithm, and selected encryption obfuscation; transmitting encrypted data from the first client computer device to the at least one network server; decrypting the data using encryption keys, selected encryption algorithm, and selected encryption obfuscation at the server; re-encrypting with other parameters such as encryption algorithm, another encryption key, encryption obfuscation at the server; transmitting re-encrypted data to a final receiver node; computing a new block of a blockchain at the at least one server node of the network; transmitting an updated blockchain from the at least one server node to the first node and each other node of the network; retraining the artificial neural network at each node of the of the network using an updated blockchain.