Abstract

This paper presents an algorithm for a regular expressions pattern matching system. The goal was to achieve better performance and low energy consumption. The proposed scheme is particularly useful when a large set of complex regular expression patterns must be inspected in parallel (e.g. in computer malware and anti-virus systems). The idea of the algorithm derives from a concept of the Bloom filter algorithm. The Bloom filter operation is used to inspect an incoming data and to find static sub-patterns of regular expressions. When the Bloom filter reports a match, a closer inspection is performed. The Bloom filtering is done by a hardware dedicated co-processor. The regular expressions’ wildcard matching part is executed by a CPU. The above concept was implemented and tested on the Xilinx Zynq-7000 All Programmable SoC platform. The results and performance for regular expressions patterns from the ClamAV virus database is given.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call