执行密码功能的器件与方法

文档序号:7639168阅读:389来源:国知局
专利名称:执行密码功能的器件与方法
技术领域
本发明涉及电子传送信息的加密及解密领域。更明确地说,本发明涉及以金钥加密数字信息而给出加密数字信息及该加密数字信息的计划内接收者所进一步译码。
背景技术
数字电子信息的加密及解密现今愈来愈普遍并可以在银行业、软件保护、数据保护、数字权管理、电信业中迅速找到,其中敏感信息的传输要被保全,及在广播时,特别是在此等广播涉及高价值内容的传输时。多数密码算法使用金钥一致性协议,其中加密信息的发送者及接收者在金钥上一致。金钥可以为对称,其中,相同金钥用以加密及解密。对称金钥技术在相关于容易可计算方式下,也可以涵盖使用不同金钥。另一方面,在非对称金钥技术中,公钥被用以加密及与公钥不同的私钥用以解密。此等算法被描述于例如DES、RSA、或例如Diffie-Hellman金钥交换协议中的标准中,或任何为国家标准及技术协会(NIST)所推荐的例如先进加密标准 (AES)的其它标准。用于这些类型算法的加密强度略微取决于所用的特定算法及所用的金钥类型与长度并使得该等金钥保持秘密。如于前所述,本发明的领域系数字信息的加密及解密,然而,因为本发明涉及仿真电子处理技术,所以,其也可以包含在先前技术中说明的仿真加密/解密技术。仿真加密技术被常用于通讯的领域及语音编码目的电话学领域中。所用的技术涉及在时域或频域中扰频。不同于扰频,也可以使用其它技术于仿真加密中。例如,美国专利第75459 号描述一仿真加密技术,该予以被加密的仿真信号的一部份被隔开并组合上调变信号。调变信号被组合上该原始仿真信号以给出加密仿真信号。存在的混合模式加密技术中,其中仿真信号被首先取样并在执行数字域加密前先转换为数字域并选用地再将结果转换为仿真域。美国专利申请第2001/0021252号描述一广泛接受方法,以加密电话通讯,藉以仿真输入信号被转换为数字输入信号,该数字输入信号在一数字金钥下加以加密及所得加密数字输入信号被再转换为代表仿真输入信号的仿真输出信号。国际专利申请第W02007/120006号描述用于语音信号加密/解密以确保实时语音通讯的混合模式的方法与设备。仿真语音信号被转换为数字语音信号然后使用已知手段加以加密/扰频。被实时取样的语音信号或其延迟版本被加密至该加密/扰频语音信号中。美国专利公告US7647615B1描述一音讯输入接口,其接收数字音讯及视讯信号并包含数模转换器,以允许它处理仿真域的信号。该文件讨论仿真解密,但只应用于与前述相同的情况下。美国专利公告US7M5i^9Bl描述加密仿真资料的设备与方法。在数字与仿真域间并未使用转换。该电路描述采仿真信号并将的组合至一调制信号。因此,现行加密技艺允许数字信息予以使用工业标准金钥一致性算法加密及解
4密,或者,仿真信息被转换为数字信息,其然后使用这些相同工业标准技术加以加密及解密。现行加密技艺也存在有仿真信息加密技术,但此等技术所如此提供的加密通常被认为较数字加密有较低的保全。

