Android Studio Freelance
Development of ready-made Android applications as Open Source projects.
Providing ready-made libraries and classes for working with encryption in your applications .
https://www.linkedin.com/in/valery-shmelev-479206227/
Information is regularly published about the leakage of personal data from large companies that have large budgets for the development of security systems.
A large number of small businesses are not protected in any way or are protected by standard means that have typical vulnerabilities.
However, it becomes completely pointless to steal data if it cannot be read. If they are securely encrypted. If it's a military-grade encryption algorithm that can't be cracked.
You can say that encrypted data is inconvenient for businesses to work with. But you don't have to encrypt everything. For example, if the name, address, email, phone number and payment card details are encrypted, then what if this is some person with the last name Johnson?
The RSA encryption algorithm with a key of 1024 or 2048 bytes has the highest resistance. This is almost military level encryption. However, there are software solutions that make the ciphertext not decodable at all. You can also protect the decryption key from theft.
// ============================================================
// Generate key pair for 1024-bit RSA encryption and decryption
// ============================================================
RSACode rsagente = new RSACode(); // Class instance RSACode
Key[] KeyPMass = new Key[2]; //An array of two keys to return values from a method
KeyPMass = rsagente.RSAKeyGen(); //GENERATE Key Pair
publicKey = KeyPMass[0];
privateKey = KeyPMass[1];
// ============================================================
The key protection algorithm can be very simple (and fast) or complex. You can choose yourself.
Because this is a freelance service, the key protection algorithm for all klingts will be different. Your programmers will choose specific protection parameters themselves. Even if your private key can be copied in a protected state, it will be impossible to read the data - there will be a mismatch between the encryption key and the decoding key (private key). If your encrypted data is also protected in an additional way, neither Google nor the NSA will be able to decode it in a few years.
// ============================================================
// Encode the original text with RSA private key
// ============================================================
RSACode rsacde = new RSACode(); // Class instance RSACode
encodedBytes = rsacde.RSATextEncode(publicKey, privateKey, testText); //Encode text via RSACode.java class
TextView encodedTextView = (TextView)findViewById(R.id.textViewEncoded);
encodedTextView.setText("[ENCODED]:\n" + Base64.encodeToString(encodedBytes, Base64.DEFAULT) + "\n");
// ============================================================
Crypto provider
The word "cryptoprovider" means a specialized module for the operating system, which is used to perform various cryptographic operations. Cryptoprovider is managed through a special interface.
In simple words, a crypto provider is software, that is, an intermediary that allows the operating system to perform encryption functions.
We assume the use of the built-in Android crypto provider. But theoretically, you can use other cryptographic providers.
Encryption viruses
This has become a modern business problem. Hackers gain access to the file system and steal data.
One of the protection options is encryption of scripts and web server links. This makes it impossible to analyze the internal structure of the software and access databases.
There are techniques for encrypting internal references, pointers, and variables that keep the system performance high.
Using encrypted link addresses in scripts, it is possible to control and detect attempts to penetrate the server system.
How it works
You get a set of ready-made classes for Android Studio, comments and instructions for use. Your programmers review Java classes and ask questions if something is not clear. Everything is open. Everything is in source codes. No plugins or libraries.
//--------------------------------------------------------
// Coded Text -> str -> Save to file
//--------------------------------------------------------
str = Base64.encodeToString(encodedBytes, Base64.DEFAULT); //Convert Byte Array to String
rsacde.Save("oflameron.txt",str, Maincontext); //Write Coded Text to file oflameron.txt from str
//--------------------------------------------------------
Cloud storage
If you use cloud storage in your business, then you should understand that not only you have access to your data.
However, encrypted data can be placed in a text file or an Excel spreadsheet or in a Word document. And after that place them in the cloud storage. Also, the data encrypted in the PCA can be written to the database. For example MS SQL. Then you can receive data from client Android devices and send data to client devices without intermediate decryption. This increases the security and speed of the software.
The complexities that can arise when using encrypted records in a database have clever solutions. We will look at them later.
Valery Shmelev
Freelance
If your programmers do not work with encryption, but you need to encrypt data, there is a good solution.
Unlike many other freelance programmers, here you will get open source Java codes - a set of Java classes with comments, examples and manuals.
It will take your programmers 15 minutes to start encrypting data in the Android project. Moreover, you can view all 100% of the code before use. No secrets.
Consultations
If you have any questions or need to modernize the Java code or develop new Java classes - use the consultations. Write your questions and suggestions to the contact e-mail.
Feedback
To avoid SPAM, the contact e-mail is recorded in a simple Android Studio Java project. The project contains one TexView which will display the e-mail.
Feedback https://drive.google.com/file/d/1EE0iOECbGcJYg7d-qqXcVmJuJLOx_RM0/view?usp=sharing
This is a direct link to GOOGLE DRIVE - ZIP file with Android Java Project.
Code and Keys Obfuscation
This is a very interesting topic where you can create many unexpected difficulties for hackers and train your intelligence.
Obfuscation of information for databases or spreadsheets makes them "unrecoverable". Those. No useful information can be obtained from these records. And if you use custom software, then there will be no typical hacking methods for such technical solutions.
RSA in SQLite
We integrate RSA encryption into the SQLite database. We will export and import the database, support national alphabets and RSA encryption of large texts. Then - we will increase the crapness of the RSA encryption using obfuscation. Technology Demonstration Application (JAVA classes) :
https://github.com/vallshmeleff/androidrsa
(In progress...)