You now have seen that the mathematical mono-alphabetic substitution algorithms (Caesar, Multiplicative, and Affine) are very insecure when you have access to modern computing power, or, as was the case historically, a room full of mathematicians. While not discussed, the keyword substitution cipher is also insecure, although cracking that cipher requires more linguistic knowledge of the plaintext language, trial and error, and sometimes luck. Given the scope of this course is using mathematics and programming to study cryptography, cracking the substitution cipher will not be covered, but you can read more about it in the suggested additional resources.
To increase security, cryptologists began looking for methods that would thwart the traditional statistical methods covered already, in particular, frequency analysis. To do so, they began trying to use more than one mapping of plaintext to ciphertext, in essence creating two or more ciphertext alphabets that one could switch between in an orderly fashion. This type of cipher is called a poly-alphabetic cipher. The impact is that a given plaintext letter could end up being two or more different ciphertext letters, which will certainly give our previous methods some issues.
The age of poly-alphabetic ciphers began in the 1500s with the publication of Johannes Trithemius's work Polygraphiae which contains the first known publication of the tabula recta, an important tool upon which many poly-alphabetic ciphers are built.