Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

alphabet's numbering system is static #2

Open
acnicholls opened this issue Jul 31, 2016 · 1 comment
Open

alphabet's numbering system is static #2

acnicholls opened this issue Jul 31, 2016 · 1 comment
Assignees

Comments

@acnicholls
Copy link
Owner

If this is the correct formula, but the wrong assignment of numbers to letters adding this into the calculations of permutations would provide a more secure encryption. but will hamper decryption by a very large magnitude.

@acnicholls acnicholls self-assigned this Jun 24, 2017
@acnicholls
Copy link
Owner Author

acnicholls commented Aug 4, 2022

decryption

allow for

  1. user entered value per letter
  2. sequential rotation of the alphabet and 1-26
  3. Unknown (meaning use everything known to try to decrypt the message ie: all possibilities of item 2)

encryption

allow for

  1. user entered value per letter
  2. selected start value of alphabet (eg: A=12,B=13, etc)
  3. random start value

user experience - encryption

during encryption, allow the user to select a type of alphabet to use when encrypting the given message. The user will be able to select one of three options;

  1. enter each letter's value manually (allow for mix/match and numbers over 26)
  2. select a value for A, and each letter will sequentially add 1, wrapping at 26, such that only the numbers 1-26 are used.
  3. allow a random start number (between 1 and 26) be generated and sequentially apply a value for each subsequent letter, wrapping at 26, such that only the numbers 1-26 are used.

option 1

show a secondary screen with 26 input boxes (horizontal/vertical depending on screen size, maybe?)
force input in each box.
numbers only
On this screen should be an option that allows the user to constrain input to only 1 - 26, or allow any number within some sort of maximum. If they select to constrain input then validation will be needed.
use these values for all letters when creating the numeric sequence that will represent the message
allow the user to copy the values entered into the clipboard for use in sending the decryption key to someone.

option 2

show a small modal with 1 text box, only allow the numbers between 1 and 26 to be entered.
create an array of values starting with the value entered as equivalent to A, and add one for each subsequent letter, until the value 26 is reached, then start again at 1 until reaching the value before the entered value, at which point the value should be being applied to Z.
use this array of numbers as the value for the alphabet when creating the numeric sequence that will represent the message,
allow the user to copy the values selected for the alphabet for use in sending the decryption key to someone

option 3

generate a random value between 1 and 26 to use in place of the user entered value for option 2.
allow the user to copy the values selected for the alphabet for use in sending the decryption key to someone

user experience - decryption

during decryption, force the user to select a decryption method before starting decryption. Allow the user to enter the value of the letters, or start number for A. If the User selects "Unknown" then use a rotating library of alphabets when creating permutations. This will drastically increase the number of possible permutations, but allow for a much more robust decryption process, able to decrypt nearly any library of alphabet values, except a randomized or larger than 26 (option 1 during encryption) library.

option 1

allow the user to enter each value for each letter manually, or to supply the values in some format (as decided in #12) and have them imported and used during the creation of the permutations.

option 2

allow the user to enter the value for the letter A, or to supply the values in some format (as decided in #12) and have them imported and used during the creation of the permutations.

option 3

If the user selects this option, do not import or create an alphabet library or decryption key, instead run a loop that creates the permutations for more than one alphabet. Start with A=1..Z=26, then A=2..Z=1, etc. Keep going for all the alphabets

  • this will be a time consuming task, perhaps it could be run in chunks, stopping for each alphabet and asking if the user wants to continue? if adding the option to run in chunks, a way of keeping track of the chunks will be required.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant