nearlink_sdr.phy.uwb_measurement_security¶
超宽带脉冲测量安全模块 -- TXS-10002-2025 标准 9.5
实现 UWB 测量安全框架:
9.5.2 KDF 算法 (Label + Context 组装 256-bit message)
9.5.3 密钥派生 (SLPKey -> ctsKey / ctsValue / ctsGap)
9.5.4 TGap 生成
9.5.5 CTS 测量符号索引与加扰 SC 序列生成
Module Contents¶
Classes¶
CTS 密钥组 (ctsKey, ctsValue, ctsGap)。 |
|
CTS 测量符号索引和加扰序列。 |
|
加密算法枚举。 |
|
UWB 测量安全的 inputContext (标准表 71)。 |
Functions¶
每帧后推进 ctsVCounter (标准 9.5.5)。 |
|
计算 TGap (标准 9.5.4)。 |
|
从 SLPKey 和 inputContext 派生 CTS 密钥组 (步骤 2-11)。 |
|
从 Link Key 派生 SLPKey (步骤 1)。 |
|
生成 CTS 测量符号索引和加扰 SC 序列 (标准 9.5.5)。 |
|
递增 ctsContent32Bit 并重新派生 CTS 密钥 (步骤 12)。 |
Data¶
API¶
- nearlink_sdr.phy.uwb_measurement_security.LABEL_CTS_GAP_K¶
'fromhex(...)'
- nearlink_sdr.phy.uwb_measurement_security.LABEL_CTS_INIT_C¶
'fromhex(...)'
- nearlink_sdr.phy.uwb_measurement_security.LABEL_CTS_K¶
'fromhex(...)'
- nearlink_sdr.phy.uwb_measurement_security.LABEL_CTS_V¶
'fromhex(...)'
- nearlink_sdr.phy.uwb_measurement_security.LABEL_SLP¶
'fromhex(...)'
- class nearlink_sdr.phy.uwb_measurement_security.EncryptionAlgo[源代码]¶
加密算法枚举。
- NONE¶
0
- SM4_128¶
1
- AES_128¶
2
- ZUC_256¶
3
- AES_256¶
4
- class nearlink_sdr.phy.uwb_measurement_security.UWBMeasInputContext[源代码]¶
UWB 测量安全的 inputContext (标准表 71)。
- nearlink_sdr.phy.uwb_measurement_security.advance_cts_v_counter(cts_v_counter: int, n_cts: int) int[源代码]¶
每帧后推进 ctsVCounter (标准 9.5.5)。
- nearlink_sdr.phy.uwb_measurement_security.compute_tgap(cts_gap: bytes, cts_gap_shift: int, t_base: int, code_len: int, delta_l: int) int[源代码]¶
计算 TGap (标准 9.5.4)。
- 参数:
cts_gap -- 128-bit ctsGap 密钥.
cts_gap_shift -- 当前帧对应的移位量 (首帧为 0, 后续每帧 +1).
t_base -- 基准长度 (Tc 单位).
code_len -- 码长.
delta_l -- deltaL 系数.
- 返回:
Tgap = Tbase - Toffset (Tc 单位).
- nearlink_sdr.phy.uwb_measurement_security.derive_cts_keys(slp_key: bytes, input_context: bytes, kdf_type: nearlink_sdr.mac.crypto.KdfType = KdfType.AES_CMAC) nearlink_sdr.phy.uwb_measurement_security.CTSKeys[源代码]¶
从 SLPKey 和 inputContext 派生 CTS 密钥组 (步骤 2-11)。
- nearlink_sdr.phy.uwb_measurement_security.derive_slp_key(link_key: bytes, kdf_type: nearlink_sdr.mac.crypto.KdfType = KdfType.AES_CMAC) bytes[源代码]¶
从 Link Key 派生 SLPKey (步骤 1)。
- nearlink_sdr.phy.uwb_measurement_security.generate_cts_symbols(cts_key: bytes, cts_v_upper: bytes, cts_v_counter: int, n_cts: int, symbol_count: int = 32, encryption_algo: int = EncryptionAlgo.AES_128) nearlink_sdr.phy.uwb_measurement_security.CTSSymbolResult[源代码]¶
生成 CTS 测量符号索引和加扰 SC 序列 (标准 9.5.5)。
- 参数:
cts_key -- ctsKey (16 字节).
cts_v_upper -- ctsVUpper (高 96 bit = 12 字节).
cts_v_counter -- ctsVCounter (32 bit).
n_cts -- CTS 数据部分符号个数.
symbol_count -- 符号索引数 (16 或 32).
encryption_algo -- 加密算法 (默认 AES-128).
- 返回:
CTSSymbolResult 包含符号索引和 SC 序列.
- nearlink_sdr.phy.uwb_measurement_security.update_cts_keys(slp_key: bytes, prev_keys: nearlink_sdr.phy.uwb_measurement_security.CTSKeys, kdf_type: nearlink_sdr.mac.crypto.KdfType = KdfType.AES_CMAC) nearlink_sdr.phy.uwb_measurement_security.CTSKeys[源代码]¶
递增 ctsContent32Bit 并重新派生 CTS 密钥 (步骤 12)。