The RFC is very superficial on the implementation details. What is the injective function being used?
MD5 digest is produced by applying the MD5 algorithm to these items in the following order:
1. the TCP pseudo-header (in the order: source IP address, destination IP address, zero-padded protocol number, and segment length) 2. the TCP header, excluding options, and assuming a checksum of zero 3. the TCP segment data (if any) 4. an independently-specified key or password, known to both TCPs and presumably connection-specific
How are the above items concatenated? I wasn't able to find much information, could someone please point me in the right direction?