发明内容
在电子密码领域中,有可能第三者以还原工程还原已经以数字硬件实施的加密算法,并建立该算法的仿真,通常采软件,这可以用以回避硬件加密算法,因此,允许该第三者取得已经使用加密算法加密的信息。本发明的一目的为提供一种以硬件实现数字加密算法的新颖方法与设备,同时,使得硬件的还原工程足够困难,以相较于现行技术加密硬件提供高阶的保全。因此,本发明想要最小化计划外(unintended)接收者通过发现加密金钥或者通过回避加密算法,而能解密依据本发明加密的信息的信息的可能性。此目标使用在至少一数字第一值O(D)及至少一数字第二值(KD)执行数字密码函数的方法加以完成,该数字密码函数具有至少一数字结果,该方法包括以下步骤a)将该至少一数字第一值O(D)转换为至少一仿真第一值(XA),b)将该至少一数字第二值(KD)转换为至少一仿真金钥值(KA),c)对该至少一仿真第一值(XA)及该至少一仿真金钥值(KA)执行仿真函数(F), 以给出至少一仿真输出值(RA),及d)将该仿真输出值(RA)转换以给出代表该数字密码函数的结果的数字输出值 (RD)。本发明更提供一种用以依据上述方法执行数字密码函数的器件,使用至少一数字第二值(KD)对至少一数字第一值O(D)执行该方法,该数字密码函数具有至少一数字结果, 该器件包括将该至少一数字第一值O(D)转换为至少一仿真第一值(XA)的手段,将该至少一数字第二值(KSD)转换为至少一仿真金钥值(KA)的手段,对该仿真第一值及该仿真金钥值执行仿真函数(F),以给出仿真结果(RA)的手段,及将该仿真结果转换为数字值以给出代表该数字密码函数的结果的数字输出值 (RD)的手段。因此,防止第三者能以数字硬件实现的密码函数建立软件仿真器的问题已经通过提供混合数字及仿真硬件技术完成加密及解密算法加以解决。


本发明可以通过以下及附图的详细说明加以了解,这些图为本发明实施例的非限定例图1显示可以布署本发明实施例的密码系统一部份的方块图。图2至6显示描述于图1的密码系统一部份的替代实施例。图7显示可以布署本发明实施例的解密系统的一部份的方块图。主要组件对照表
5
DAl 第一数模转换器DA2 第二数模转换器F:仿真函数AD 仿真数字转换器PREX 第一预处理级PREK 第二预处理级POST 后处理级SFl 仿真次函数方块SF2 仿真次函数方块ADl 仿真数字转换器AD2 仿真数字转换器⑶数字组合函数CA:仿真组合函数F—1 解密仿真函数
具体实施例方式本发明的实施例可以布署于以第二值对第一值执行密码函数的系统,以给出一加密或解密输出。图1显示加密(或解密)数字信息的系统的一部份的示意图,其中可以布署有本发明的实施例。示于示意图中的方块采数字第一值O(D)为予以加密(或解密)的输入及第二数字值(KD)作为加密(或解密)金钥及给出加密(或解密)数字值(RD)为输出。换句话说,因此,该方块对第一数字操作数O(D)及第二数字操作数(KD)执行数字密码函数, 以输出数字结果(RD)。依据本发明实施例,使用第一数模转换器(DAl)将数字第一值O(D)转换以给出仿真第一值(XA)。类似地,使用第二数模转换器(DA》,第二数字值(KD)被转换以给出仿真金钥值(KA)。仿真函数(F)被应用至两仿真值,以给出该仿真结果(RA)。使用仿真数字转换器(AD),仿真结果(RA)被转换为数字值,因此,于输入给出代表该数字第一值O(D)的加密的加密数字输出(RD)。如图1所示,予以加密的输入O(D)可以被储存于输入缓存器⑴ 及于此例子中代表加密金钥值的第二数字值(KD)可以被储存于加密金钥缓存器(K)中。类似地,仿真数字转换结果(RD)可以被储存于结果缓存器(R)中。值得注意的是,在实务上, 如图1所示的方块可以只代表完整加密系统的一部份,其可以进一步包括其它调整电路, 以完成一完整加密算法,其很多内容将如后述。如同于数字电子中所知,η-位数字值可以被一组η状态所表示,各状态具有两二进制值之一,即零或一。这些状态可以例如被定义为电压状态或电流状态,但其它类型的状态也有可能,例如极性的方向,频率值等等。数模转换器(DA1,DA2)应优选将值由数字域转换为仿真域,此转换的形式造成例如电压、电流、频率或电荷的任何仿真量。类似地,仿真数字转换器(AD)应将例如电压、电流、频率或电荷的仿真量转换为例如电压或电流所代表的数字域。仿真函数(F)可以为任何作用于至少两仿真输入并给出仿真输出的预定仿真函数。例如,可以使用涉及加、减、乘、或对数函数的算术函数或其任意组合。在本发明的一实施例中,可方便地使用一开关电容器电路,以在仿真值被表示为电荷时实现一算术函数。确实,实现除法函数或加法函数为熟习于开关电容器电路设计者所知。在本发明的另一实施例中,数字值为电压状态所表示及数模转换器由数字电压域转换为仿真电流域。如同于熟习于本技艺者所知,加法函数直接使用在电流域中工作的电路加以直接实现。类似地,在频域中,频率乘法电路及其它类型的混合电路可以迅速取得以实现不同算术函数。使用可用以在如上所述的仿真电子电路中实现基本算术或数学函数的基本建构方块,更有可能建立仿真电路,以实现涉及多项式函数的更复杂数学函数,多项式函数包含涉及上升操作数二的乘幂或三的乘幂等等。任何前述数学函数可以用以实现本发明的仿真函数(F)。依据本发明的另一实施例,如于图2所示,数字第一值O(D)可以由整个或部份输入值(XIN)使用第一预处理级(PREX)导出。此预处理(PREX)可以根据例如预定值的加入至输入值(XIN)或由输入值(XIN)减去预定值、输入值(XIN)的截断或旋转的各种函数或任何可以根据整个或部份金钥值(XIN)给出数字第一值O(D)的任意逻辑函数。依据本发明另一实施例,示于图3,数字第二值(KD)可以由整个或部份金钥值 (KIN)使用第二预处理级(PREK)导出。此预处理(PREK)可以根据例如预定值的加入至金钥值(KIN)或由该金钥值(KIN)减去预定值、该金钥值(KIN)的截断或旋转的各种函数或任何可以根据整个或部份金钥值(XIN)给出数字第二值(KD)的任意逻辑函数。再者,如于图3所示,在输出侧的输出(RD)可以受到后处理级(POST)以给出后处理输出(RPD)。依据本发明的优选实施例,于上所述的预处理活动可以进一步包含例如截断的一些形式,或者输入值(XIN)或金钥值(KIN)的细分,以使得加密程序被执行在多数叠代或多数同时并行分支中。值得注意的是,第一预处理级(PREX)可以涉及更多复杂逻辑并甚至继承加密(或解密金钥)的使用。确实,金钥可以为数字第二值(KD)或金钥值(KIN)的任何其它导出值。 图4显示此例子,其中应用至输入值(XIN)的第一预处理级(PREX)使用由金钥值(KIN)导出预处理金钥值(KPRE)。预处理金钥值(KPRE)可以可不具有与数字第二值(KD)相同的值。确实,其它金钥可以如图1-4所示地导出,例如,后处理金钥值(KPOST),其可以被使用作为另一输入,或许在后处理级(POST)中操作为加密金钥(或解密金钥)。值得注意的是, 图式显示数字第二值、预处理金钥值(KPRE)及由相同金钥值(KIN)导出之后处理金钥值 (KPOST),各个这些金钥可以完全独立。通过相同符记(token),第二数字值(KD)、预处理金钥值(KPRE)及后处理金钥值(KPOST)可以确实相同。可以更一般条件了解到,可以实现于数字硬件中的完整加密算法可以分解成多数次算法,以使得至少一该次算法使用仿真硬件被实现为仿真函数。以此方式,可以达成使得用以建立软件仿真器或任何其它类型仿真器的目的的还原工程电路变得困难的目标。在本发明的一实施例中,小心处理以确保加密的重复性。在具有范围χ伏的η位数模转换器中,在输入的各个步阶将对应为在输出的χ/η伏的差。相反地,对于具有y伏的输入范围的m位仿真数字转换器,在输入的y/m伏的变化将造成在输出的单位变化或步阶。 对于范围2伏的16位转换器,这将给出约30 μ V的步阶尺寸。可以为熟习于数模及仿真数字转换领域者所了解到,此等转换器由于例如温度变化、供应电压或参考电压的变化、电噪
7声、转换速度等的因素,而易受到某些量的误差。如果误差值在大小上可相比于转换器的步阶大小,则在一系统中,数字输入被转换为仿真值然后转换为数字输出,其中并不能保证某数字输入将一直造成相同数字输出,因为数字输出将取决于系统内的误差而改变。再者,在其中包含至少一数模转换器随后有仿真数字转换器所跟随的仿真函数的链中,及前述误差的可能性,由于例如电噪声、供电变动或简单地仿真函数本身具有例如对转换器所产生的误差的累积或倍乘作用的因素可能在仿真函数中引入进一步误差。例如, 如果链具有两数模转换器及仿真函数为数模转换器的两输出的乘法,则来自两数模转换器的误差将在仿真函数的输出相乘。已知在密码的领域中,为了维持实现在数字电子硬件中的加密算法的合理程度的保全,用以代表加密金钥的位数必须被保持于合理地高。另一方面,可以由上述讨论了解, 如果加密算法,或至少部份算法被实现为仿真函数,则如果所用的位数造成步阶尺寸可相比于固有于转换器及/或仿真函数中的误差大小,则此系统的可重复性被妥协。换句话说, 使用愈多位,则将有更少机会能建立可得可重复结果的决定系统。为了回避此问题,依据本发明实施例,其中仿真函数复制一部份的加密算法,仿真函数被细分为多数仿真次函数。仿真次函数被选择使得它们被组合以实现仿真函数。各个仿真次函数经由数模转换器接收至少两输入,即第一操作数及第二操作数,并且,来自次函数的输出进行至仿真数字转换器以给出次解答。转换器的步阶大小及公差,及因此,位的最佳数量(b)被选择,以使得包含数模转换器、次函数及仿真数字转换器的链的整个公差对于给出第一及第二操作数造成一决定次解答。多数上述链以实现选择仿真函数的观点加以实行。数字第一值被分成多数b_位部份数字第一值-这些为上述第一操作数,而金钥值被细分为多数b_位部份金钥值-这些为前述第二操作数。透过各个链的各个部份数字第一值及部份数字第二值的处理如上所述得到多数部份结果或次解答。部份结果然后于数字域或于仿真域被组合,以对仿真函数给出解答。仿真函数用以实现整个加密算法的选择部份。这是如图5所示,其中数字第二值(KD)及数字第一值O(D)被细分为多数部份数字第一值0(D1,XD2)及部份数字第二值(KD1,K^)。该例子显示数字第一值及金钥值,各个值被细分为两部份;然而,应了解的是,两值可以各个被分成任意想要数量的部份。各个部份数字第一值被转换为部份仿真第一值(XA1,XA2)及各个部份数字第二值被转换为部份仿真金钥值(KA1,KA2)。多数仿真次函数方块(SF1,SF2)对一对值执行仿真函数,该对值为来自多数部份仿真第一值的一值及来自多数仿真金钥值的一值,给出多数部份仿真结果(RAP1,RAP2)。部份仿真结果使用多数仿真数字转换器(AD1,AD2)被转换为多数部份数字结果(RDP1,RDP2)及多数部份数字结果使用预定数字组合函数(CD)被组合以给出加密 (或解密)数字输出值(RD)。部份数字结果的组合得到如前所述以数字第一值O(D)及数字第二值(KD)使用仿真函数(F)处理所完成的相同数字输出值。值得注意的是,预定数字组合函数(CD)可以更包含使用后处理金钥值(POST)或任何其它预定金钥。或者,部份仿真结果(RAP1,RAP》可以使用仿真组合函数(CA)于仿真域中组合,以在施加仿真数字转换 (AD)前给出仿真结果(RA),造成加密(或解密)数字输出值(RD)。这如图6所示。仿真组合函数(CA)可以可不使用加密金钥,例如仿真加密金钥(KA)。在本发明的其它实施例,部份数字第一值及部份数字第二值的处理可以以串行方式或使用管线组织加以完成,而不是以上述并行架构完成。
8
本发明的另一实施例中,为了进一步多向化加密的结果,加密输出值受到进一步舍入(round)或加密的多数进一步舍入。应作出多少舍入的决定根据所需速度或效能及所得加密算法的复杂度间的取舍加以完成。再者,加密的各个舍入并不必然必须使用相同加密金钥。为了实现加密的进一步舍入,加密数字输出值(RD)(或后处理输出值(RPD))可以回授到输入,以变成新数字第一值O(D)(或新输入值XIN)或进一步硬件方块可以被级联 (cascade)至第一方块的输出。或者,进一步舍入可以在仿真域中完成,以使得部份仿真结果透过仿真次函数受到进一步处理。图7显示如何依据本发明实施例完成使用函数F加密值的解密。加密值(RD)被使用数模转换器(DAl)被转换为仿真值。类似地,解密金钥(KD)使用数模转换器(DA2)由数字域转换为仿真域。两仿真值(RA,KDA)使用解密仿真函数(F—1)组合。解密仿真函数 (XA)的结果使用仿真数字转换器(AD)由仿真域转换为数字域,以给出该解密值0(D)。如同于加密的情形中,解密金钥(KD)可以被用以导出解密次金钥(KSD)。在本发明的一实施例中,解密金钥为与加密金钥相同及解密函数为加密函数的反函数。在另一实施例中,解密金钥与加密金钥不同,同时,加密函数与解密函数相同。如于加密部份所述,解密可以在多数处理减少位数的方块中完成,金钥被细分为多数较短金钥及加密值被细分为多数予以为多数仿真函数所处理的较短加密值,具有部份结果于仿真域或数字域被组合。如上述对决定加密系统的完成作出贡献的技术,S卩,数字值的分割为多数更小部份也可以应用至解密系统中。类似地,多数舍入的使用也可以应用至解密系统中。
权利要求
1.一种用以对至少一数字第一值O(D)及至少一数字第二值(KD)执行数字密码函数的方法,该数字密码函数具有至少一数字结果,该方法包括以下步骤a)将该至少一数字第一值O(D)转换为至少一仿真第一值(XA),b)将该至少一数字第二值(KD)转换为至少一仿真金钥值(KA),c)对该至少一仿真第一值(XA)及该至少一仿真金钥值(KA)执行仿真函数(F),以给出至少一仿真输出值(RA),及d)转换该仿真输出值(RA)以给出代表该数字密码函数的该结果的数字输出值(RD)。
2.如权利要求1所述的方法,其特征在于,所述至少一数字第一值O(D)由对至少全部或部份输入值(XIN)执行第一预处理活动(PREX)造成。
3.如权利要求1或2所述的方法,其特征在于,所述至少一数字第二值由对至少全部或部份金钥值(KIN)执行第二预处理活动(PREX)造成。
4.如权利要求3所述的方法,其特征在于,所述第二预处理活动(PREK)更产生预处理金钥值(KPRE)。
5.如权利要求2、3或4所述的方法,其特征在于,所述第一预处理活动(PREX)更作动于所述预处理金钥值(KPRE)上。
6.如权利要求1至5其中之一所述的方法,其特征在于,至少全部或部份所述数字输出值(RD)受到后处理活动(POST)以给出后处理数字输出值(RPD)。
7.如权利要求3至6其中之一所述的方法,其特征在于,所述第二预处理活动(PREK) 更产生后处理金钥值(KPOST)。
8.如权利要求7所述的方法,其特征在于,所述后处理活动(POST)更作动于所述后处理金钥值(KPOST)上。
9.如权利要求3至8其中之一所述的方法,其特征在于,所述第一预处理活动(PREX) 或第二预处理活动(PREK)的任一涉及产生多数数字第一值OCDl,》)幻或第二数字值(KDl, KD2)及其特征在于,所述多数数字第一值OCDl,》^)被转换为多数仿真第一值(XA1,XA2) 及所述多数数字第二值(KD1,KD2)被转换为多数仿真金钥值(KA1,KA2)。
10.如权利要求1至9其中之一所述的方法,其特征在于,所述仿真函数(F)被细分为多数仿真次函数(SF1,SF2,CA),所述仿真次函数(SF1,SF2,CA)的至少两者作动于所述至少一仿真第一值(XA1,XA2)的至少的一及所述至少一仿真金钥值(KA1,KA2)的至少的一给出多数部份仿真结果(RAP1 ;RAP2),所述多数部份仿真结果(RAP1,RAP2)受到组合次函数 (CA),以得到所述仿真输出值(RA)。
11.如权利要求1至9其中之一所述的方法,其特征在于,所述仿真函数(F)被细分为多数仿真次函数(SF1,SF2),各个所述仿真次函数(SF1,SF2)作动于所述至少一仿真第一值(XA1,XA2)的至少的一及所述至少一仿真金钥值(KA1,KA2)的至少的一,以给出多数部份仿真结果(RAP1 ;RAP2),所述多数部份仿真结果(RAP1,RAP2)被转换为多数部份数字结果(RDP1,RDP2),所述多数部份数字结果(RDP1,RDP》被组合以得到数字输出值(RD)。
12.如权利要求1至11其中之一所述的方法,其特征在于,所述至少一数字第一值或所述至少一数字第二值的所述转换由电压至电流、电压至电荷、或电压至频率的选择转换;及所述仿真输出值的所述转换于电流至电压、电荷至电压或频率至电压的选择间作转换。
13.如权利要求3至12其中之一所述的方法,其特征在于,所述输入值(XIN)或所述金钥值(KIN)的任一分别包括η位或m位,及所述数字第一值(XDJDl,)(D2)或所述数字金钥值(KD,KD1,KD》的任一包括一数量的位,所述数量分别小于η或m。
14.如权利要求1至13其中之一所述的方法,其特征在于,所述数字输出值(RD)或所述后处理数字输出值(RPD)为如权利要求1至13中任一所述的所述数字密码函数所进一步处理至少一次。
15.一种对至少一数字第一值O(D)及至少一数字第二值(KD)执行数字密码函数的器件,所述数字密码函数具有至少一数字结果,所述器件包括至少一数模转换器(DAl),以将所述至少一数字第一值O(D)转换为至少一仿真第一值 (XA),至少一第二数模转换器(DA》,以将所述至少一数字第二值(KSD)转换为至少一仿真金钥值(KA),硬件,适用以实现作动于所述仿真第一值(XA)及所述仿真金钥值(KA)上的仿真函数 (F),以给出仿真结果(RA),及至少一仿真数字转换器(AD),以将所述仿真结果(RA)转换为数字值,以给出代表所述数字密码函数的结果的数字输出值(RD)。
全文摘要
本发明是一种执行密码功能的器件与方法,包括用以加密及解密数字信息同时对该加密数字信息施加高阶保全的方法与设备。本案公开一种混合模式的数字-仿真加密及解密技术,其最小化如此被加密信息的计划外接收者使用已知还原工程技术能解密该信息的可能性。
文档编号H04L9/00GK102215105SQ20111009371
公开日2011年10月12日 申请日期2011年4月6日 优先权日2010年4月8日
发明者杰若姆·贝林恩, 罗恩·欧帝 申请人:纳格维逊股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1