【发布时间】:2013-07-24 23:05:01
【问题描述】:
我想实现一个算法/函数(一种许可算法),我们称之为 F1,它为所有输入值返回一个固定密钥,比如 mac 地址。 然后实现反函数(比如 F2),如果 2 个输入是,它应该返回 true: - 先前从 F1 生成的密钥 - 一个有效的输入 mac 地址,属于之前提供给 F1 的地址范围
更具体地说明我为什么要这样做: 我正在为 BT(蓝牙)平台(芯片/模块)实现一个 SW 代码,它只能在特定范围的 BT mac 地址上工作。 用户应该向我们提供一系列 BT 地址(即起始地址 - 结束地址),然后使用 F1 我们应该为他提供许可证密钥(他的所有 BT 地址都有一个固定值)。
那么在BT模块的MP(量产)过程中,模块制造商应将此密钥存储在模块的EEPROM中。
模块上电时,函数F2应该读取EEPROM中key的值(作为输入1),并读取模块的BT mac地址(作为输入2),如果该地址属于该地址,则返回true F1生成密钥的BT地址范围。
- 有什么想法吗?
- 我应该从哪里开始阅读?有关键字吗?
【问题讨论】:
-
似乎您想创建一个存储起始地址掩码并可能对其进行加密的字符串。还是不是这样?
-
也许吧。我想一个解决方案是形成一串开始和结束地址并加密它。另一方面,可以解密并检查自己的BT地址是否在范围内。
-
在这种情况下,我猜传统的哈希函数,SHA-1、2等都可以使用,对吧?