611a6c45ea 
							
						 
					 
					
						
						
							
							Added Miller Rabin's algorithm:  
						
						 
						
						... 
						
						
						
						- Now can generate a 4096-bit key in seconds.
	However, a longer key makes the cipher way too
	long. Should make a padding or an encoding to
	reduce the cipher size with big keys.
Signed-off-by: HeshamTB <hishaminv@gmail.com> 
						
					 
					
						2020-04-18 22:49:06 +03:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							06793f5fb7 
							
						 
					 
					
						
						
							
							Updated list command output.  
						
						 
						
						
						
					 
					
						2020-04-18 17:53:12 +03:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							0d6bf9228d 
							
						 
					 
					
						
						
							
							Update TODO  
						
						 
						
						
						
					 
					
						2020-04-18 17:28:55 +03:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							8d2b822999 
							
						 
					 
					
						
						
							
							Fixed list output.  
						
						 
						
						... 
						
						
						
						Signed-off-by: HeshamTB <hishaminv@gmail.com> 
						
					 
					
						2020-04-18 17:18:58 +03:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							0cb6d56236 
							
						 
					 
					
						
						
							
							Added export key.  
						
						 
						
						... 
						
						
						
						Signed-off-by: HeshamTB <hishaminv@gmail.com> 
						
					 
					
						2020-04-18 15:23:06 +03:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							45c1abd0fa 
							
						 
					 
					
						
						
							
							Fixed output of listKeys().  
						
						 
						
						... 
						
						
						
						Signed-off-by: HeshamTB <hishaminv@gmail.com> 
						
					 
					
						2020-04-18 14:12:46 +03:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							bfc572386e 
							
						 
					 
					
						
						
							
							Improved interface:  
						
						 
						
						... 
						
						
						
						- Catch wrong number of args.
	- Logic was not correct.
	- Print command template.
Signed-off-by: HeshamTB <hishaminv@gmail.com> 
						
					 
					
						2020-04-18 14:12:01 +03:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							99e2ac0655 
							
						 
					 
					
						
						
							
							updated test file  
						
						 
						
						... 
						
						
						
						Signed-off-by: HeshamTB <hishaminv@gmail.com> 
						
					 
					
						2020-04-18 02:21:53 +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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							ad95ca82da 
							
						 
					 
					
						
						
							
							Added key gen and encryption with d in test program.  
						
						 
						
						
						
					 
					
						2020-04-17 21:38:50 +03:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							d4fecb787c 
							
						 
					 
					
						
						
							
							todo list  
						
						 
						
						
						
					 
					
						2020-04-17 21:11:23 +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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							d23b2d4ae0 
							
						 
					 
					
						
						
							
							test file. Consider writing 'words' to file instead of saving  
						
						 
						
						... 
						
						
						
						a list in memory.
Signed-off-by: HeshamTB <hishaminv@gmail.com> 
						
					 
					
						2020-04-17 04:43:03 +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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							168f8a2b66 
							
						 
					 
					
						
						
							
							gitignore file  
						
						 
						
						... 
						
						
						
						Signed-off-by: HeshamTB <hishaminv@gmail.com> 
						
					 
					
						2020-04-17 04:34:41 +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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							4bd8fcf1dd 
							
						 
					 
					
						
						
							
							A 128-bit key pair saved. Took 15 minutes to generate on (Intel i7-4710MQ (8) @ 3.500GHz) single thread.  
						
						 
						
						
						
					 
					
						2020-04-16 09:51:08 +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