線性密碼分析是使用線性演算法(比如線性代數)來破解密碼系統。這種方法對基於線性移位暫存器的不再絕對的密碼系統很有效。現代的密碼系統比如AES和RSA使用非線性元素來防止基於線性密碼分析的攻擊。在AES中,S盒提供非線性。在RSA中,模指數化提供非線性。