Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

In short I\'m learning GUI programming in python and thought it could be interes

ID: 648274 • Letter: I

Question

In short I'm learning GUI programming in python and thought it could be interesting to make a small GUI for symmetric encryption. Not being mad/mathematical/experienced (take your pick) enough to try to implement ciphers myself I figured I could create a GUI that just sits on top of an existing program (on Linux). So I found gpg and mcrypt.

I have been googling like mad but finding very little information about mcrypt other than it is "a replacement for the old crypt program in Linux". Also mcrypt seems to list Rrijndael in stead of AES (so guessing it is the Rrijndael cipher rather than the AES implementation of it?)

Now, save that mcrypt has an implementation of Serpent and gpg comes with the ability to sign/verify the encrypted file, is there any great differences or advantages/disadvantages to one or the other? currently finding mcrypt fascinating.

Any thoughts would be appreciated.

Explanation / Answer

GPG is an implementation of OpenPGP, which is a higher level protocol than e.g. mcrypt. So use GPG for PGP compatibility and mcrypt or related libraries for more direct - lower level - access to algorithms.

AES is Rijndael for a block size of 128 bits and the 128, 192 or 256 bit key sizes. So you are OK there. Learn about modes of operation and something about key management before creating the GUI. Possibly take a look at Password Based Key Derivation Functions such as PBKDF2 if you want to use a pass phrase.

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote