Publication | Closed Access
Secure Keyed Hashing on Programmable Switches
36
Citations
15
References
2021
Year
Unknown Venue
Hardware SecurityCryptographic PrimitiveSecure Keyed HashingEngineeringCyclic Redundancy CheckInformation SecurityCryptographic ProtectionComputer EngineeringComputer ArchitectureFormal MethodsLightweight CryptographyHash FunctionSecure ComputingComputer ScienceBarefoot Tofino SwitchFormal VerificationData SecurityCryptography
Cyclic Redundancy Check (CRC) is a computationally inexpensive function readily available in many high-speed networking devices, and thus it is used extensively as a hash function in many data-plane applications. However, CRC is not a true cryptographic hash function, and it leaves applications vulnerable to attack. While cryptographically secure hash functions exist, there is no fast and efficient implementation for such functions on high-speed programmable switches. In this paper, we introduce an implementation of a secure keyed hash function optimized for commodity programmable switches and capable of running entirely within the data plane. We implement HalfSipHash on the Barefoot Tofino switch by using dependency management schemes to conserve pipeline stages and slicing semantics for concise circular bit shift operations. We show that our efficient implementation performs 67 million, 90 million, 150 million, and 304 million hashes per second for 32-byte, 24-byte, 16-byte, and 8-byte input strings, respectively.
| Year | Citations | |
|---|---|---|
Page 1
Page 1