The bq26150 provides a method to authenticate battery packs, ensuring that only packs manufactured by authorized sub-contractors are used in the end application. The bq26150 uses a 96-bit unique device ID, device unique 16-bit seed, and a 16-bit device specific CRC to provide security. The device ID, CRC seed, and CRC polynomial coefficients are stored securely in each bq26150 device, allowing the host to authenticate each pack. The bq26150 communicates to the system over a simple one-wire, bidirectional serial interface. The 5 kbits/s HDQ bus interfaces reduces communications overhead in the external microcontroller. The bq26150 also uses the HDQ bus to charge an external capacitor that provides power to the bq26150.