1. Inspiration
In this project, we learned how to work in a team and help each other. In the applications of financial part, people mainly use three kinds of public encryption algorithms including SM2, SM3, SM4. They are asymmetric algorithms, the hash algorithm and the symmetric algorithm respectively. The goal of every encryption algorithm is to make it as difficult as possible to decrypt the generated ciphertext without using the key. So it is an exciting idea that combines different algorithms together and forms a more advanced encryption system.
2. What it does
The ultimate goal of this project is to implement these algorithms and make it possible in practical scenarios. They can be widely used in all kinds of security applications especially in financial services. The basic process of this project is encryption and decryption. We translate text data using the algorithm into ciphertext and is also able to get the plaintext by decrypting the ciphertext.
3. How we built it
Our programming language is Java(JDK 1.8) and we used maven to build the project.
4. Challenges we ran into
The SM algorithm is really hard for us to implement at the begining because we are not major in the security field. So we had to learn it from the "White Book" provided by Office of Security Commercial Code Administration of China website.
5.Accomplishments that we're proud of
This algorithm could be made to a jar package and widely used in commercial banks and financial services.
6.What we learned
We learned how to program and implement the real security system in the practical situation. And we also know how to implement a hard crypto approach by a specific programming language.
7.What's next for sm-crypto
It will be more secure and better performance in the future.
Log in or sign up for Devpost to join the conversation.