Date encryption - page 2

 
Vitaly Muzichenko:



I see, I didn't know that term.

 
Alexey Volchanskiy:

I see, I didn't know that term.

I have a website, and there's something like comments, so I decided to attach a picture to each one, so that it would be simple, picture name = e-mail.jpg

To hide the mail, put it through two different kinds of encryption and the output will be emails in the form of "8e520945.jpg", this is my email "8e520945".

There's no way to decrypt it, so it won't leak onto the net.

 
Vitaly Muzichenko:

I have a website, and there is something like comments, so I decided to attach a picture to each, so that it would be simple, the name of the picture = e-mail.jpg

To hide the mail, passed through two different types of encryption, the output was mails in the form of "8e520945.jpg", this is my e-mail "8e520945"

There's no way to decrypt it, so it won't leak onto the network.


And on the website, what's the decryption? Is it a VPS or regular hosting?

 
Alexey Volchanskiy:

What does the website decipher? Is it a VPS or regular hosting?

The same as encrypted, the keys are only in the code -> decode module, and it's not realistic to get them. It's regular hosting.

 

I needed to bind the product to the user, I thought for a long time and decided to make it simple: advisor goes to the site every 2-4 hours, there checks the "license", and if it is valid by time, then continues to work, if not = return.

Check: on the site in the base for the user time is screwed, if current time is less, then EA gets the status "true with key", then writes the terminal time in a global variable of the terminal in the format unix, then every 2-4 hours it goes to the site, and so on in a circle.

Why do I write to the terminal? In case of connectivity problems or hosting crashes and if the EA does not receive the response from the website, it takes the time from the global variable and continues to work without interruption. If it did not get a reply from the third attempt, or received "false" - is blocked and works only in the mode of closing positions, after all closed him open = deleted. The protection can be bypassed, but I think it is difficult, there is a chain of checks for data substitution.

 
Vitaly Muzichenko:

I needed to bind the product to the user, I thought for a long time and decided to make it simple: advisor goes to the site every 2-4 hours, there checks "license", and if it is valid by time, it continues to work, if not = return.

Check: on the site in the base for the user time is screwed, if current time is less, then EA gets the status "true with key", then writes the terminal time in a global variable of the terminal in unix format, then every 2-4 hours it goes to the site, and so on in a circle.

Why do I write to the terminal? In case of connectivity problems or downed hosting and if the EA does not receive the response from the website, it takes the time from the global variable and continues to work without interruption. If it did not get a reply from the third attempt, or received "false" - is blocked and works only in the mode of closing positions, after all closed him open = deleted. Protection may be possible to bypass, but I think it is difficult, there is a chain of checks for data substitution.

Why do you need to check it so often? If one Expert Advisor has already checked the date on the server and stores it internally, it can simply update the global variable periodically according to a certain algorithm. Why would it need to go back to the site?

 
Vitaly Muzichenko:

The same as encrypted, the keys are only in the code -> decode module, and it's not realistic to get them. It's a regular hosting service.


You mean like Java Script or PHP?

 
Vladimir Pastushak:

So the question is, how do you encrypt the date so that if you change the letters or the order of the letters, the date does not increase?

I would use "interference coding". Roughly speaking, I would write the date in the usual ulong format, but add a few "check" characters to it. Say, the remainder of the division by some rather large (three-digit) prime number.

When reading - we read the date and the check digits. If they do not match, the file has been tampered with. The probability of accidentally changing the file so that not only the date but also the check digits match is very small (we can use a five-digit prime number instead of a three-digit one)

In fact, file can even have INI-format, and it will contain "date" - in plain text, in an easy-to-read form. A few more fields (you probably need some settings), and among them field "check" - with a "check" value. As a result, the file will be easy to read, there will be no need to decipher the date, and at the same time, any change in it (and check digits can be calculated based on other fields) - will be immediately identified.

 
Alexey Volchanskiy:

Is it OK that the AES and DES encryption offered by MQ is an open standard? And the other ciphers that are in use have open algorithms too. The secrecy guys...

if a thief knows that his neighbour has a camera and it is pointed at his door will the thief get in the door? i dont think so, the same goes for ciphers, you know how the encryption is already half done.
that's life, you have to know these things.

i leave it to everyone to decide whether the encryption is rational or not. any protection can be broken, even super advanced ones, it is a matter of CPU time. is it worth putting protection on an EA? the answer is no, a good EA should make money in the market for its owner, and not bring profit in the form of a license for a month or year.

As for the open source encryption algorithms, I don't think that someone will post the codes of algorithms of ministry of defence or other agencies that encrypt their data.

best regards
 
Vitaly Muzichenko:

I needed to bind the product to the user, I thought for a long time and decided to make it simple: advisor goes to the site every 2-4 hours, there checks "license", and if it is valid by time, it continues to work, if not = return.

Check: on the site in the base to the user time is screwed, if current time is less, then EA gets the status "true with key", then writes the terminal time in a global variable of the terminal in the format unix, then every 2-4 hours it goes to the site, and so on in a circle.

Why do I write to the terminal? In case of connectivity problems or hosting crashes and if the EA does not receive the response from the website, it takes the time from the global variable and continues to work without interruption. If it did not get a reply from the third attempt, or received "false" - is blocked and works only in the mode of closing positions, after all closed him open = deleted. Protection may be possible to bypass, but I think it's difficult, there is a chain of checks for data substitution.

It's the most rational, if you are dealing with renting of Expert Advisors.


Regards.