Flash型单片机的加密与解密
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Flash型单片机的加密与解密
2005 年4 月A 版摘要:随着Flash 型单片机的普及,单片机加密的技术已经有了较大的变化。本文以HCS12 系列单片机为例,介绍一种典型的加解密
机制,并着重讨论使用密码加解密的方法以及相应的用户接口程序设计思路。
关键词:Flash 型单片机;加密;解密;密码
引言厂商利用单片机进行产品开发时,都会关心其代码和数据的保密性。考虑到用户在编写和调试代码时所付出的时间和精力,代码的成本是不言而喻的。早期的单片机,代码是交给芯片制造商制成掩膜ROM。有两种加密的机制,一是彻底破坏读取代码的功能,无论是开发者还是使用者都永远无法读取
其中的内容。从安全上来说,这种方式很彻底,但是已经无法检查ROM 中的
代码了。另一种方法是不公开读取方法,厂商仍可以读取代码。这种方式留有
检查代码的可能性,但是并不能算是一种真正的“加密”,被破解的可能性是存
在的。客观地讲,一方面希望加密很彻底,而另外一方面又希望留有检查代码的可能,这是相互矛盾的要求。自Flash 技术得到广泛应用以来,各类单片
机制造商纷纷采用了多种不同的芯片加密方法,对比掩膜ROM 芯片来说,Flash ROM 在线可编程特性使得芯片的加密和解密方式变得更加灵活和可靠。在Flash 型单片机中,芯片的加密和解密工作都是通过对Flash ROM 的编程来完成的,由于用户程序可以在线地改写ROM 的内容,可以编写一套加密和解
密的小程序,随用户程序下载到芯片中,通过运行该程序,在线修改Flash ROM 的内容,对芯片进行加密和解密,使整个的加解密过程更为简单灵活。Freescale 公司的HCS12 单片机采用的加解密思路有一定的典型性,我们对此作了一些研究,现以MC9S12DP256 单片机为例,介绍Flash 型单片机的加密解密方法。