I have created a algorithm and using arduino harware, and I don't want that users of my hardware could read or copy the Program so is there any security code or something that I could use. But I must access it whenever I needed to. It should be like admin and users.
-
2A quick search gave me this question. Maybe that is fitting for you– chrislCommented Oct 14, 2019 at 21:17
-
Chances are that I could pretty easily copy your algorithm without ever seeing your code. I'd just need to play with the product for a little while. Keeping the code a secret isn't the way to make money in this business anymore.– Delta_GCommented Oct 15, 2019 at 1:30
1 Answer
The code that's sent to Arduino is "compiled" which means it's changed from human readable form to a binary data that can be understood by the processor. The "code" you wrote remains on your computer only.
This itself is a way of encryption since it's impossible to retrieve the original source code from that binary data. That data can only be "decompiled". This is a process that takes the binary data and converts it automatically into a human readable code, but it's not the same code that you originally made. It doesn't have comments, and logical variable names. This makes it also hard to understand.
Decompilation is usually to difficult and time consuming to even bother doing that unless your hardware is a lock on a vault with million dollars inside. If that's the case don't use Arduino, but instead use a custom designed chip with cryptographic key built inside the hardware.