Recursive Shift Indexing : A Fast Multi-Pattern String Matching Algorithm

String matching algorithms are essential for network devices that filter packets and flows based on their payload. Applications like intrusion detection/prevention, web filtering, anti-virus, and anti-spam all raise the demand for efficient algorithms dealing with string matching. This paper presents a novel multi-pattern string matching algorithm which reduces character comparisons based on recursive shift indexing. Theoretical analysis and experimental results show that the new algorithm is highly efficient: Its search time is cut down significantly compared with other popular existing algorithms, whereas its memory occupation stays at a low level. It is also demonstrated that the proposed algorithm has a simpler structure for easy implementation.1