Just to check I understand. The encryption in tacacs+ is only based on XORing all the data with the key known to both server and client. The MD5-hash is used to check the integrity of the received messages. Correct?
The tacacs+ algorythm some more complex. For every packet client/server create MD5 hash based on tacacs+ key string, session id, tacacs+ header version, packet sequence number. And XOR packet body with this hash. On other side process do same for get decoded data. Every exchange in one session do sequence number increment, so no equal hashes used for packet encryption. Also decoded data checked by version, lenth packet field and something else for check if decoding was correct and also for check packet integrity. See tac_plus RFC for get full data from
Table of ContentsIntroductionVersion HistoryPossible Future
UpdatesDocuments PurposeNAT Operation in ASA 8.3+ SectionsRule Types
Network Object NATTwice NAT / Manual NATRule Types used per SectionNAT
Types used with Twice NAT / Manual NAT and Network Obje...
Table of Contents Introduction:This document describes details on how
NAT-T works. Background: ESP encrypts all critical information,
encapsulating the entire inner TCP/UDP datagram within an ESP header.
ESP is an IP protocol in the same sense that TCP an...