KeyCip
KeyCip is an Android app that allows users to encrypt, decrypt and sign text, photos, videos and other files. To accomplish this goal, it relies on both RSA and AES algorithms. Sounds to complicated? Do not worry the workflow in order to make each one of the operations is a step-by-step process (even Youtube tutorials have beeen created). KeyCip has been designed to be as easy as posible, introducing mechanisms suchas as fingerprint authentication or QR code scannig for public key sharing. The most important part is that the whole code is available for the community as an open source project, so do not hesitate to colaborate or request any feature. And remember: Information belongs to us
Explore the docs »
View Demo · Report Bug · Request Feature
Table of Contents
About The Project
We are all aware that our online information is treated as little more than a commodity. In fact, we have naturalised the heavy fines that the big tech giants receive for abusive use of our data. Nevertheless, I strongly believe that our information belongs to us.
However, it seems that our hands and feet are tied. Social networks, instant messaging applications or cloud storage are present in our personal and working lives. With it, so is the data we send to these tools, which are monitored by large corporations. Therefore, creating a replacement for each of them seems like an arduous task considering the number of them and the development time it would require.
The latter leaves us with the only solution: control the information that we share, deciding who can access it. But how is that possible? The truth is that encryption algorithms have been around for 500 years, performing the tasks of encrypting and decrypting information.
So, if there is already a solution, what is the purpose of this application? First of all, you may have been scared when you heard encryption algorithm, don't worry, you are not alone. KeyCip comes to your rescue
KeyCip is an application that allows you to encrypt, decrypt, sign and verify signatures of text, photos, videos and other files using RSA and AES algorithms. Complicated? The application's greatest virtue is that it has been designed with the aim of making the interface and the whole workflow as simple as possible - so that you don't even need to learn complex security skills!
Still, some concepts to learn:
-
What does encrypting mean?
Encrypting a text, photo, video or document means to hide its content so that only a specific person can know this information, thus ensuring that when the encrypted text, photo, video or document is sent, its content remains confidential.
-
What does decrypting mean?
Decrypting a text, photo, video or document is the reverse of encrypting, in other words, the original content is returned to the encrypted file by a certain process.
-
What does signing mean?
Signing a text, photograph, video or document is similar to signing a letter. The content of the text or file is not changed or hidden but allows the recipient to confirm that the person who sent it to them is indeed the person they claim to be.
The application will guide you through the whole process. In addition, you can also visit our Youtube channel where you will find guides, in case you have any doubts.
Wait, we have one last surprise. KeyCip has its own keyboard with which text encryption and decryption operations can be used from any application. This way, you can have a private conversation with your friend, partner or family member without even leaving the social network or instant messaging application you are using.
All of this is part of a Polytechnic University of Madrid, which has been developped by Jorge Fernández Fonseca in collaboration with Sergio Ríos Aguilar
Built With
Getting Started
Prerequisites
The app has been developped for Android SDK 24 to Android SDK 31. Just make sure to install those SDK in your computer and you are good to go. Android Studio makes everything easier Android Studio
Installation
- Clone the repo
git clone https://github.com/jff99/KeyCip.git
- Start building something unique (and helpful for the community)
Usage
You might feel overwhelmed by the quantity of classes and xml included within the app (I know it, my mind is caotic). In order to help you understand the project, we have prepared some diagrams, which shows how the differente classes are related
Roadmap
- Add encryption and decryption of pictures and files through the keyboard (currently only text)
- Add authentication when encrypting and decrypting through the keyboard
- Add the possibility to open directly .zip files (instead of browsing for it)
- Changing the fragment structure and argument passing
- Find a solution to share the private key to another device (not depending on the phone)
- iOs version
- Computer version
See the open issues for a full list of proposed features (and known issues).
Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
License
Distributed under the GNU General Public License v3.0 . See LICENSE.txt
for more information.
Contact
Jorge Fernández Fonseca - @twitter_handle @linkedin_handle - [email protected]
Sergio Ríos Aguilar - [email protected]
Project Link: https://github.com/jff99/KeyCip
Reddit page: https://www.reddit.com/r/KeyCip/
Acknowledgments
- Barcode Zxing reader (public Github repository
- Java AES Encryption and Decryption
- Encriptación AES en Java
- Encriptar y Desencriptar con RSA en JAVA
- RSA in Java
- Vector de socializar creado por freepik - www.freepik.es
- Vector de socializar creado por freepik - www.freepik.es
- Vector de web creado por storyset - www.freepik.es
- Vector de contrato digital creado por vectorjuice - www.freepik.es
- Vector de seguridad de datos creado por jcomp - www.freepik.es
- Vector de Idea creado por storyset - www.freepik.es
- Vector de candado abierto creado por pch.vector - www.freepik.es
- Clip board vector created by jcomp - www.freepik.com
- Vector de icono carpeta creado por rawpixel.com - www.freepik.es
- Vector de juventud creado por freepik - www.freepik.es
- Vector de seguridad web creado por vectorjuice - www.freepik.es
- Vector de brindis cerveza creado por pch.vector - www.freepik.es
- Vector de decepcionado creado por syarifahbrit - www.freepik.es