Monday, January 4, 2016

Crytographic Algorithms and Protocols

Cryptographic Algorithms and Protocols (More)
Jerry Grugin


In this blog, we will look at hashing concepts and protocols, revisit encryption algorithms, and look at additional protocols such as SSL/TLS, SMIME, HTTPS, SHTTP, L2TP, IPSEC, and SSH.


Hashing


Hashing is often used to secure passwords on network devices, used in authentication protocols like CHAP.  It can also be used to provide data integrity by creating a hash, appending it to data, and sending that over the wire.  Thus, hashing is a mechanism that is used primarily for data integrity assurance.  It is based on one-way mathematical functions that are relatively easy to compute, but they are very difficult to reverse.  For example, imagine that you had a jar full of marbles and you took that jar and tossed it onto the floor.  Think how difficult it would be to compile all those marbles back into the jar in the same exact position they were on before you tossed the jar onto the floor.  Think about the following:  It is easy to grind coffee beans, but consider trying to put those coffee grains back together again into a bean after the bean has been through the grinder.  The grains would have to be reassembled to the original bean and placed back in the bag in the original order.  This would be impossible to do.


The data is sent through a mathematical hash function.  It could be an email message for example.  The data email is sent through a mathematical hash function.  The result of the hash function is going to be a fixed length hash known as a DIGEST or a FINGERPRINT.  Hashing can be used to scramble passwords, can be used with the CHAP protocol for authenticating two devices, and it can also be used to apply data integrity to a communications message by simply appending the hash to the original message and then.  Once the communications gets to the receiver, the same mathematical function is applied against that hash, and if just one zero or one is changed, the receive knows not to accept the message because the integrity of the data has been compromised.  In other words, the message was modified in transit.  Hashing is vulnerable to cracking techniques like Rainbow Crack and Cain & Abel.


There are several types of hashing algorithms:


  • SHA                SECURE HASH ALGORITHM - SHA 1, SHA224, SHA256, SHA384, SHA512
  • MD5                MESSAGE DIGEST ALGORITHM 5 - Uses a 128 bit hash algorithm                  
  • LANMAN      THIS IS OBSOLETE - LANMAN IS PRE NT TECHNOLOGY  
  • NTLM             NT LAN MANAGER - Microsoft Authentication Protocol
Encryption Algorithms Revisited

  • DES/3DES
  • RSA
  • PGP
  • ELLIPTIC CURVE
  • AES/AES256
  • ONE TIME PAD
Additional Protocols

  • SSL/TLS
  • S/MIME
  • PPTP
  • HTTPS & SHTTP
  • L2TP
  • IPSEC
  • SSH
SSL/TLS

Transport layer security is the successor to secure sockets layer.

S/MIME


This is an open standard for public key encryption.  It is also used to sign digital email that has been encapsulated in the MIME protocol.  MIME stands for Multi-purpose internet mail extensions.  S/MIME is the secure version of that.  S/MIME provides all CIAN.  S/MIME is built into all modern email software, as well as all modern browsers.  There is built in interoperability.


Conclusion


This has not been an exhaustive review, but major elements have been discussed.  We have looked at hashing concepts and protocols, we have revisited encryption algorithms, and have looked at a few additional protocols.

No comments:

Post a Comment