Thus far we have discussed one cryptographic implementation – OpenSSL. We have looked at that implementation through the command line and through a toolbox for Matlab. Tonight I’m going to point out a few links that will help with the fundamentals of Cryptography. The breadth of this material is non-trivial and a few readings may be needed to fully understand the details.
Some of the links to follow are better than others and I’m working to supplement some of the weaker ones with demonstration code to either better prove or point.
First we will discuss Symmetric-key cryptography – which consists of two core concepts Block Ciphers and Stream Ciphers.
With the tool I have released, which cover Symmetric-key cryptography, there are two main types of ciphers:
So, what’s the difference?
A stream cipher varies it transformation as a function of the number of digits being encoded where as block ciphers transform groups of digits at a given time.
After reading that material it may not surprise you to hear that Symmetric-key cryptography can be a bit slow. Various modes have been developed to help speed the process up. Although the modes are specific to block ciphers operation.
The other end of the spectrum (from Symmetric-key) is Public-key Cryptography.