微控制器加密的方法_2

文档序号:9866086阅读:来源:国知局
entifier, CID) 1024。除了制造商对微控制器100直接写入唯一识别码1022外,另外制造商亦将足以辨识制造商的文字、名称、简称或代码等资料,通过字符编码转换成电子储存或通讯使用的字节数据,以作为制造公司识别码1024。上述字符编码表包含ASCI1、Unicode、Big5、GB2312等字符。于一实施例中,使用者可通过一 RDMSR (read form MSR,读取特别模块暂存器)指令以读取上述制造公司识别码1024。一般而言,上述制造公司识别码1024无需经由上述转换程序1042以转换至所需的字节数据,因此,上述制造公司识别码1024可直接传送至上述加密程序1044中。于另一实施例中,亦可借由上述处理程序104的上述转换程序1042,对上述制造公司识别码1024进行演算操作,以转换为所需的字节数据,其转换字节的方法可类比于上述唯一识别码1022的转换方法。由于不同制造公司识别码1024的字节(Byte)可能不尽相同,因此若小于八个位元组或超过八个位元组的制造公司识别码1024,需转换成标准八个位元组的资料,或其他字节个数,以利后续加密步骤。若转换前的制造公司识别码1024即为标准的八个位元组,即可径行后续加密步骤。上述转换程序1042的排列方式可类比图3A所示,将UID修改为CID即可,但不以此为限,实际的排列方式仍由制造公司自行决定。此实施例中,转换前制造公司识别码1024是由12个位元组所组成的资料,如CID(O)、CID (I)...CID (11),将12个位元组资料排列成m行8列的表格,m值大于或等于3,此实施例中m=3,需注意的是,表格的排列必须使用到制造公司识别码1024的12个位元组,而每个字节皆可重复使用,最后将表格每一列的每一个字节做多个逻辑运算,可类比图3B所示的运算方式,将UID修改为CID,即可得到转换后8个位元组的制造公司识别码1024资料,ia CID8 (0),CID8(1)...CID8(7)资料。swap (Byte)为一种常见的逻辑运算,是将一个字节的高四位与下四位交换,如10100101经swap运算后得到01011010,或以另一方式表示可为B7B6B5B4B3B2B1B0经swap运算后得到B3B2B1B0B7B6B5B4,但并不以此为限。
[0025]上述步骤202-204以及步骤206可同时进行,亦可分开进行,取得唯一识别码或制造公司识别码的先后顺序并无特别规定。
[0026]步骤208:转换后的上述唯一识别码1022、上述制造公司识别码1024以及上述未加密数据1026同时(或分别)传送至上述加密程序1044中。上述唯一识别码1022经由上述转换程序1042转换至所需的字节数据后,并传送至上述加密程序1044中。上述制造公司识别码1024无需经由上述转换程序1042即可传送至上述加密程序1044中。来自外部的上述未加密数据1026则是通过上述I/O模块105以传送至上述加密程序1044中。
[0027]步骤210:借由上述加密程序1044,对上述未加密数据1026、上述制造公司识别码1024和经上述转换程序1042的上述唯一识别码1022进行加密运算,以成为一加密数据1207。上述加密程序1044的运算方式如图4所示,但不以此为限,实际的排列方式仍由制造公司自行决定。将上述唯一识别码1022进行X次的右循环,以及上述制造公司识别码1024进行y次的左循环,再与上述未加密数据1026 Dat (O)、Dat (I)…Dat (7)进行多次运算,得到Enc (O) ,Enc (I)...Enc (7)等资料,其总和即可为一加密数据1207,其中x可大于或等于0,y可大于或等于O。应当理解,上述未加密数据1026的字节长度为固定的长度,无需经过上述转换程序1042以进行转换,原则上,上述未加密数据1026的字节长度与上述制造公司识别码1024及经上述转换程序1042的上述唯一识别码1022的字节长度相同。
[0028]步骤212:将上述加密数据1207储存于上述储存模块102中。将上述未加密数据1026经过多次运算即可得到上述加密数据1207,其可储存非挥发性存储器,如RAM、ROM、PROMs、RAMs、EPROMs、EEPROMs、快闪存储器等。
[0029]综上所陈,本发明的执行与储存于储存模块102中进行,由上述步骤可知,虽唯一识别码1022或制造公司识别码1024易通过多种方式被他人取得,然而通过本发明的转换程序1042和加密程序1044,将上述识别码进行多重加密,纵使他人虽易取得上述识别码,但却无法正确计算出加密后的数据,资料受到严密的保护,可有效防止他人窃取、删除、窜改保密资料,甚至,当不肖人士窃取上述微控制器时,上述微控制器会产生错误的执行程序,使他人无法继续使用电子产品,以防止资料外泄。
[0030]本文与附图所述的算法或排列方式仅用以表达如何计算,实际应用不限于上述排列方式,实际排列方式由制造公司所决定,不对外公开。本文与附图所述的字节不限于8个位元组,本发明可广泛地应用至小于8个位元组或超过8个位元组,仍需依照实际状况而做调整。本文与附图所述的算法包括加、减、乘、除、与、或、异或(XOR)、补码、左旋右旋、左移、右移、交换、错位等运算,或其他数学、逻辑、字符等运算或函数,计算出欲加密资料相同长度的加密资料,以作为加密的结果,储存于微控制器内的非挥发性存储器中,其中非挥发性存储器包括ROM、PROMs、RAMs、EPROMs、EEPROMs、快闪存储器等。
[0031]本发明可借由可输入指令的任一程序、软件或硬件进行加密步骤,如C++通用程序设计语言、汇编语言assembly或其他语言程序,但并不以此为限。
[0032]对熟悉此领域技术的人,本发明虽以较佳实例阐明如上,然而其并非用以限定本发明的精神。在不脱离本发明的精神与范围内所作的修改与类似的配置,均应包含在下述的权利要求内,此范围应覆盖所有类似修改与类似结构,且应做最宽广的诠释。
【主权项】
1.一种微控制器加密的方法,上述微控制器包括一储存模块以及一输入/输出模块,其中上述储存模块用以储存一唯一识别码以及一制造公司识别码,上述储存模块更包括一处理程序,用以执行至少一转换程序以及一加密程序,执行步骤如下: 取得上述唯一识别码以及上述制造公司识别码; 通过上述转换程序,将上述唯一识别码转换为固定长度字节的数据; 一未加密数据通过上述输入/输出模块传送至上述储存模块中; 通过上述加密程序,以对经上述转换程序后的上述唯一识别码、上述制造公司识别码及上述未加密数据进行加密运算,以成为一加密数据;以及 将上述加密数据储存于上述储存模块中。2.如权利要求1所述的微控制器加密的方法,其特征在于,上述转换程序将上述唯一识别码转换为8个位元组的数据。3.如权利要求2所述的微控制器加密的方法,其特征在于,上述唯一识别码于转换前是超过8个位元组的数据。4.如权利要求2所述的微控制器加密的方法,其特征在于,上述唯一识别码于转换前是少于8个位元组的数据。5.如权利要求1所述的微控制器加密的方法,其特征在于,上述转换程序是将上述唯一识别码排列成一 η行8列的转换表格,其中η值大于或等于3。6.如权利要求1所述的微控制器加密的方法,其特征在于,上述未加密资料的字节长度与上述制造公司识别码及经上述转换程序后的上述唯一识别码的字节长度相同。7.如权利要求6所述的微控制器加密的方法,其特征在于,上述字节长度为8个位元组。8.如权利要求1所述的微控制器加密的方法,其特征在于,上述加密数据是将上述未加密数据、上述制造公司识别码和经上述转换程序后的上述唯一识别码,操作X次右循环、y次左循环及异或(XOR)运算所得到的加密结果。9.如权利要求8所述的微控制器加密的方法,其特征在于,上述X介于0~8之间。10.如权利要求8所述的微控制器加密的方法,其特征在于,上述I介于0~8之间。11.如权利要求1所述的微控制器加密的方法,其特征在于,上述制造公司识别码是将足以辨识制造公司的资料,通过一字符编码表转换成为字节数据。12.如权利要求11所述的微控制器加密的方法,其特征在于,上述字符编码表包含ASCI1、Unicode、Big5、GB2312 字符。13.如权利要求1所述的微控制器加密的方法,其特征在于,上述储存模块包含ROM、PROMs、EPROMs、EEPROMs、闪存非挥发性存储器。14.如权利要求1所述的微控制器加密的方法,其特征在于,上述唯一识别码及上述制造公司识别码是储存于上述非挥发性存储器中。
【专利摘要】本发明提供一种微控制器(microcontroller?unit)的加密方法,上述微控制器包含一储存模块以及一输入/输出模块,其中上述储存模块包含一唯一识别码(unique?identifier,?UID)以及一制造公司识别码(company?identifier,?CID),上述储存模块更包括一处理程序,用以执行至少一转换程序以及一加密程序,执行下步骤如下:取得上述唯一识别码以及上述制造公司识别码;通过上述转换程序,以将上述唯一识别码转换为固定长度字节的数据;一未加密数据通过上述输入/输出模块传送至上述储存模块中;通过上述加密程序,以对经上述转换程序后的上述唯一识别码、上述制造公司识别码及上述未加密数据进行加密运算,以成为一加密数据;以及将上述加密数据储存于上述储存模块中。
【IPC分类】G06F21/71, G06F21/73
【公开号】CN105631362
【申请号】CN201410589729
【发明人】黄智渊, 杨明德
【申请人】奇方科技有限公司
【公开日】2016年6月1日
【申请日】2014年10月29日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1