PUF 技术全景
各种 PUF 纠错技术路线分析与对比
说明:以下内容是与 SRAM PUF 相关的技术概念。
BCH 码
BCH(Bose-Chaudhuri-Hocquenghem)码是一类强大的循环纠错码,是目前大多数SRAM PUF 方案的基础。
特点:
- 代数编码,有成熟的硬判决和软判决译码算法
- 纠错能力可控,设计灵活
- 软判决译码可以提升纠错能力,但计算复杂度较高
- 硬件实现门数较多(数万门级别)
HonPUF 不采用 BCH 码的原因:BCH 的代数译码在纯软件 MCU 上实现开销较大,且相关专利壁垒较高。
Reed-Solomon 码
RS(Reed-Solomon)码是一种非二进制 BCH 码,擅长纠正突发错误。
特点:
- 以符号(symbol)为单位纠错,适合突发错误场景
- 在 PUF 中效果不如 BCH(PUF 错误是随机比特错误,不是突发错误)
- 译码复杂度高于同长度的二进制 BCH
Golay 码
Golay 码是一种特殊的线性码,可以纠正 3 个错误。一些商业 PUF 方案将 Golay 码与 BCH 级联使用。
重复码(Repetition Code)
重复码是最简单的纠错码:每个信息比特重复多次,译码时取多数表决。
特点:
- 实现极简单
- 纠错效率极低(要降低 BER 需要极大的冗余)
- 在 PUF 中通常只作为预处理或与其它码级联使用
级联码(Cascade Code)— HonPUF 采用
级联码是 HonPUF 的核心纠错方案,由多级纠错层串联构成,前一级纠正后的结果传递给下一级,多级精炼后能从 BER 47% 的噪声中恢复出稳定密钥。
路线对比总结
| 方案 | 纠错能力 | 软件实现 | 硬件门数 | 专利风险 |
| BCH 软判决 | 强 | 高复杂度 | 数万门 | 有专利壁垒 |
| Reed-Solomon | 中(突发错误好) | 高复杂度 | 数万门 | 可规避 |
| Golay | 中(纠 3 错) | 低(查表) | 数千门 | 有专利壁垒 |
| 重复码 | 弱(效率低) | 极低 | 极低 | 无 |
| 级联码(HonPUF) | 极强(47% BER) | 低 | 几千门 | 自有专利 |