KeyCip - an Android app that allows users to encrypt, decrypt and sign text, photos, videos and other files

Related tags

App KeyCip
Overview

Contributors Forks Stargazers Watchers Twitter Youtube Reddit LinkedIn


Logo

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
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

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

Tutorial Screen Operation example Tutorial Screen

(back to top)

Built With

(back to top)

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

  1. Clone the repo
    git clone https://github.com/jff99/KeyCip.git
  2. Start building something unique (and helpful for the community)

(back to top)

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

(back to top)

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).

(back to top)

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!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the GNU General Public License v3.0 . See LICENSE.txt for more information.

(back to top)

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/

(back to top)

Acknowledgments

(back to top)

(back to top)

You might also like...
An android app which allows users to display the data of any excel sheet in rows and columns
An android app which allows users to display the data of any excel sheet in rows and columns

ExcelReader App description An android app which allows users to display the data of any excel sheet in rows and columns. Features Display data of an

An app allows the users to get top news about their countries
An app allows the users to get top news about their countries

News App This app allows the users to get top news about their countries. In the following figure, you can find the developed architecture: App consis

ANTLR is a powerful parser generator for reading, processing, executing, or translating structured text or binary files.

ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files.

Android application that allows users to take or import photo of chessboard, recognizes the pieces and generate the Forsyth-Edwards Notation.
Android application that allows users to take or import photo of chessboard, recognizes the pieces and generate the Forsyth-Edwards Notation.

♛ ChessBoard Importer Frontend ♛ Repository for the frontend part of project "Chessboard Importer". The project is realized by the team of 4 students

Learn about your favorite Marvel characters, super heroes, villains and watch videos from official Marvel youtube channel.
Learn about your favorite Marvel characters, super heroes, villains and watch videos from official Marvel youtube channel.

Marvel Super Heroes Android App 📱 Learn about your favorite Marvel characters, super heroes, villains and watch videos from official Marvel youtube c

Ipify allows users to get current public IP address for connected network in real-time
Ipify allows users to get current public IP address for connected network in real-time

Ipify-Android Ipify allows you to get current public IP address when connected to internet in real-time Add Dependency Use Gradle: Step 1: Add it in y

A Mars Photos app for Android using NASA APIs with MVVM + Clean Architecture

Mars Photos App 🚀 Mars Photos App for Android that display a list of photos taken from cameras from different rovers - Made with Hilt, Coroutines, Re

App for searching unsplash photos library with query.
App for searching unsplash photos library with query.

android-imagesearch-app App for searching unsplash photos library with query. Used API for images: Unsplash Libraries used in the project: Paging 3 fo

 😳 This app shows a recyclerView grid list with images from Picsum Photos API 🖥️
😳 This app shows a recyclerView grid list with images from Picsum Photos API 🖥️

GalleryImagesWithRecyclerView 😳 This app shows a recyclerView grid list with images from Picsum Photos API 🖥️ 📐 ✏️ Architeture Components MVVM View

Comments
  • 2.4: Select Contact Spacing

    2.4: Select Contact Spacing

    Spacing for 'Select a contact' could be improved. Currently, there is very little room for error when choosing contacts due to minimal spacing in between contacts. Also, is there a reason why 'Select a contact' is listed twice (top and bottom) in the UI?

    opened by beaglesnuf 1
  • 2.4: Keyboard Artifacts and (!)

    2.4: Keyboard Artifacts and (!)

    Note the keyboard artifacts to the right of % and ^ and & for the symbols overlay. Testing each key individually, the exclamation mark (!) does not work (no input).

    Devices: Samsung S22 (Android 12) and Pixel 5 (GrapheneOS Android 12.1)

    opened by beaglesnuf 1
  • 22.4: General Comments

    22.4: General Comments

    1. KeyCip --> Keyboard: Youtube to YouTube. Better yet, because of the YouTube association with Google, perhaps an alternative media hosting servive such as PeerTube could be leveraged for the privacy-conscious.

    2. KeyCip --> Settings: Github to GitHub.

    3. Conventional nomenclature for encrypting content to oneself is typically 'self'. We see this in PGP/GnuPG and Signal (e.g. Note to Self). Under 'Select a contact' the term 'Self' may be preferrable to 'Me'

    opened by beaglesnuf 1
Releases(v2.5.1)
  • v2.5.1(Jul 4, 2022)

  • v2.5(Jun 27, 2022)

    Thanks to the contribution of beaglesnuf, a few issues were solved:

    -Solved an issue that made keyboard layout not display correctly -Exclamation mark button in keyboard did not work -Changed some text in the UI (GitHub, YouTube...) -Added special case to avoid being able to encrypt text when the maximum length of text is surpassed using the keyboard. This caused a lot of errors previously

    Source code(tar.gz)
    Source code(zip)
    KeyCip.apk(9.63 MB)
  • v2.4(Jun 18, 2022)

Owner
null
📦📦Video downloader for Android - Download videos from Youtube, Facebook, Twitter, Instagram, Dailymotion, Vimeo and more than 1000 other sites

youtube-dl-android ?? An Android client for youtube-dl: https://github.com/rg3/youtube-dl Major technologies Language: Kotlin Architecture: MVVM Andro

Cuong Pham 445 Jan 8, 2023
A sample app that shows how to easily encrypt the room database in an Android app

A sample app that shows how to easily encrypt the room database in an Android app. The password used for encryption is generated on the first use and saved in the Android EncryptedSharedPreferences.

Lenz Karbaumer 3 Oct 26, 2022
Register-Yourself - This app uses SQLite database to sign-up and register a user

Register-Yourself This Android app uses SQLite database to sign-up and register a user. Short description This is a basic application where a user sig

Vaibhav Khulbe 2 Jul 16, 2021
Provides feign request interceptors to sign http requests using AWS Signature V4.

feign-aws-sigv4 Provides feign request interceptors to sign http requests using AWS Signature V4. Usage with SDK V1 Include the following dependency i

Tommy Schmidt 2 Nov 11, 2022
An E-Commerce android App whose frontend is implemented using Kotlin & XML files and backend/database is implemented using My SQL & PHP files

An E-Commerce android App whose frontend is implemented using Kotlin & XML files and backend/database is implemented using My SQL & PHP files

null 4 Aug 25, 2022
ICSx⁵ is an Android app to subscribe to remote or local iCalendar files (like time tables of your school/university or event files of your sports team).

ICSx⁵ ICSx⁵ is an Android app to subscribe to remote Webcal feeds / iCalendar files (like time tables of your school/university or event files of your

bitfire web engineering 60 Dec 28, 2022
Book Parking is a demo application based on MVVM architecture. The app allows users to booking parking slots, the app uses firebase for the backend.

Book Parking is a demo application based on MVVM architecture. The app allows users to booking parking slots, the app uses firebase for the backend.

Dheeraj Gupta 5 Dec 24, 2022
An app that allows you to search for Github profiles of users and their repositories [d.light Android Engineer Test], for the Android Engineer Role

An app that allows you to search for Github profiles of users and their repositories [d.light Android Engineer Test], for the Android Engineer Role

Joel Kanyi 9 Aug 26, 2022
An educational android app that provides services like notes, online videos and visualization calculator to learn and understand deep concepts of DSA.

Aldo ALDO is a free education app for the young programmers who are desiring to master the concepts of Data Structure and Algorithms. ALDO offers prac

Siddharth Singh 2 Aug 8, 2022