【技术实现步骤摘要】
本专利技术是关于处理器资料保护技术,尤指一种以保护位元码对一程序进行加密保护的装置。
技术介绍
在这重视智财权的时代,厂商为了保护其辛苦开发的程序、资料等相关的智慧财产,会于离线(off-line)时将该等资料、程序先进行一加密(encrypting)处理,再将加密后的资料予以储存至一非挥发性储存器或其他储存媒体,他人即使拿到存有该加密资料的非挥发性储存器或其他储存媒体,由于无法知道该加密处理的过程及处理方法,亦无法正确去还原该等资料、程序,由此而达到保护的目的。针对此种资料保护方式,于;美国USP6,408,073号专利公告中,使用一虚拟乱数产生器(Pseudo Random Generator)及依据一初始值(seed1/seed2),来对只读储存器(Read Only Memory,ROM)的资料(ROMdata)进行编码以产生编码资料(Encoded data),然而此种资料保护方式因使用乱数做加密处理的参数,需有同步的乱数产生器用以进行解码。需要非常多的乱数的样型(pattern),才能有效防止他人还原该等资料、程序,这意味著编码及解码的虚拟乱数产生器需要相当复杂的电路,此会增加许多成本。若使用较简单的编码及解码的虚拟乱数产生器,虽然可节省成本,但却容易被他人还原该等资料、程序,因此,公知处理器的条件指令处理方法设计仍有诸多缺失而有予以改进的必要。
技术实现思路
本专利技术的目的在于提供一种以保护位元码对一程序进行加密保护的装置,以避免公知技术使用复杂的虚拟乱数产生器,而达可节省成本的目的。同时,由于保护位元码的产生及去除硬件相当简易,以减少加密 ...
【技术保护点】
一种以保护位元码对一程序进行加密保护的装置,该程序具有复数个指令,每一指令具有I位元,该I为正整数,该装置包含:一保护位元码产生装置,依据该程序的复数个指令以产生对应的复数个保护位元码,每一保护位元码具有P个位元,该P为正整数; 一第一保护位元码位置产生装置,其依据执行该程序时处理器状态以产生每一保护位元码的插入位置N,该N为正整数;以及一保护位元码插入装置,依据该第一保护位元码位置产生装置所产生的插入位置N,分别将每一保护位元码插入该程序对应指令第N- 1与第N位元之中,以产生一加密程序。
【技术特征摘要】
1.一种以保护位元码对一程序进行加密保护的装置,该程序具有复数个指令,每一指令具有I位元,该I为正整数,该装置包含一保护位元码产生装置,依据该程序的复数个指令以产生对应的复数个保护位元码,每一保护位元码具有P个位元,该P为正整数;一第一保护位元码位置产生装置,其依据执行该程序时处理器状态以产生每一保护位元码的插入位置N,该N为正整数;以及一保护位元码插入装置,依据该第一保护位元码位置产生装置所产生的插入位置N,分别将每一保护位元码插入该程序对应指令第N-1与第N位元之中,以产生一加密程序。2.如权利要求1所述的装置,其特征在于,还包含一第二保护位元码位置产生装置,其依据执行该程序时处理器状态以产生每一保护位元码的插入位置N;以及一保护位元码去除装置,输入该程序,并依据该第二保护位元码位置产生装置所产生的插入位置N,以将该程序的对应指令第N位元去除。3.如权利要求2所述的装置,其特征在于,其中该第一及第二保护位元码位置产生装置依据执行该程序时处理器状态以产生插入位置,每一第一及第二保护位元码位置产生装置包含一位置状态暂存器,用以指示该处理器存取资料区段或是存取程序区段;一程序状态暂存器,用以指示该处理器所处状态;复数个插入位置产生装置,依据其预定的功能以产生插入位置;以及一多工器,其具有复数个输入端,以耦合至该复数个插入位置产生装置的输出端,并依据该位置状态暂存器及该程序状态暂存器,由复数个输入端中选择一插入位置以做为输出。4.如权利要求3所述的装置,其特征在于,其中该复数个插入位置产生装置可为一空装置,以表示无插入位置。5.如权利要求3所述的装置,其特征在于,其中该复数个插入位置产生装置可将一给定值经由函数运算以产生插入位置。6.如权利要求3所述的装置,其特征在于,其中该复数个插入位置产生装置可将一第一给定值减去经由函数运算的一第二给定值,以产生插入位置。7.如权利要求3所述的装置,其特征在于,其中该复数个插入位置产生装置可将一第一给定值与该处理器部分位址值结合后,再经由函数运算,以产生插入位置。8.如权利要求3所述的装置,其特征在于,其中该复数个插入位置产生装置可将该位置状态暂存器与该程序状态暂存器结合后,以产生插入位置。9.如权利要求3所述的装置,其特征在于,其中该复数个插入位置产生装置可将该位置状态暂存嚣与该程序状态暂存器结合后,再经由函数运算,以产生插入位置。10.如权利要求2所述的装置,其特征在于,其中该保护位元码去除装置还可依据该第二保护位元码位置产生装置所产生的插入位置N,而将该程序对应指令的第N位元移至最高位元处。11.如权利要求2所述的装置,其特征在于,其中该保护位元码去除装置还可依据该第二保护位元码位置产生装置所产生的插入位置N,而将该程序对应指令的第N位元移至最低位元处。12.如权利要求2所述的装置,其特征在于,其中该保护位元码去除装置还可依据该第二保护位元码位置产生装置所产生的插入位置N,而将该程序的对应指令直接输出。13.如权利要求3所述的装置,其特征在于,其中I+P=32。14.如权利要求3所述的装置,其特征在于,其中I=32。15.一种对一加密程序进行解密的装置,该加密程序将保护位元码插置于原始程序中而加密,该加密程序具有复数指令,该装置包含一第二保护位元码位置产生装置,其依据执行该程序时处理器状态以产生该复数个保护位元码的插入位置;以及一保护位元码去除装置,输入该程序,并依据该第二保护位元码位置产生装置所产生的插入位置N,以将该程序对应指令的第N位元去除。16.如权利要求15所述的装置,其特征在于,其中该第二保护位元码位置产生装置依据执行该程序时处理器状态以产生插入位置,该第二保护位元码位置产生装置包含一位置状态暂存器,用以指示该处理器存取资料区段或是存取程序区段;一程序状态暂存器,用以指示该处理器所处的状态;复数个插入位置产生装置,依据其预定的功能以产生插入位置;以及一多工器,其具有复数个输入端,以耦合至该复数个插入位置产生装置的输出端,并依据该位置状态暂存器及该程序状态暂存器,由复数个输入端中选择一插入位置以做为输出。17.如权利要求16所述的装置,其特征在于,其中该复数个插入位置产生装置可为一空装置,以表示无插入位置。18.如权利要求16所述的装置,其特征在于,其中该复数个插入位置产生装置可将一给定值经由函数运算以产生插入位置。19.如权利要求16所述的装置,其特征在于,其中该复数个插入位置产生装置可将一第一给定值减去经由函数运算的一第二给定值,以产生插入位置。20.如权利要求16所述的装置,其特征在于,其中该复数个插入位置产生装置可将一第一给定值与该处理器的部分位址值结合后,再经由函数运算,以产生插入位置。21.如权利要求16所述的装置,其特征在于,其中该复数个插入位置产生装置可将该位置状态暂存器与该程序状态暂存器结合后,以产生插入位置。22.如权利要求16所述的装置,其特征在于,其中该复数个插入位置产生装置可将该位置状态暂存器与该程序状态暂存器结合后,再经由函数运算,以产生插入位置。23.如权利要求16所述的装置,其特征在于,其中I+P=32。24.如权利要求16所述的装置,其特征在于,其中I=32。25.一种对一加密程序进行解密的装置,该加密程序将两组保护位元码插置于原始程序中而加密,该加密程序具有复数指令,其中一个字组可包含二个加密指令,该装置包含一第三保护位元码位置产生装置,其依据执行该程序时处理器状态以产生该复数个保护位元码的第三插入位置;一第四保护位元码位置产生装置,其依据执行该程序时处理器状态以产生该复数个保护位元码的第四插入位置;以及一第三保护位元码去除装置,输入该加密程序的低半字组,并依据该第三保护位元码位置产生装置所产生的第三插入位置N1,以将该程序对应指令的第0至(K-1)位元的笫N1位元去除;以及一第四保护位元码去除装置,输入该加密程序的高半字组,并依据该第四保护位元码位置产生装置所产生的第四插入位置N2,以将该程序对应指令的第K至(2K-1)位元的第N2位元去除。26.如权利要求25所述的装置,其特征在于,其中K=1...
【专利技术属性】
技术研发人员:梁伯嵩,
申请(专利权)人:凌阳科技股份有限公司,
类型:发明
国别省市:71[中国|台湾]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。