readddddddddddddddddddddddd
This commit is contained in:
		
							parent
							
								
									1f110eaa3d
								
							
						
					
					
						commit
						22042ee3b5
					
				
					 1 changed files with 63 additions and 0 deletions
				
			
		
							
								
								
									
										63
									
								
								pads/readme.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								pads/readme.md
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,63 @@ | ||||||
|  | 
 | ||||||
|  | # pads | ||||||
|  | 
 | ||||||
|  | Pads is an implementation of a simple one time pad algorithm. | ||||||
|  | There are 5 programs, two pairs of server client programs and  | ||||||
|  | one program to generate random keys.  | ||||||
|  | 
 | ||||||
|  | The client validates the input and sends it to the server in | ||||||
|  | a chunk of 70001 chars. The server receives that; one for the  | ||||||
|  | text and one for the key. The server encrypts the text with | ||||||
|  | the super special algorithm and then returns the encrypted or  | ||||||
|  | decrypted text in another 70001 byte TCP stream. | ||||||
|  | 
 | ||||||
|  | To handle multiple connections, the process forks, does the transfer | ||||||
|  | encrypts the message, sends the text, and then kills the process. | ||||||
|  | The main process waits for the dead processes after receiving new  | ||||||
|  | connections. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ## Compiling | ||||||
|  | 
 | ||||||
|  | It is highly recommended to use the make command to compile the | ||||||
|  | 5 required programs.  | ||||||
|  | 
 | ||||||
|  | Simply type: | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  | make | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ## Running | ||||||
|  | 
 | ||||||
|  | ### servers | ||||||
|  | 
 | ||||||
|  | dec and enc server's both require the port to be specified as a | ||||||
|  | launch argument: | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  | ./enc_server 69  | ||||||
|  | ./dec_server 420 | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | consider running them in the background with '&' and choosing ports | ||||||
|  | greater than 1024. | ||||||
|  | 
 | ||||||
|  | ### clients | ||||||
|  | 
 | ||||||
|  | The clients communicate with their respective servers **only**. To  | ||||||
|  | connect, you specify the password file, key file, and port as launch args: | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  | ./enc_client plaintext_file key_file 69 | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ### keygen | ||||||
|  | 
 | ||||||
|  | The keygen program takes the number of characters as a launch argument: | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  | ./keygen 69 | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | consider redirecting output with `> somefile` | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue