998089f94c
Added list keys command.
...
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2020-04-18 03:27:08 +03:00
d1257320a8
Added 4th argument to sign with a given key other than
...
the one for encryption
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2020-04-18 03:16:35 +03:00
1924c14df0
Fixed bugs:
...
- Key save did not save all values.
- Index out of range of tempKey when only
it is only public part.
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2020-04-18 03:15:08 +03:00
ff3df34597
Full signing and verification system.
...
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2020-04-18 02:27:16 +03:00
486e40c7f5
Add signiture in last word.
...
Redid key save file to inclue id.
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2020-04-17 23:53:07 +03:00
719d54aaa1
New key save format:
...
- Save p, q, phi also
- Added index constants for readability
Updated gitignore
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2020-04-17 20:35:20 +03:00
7facaf1207
Split words in message into a list of strings and encrypt each.
...
This should allow unlimited length of any message.
2020-04-17 17:31:34 +03:00
01e3f69c94
Merge branch 'master' of https://apollo-server.ddns.net/gitea/Hesham/hesham-rsa
2020-04-17 16:37:10 +03:00
654cb52ca4
Check if keys dir exists. if not make it before saving to prevent exception.
2020-04-17 16:34:03 +03:00
4c16bbc282
Improved key print
2020-04-17 16:32:10 +03:00
18df4d2b07
Added a second thread. Should be faster. up to 140 bits
2020-04-17 12:23:08 +03:00
936a6eebb6
New keys folder and global variables.
...
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2020-04-17 05:21:58 +03:00
f9ff56651d
rsa gen: cleaner stdout with carriage return. (printing to the same line)
...
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2020-04-17 04:40:31 +03:00
b2dc176d40
Changed key representation to hex r-16.
...
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2020-04-17 04:38:09 +03:00
db2a852cf3
isPrime() function/algo optimization:
...
insted of taking all integers from 2 to K, take only odds
since we know that the even prime is 2. This should in theory
reduce the time to check primilaty to half.
2020-04-16 21:51:36 +03:00
1954308cb4
improved interface
...
- Accept key generation size. (not practical above 64-bit)
- Decrypt from command args only for now
- Catch Unicode Decode Error cuased by wong key or size.
2020-04-16 18:56:04 +03:00
feeea933c3
Working interface.
...
- Encrypt a signle word message. for now
- Decrypt only with target private key
- Runtime errors when using wrong key to decrypt or message too long.
2020-04-16 14:33:24 +03:00
a1e05a572a
Interfacing changes:
...
- Split into methods.
- Added a cli interface with commands 'gen <filename>' to generate keys
and 'encrypt <message> <publicKey>' to encrypt a message
to the passed key.
- Read and save keys.
2020-04-16 12:40:48 +03:00
1993551a59
Working key pair generation, encryption and decryption
...
TODO:
- Clean up
- Split into methods
- Save a key pair in a file (interactivly)?
2020-04-16 09:48:31 +03:00
1a591cc75e
getPrime() method working. gets random prime based on bit size.
2020-04-16 05:54:36 +03:00
7fe7065700
isPrime() method working with good accuracy. needs more testing.
2020-04-16 05:11:00 +03:00
9f5d9fe5a5
init commit
2020-04-16 00:05:03 +03:00