具体实施方式
图1呈现根据本发明的实施例的合并密码学的多个装置的图形表示。特别地,示出了可从外部装置(比如,媒体内容提供者50)接收加密内容(比如,视频数据、音频数据或其他加密内容)的手持视频播放器58(比如,智能电话、互联网平板或其他个人媒体播放器)和网关装置60(比如,机顶盒、数字视频记录器、家庭网关、服务器或其他处理装置)。
在另一种配置中,个人计算机56、视频播放器54、手持视频播放器58和电视62可通过网关装置60或者通过以下装置接收加密内容:服务器、另一个机顶盒、个人计算机、无线局域网(WLAN)接入点、有线电视接收器、卫星广播接收器、宽带调制解调器、3G或4G收发器、或者能够将加密内容从媒体内容提供者50传送到个人计算机56、视频播放器54、手持视频播放器58或电视62的其他网关或装置。
网关装置60、个人计算机56、视频播放器54、手持视频播放器58和/或电视62包括密码学模块,该密码学模块包括以下结合图2-10进一步描述的本发明的一个或多个特征。
图2呈现根据本发明的实施例的视频播放器10的框图表示。特别地,示出了视频播放器10,比如网关装置60、个人计算机56、视频播放器54、手持视频播放器58和/或电视62。视频播放器10包括处理模块200、存储器模块202、密码学模块210、接口模块206、显示装置204和用户输入接口212,这些都通过总线220耦接。尽管示出了特定的总线架构,但是在本发明的范围内,包括视频播放器10的一个或多个模块之间的两个或更多个总线和/或直接连接的其他架构也是可能的。此外,根据视频播放器10的实现,视频播放器10可选地可包括例如用于执行装置的附加功能和特征的附加模块和组件。
加密视频信号52可包括一个或多个视频信号,可选地包括相关联的音频信号,这些信号要么是数字格式的实时信号,要么是包含数字格式的视频信号的数据文件。通常,这样的视频信号可以是比如以下格式的数字格式:运动图像专家组(MPEG)格式(比如,MPEG1、MPEG2或MPEG4)、Quicktime格式、Real Media格式、H.264格式、Windows Media Video(WMV)或Audio Video Interleave(AVI)、或者标准的或专有的另一数字视频格式。例如,加密视频信号52可被包括在广播视频信号中,所述广播视频信号比如高清晰电视信号、增强高清晰电视信号、或者通过无线介质传输(直接地、或者通过一个或多个卫星或其他中继站、或者通过电缆网络、光网络、IP电视网络或其他传输网络)的其他数字广播视频信号。此外,加密视频信号52可被包括在从存储介质(比如,服务器存储器、磁带、磁盘或光盘)传送的数字音频/视频文件中,或者可被包括在通过公共或私有网络(比如,无线或有线数据网络、局域网、广域网、城域网或互联网)传输的流式音频或视频信号中。
视频播放器10可被耦接以在它自己的可选的包括扬声器的显示装置204上显示来自加密视频信号52的视频内容,显示装置比如液晶显示器、发光二极管(LED)背光显示器或其他显示装置。另外或者在替代方案中,视频播放器10可选地与外部显示装置(比如,计算机监视器、电视接收器、外部扬声器、耳机等等)耦接。在本发明的实施例中,接口模块206包括有线链路,该有线链路用于与媒体内容提供者50耦接以直接地或者通过一个或多个中间装置传送加密视频信号52。所述耦接可包括串行或并行连接,比如,以太网连接、通用串行总线(USB)连接、电气和电子工程师协会(IEEE)1394(火线)连接、小型计算机串行接口(SCSI)连接、或者根据标准的或自定义的接口协议操作的其他有线连接。
另外或者在替代方案中,接口模块206包括无线链路,该无线链路用于直接地、或者间接地通过根据无线网络协议(比如,802.11a,b,g,n(统称为802.11x))、Bluetooth、Ultra Wideband(UWB))操作的一个或多个装置或者根据标准的或自定义的接口协议操作的其他无线连接与媒体内容提供者50耦接,以便传送来自这些其他装置中的一个或多个的加密视频信号52。
另外,接口模块206可包括端口,比如,卡槽或者可与可移动存储器装置(比如,记忆棒、存储卡、闪存装置、或者通过压缩数字视频文件的文件传送来传送加密视频信号52的其他存储器)耦接的其他连接。用户输入接口212包括一个或多个按钮、键盘、触控板、触摸屏、指移轮、和/或响应于用户的动作产生信号以允许用户通过做出选择、键入数据等方式与装置交互的其他用户接口装置。
处理模块200可使用单个处理装置或多个处理装置来实现。这样的处理装置可以是微处理器、微控制器、数字信号处理器、微计算机、中央处理单元、现场可编程门阵列、可编程逻辑器件、状态机、逻辑电路系统、模拟电路系统、数字电路系统、和/或基于存储在存储器(比如,存储器模块202)中的操作指令来操纵信号(模拟的和/或数字的)的任何装置。存储器模块202可以是单个存储器装置或多个存储器装置。这样的存储器装置可包括硬盘驱动器或其他盘驱动器、只读存储器、随机存取存储器、易失性存储器、非易失性存储器、静态存储器、动态存储器、闪存、高速缓冲存储器、和/或存储数字信息的任何装置。指出,当处理模块通过状态机、模拟电路系统、数字电路系统和/或逻辑电路系统实现它的一种或多种功能时,存储对应的操作指令的存储器可被嵌入在电路系统中或者可以在电路系统的外部,所述电路系统包括状态机、模拟电路系统、数字电路系统和/或逻辑电路系统。
存储器模块202可存储驻留的视频播放器应用程序、用户选择、偏好和其他用户属性数据、与视频播放器10的其他应用程序对应的应用程序数据、操作系统、其他软件和固件、以及其他数据。另外,存储器模块202可存储与加密视频信号52的被存储的实例对应的多个压缩视频文件。如以上所讨论的,存储器模块202可包括多个不同的存储器装置,比如,随机存取存储器(RAM)、只读存储器(ROM)和可移动存储装置。在本发明的实施例中,存储器模块202包括闪存卡、记忆棒或其他闪存装置。
加密视频信号52可出于数字版权管理或以其他方式防止加密视频信号52被不拥有对加密数据进行解密所需的解密密钥的用户部分地或完整地访问的目的而被加密。密码学模块210操作以对加密视频信号52进行解密。特别地,密码学模块210可与以下处理结合使用:加密信号的常规解密、和/或与认证、数字签名、数字版权管理、以及信号的其他加扰和解扰相关联的处理。特别地,与加密视频信号52的获取相关联地,密码学模块210可使用与数字版权管理系统相关联的数字签名。应该指出,密码学模块210可通过硬件、软件或固件来实现。根据处理模块200的特定实现,视频播放器10的其他模块也可用软件、固件或硬件来实现。
在工作模式下,密码学模块210对视频播放器10进行认证,并基于存储和处理为多个密钥片段的私钥来与媒体内容提供者50协商密钥的共享。在另一种工作模式下,视频播放器10从媒体内容提供者50接收加密视频信号52。例如,与相关联的音频和视频内容的回放相关联地,加密视频信号52被密码学模块210使用多个密钥片段解密。将结合后面的图3-10来更详细地描述密码学模块210的操作,包括多个可选的功能和特征。
图3呈现根据本发明的实施例的密码学模块210的框图表示。特别地,密码学模块210包括密钥储存器320,密钥储存器320具有用于将密钥存储为k个密钥片段的存储位置(300、302、304、…)。密码处理段(segment)310基于所述k个密钥片段操作,以对诸如输入信号318之类的信号进行处理从而生成输出信号316。
如将结合图5更详细地描述的,所述k个密钥片段从完整密钥(比如,公钥密码系统的私钥)产生。密钥储存器320可以是存储器模块202的一部分,并且可将所述k个密钥片段存储在不同位置中。将私钥分段为多个(k个)密钥片段的分段以及这些密钥片段的不同存储保护密钥以免被视频播放器10的黑客或其他未授权用户发现。特别地,所有的k个密钥片段需要被发现以重构完整密钥,从而提高系统的安全性。
如结合图2所讨论的,密码学模块210可与以下处理结合使用:加密信号的常规解密、以及认证、数字签名、数字版权管理及信号的其他加扰和解扰。
考虑密码学模块210到利用椭圆曲线数字签名算法(ECDSA)的系统的应用,ECDSA使用椭圆曲线密码学(ECC)实现数字签名以向媒体内容提供者50认证视频播放器10。在这样的系统中,双方对一组曲线参数(q,FR,a,b,[DomainParameterSeed],G,n,h,)达成一致,其中,q是字段大小;FR是所用的基础的指示;a和b是定义曲线的方程的两个字段元素;DomainParameterSeed是如果以可验证的方式随机地产生椭圆曲线的话存在的可选的比特串;G是曲线上的素数阶的基点(即,G=(xG,yG));n是点G的阶次;h是余因子(其等于除以n的曲线的阶次)。
视频播放器10具有适合于椭圆曲线密码学的密钥对,该密钥对由私钥dA(区间[1,n-1]中随机选择的整数)和公钥QA(其中,QA=dAG)组成。设Ln为组阶次n的比特长度。视频播放器通过使用它的密钥对消息进行签名来向媒体内容提供者50认证它自己。对消息M进行签名的处理包括以下步骤:
1.计算e=HASH(M),其中,HASH是密码学散列函数,比如,安全散列算法(SHA-0、SHA-1等等),并且设z为e的最左边的L n个比特。
2.从[1,n-1]选择随机整数p。
3.计算r=x1modulo n,其中,(x1,y1)=pG。如果r=0,则返回到
步骤2。
4.计算s=p-1(z+rdA)modulo n。如果s=0,则返回到步骤2。
5.签名为对(r,s)。
当计算s时,从HASH(M)得到的串z应被转换为整数。在这个特定算法中,z可以大于n,但是不长于n。
根据这个例子,消息M是输入信号318,签名对(r,s)是输出信号316。如以上所讨论的,密码学模块210存储私钥dA,该私钥dA已被分枝为具有下述性质的一组k个密钥片段[m1,m2,m3,…,mk]:
dA=(m1+m2+m3+…+mk)modulo n
进一步考虑k个密钥片段被存储在可执行文件中的不同位置中,所述可执行文件用软件或固件实现密码处理段310的操作。在操作中,密码处理段310使用所述k个密钥片段而不是完整的私钥dA来执行以上处理的步骤4。特别地,密码处理段310可计算:
s=p-1(z+rm1+rm2+rm3+…+rmk)modulo n
或者
s=(p-1z+p-1rm1+p-1rm2+p-1rm3+…+p-1rmk)modulo n
在本发明的实施例中,密码处理段310一次一个地检索所述k个密钥片段。完整的密钥dA从来不被组装,并且仅可能被找出并访问所有k个密钥片段的未授权用户重新组装。
当媒体内容提供者50通过对签名对(r,s)进行认证来认证视频播放器10时,认证处理完成。另外,一旦已向媒体内容提供者50认证了视频播放器10,则双方可执行密钥交换(比如,椭圆曲线Diffie-Hellman(ECDH)密钥交换),以建立与加密视频信号52的加密和解密结合使用的密钥。如上,各方已对一组ECC曲线参数达成一致。此外,每方使用适合于椭圆曲线密码学的密钥对,该密钥对由私钥d(区间[1,n-1]中随机选择的整数)和公钥Q(其中,Q=dG)组成。考虑视频播放器10的密钥对为(d’A,Q’A),媒体内容提供者50的密钥对为(d’B,Q’B)。密钥交换如下发生:
1.视频播放器10计算(xk,yk)=d’AQ’B。
2.媒体内容提供者50计算k=d’BQ’A。
3.共享密钥为xk(点的x坐标)。
如前,密码学模块210存储已被分枝为具有下述性质的一组k个密钥片段[m’1,m’2,m’3,…,m’k]的私钥d’A:
d’A=(m’1+m’2+m’3+…+m’k)modulo n
密码处理模块310如下执行步骤1:
(xk,yk)=(Q’B*m’1Q’B*m’2+Q’B*m’3+…+Q’B*m’k)modulo n
双方计算的数字是相等的,因为d’AQ’B=d’Ad’BG=d’Bd’AG=d’BQ’A。应该指出,密钥对可以是静态的,在这种情况下:
(d’A,Q’A)=(dA,QA)
然而,短暂会话密钥可用于每个会话和/或每个新的视频节目等等。在这种情况下,可每次创建新的密钥对(d’A,Q’A)和一组新的k个密钥片段[m’1,m’2,m’3,…,m’k]。
可结合另一例子来描述密码学模块210的操作。考虑这样的情况,即,加密视频信号52C已通过Rivest、Shamir和Adelman(RSA)密码学系统的公钥(e,n)模n进行了加密,具有对应的私钥d。在标准解密中,可如下计算解密数据D:
D=(Cd)modulo n
根据本发明,解密密钥d已被分枝为具有下述性质的k个密钥片段:
因此,d的值可以被计算为:
或者,换句话讲,
对于某一整数w,
并且
并且进一步
考虑纯文本消息M
并且根据以上关系和欧拉理论
=M
这意味着,消息M可被恢复。
因此,解密数据D可被计算为:
D=(Cm1*Cm2*Cm3*…*Cmk)modulo n
其中,符号*用于表示数学乘积。
进一步考虑k个密钥片段被存储在可执行文件中的不同位置中,所述可执行文件用软件或固件实现密码处理段310的操作。特别地,根据这个进一步的例子,密码处理段310如下操作。
1.检索第1个密钥片段m1
2.计算R1=(Cm1)modulo n
3.对于i=2...k,进行以下操作:
检索第i个密钥片段mi
计算Ri=(Ri-1Cmi)modulo n
4.D=Rk
如前面的例子中那样,密码处理段310一次一个地检索所述k个密钥片段,并且顺序地对加密数据C进行处理,以产生解密数据D。完整密钥d从来不被组装,并且仅可能被找出并访问所有k个密钥片段的未授权用户重新组装。
在又一个例子中,加密视频信号52通过使用经由RSA加密的一个或多个密钥C的AES进行加密。在这种情况下,视频播放器10如上所述那样对AES一个密钥或多个密钥C进行解密,然后使用解密的AES密钥根据AES解密来对加密视频信号52进行解密。AES解密可由密码学段310执行,或者可通过密码学模块210或视频播放器10的另一个模块(可选地,附加模块)来执行。
还应该指出,除了加密内容的直接解密和加密密钥的解密之外,RSA处理中分枝密钥的使用还可与认证、密钥共享、数字版权管理和利用RSA密码学的其他方法结合利用。此外,尽管已结合ECDSA、ECDH以及其他ECC和RSA密码系统说明了密码学模块210的操作,但是本文中呈现的方法可类似地用在其他基于离散对数的密码系统(比如,DSA和Diffie-Helman以及其他密码学系统)中。
根据上述例子,k个密钥片段被存储在密钥储存器320中,以便对未被授权访问密钥的黑客或另一方隐藏,从而禁止完整密钥的重新组装。应该指出,一种或多种混淆(obfuscation)技术可用于将k个密钥片段存储在密钥储存器320中,所述一种或多种混淆技术比如密钥片段的进一步编码、加密或加扰、随机选择的或伪随机选择的存储位置(300、302、304、…)的使用、k个密钥片段在视频播放器10的可执行代码或其他文件内的插入、或者其他混淆技术的实现。
图4呈现根据本发明的实施例的密码学模块210’的框图表示。特别地,密码学模块210’执行与密码学模块210类似的功能,并且包括被共同标号引用的类似元件。然而,在本实施例中,密码处理段310的操作在多个密码处理段311之间分布。
可结合与图3结合呈现的另一例子来进一步描述密码学模块210’的操作。考虑这样的情况,即,输入信号52C已通过Rivest、Shamir和Adelman(RSA)密码学系统的公钥(e,n)模n进行了加密,具有对应的私钥d。根据本发明,解密密钥d已被分枝为具有下述性质的k个密钥片段:
进一步考虑k个密钥片段被存储在可执行文件中的不同位置中,所述可执行文件用软件或固件实现密码处理段311的操作。特别地,根据该另一例子,密码处理段311如下操作。
根据这个例子,第1个密码处理段311如下操作。
1.检索第1个密钥片段m1
2.计算R1=(Cm1)modulo n
第i个密码处理段311(i=2...k)均操作为:
1.检索第i个密钥片段mi
2.计算Ri=(Ri-1Cmi)modulo n
最后的解密结果为:
D=Rk
尽管已结合ECC和RSA密码系统说明了密码学模块210’的操作,但是本文中呈现的方法可类似地用于其他加密信号的解密,并且可进一步与签名、认证、密钥共享等等的处理结合利用。
在以下例子中,与ECDSA结合使用的乘积
s=p-1(z+rm1+rm2+rm3+…+rmk)modulo n
被顺序地如下计算:
1.检索第1个密钥片段m1
2.计算R1=(rm1)modulo n
第i个密码处理段311(i=2...k)均操作为:
1.检索第i个密钥片段mi
2.计算Ri=(Ri-1+rmi)modulo n
最后的乘积被计算为:
s=p-1(z+Rk)modulo n
根据以上例子中的任何一个,密码处理段311的任何一个顺序处理都可包括随机延迟,以避免mi以周期性的间隔出现在公共存储器位置中。考虑以上例子中的一个,其中,乘积s=p-1(z+rm1+rm2+rm3+…+rmk)modulo n被顺序地计算:
1.检索第1个密钥片段m1
2.计算R1=(r m1)modulo n
第i个密码处理段311(i=2...k)均操作为:
1.延迟量Δi,其中,Δi是随机或伪随机产生的延迟
2.检索第i个密钥片段mi
3.计算Ri=(Ri-1+r mi)modulo n
最后的乘积被计算为:
s=p-1(z+Rk)modulo n
尽管以上呈现了单个例子,但是可以以其他方式将随机延迟插入在顺序处理中,并且可以在顺序处理的其他例子中插入随机延迟,以类似地避免mi以周期性的间隔出现在公共存储器位置中。
图5呈现根据本发明的实施例的密码学模块210’’的框图表示。特别地,呈现密码学模块210’’执行与密码学模块210类似的功能,并且包括被共同标号引用的类似元件。然而,在本实施例中,密码处理段310的操作在并行操作的多个密码处理段312之间分布,并且组合器被用于产生最后结果。
可结合与图3结合呈现的另一例子来进一步描述密码学模块210’’的操作。考虑这样的情况,即,输入信号52C已通过Rivest、Shamir和Adelman(RSA)密码学系统的公钥(e,n)模n进行了加密,具有对应的私钥d。根据本发明,解密密钥d已被分枝为具有下述性质的k个密钥片段:
进一步考虑k个密钥片段被存储在可执行文件中的不同位置中,所述可执行文件用软件或固件实现密码处理段312的操作。根据这个例子,第i个密码处理段312(i=1...k)均操作为:
1.检索第i个密钥片段mi
2.计算Ri=(Cmi)modulo n
由操作来产生每个分段密钥的结果的乘积的组合器214得到的最后解密结果如下:
D=(R1R2R3…Rk)modulo n
尽管已结合ECC和RSA密码系统说明了密码学模块210’’的操作,但是本文中呈现的方法可类似地用于其他加密信号的解密,并且可进一步与签名、认证、密钥共享等等的处理结合利用。
在以下例子中,如下并行计算与ECDSA结合使用的乘积s=p-1(z+rm1+rm2+rm3+…+rmk)mod n。第i个密码处理段312(i=1...k)均操作为:
1.检索第i个密钥片段mi
2.计算Ri=(r mi)modulo n
由操作来求取每个分段密钥的结果之和的组合器214产生最后乘积如下:
s=p-1(z+R1+R2+R3+…+R k)modulo n
图6呈现根据本发明的实施例的密钥分枝模块325的框图表示。呈现包括随机密钥片段产生器332和余数密钥片段产生器336的密钥分枝模块325。特别地,密钥分枝模块325基于特定密钥330来产生k个密钥片段,包括多个随机密钥片段和余数密钥片段。
在操作中,随机密钥片段产生器332包括产生一个或多个随机数并且基于这些随机数进一步产生k-1个密钥片段的随机数或伪随机数产生器。例如,随机密钥片段产生器332可直接将k-1个密钥片段产生为大小相同或类似或者大小不同的k-1个随机数。在另一个例子中,可产生一个或多个随机数,以作为确定性引擎(比如,状态机、反馈移位寄存器、或者基于种子选择k-1个密钥片段的其他硬件或软件)的种子。
余数密钥片段产生器336基于从k-1个密钥片段和密钥计算的模运算余数来产生第k个密钥片段(余数密钥片段)。考虑密钥d表示与图3-5结合呈现的任何一个密钥例子,
d=(m1+m2+m3+…+mk-1+mk)modulo n
或者
在这种情况下,可如下基于k-1个密钥片段和解密密钥来确定性地产生最后的密钥片段:
mk=(d-(m1+m2+m3+…+mk-1))modulo n
或者
如结合图3-5所讨论的,k个密钥片段可被存储在可执行文件中的不同位置中,所述可执行文件用软件或固件实现密码处理段310的操作。密钥片段产生器336可被合并到或者被耦接到编译器,该编译器产生包含密钥片段的执行代码,以便将k个密钥片段“隐藏”在该代码的部分中。
在其他实现中,密钥片段产生器336可以是独立装置或例行程序。尽管k个密钥片段已主要被讨论为被存储在可执行文件中,但是k个密钥片段在保存其他数据文件或其他文件类型的不同存储位置中的存储同样是可能的。
图7呈现根据本发明的实施例的密码学模块210、210’或210’’的操作的框图表示。尽管主要结合视频播放器与媒体内容提供者之间的认证和密钥共享以及加密视频信号(比如,加密视频信号52)的解密而描述了前面的例子,但是密码学模块210、210’和210’’的功能和特征可同样地用于其他类型的加密数据,包括但不限于,音频信息、文本、其他媒体内容、通信、存储数据和任何其他形式的加密数据(比如,加密数据350),并且还可同样地用于其他签名、认证、密钥共享布置、数字版权管理,并且还可同样地用于其他形式的密码学。在操作中,密码学模块210、210’和210’’使用根据前面描述的任一处理或技术而存储和处理的分枝密钥从密码学数据350产生密码学数据352。
图8呈现根据本发明的实施例的方法的流程图表示。特别地,呈现了与结合图1-7呈现的功能和特征中的一个或多个结合使用的方法。在步骤400中,将密钥存储为包括多个随机密钥片段和余数密钥片段的k个密钥片段。在步骤402中,基于所述k个密钥片段,通过至少一个密码处理段对输入信号进行处理以生成输出信号。
在本发明的实施例中,通过Rivest Shamir Adelman(RSA)加密对输入信号进行加密,并且至少一个密码处理段基于k个密钥片段来执行模幂运算。输入信号的处理可包括顺序地对输入信号进行处理以生成输出信号。
加密信号的处理可包括:并行地将输入信号处理为多个分段密钥结果,并组合所述多个分段密钥结果来生成输出信号。组合所述多个分段密钥结果可包括产生所述多个分段密钥结果的乘积。
图9呈现根据本发明的实施例的方法的流程图表示。特别地,呈现了与结合图1-8呈现的功能和特征中的一个或多个结合使用的方法。在步骤410中,将私钥存储为包括多个随机密钥片段和余数密钥片段的k个密钥片段。在步骤412中,基于所述k个密钥片段,通过至少一个密码处理段根据椭圆曲线数字签名算法(ECDSA)对消息进行处理,以生成经过签名的消息。
在本发明的实施例中,所述k个密钥片段包括多个随机密钥片段,并且还可包括基于所述多个随机密钥片段的余数密钥片段。所述至少一个密码处理段可基于所述k个密钥片段中的对应密钥片段来产生模运算乘积。对消息进行处理可包括顺序地对加密信号进行处理以生成经过签名的消息。
对消息进行处理可包括:并行地对消息进行处理以产生多个分段密钥结果,并组合所述多个分段密钥结果来生成经过签名的消息。组合所述多个分段密钥结果可包括产生所述多个分段密钥结果之和。
图10呈现根据本发明的实施例的方法的流程图表示。特别地,呈现了与结合图1-9呈现的功能和特征中的一个或多个结合使用的方法。在步骤420中,产生至少一个随机数。在步骤422中,基于所述至少一个随机数来产生k-1个密钥片段。在步骤424中,基于从k-1个密钥片段和密钥计算的模运算余数来产生余数密钥片段。
所述密钥可包括公钥密码系统(比如,Rivest Shamir Adelman(RSA)、椭圆曲线密码学(ECC)或其他密码系统)的私钥。
在优选实施例中,可选的电路组件可使用0.35微米或更小的CMOS技术来实现。然而,前提条件是在本发明的宽泛范围内可使用集成的或非集成的其他电路技术。
如本领域的普通技术人员将意识到的,如本文中可使用的术语“基本上”或“大约”对于它对应的术语和/或项目之间的相关性提供行业接受的容限。这样的行业接受的容限的范围为从小于百分之一到百分之二十,并且对应于,但不限于,分量值、集成电路工艺变化、温度变化、上升时间和下降时间、和/或热噪声。项目之间的这样的相关性的范围为从几个百分比的差异到巨大差异。如本领域的普通技术人员将进一步意识到的,如本文中可使用的术语“耦接”包括直接耦接和通过另一组件、元件、电路或模块的间接耦接,其中,对于间接耦接,介于中间的组件、元件、电路或模块不修改信号的信息,但是可调整它的电流电平、电压电平和/或功率电平。如本领域的普通技术人员还将意识到的,推断的耦接(即,其中,一个元件根据推理与另一元件耦接)包括以与“耦接”相同的方式在两个元件之间的直接和间接耦合。如本领域的普通技术人员将进一步意识到的,如本文中可使用的术语“有利比较”指示两个或更多个元件、项目、信号等之间的比较提供希望的关系。例如,当希望的关系为信号1具有大于信号2的幅值时,则当信号1的幅值大于信号2的幅值时,或者当信号2的幅值小于信号1的幅值时,可实现有利比较。
当术语模块用在本发明的各个实施例的描述中时,模块包括用硬件、软件和/或固件实现的、执行一个或多个模块功能(比如,生成输出信号的输入信号处理)的功能块。如本文中所使用的,模块可包含本身是模块的子模块。
因而,本文中描述了用于实现用于处理数据的密码学模块的设备和方法以及包括优选实施例的多个实施例。本文中描述的本发明的各个实施例具有使本发明区别于现有技术的特征。
本领域技术人员将明白,公开的发明可以以许多方式修改,并且可采用除以上具体列出和描述的优选形式之外的许多实施例。因此,所附权利要求的意图是覆盖落在本发明的真实精神和范围内的本发明的所有修改。