One approach that is used to detect malware is to search for segments
of code from known malware, sometimes called a signature. This
approach has its own challenges, as cleverly designed malware can tweak
its representation in various ways. There is also a potential impact on network
performance to perform such detailed inspection of data entering
a network. Cryptographic security cannot eliminate the problem either,
although it does provide a means to authenticate the originator of a piece
of software and detect any tampering, such as when a virus inserts a copy
of itself.