In class and because I was in a hurry I did a pretty bad Vigenere with matrices and confusing indexing. I had to exploit more the python language and use more of its features so I came up with the following functions for encrypting and encrypting. I also did an additional method called left shift in order to shift the alphabet array and continue with the indexing of each letter in reference to it.
This ended up being very handy for both ciphers. The function only does the splitting from shift point to the right and from shift point to the left, the concatenation of both lists into one list does the final encryption table reference.
One of the main uses of Internet nowadays is definitely communications. From chats in cellphone apps such as Whatsapp to E-Mails, Snapchat Videos and Tweets. Let me define it as “every singe interaction that can is meant to be read by another internet user“.
Now, obviously not every communication can be defined as the same, a Whatsapp message to your mom containing your current location contains sensitive information and should be delivered from one device to another in the most secret way possible. That’s different from your tweet about the new Britney Spears single, which will appear in a public page on the web.
But as we know, the internet is open in concept, so is any communication channel really secure?
Not by itself.
The internet is a public and open protocol, so your direction, as well every “package” of information you’re sending through it is completely public. Imagine you send a real life package from Canada to Mexico. The public address of both the sender and the destination are literally pasted over the box so anyone with access to the physical box can read both, and anyone with ulterior motives could open the box, see what is inside, steal it, document it or even change it and even plant a bomb.
And just like in the real world, in parallel universe of internet communications those labels are public and data can be read, stolen or changed. Which by the way destroys the three measurements for security, if you remember my last post.
So how can I keep my spicy pictures of those hot peppers I bought secure?
Hmm, hot peppers. A true Mexican delight. Well, thankfully we nowadays have a crazy little thing called End to End Encryption.
So after all this information let’s continue talking about the HW encryption, shall we?
Single-user file/folder level
When an individual wishes to encrypt a single file or group of files there are several options. Most encryption software has the ability to encrypt files individually using a password or other key. Many encryption programs have the ability to create an encrypted “virtual drive”. This is an encrypted file that, when opened with the key, looks like another drive attached to the computer allowing the user to easily open and save files into an encrypted area. Some other applications, like MS Office and OpenOffice, have built-in, single-file encryption features.
Depending on how the encryption software is used, this approach can provide protection from data disclosure when transferring information over the network. E.g. an individual file can be encrypted and then sent as an email attachment, assuming the recipient has the ability to decrypt it.
Multi-user file/folder level
Allowing multiple users to simultaneously access encrypted information is more complicated than a single user. The encryption software must allow the use of either multiple keys (i.e. one for each user) or a shared key (e.g. a shared password). Additionally, the software must deal with multi-user file locking issues (this is usually a problem with the virtual drive approach mentioned in the last section). This approach can provide an additional layer of protection against the disclosure of highly confidential data on file servers in the event they are compromised. I can also help protect against disclosure on backup media as the files would remain encrypted when backed up.
This approach can get complicated if not all users have the encryption software installed, or they are not configured consistently. This could lead users being unable to access encrypted information or incorrectly believing they