Pattern matching algorithms for intrusion detection systems