Encrypted Communication
Both in peer to peer remote computer connection and all communication between your computer and Alpemix main server are encoded in high security level. RSA is used for key transfers. AES (256 bit) is used for encoding instant data. RSA for key transfers and AES for instant data transfers are accepted as completely safe according to today’s standards.
It is impossible for another person who intervene in communication to decode all data because personal key client is never seperated from the computer and strong encoding standards are used.
When you establish a remote computer connection in the same way, Alpemix main server can not decode the communication between you and the other computer.
Keys created by the client are not saved in the client computer. Because different keys are created at each time program is initiated.
For key transfers, 1024 bit RSA and 256 bit RSA are used. The key that is encoded with 1024 bit RSA can be sent directly. The key that is encoded with 256 bit RSA is not sent directly. The key that is encoded with 256 bit RSA is sent again after being encoded with 256 bit AES.
Encrypted Communication Technical Expression
Each client program knows the pre-defined RSA 1024 bit public key of Alpemix main server.
When Alpemix initiated, instantly 2 pieces 256 bit AES keys and 1 piece RSA 256 bit public / private key pair is created.
Then, it encodes one of created AES keys and the created RSA public key with server’s public key by making 1024 bit RSA encoding and transfers it to server.
The server that receives data, decodes the encoded data by using RSA 1024 bit private key. So that, it knows the RSA public key and initially created AES key of the computer connected to it. The second created AES key is not known.
After that moment, it processes all data coming from client by decoding with known AES key. Again, it sends all data to be sent to client by encoding with AES key created by that client for the server. Let’s call this first AES key created by the client as AESKey1.
The second AES key created by the client at the opening is used for peer to peer communication with other clients. Let’s call this AES key as AESKey2.
In order to connect Computer B to Computer A and perform encoded communication; A must know B’s AESKey2 value and B must know A’s AESKey2 value. While these values are sent to each other through the server, the server should not see or decode these values.
First of all A states the server that it wants to connect to B. At this point, it should be remembered that communication between server and client is done with AESKey1 value assigned for each client cyriptically.
The server receiving the request, sends B’s public key to A and A’s public key to B. Now A and B know each other’s public keys. A encodes its own AESKey2 value with B’s public key by RSA 256 bit and sends to the server. Each package sent to server is encoded with AESKey1, so that this data is sent to server by being encoded with AES 256 bit. Server opens each package coming from the server with AESKey1, so it also opens that package. And it encodes the first package with B’s AESKey1 and sends to B. Server does not know B’s private key, so it can not completely decode password of the package. Thus, it does not have the chance to see A’s AESKey2 value.
B receives that package sent by the server and applies the operation that is applied to all packages received from the server. That means, first it opens the package with its own AESKEY1 value. In this way, B knows A’s AESKey2 value. By applying same methods, B’s AESKey2 value is known by A.
Henceforth, A and B encodes the package with each other’s AESKey2 value when they will send direct packages to each other.