BooxCrypt: Encryption for files and folders on the onyx boox m92


This program can encript single files or whole folders. For the 
encryption the program uses ncrypt and the encryption algorithm 
is Rijndael.

When installed you will get two icons in your Applications menu,
one for encrypting and one for decrypting files. When a file or 
folder is encrypted an encrypted archive is created and the 
original files and folders are deleted. If the file to be 
encrypted is annotated (with notes or scribbles) the annotations 
are also encrypted end included in the archive. The created 
archive itself is a script*. The behavious of the script-archive 
is as follows:
- if the encrypted file is a pdf or text file clicking the 
  script will prompt you for the password and (if the password 
  is correct) open the file directly. Upon closing the file the 
  script re-encrypts the file. Currently the program will always 
  open pdf files in the "old" pdf reader "naboo_reader".
- If the file or folder is not of the type pdf or txt it will
  either decrypt the archive, if no unencrypted files are found 
  in the current directory, or re-encrypt the files if an 
  unencrypted copy is found.

  
* You may wonder why I did this and not just created a script 
  and an archive seperately. There are many reasons against it 
  as putting all in a single file is more complex as it involves 
  scary operations like that the script has to rewrites itself.
  These reasons happen to be the same reasons I chose to do it
  as it seemed like fun.

TODO:
- Create self extracting scripts		done 
- Create encrypting script			done
- Create decrypting script			done		
- Add mime type logic				done
- pass key string diretly (i.e. no stdinput)	done
- Add error checks				done
- support for encrypting directories		done
- make SEMCF scripts handle unknown mime-types	done
  and directories by making it alternate 
  between decrypting and incrypting the file
  upon repeated execution
- Port to boox					done
- Add scripting primitives			done
- Handle annotations/scribbles 			done
- define boox mime types and handlers		done/too lazy
- Check:
	- encode/decode a file			done
	- use script to decode a file		done
	- change and recode			done
	- use script to edit file		done
	- use script to edit file and add 	done
	  annotations
	- encode/decode a file with annotations	done
	- use script to edit file with 		done
	  annotations
	- encode/decode a directory		done
	- use script to decode a 		done
	  directory
	- change and recode			done
	- files with spaces			done
	
