GithubHelp home page GithubHelp logo

justinthomas1 / inkdeck Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 457 KB

InkDeck (a play on the real title, EncDec (Encrypt/Decrypt)) is an application that uses RSA encryption for secure communications. The application can encrypt messages using RSA as well as decrypt them. The user is able to select public/private keys. Also includes KeyMaker, to generate a private and public key.

License: GNU General Public License v3.0

Java 100.00%
messaging rsa rsa-encryption rsa-key-pair rsa-cryptography encrypted-messages

inkdeck's People

Contributors

justinthomas1 avatar

Stargazers

 avatar

Watchers

 avatar

inkdeck's Issues

TODO: Put private key in .jar or preferences (maybe).

Since the private key never needs to be sent, it shouldn't be accessible to the user (to avoid confusion). The public key should be stored automatically in the "Keys" directory.

It could also be stored in the preferences file.

TODO: GUI rewrite

If I do go along with making the private key only in the preferences file, I need to rewrite the sidebar. It could look something like this:

Blank
Current Recipient: (codename, takes before "-public").
Blank (maybe something else here?)
Button to choose public key
Blank

TODO: Key creation enhancement

The Keymaker should open the first time the software is opened, determined by the lack/prescence of a config file. This could also allow for the creation of a save/save as distinction.

This should also save the previously used private/public key.

Images and Text files

The program won't understand photos that are included in the jar file. This includes the icon and all splash messages that should be displayed when the program is opened.

TODO: Change button text

For the next version, the public key button text should read "Select Recipient's Public Key" so as to eliminate any confusion.

Dropdown selection menu for Public Keys in "Keys" directory

In place of the "Select Recipient's Public Key" button that opens a file selector, there should be a dropdown list with all the Public Keys in the "Keys" directory. This would be much easier for non-technical users.

This could be a Gridview with a label on top that has the current button text, and the dropdown list could be placed below it.

Edit (3/27): It could also have a button called "add new key" that opens a dialog box where the user can add new keys from a location such as the downloads file or their desktop to the "Keys" directory.

Edit (4/3): Maybe the gridview on the side could become 5 rows again and have the order: blank, recipient name, select recipient, add new public key, blank. Also, the dialog box for when the Keys folder is empty should instruct the user to generate a new key for themselves, as they likely don't have one if the folder is empty.

Hide preferences file elsewhere

It would be best if the preferences could be stored in the .jar or somewhere out of the way. This would make the software less confusing for the user.

TODO: Better manual

There should be a manual in PDF format with pictures and better descriptions of how to use the software.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.