Matrices have been used in symmetric ciphers since the Hill Cipher (before?) all the way up to modern ciphers such as Twofish and AES.
I understand matrices can be invertible, therefore making them useful for decryption, but what other benefits do they have over other methods? For instance:
- Are they notably fast/efficient?
- Do they take up little memory?
- Are they particularly easy to implement?
- Do they (somehow) offer better protection against side channel attacks?
- At what point might a matrix become unmanageable/too large/insecure? For example, a 1024-bit square matrix.
I am interested in any particular benefits they might offer and problems they might cause or weaknesses they might have. I wonder also if there are different types for different purposes; it seems most are used for diffusion.