ZHCAFD8 May   2025 BQ41Z50

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
  5. 2认证方案比较
  6. 3电池组制造流程中的 ECC 密钥编程
  7. 4 BQ41z50 产品系列的电池电量监测计认证流程
  8. 5 BQ41z50 产品系列的主机认证流程
  9. 6BQSTUDIO 中的认证流程
  10. 7总结
  11. 8参考资料

参考资料

表 8-1 算法汇总和注释
算法 注释
ECDH

#peer_kbub 为 32 字节

#self_kpri 为 32 字节

#密钥为 30 字节


secret = ecdh(peer_kpub, self_Kpvt)

PBKDF2HMAC

#openssi 的 python 代码示例

#Salt 是从电池电量监测计读取的随机数

#AES-128 的长度为 16 字节

#迭代次数为 128

#密钥是 AES-128 密钥


from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC
kdf = PBKDF2HMAC(
    aglorithm = hashes.SHA256( ), 
    length = 16,
    salt=bytes(salt),
    iterations = 128,
    backed=backend
)
aeskey = bytearray(kdf.derive(bytes(secret)))

AES

#iv 是从电池电量监测计读取的

加密的 ProdKpvt ProdKpve 为 32 字节


from Crypto.Cipher import AES
cipher = AES.new(aeskey, AES.MODE_CTR, nonce=bytes(iv[0:8]), initial_value=bytes(iv[8:16]))
    CProdKpvt = cipher.encrypt(ProdKpvt)

ECC ECC-233