DS28E01芯片解密
科茂隆专业致力于各类疑难IC解密、芯片解密、单片机解密、芯片程序提取、芯片解密等技术服务,以低成本、短周期的效率满足顾客需求、加强市场竞争力的宗旨,以专业、专注的服务态度致力于为客户谋取实实在在的利益。
DS28E01芯片及其加密原理
MAXIM公司生产的 DS28E01将 1024位 EEPROM与符合 ISO/IEC110118-3安全散列算法(SHA-1)的质询响应安全认证结合在一起。在单个芯片内集成了 1024位 EEPROM(分为 4页,每页 256位)、64位密钥、一个寄存器页、512位 SHA-1引擎和 64位 ROM序列码。 DS28E01对数据按照 1-Wire协议串行传送,通信速率为15.3kbps(标准速率模式)或125kbps(高速模式),只需要一根数据线和一根返回地线,最大限度的节省了对控制器 I/O口的占用。
HASH加密函数是一种单向散列函数,是一种单向密码体制,即它是一种从明文到密文的不可逆映射,只有加密过程,不能解密,也就是说,从数学上不能由密文反过来推算出明文的任何消息。其中常见的 HASH函数的算法有:MD5、SHA、N-Hash、RIPE-MD、HAVAL等。
SHA-1算法是一种通过直接构造复杂的非线性关系达到单向要求,设计单向散列函数的算法,具有“不可逆”、“防碰撞”以及良好的“雪崩效应”.
DS28E01内部的加密过程是在内部的加密引擎中进行的,其加密引擎利用的是 HSAH函数的 SHA-1算法,但是和标准的 SHA-1算法又有几点不一样。标准算法的输入值可以小于、等于或大于分组长度512bit,但是 SHA-1引擎的 SHA-1算法输入的是固定的512bit,也就是标准 SHA-1算法的分组长度。并且标准 SHA-1算法每个分组的最后一次循环体的输出都要和输入每个分组的初始常量做MOD232加法,而在 DS28E01的 SHA-1引擎中由于只有一个512bit的循环体,最后就省略了将初始常量添加回结果的最终步骤。至于引擎的 SHA-1算法的其他步骤则与标准的 SHA-1算法相同。
加密模块设计
目前由很多能实现 FPGA加密的方法,如在 Xilinx Virtex-II和 Virtex-4这类的高端FPGA中,支持对配置数据流的加密操作。这样仅当 FPGA中含有相同的密钥时,这些数据流才可以工作。但是这种加密的方法对更为广泛的、对成本比较敏感的应用场合来说不甚合适。因此,这里利用另一种可行的身份识别法来防止意外拷贝。这种方法对所有 FPGA家族都使用,包括低端的 Xilinx Spartan-3系列FPGA。