SLUUB65B May 2015 – December 2022
The fuel gauge supports a SHA-1-based authentication protocol that allows a host to securely verify battery pack authenticity. Sending a 160-bit random challenge initiates the authentication process wherein the fuel gauge computes a response digest using a double SHA-1 transform. The transmitted challenge is appended to a secret 128-bit authentication key and run through the transform. Afterwards, the resulting hash is then re-appended to the same key and a second hash is computed, resulting in the final 160-bit digest that is returned to the host. The host reproduces the same digest calculation on its side, using the shared key, and compares to the one read from the fuel gauge. If they match, the authentication process is successful.