CN1890914A - 块加密系统、利用置换隐藏各加密轮的核心加密函数 - Google Patents

块加密系统、利用置换隐藏各加密轮的核心加密函数 Download PDF

Info

Publication number
CN1890914A
CN1890914A CNA2004800362647A CN200480036264A CN1890914A CN 1890914 A CN1890914 A CN 1890914A CN A2004800362647 A CNA2004800362647 A CN A2004800362647A CN 200480036264 A CN200480036264 A CN 200480036264A CN 1890914 A CN1890914 A CN 1890914A
Authority
CN
China
Prior art keywords
function
final controlling
controlling element
cascaded
digital signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2004800362647A
Other languages
English (en)
Other versions
CN1890914B (zh
Inventor
P·M·H·M·A·戈里森
J·A·特雷斯彻
A·A·M·斯塔林
W·C·马龙
M·A·特雷弗斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ai Dide Technology Co., Ltd.
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1890914A publication Critical patent/CN1890914A/zh
Application granted granted Critical
Publication of CN1890914B publication Critical patent/CN1890914B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box

Abstract

在系统(600)中,服务器(610)以模糊形式向执行装置(620)提供数字信号处理函数f。函数f包括信号处理函数fi的函数级联,对于公式(I),1≤i≤N。服务器包括处理器(612),用于选择2N个可逆置换pi的集合,其中1≤i≤2N;计算N个函数gi的集合,其中gi在功能上相当于公式(II),其中1≤i≤N;以及计算N-1个函数hi的集合,其中hi在功能上相当于公式(III),其中2≤i≤N。服务器包括:部件(614),用于为执行装置配备包括公式(IV)的执行装置函数级联,其中y1,…,yN是公式(V)的函数参数;以及部件(616),用于向执行装置提供函数g1,…,gN。执行装置包括:部件(626),用于获得函数g1,…,gN;以及处理器(622),用于加载执行装置函数级联并且对函数g1,…,gN应用加载的执行装置函数级联(例如EDj (g1,…,gN))。

Description

块加密系统、利用置换隐藏各加密轮的核心加密函数
技术领域
本发明涉及以安全和/或个性化方式向执行装置提供级联信号处理函数的方法。本发明还涉及用于以安全和/或个性化方式向执行装置提供级联信号处理函数的系统。本发明还涉及一种执行装置,用于执行以安全和/或个性化方式提供的级联信号处理函数。
背景技术
因特网向用户提供了对数字内容的便利且无所不在的访问。由于因特网作为强大的分配渠道的潜能,许多CE产品力图与PC平台—因特网的主要入口进行互操作。利用因特网作为已取得版权内容的分配介质产生了对保证内容供应商的利益安全的强制挑战。具体地说,需要保证内容供应商的版权和商业模型。控制重放软件是强制实施内容所有者利益的一种方式,包括可用内容下的条款。具体地说,对于PC平台,必须假定用户能够完全控制提供对内容和无限量时间和资源的访问的硬件和软件,以攻击和旁路任何内容保护机制。因此,内容供应商必须通过对并非所有用户都能够被信赖的共同体的敌对网络传递内容到合法用户。在数字权利管理中用于保护分配给PC的内容的一般方法是,对数字内容进行加密(例如用DES)并在PC硬盘上的所谓许可证数据库中存储解密密钥(或“许可证”)。PC上的数字内容一般利用媒体播放器再现,比如Microsoft的媒体播放器、Real的RealOne播放器、苹果的QuickTime播放器。这种播放器能够为特定内容格式加载用于执行格式特定解码的相应插件程序。那些内容格式可包括AVI、DV、运动JPEG、MPEG-1、MPEG-2、MPEG-4、WMV、音频CD、MP3、WMA、WAV、AIFF/AIFC、AU等等。图1中图解了播放器和插件程序结构,其中媒体播放器100包括核心播放器100和几个格式特定的插件程序(显示的是插件程序120、122和124)。核心播放器100可以例如提供用于控制播放器的用户界面。各个插件程序包括相应的解码器。它可以直接发送解码内容以再现HW/SW,比如声卡,或将其传递到核心播放器100进行进一步处理。为了安全再现,利用安全插件程序,它不仅解码特定格式下的内容,而且对内容解密。这一点在图2中图解了,其中首先通过解密器230传递加密内容,然后所解密的内容通过格式特定解码器220传递。解密器230可从许可证数据库210接收解密密钥/许可证。
依赖于加密的数字权利管理的最大弱点在于密钥分配和处理。为了重放,软件播放器必须从许可证数据库检索解密密钥,然后它必须在存储器的某处存储此解密密钥,以便对加密内容进行解密。这给攻击者留下两个选择来攻击在软件播放器中处理的密钥:第一,对许可证数据库访问函数的逆向工程能够导致黑盒软件(即,攻击者并非必须了解软件函数的内部工作),黑盒软件能够从所有许可证数据库检索资产(asset)密钥。第二,通过观测对在内容解密期间使用的存储器的访问,有可能检索资产密钥。
一般地,数字权利管理系统根据块密码使用加密技术,块密码利用称为轮的加密/解密步骤序列来处理块中的数据流。第i-1轮的输出是第i轮的输入。因此,对于具有N轮的系统,算法能够被描述为函数级联fNо…оf1(x),其中函数fi表示f轮的函数性。大部分的块算法是Feistel网络。在这种网络中,均匀长度n的输入数据块x被分成长度为n/2的两个等分部分,通常称为L和R。因此,提供给第一轮的输入x得到x=<L0,R0>。第i轮(i>0)执行函数fi,其中fi定义为:fi(<Li-1,Ri-1>)=<Ri-1,(Li-1F(Ri-1,Ki))>,Ki是用在第i轮中的子密钥,并且F是任意轮函数。
发明内容
本发明的目的是提供对诸如Feistel网络的级联信号处理函数的更好保护。
为了满足本发明的目的,以模糊形式向执行装置提供数字信号处理函数f的方法,其中函数f包括一个函数级联,该函数级联包括多个信号处理函数fi,1≤i≤N,用于处理数字信号输入x以产生数字信号输出(例如,FC1(x)≡fNо…оf1(x)),所述方法包括:
选择2N个可逆置换pi的集合,1≤i≤2N;
计算N个函数gi的集合,其中gi在功能上相当于p2i -1оfiоp2i-1,其中1≤i≤N;
计算N-1个函数hi的集合,其中hi在功能上相当于p2i-1 -1оp2i-2,其中2≤i≤N;
为所述执行装置配备执行装置函数级联,该函数级联包括yNоhNоyN-1оhN-1о…оy1,其中y1,…,yN是函数参数(例如,ED1(y1,…,yN)≡yNоhNоyN-1оhN-1о…оy1),
向执行装置提供函数g1,…,gN;以及
在执行装置中,对函数g1,…,gN(例如ED1(g1,…,gN))应用执行装置函数级联。
根据本发明,以封装为gi的形式提供组成函数fi,其中gi在功能上相当于p2i -1оfiоp2i-1,其中1≤i≤N。用于封装的函数pi也通过以hi的形式提供而隐藏,hi是乘法形式p2i -1-1оp2i-2,其中2≤i≤N。通过在执行装置中以交织方式执行函数gi和hi(如图4中图解的实例),在fi不可直接识别的情况下获得函数级联的函数性。具体地说,如果fi表示Feistel密码的轮函数,则嵌入在轮函数中的轮密钥不可直接识别。fi的模糊传递提高了安全性。执行函数装置级联可形成媒体播放器的核心函数性,其中集合g1,…,gN使播放器能够执行包含f1直至包含fN的函数级联。
从属权利要求2和3给出用于保护函数级联的(函数)开始的两个相应备选实施例。在权利要求2的实施例中,执行装置函数级联以P1 -1开始,例如 将它应用到g1,…,gN,作为在装置中执行的函数序列的函数开始给出:
Figure A20048003626400122
这样,执行装置明确地执行f1。在权利要求3的实施例中,通过用帮助隐藏P1-1的开始函数f0扩展函数级联来提高安全性。函数级联例如可以是FC2(x)=fNо…оf1оf0(x)。执行装置函数级联从函数S1开始,例如ED3(y1,…,yN)=yNоhNоyN-1оhN-1о…оy1оS1,其中S1在功能上相当于p1 -1оf0。由于S1仅表示与f0相乘形式的P1 -1,因此无法以诸如读取某些存储单元的直接方式从执行装置检索P1 -1。最好,f0是一个全局秘密。
从属权利要求4和5给出用于以类似于权利要求2和3的方式保护函数级联的(函数)结尾的两个相应的备选实施例。
根据从属权利要求6的方法,选择的置换pi序列对装置是唯一的。这样,函数级联不仅以模糊形式而且以个性化形式提供给执行装置。例如,如果函数级联表示具有嵌入解密密钥的Feistel密码,则密码分析或者强力攻击可能导致获得g1,…,gN的黑盒函数性。这个打破的函数性于是只能与相应的执行装置函数级联组合时起作用,而不是与任何其它执行装置组合都起作用。这显著地限制了成功攻击的影响。
根据从属权利要求7的方法,执行装置函数级联嵌入在一个程序中,例如以媒体播放器或媒体播放器的插件程序的形式。执行装置因此配置了安全、个性化的软件。
根据从属权利要求8的方法,函数g1,…,gN构成程序的插件程序。如果程序本身是插件程序,则函数g1,…,gN事实上是插件程序的插件程序。作为备选,根据从属权利要求9的方法,函数g1,…,gN可以与执行装置函数级联嵌入在同一程序中。
为了实现本发明的目的,用于使执行装置中的处理器执行数字信号处理函数f的计算机程序产品包括函数级联,该函数级联包括多个信号处理函数fi,其中1≤i≤N,用于处理数字信号输入x以产生数字信号输出(例如,FC1(x)≡fNо…оf1(x)),通过如下方式:
加载执行装置函数级联,该函数级联包括yNоhNоyN-1оhN-1о…оy1,其中y1,…,yN是函数参数,
加载函数g1,…,gN的集合;
对函数g1,…,gN的集合应用执行装置函数级联;其中:
gi在功能上相当于p2i -1оfiоp2i-1,其中1≤i≤N;
hi在功能上相当于p2i -1-1оp2i-2其中2≤i≤N;以及
pi是可逆置换,其中1≤i≤2N。
为了实现本发明的目的,提供了一种以模糊、匿名形式向多个执行装置提供数字信号处理函数f的方法,各个执行装置由唯一下标j标识;函数f包括函数级联,该函数级联包括多个信号处理函数fi,其中1≤i≤N,用于处理数字信号输入x以产生数字信号输出(例如,FC1(x)≡fNо…оf1(x)),所述方法包括:
选择2N个可逆置换pi的集合,其中1≤i≤2N;
计算N个函数gi的集合,其中gi在功能上相当于p2i -1оfiоp2i-1,其中1≤i≤N;
为各个装置j选择相应的2N个可逆置换pj,i的集合和/或序列,其对装置和/或装置的用户是唯一的;
为各个执行装置j计算N-1个函数hj,i的相应集合,其中hj,i在功能上相当于pj,2i-1 -1оpj,2i-2,其中2≤i≤N;
为各个执行装置j配备各自的执行装置函数级联EDj(y1,…,yN),该函数级联包括yNоhj,NоyN-1оhj,N-1о…оy1
为各个执行装置j  配备各自的加载程序函数loaderj(x1,…,xN)=(lj,1оx1оrj,1,…,lj,NоxNоrj,N),其中lj,i在功能上相当于pj,2i-1оp2i,并且rj,i在功能上相当于p2i-1 -1оpj,2i-1
向执行装置提供函数g1,…,gN;以及
在执行装置中,执行EDj(loaderj(g1,…,gN))。
函数fi以与权利要求1所述相同的方式以函数g1,…,gN的形式模糊化。函数g1,…,gN对各个装置一样,并可看作对应于一个缺省/匿名装置。执行装置配备了装置特定的(“个性化”)执行装置级联。装置特定的加载程序函数用来将各自的匿名函数gi转换为相应的装置特定函数,该装置特定函数能被馈送到执行装置级联。加载程序函数利用基于未泄漏的置换pj,i的集合/序列的转换函数lj,i和rj,i
根据从属权利要求12的方法,函数gi例如可利用广播或者在诸如CD-ROM或DVD的存储介质上以同一方式提供给所有装置。
根据下文所述的实施例,本发明的这些及其它方面是显而易见的,并将参考下文所述的实施例进行阐述。
附图说明
在附图中:
图1显示基于先有技术插件程序的解码的框图;
图2显示基于先有技术的解密的框图;
图3显示先有技术集成解密/解码系统的框图;
图4显示根据本发明的模糊化;
图5显示模糊的简单实例;
图6显示根据本发明的系统的框图;
图7显示根据本发明的系统的另一实施例;
图8图解根据本发明的匿名模糊;以及
图9图解匿名模糊的备选实施例。
具体实施方式
图3显示可采用本发明的先有技术系统的框图。在图3的实例中,内容(一般为音频和/或视频内容)分布在介质310上。介质对于各个播放器可以是一样的。介质可为任何适当的类型,例如音频CD、DVD、固态等。介质上的内容是复制保护的,最好利用诸如Feistel密码的加密算法加密。存储介质可包括有关解密密钥的信息。或者,存储介质可包括信息312(比如标识符),其使播放器能够例如通过将它从因特网中的服务器下载而检索信息。在安全模块320中通过利用密钥特定的密钥322和信息312来计算324解密密钥326,从而创建解密密钥。解密密钥在第二模块330中被接收332。第二模块330解密334、解码336并再现338介质310的内容314。
图4图解根据本发明的方法。将数字信号处理函数f以模糊形式提供给执行装置。函数f包括函数级联,该函数级联包括多个信号处理函数fi,1≤i≤N。例如,函数级联的核心可由FC1(x)≡fNо…оf1(x)形成。应该注意,这里使用了传统的数学符号:gоf(x)=g(f(x))。原则上,函数级联可以是任何数字信号处理函数。在优选实施例中,函数级联包括密码。例如,函数fi可表示Feistel密码的第i轮(i>0)。在这种情况下,fi定义为:
fi(Li-1Ri-1)=Ri-1(Li-1F(Ri-1,Ki)),
其中Ki是用在第i轮的子密钥,并且F是任意轮函数。
根据本发明,选择2N个可逆置换pi的集合,1≤i≤2N。接下来,计算N个函数gi的集合,其中gi在功能上相当于p2i -1оfiоp2i-1,其中1≤i≤N。在此情况下,在功能上相当于意味着:对于各个允许的输入值,如果gi应用到同一输入(例如x),则获得与在将p2i -1оfiоp2i-1应用到那个输入相同的结果。合成函数p2i -1、fi和p2i-1不是分别可见的,gi提供p2i -1оfiоp2i-1的黑盒函数性。图5图解非常简单的一维函数的这个方法。在此实例中,
p 4 ( x ) = x ; p 4 - 1 ( x ) = x 2 ; p 3 ( x ) = x 3 ; p 3 - 1 ( x ) = 3 x ; f2(x)=x+3。由此,
从计算机编译程序构造领域众所周知的是,能够如何利用所谓的部分估算而获得p2i -1оfiоp2i-1的黑盒函数性。N.D.Jones、C.K.Gomard和P.Sestoft的“部分估算和自动程序生成(Partial Evaluation and AutomaticProgram Generation)”第一章描述了部分估算的概念。在此不对其进行更详细描述。应理解,数字信号输入x是多维参数,例如64或128位块/向量,以能够执行有用的置换。根据本发明,计算N-1个函数hi的集合,其中hi在功能上相当于p2i-1 -1оp2i-2,2≤i≤N。利用图5的简单实例, 利用这些定义,隐藏f2的部分执行装置级联将为:
Figure A20048003626400162
可以看出,这实际上在功能上相当于p5 -1оf2оp2(x)。因此,已经执行这个级联的执行装置执行了f2,而不需要对f2具有明确了解。
在另一个实例中,N=2,并且f1和f2分别估算为各自的映射表,如下给出:
f1:{0->3,1->1,2->6,3->2,4->7,5->5,6->4,7->0,8->8},
f2:{0->4,1->1,2->5,3->7,4->6,5->2,6->0,7->8,8->3}。
在此实例中,fi是可逆函数,它将0和8之间的数转换为0和8之间的数,例如,值0被转换为值3,值1被转换为1,值2被转换为6等等。在此实例中使用以下四个相应的置换:
p1:{0->5,1->3,2->1,3->7,4->0,5->6,6->2,7->8,8->4}
p2:{0->8,1->6,2->7,3->3,4->4,5->2,6->0,7->1,8->5}
p3:{0->3,1->5,2->7,3->1,4->6,5->0,6->2,7->8,8->4}
p4:{0->3,1->0,2->5,3->2,4->7,5->8,6->1,7->4,8->6}
对于此实例,使用以下三个可逆置换:
f2 -1:{0->6,1->7,2->5,3->3,4->4,5->8,6->1,7->2,8->0}
f3 -1:{0->5,1->3,2->6,3->0,4->8,5->1,6->4,7->2,8->7}
p4 -1:{0->1,1->6,2->3,3->0,4->7,5->2,6->8,7->4,8->5}给出这些函数, 就给出为:
h2:{0->7,1->4,2->2,3->0,4->8,5->6,6->5,7->3,8->1}。例如,p2将0映射到8,并且p3 -1将8映射到7。由此,
Figure A20048003626400171
类似地,
Figure A20048003626400172
由下式给出:
g1:{0->8,1->5,2->7,3->6,4->3,5->4,6->1,7->0,8->2}并且 由下式给出:
g2:{0->4,1->3,2->5,3->6,4->1,5->7,6->2,7->0,8->8}
执行装置配置了执行装置函数级联,该执行装置函数级联包括yNоhNоyN-1оhN-1о…оy1,其中y1,…,yN是函数参数。这在图4中显示为函数序列hN,hN-1,…,h2410。示例性执行装置函数级联是ED1(y1,…,yN)≡yNоhNоyN-1оhN-1о…оy1。此外,将函数g1,…,gN提供给执行装置。这在图4中显示为函数序列gN,gN-1,…,g1420。在执行装置中,执行装置函数级联应用到函数g1,…,gN。这在执行装置中例如给出总的信号处理函数ED1(g1,…,gN)。此函数然后能应用到数字信号输入x。
看一下如hi+1оgiоhi的链的中间部分,这给出:
Figure A20048003626400174
此公式的第一和最小项将被相应的g项消除。总的结果是,执行装置执行包括函数级联fNо…оf1(x)的函数,而不需要访问任何函数fi。这些函数由此被模糊化了。
在优选实施例中,给出用于处理链的开始和结尾的选项。不需要任何其它方法,执行装置中得到的总的信号处理函数可以为
Figure A20048003626400175
例如,项p1可以通过利用包括yNоhNоyN-1оhN-1о...оy1оp1 -1的执行装置函数级联而消除。例如
Figure A20048003626400176
最好,项p1 -1在执行装置中保持保密。这样做的优选方式是用另一信号处理函数f0扩展函数级联(例如FC2(x)≡fNо…оf1оf0(x))。执行装置函数级联则包括yNоhNоyN-1оhN-1о…оy1оS1,例如(ED3(y1,…,yN)≡yNоhNоyN-1оhN-1о…оy1оS1),其中S1在功能上相当于p1 -1оf0。用这种方式,各个项p1 -1和f0不需要暴露,而是只有复合形式p1 -1оf0存在。最好,f0是一个全局秘密,即,对需要了解的各方已知,但并不作任何进一步地分配。全局秘密本身是已知的,并且以保密方式传递全局秘密的方式也是已知的,因此不在这里更进一步论述。
以相应的方式,能够采取一些方法用于处理项p2N-1 -1。例如,执行装置函数级联可以包括:p2NоyNоhNоyN-1оhN-1о…оy1(例如ED4(y1,…,yN)≡p2NоyNоhNоyN-1оhN-1о…оy1)。为更好地保护p2N,函数级联可以另一信号处理函数fN+1结束(例如FC3(x)≡fN+1оfNо…оf1(x))。执行装置函数级联由此包括S2оyNоhNоyN-1оhN-1о…оy1(例如ED5(y1,…,yN)≡S2оyNоhNоyN-1оhN-1о…оy1),其中S2在功能上相当于fN+1оp2N
图6图解其中可以采用本发明的系统。系统600包括服务器610和至少一个执行装置620。服务器可以实现在传统的计算机平台上,例如在用作诸如网络服务器或者文件服务器的服务器的平台上。服务器包括处理器612。处理器612在程序的控制下操作。程序可在嵌入式存储器(如嵌入式ROM)中永久地嵌入在处理器中,但是也可以从诸如硬盘(未显示)的后备存储器加载。在程序的控制下,处理器612:
●选择2N个可逆置换pi的集合,其中1≤i≤2N;
●计算N个函数gi的集合,其中gi在功能上相当于p2i -1оfiоp2i-1,其中1≤i≤N;以及
●计算N-1个函数hi的集合,其中hi在功能上相当于p2i-1 -1оp2i-2,其中2≤i≤N。
可以选择置换,(例如随机或者伪随机地)从非常大的置换集合中选择,置换集合可保存在(最好保密)存储器(未显示)中。服务器还可利用适当的程序来生成置换。如何创建可逆置换是众所周知的,因此将不在这里更进一步地描述。
另外,服务器包括部件614,用于为执行装置配备执行装置函数级联,该函数级联包括yNоhNоyN-1оhN-1о…оy1,其中y1,…,yN是函数参数。服务器可以任何适当的形式做这个。例如,在工厂中,项hi可在制造执行装置620期间保存在执行装置的存储模块中。图6给出了该项通过因特网630直接下载到执行装置620。服务器610还包括部件616,用于向执行装置620提供函数g1,…,gN。函数gi包括了各自的函数fi。函数fi可以针对数字信号输入x具体选择。例如,各个视频标题可以用相应的加密函数加密(例如用同一密码但是具有内容特定的密钥)。为此,服务器610还可包括软件,用于控制处理器612对内容640加密并将加密内容642提供给分配介质,例如用于在存储介质上分配,或者通过如因特网的通信介质分配。
执行装置620包括部件626,用于从服务器610获得函数g1,…,gN。这些部件与服务器的部件616配合,因此不再进一步描述。执行装置620还包括处理器622。处理器可以是任何适当的类型,比如区分个人计算机或者嵌入式微控制器的处理器。处理器622在程序的控制下操作。程序可以利用嵌入式存储器(如嵌入式ROM)永久地嵌入在处理器622中,但是也可以从诸如硬盘(未显示)的后备存储器加载。在程序的控制下,处理器622加载执行装置函数级联,并将加载的执行装置函数级联例如通过执行ED1(g1,…,gN)而应用到函数g1,…,gN。得到的信号处理函数然后可应用到信号输入x(例如从介质接收的内容)。处理器622可以任何适当的形式加载执行装置函数级联。例如,该级联可能已经在制造期间预先存储在存储器中,将加载简化为简单的存储器读访问。在图6的实例中,执行装置620包括部件624,用于例如通过因特网630或者从介质650检索级联(或级联的项)。类似地,执行装置620可从介质650检索加密内容652,并利用处理器622对其解密。处理器还可对解密的内容进行解码。
图7显示一个优选实施例,其中将执行装置函数级联提供给嵌入在软件程序710中的执行装置620,以便由处理器622执行。图7中相同的附图标记是指与图6中所用的相同的项。软件程序710可以是如媒体播放器的程序的插件程序。因此,图7的部件614可经因特网提供此插件程序710(例如图7的项630),或在制造期间将它直接嵌入在执行装置620中。
在一个实施例,函数g1,…,gN以程序710的插件程序的形式提供给执行装置620。在程序710已经是插件程序的情况下,函数g1,…,gN实际上是插件程序的插件程序。备选地,通过将函数g1,…,gN嵌入在软件程序710中而将函数g1,…,gN提供给执行装置620,而嵌入又是通过向函数参数g1,…,gN应用执行装置函数级联而实现的。这样,程序710嵌入了函数hi和gi
在一个实施例中,各个执行装置和/或执行装置的用户是唯一的,并且由唯一身份(例如唯一的号j)标识。在根据本发明的系统和方法中,保证序列gi和hi对于所涉及的一方是唯一的。这能够通过获得执行装置和/或执行装置用户的唯一身份j来实现,2N个可逆置换pi的相应集合对于所获得的身份是唯一的。类似地,利用相同的置换集合,可以选择唯一的置换序列。两种技术(选择不同的置换集合或者选择不同的置换序列)可以组合。最好,服务器为每个唯一的身份存储(以保密方式)唯一的集合/序列。这样,能够向个人计算机中的各个软件媒体播放器提供唯一的插件程序,用于对媒体标题解密和/或解码。媒体本身不必是唯一的。加密内容仅取决于加密函数,而不取决于唯一的置换集合/序列。通过定期地(例如在媒体播放器启动时)检验软件是否对应于身份,并且仅在能够建立匹配的情况下执行软件,就能够保证没有播放器软件能够在它不属于的PC上执行。如果无意中黑客设法获得了装置特定的置换,则他们只能在所涉及的PC上使用,可能还用于用不同的加密(得到不同的函数fi)保护的内容,但不能在不同的平台上使用。
以上已经描述了一种方法和系统,其中信号处理函数级联以模糊的方式提供给执行装置。对于各个装置,可以利用相同的置换集合/序列,或者可以利用装置特定的集合/序列。在下面的内容中,描述一个优选方法,用于通过以模糊方式分配对各个装置相同的信号函数级联(“密钥”),并利用转换例程(“加载程序”)将公用密钥转换为装置特定密钥,从而获得装置特定的集合/序列。“公用密钥”以和之前描述大致相同的方式产生。公用密钥原则上能够“开启”参考播放器或者匿名播放器,但在此实施例中,其并不由任何实际的执行装置执行。如前所述,该方法包括选择2N个可逆置换pi的集合,其中1≤i≤2N,并计算N个函数gi的集合,其中gi在功能上相当于p2i -1оfiоp2i-1,其中1≤i≤N。现在作为补充,该方法包括:为分别由唯一下标j标识的各个执行装置选择相应的2N个可逆置换pj,i的集合和/或序列,其对于装置和/或装置的用户是唯一的。这个集合用于为每个装置提供一个唯一“播放器”。这个唯一播放器通过如下方式形成:为各个执行装置j计算N-1个函数hj,i的相应集合,其中hj,i在功能上相当于pj,2i -1-1оpj,2i-2,其中2≤i≤N,并且为各个执行装置j配备各自的执行装置函数级联EDj(y1,…,yN),该函数级联包括yNоhj,NоyN-1оhj,N-1о…оy1。但是,这个装置特定的集合hj,i与能够“开启”利用集合hi的参考播放器的模糊函数级联不匹配。这后一个集合/播放器集合对任何执行装置都不可用。相反,执行装置j配备了各自的加载程序函数loaderj(x1,…,xN)=(lj,1оx1оrj,1,…,lj,NоxNоrj,N),其中lj,i在功能上相当于pj,2i -1оp2i,并且rj,i在功能上相当于p2i-1 -1оpj,2i-1。如上所述,各个执行装置配置了相同的函数g1,…,gN。执行装置然后执行EDj(loaderj(g1,…,gN))。在这个公式中,loaderj(g1,…,gN)有效地将匿名密钥g1,…,gN转换为装置特定密钥,该装置特定密钥最佳地匹配执行装置函数级联EDj(y1,…,yN)。利用定义loaderj(g1,…,gN)=(gj,1,gj,2,…,gj,N),loaderj(g1,…,gN)的第i个分量是gj,i=lj,iоgiоrj,i,i。利用以上给出的定义,这给出 该式能够重写为
Figure A20048003626400212
这与利用装置特定的置换集合/序列是一样的,其中装置特定的集合hj,i消除了置换。
在图8中还图解了使用匿名模糊密钥和装置特定加载程序的概念。匿名播放器P1-R 810包括函数hi。匿名播放器P1-R能够由相应密钥K-R 812开启,密钥K-R 812包括以集合gi形式的模糊信号处理函数fi。匿名播放器P1-R不对任何一方公开。各方改为配置一个唯一的装置特定播放器,所显示的是播放器P1-1 830和P1-2 840。公用密钥K-R提供给各方。但是,这个公用密钥不匹配特定播放器。因此,各方也配置了装置特定密钥加载程序K-L,显示的是820和825。加载程序820和825用来将匿名密钥K-R 812转换为装置特定密钥K-j。为此,加载程序K-Li包括函数lj,i和rj,i。如图8所示,原则上,利用装置特定加载程序。如图9中进一步所示,事实上,加载程序可以相同,但是提供装置特定函数lj,i和rj,i。在图9的实例中,在提供l1,i和r1,i时,将匿名密钥K-R 812转换为装置1的装置特定密钥832;在提供l2,i和r2,i时,将匿名密钥812转换为装置2的密钥842。装置特定播放器830、840然后分别利用装置特定密钥集合h1,i832和842开启。应该理解,在这些实例中,短语“密钥”和“播放器”是可互换的,因为两个函数链相互锁定。图4的实例图解了两个链作为密钥。以类似的方式,它还可以图解为两个联锁播放器。
现在应该理解,匿名播放器810(包括gN,…,g1)可有利地通过广播和/或在存储介质上的分配向各个执行装置提供对各个执行装置相同的内容,只是因为这个播放器对各个装置是一样的。类似地,要由各个执行装置处理的数字信号输入x能够通过广播和/或在存储介质上的分配而分配对各个执行装置相同的内容。加载程序特定的方面最好通过“一对一的通信信道”和/或具有装置特定内容的存储介质向执行装置j提供至少一个以下相应函数的集合:hj,i、lj,i或rj,i。“一对一的通信信道”可以任何适当的方式获得。最好,服务器利用因特网经由保密链路(例如SSL)下载装置特定信息。
如上所述,函数f可以是基于Feistel密码网络的解密函数,并且各个信号处理函数fi是各自的Feistel解密轮函数。在这样的情况下,每一个置换pi最好是Feistel变换器,其中如果存在可逆函数Qx和Qy并且Q(<x,y>)=<Qx(x),Qy(y)>,其中Qx(x)Qx(y)=Qx(xy)并且Qy(x)Qy(y)=Qy(xy),则在连续对<x,y>上操作的函数Q是Feistel变换器。如果这些条件满足,则函数fi能最佳地隐藏。实际上,可显示存在许多这种Feistel变换器,给出足够的空间用于装置特定的置换选择。Feistel变换器的定义基于利用以上给出的定义的理解,Feistel轮fi(<Li-1,Ri-1>)=<Ri-1,(Li-1F(Ri-1,Ki))>可看作为fi=swapоinvolutaryF,其中定义swap(<x,y>)=swap(<y,x>)和involutaryF(<x,y>)=<x,yF(x)>。然后,保持swap-1=swap并且 involutary F - 1 = involutary F .
应该理解,本发明还扩展到计算机程序,特别是适合于实践本发明的载体上或载体中的计算机程序。程序可以为源代码、目标代码、中间代码源和诸如部分编译形式的目标代码的形式,或者任何其它适用于实现根据本发明方法的形式。载体是能够承载程序的任何实体或装置。例如,载体可包括诸如例如CD ROM或半导体ROM的ROM的存储介质,或者例如软盘或硬盘的磁记录介质。此外,载体可以是可传输的载体,比如可经由电缆或光缆或者通过无线电或其它方式传递的电信号或光信号。在程序在这样的信号中实施时,载体可以由这样的电缆或者其它装置或部件构成。备选地,载体可以是其中嵌入了程序的集成电路,该集成电路适于执行有关方法,或者用于有关方法的执行中。
应该注意,以上提到的实施例阐述不是限制本发明,而且本领域技术人员在不背离所附权利要求书范围的情况下将能设计许多备选实施例。在权利要求书中,括号中的任何附图标记不应视作限制权利要求。利用动词“包含”及其动词变化不排除除了权利要求中所述的那些元件或者步骤以外的元件或者步骤的存在。元件前面的冠词“一个”不排除存在多个这样的元件。本发明可以借助于包括几个分离元件的硬件实现,以及借助于适当地程序的计算机实现。在列举几个部件的装置权利要求中,几个这样的部件可由同一个硬件项实施。某些方法在互相不同的从属权利要求中叙述的事实并不表示这些方法的组合不能有利地使用。

Claims (21)

1.一种以模糊形式向执行装置提供数字信号处理函数f的方法,所述函数f包括一个函数级联,所述函数级联包括多个信号处理函数fi,1≤i≤N,用于处理数字信号输入x以产生数字信号输出(例如FC1(x)≡fNо...оf1(x)),所述方法包括:
选择2N个可逆置换pi的集合,1≤i≤2N;
计算N个函数gi的集合,其中gi在功能上相当于p2i -1оfiоp2i-1,其中1≤i≤N;
计算N-1个函数hi的集合,其中hi在功能上相当于p2i-1 -1оp2i-2,其中2≤i≤N;
为所述执行装置配备执行装置函数级联,所述执行装置函数级联包括yNоhNоyN-1оhN-1о...оy1,其中y1,...,yN是函数参数(例如,ED1(y1,...,yN)≡yNоhNоyN-1оhN-1о...оy1);
向所述执行装置提供函数g1,...,gN;以及
在所述执行装置中,对所述函数g1,...,gN应用所述执行装置函数级联(例如,ED1(g1,...,gN))。
2.如权利要求1所述的提供数字信号处理函数f的方法,其中所述执行装置函数级联包括yNоhNоyN-1оhN-1о...оy1оp1 -1(例如,
3.如权利要求1所述的提供数字信号处理函数f的方法,其中所述函数级联开始于另一个信号处理函数f0(例如,FC2(x)≡fNо...оf1оf0(x)),并且所述执行装置函数级联包括yNоhNоyN-1оhN-1о...оy1оS1(例如,ED3(y1,...,yN)≡yNоhNоyN-1оhN-1о...оy1оS1),其中S1在功能上相当于p1 -1оf0
4.如权利要求1所述的提供数字信号处理函数f的方法,其中所述执行装置函数级联包括:p2NоyNоhNоyN-1оhN-1о...оy1(例如,ED4(y1,...,yN)≡p2NоyNоhNоyN-1оhN-1о...оy1)。
5.如权利要求1所述的提供数字信号处理函数f的方法,其中所述函数级联结束于另一个信号处理函数fN+1(例如,FC3(x)≡fN+1оfNо...оf1(x)),并且所述执行装置函数级联包括S2оyNоhNоyN-1оhN-1о...оy1(例如,ED5(y1,...,yN)≡S2оyNоhNоyN-1оhN-1о...оy1),其中S2在功能上相当于fN+1оp2N
6.如权利要求1所述的提供数字信号处理函数f的方法,包括获得所述执行装置和/或所述执行装置的用户的唯一身份,所述2N个可逆置换pi的集合和/或序列对于所获得的身份是唯一的。
7.如权利要求1所述的方法,其中为所述执行装置配备所述执行装置函数级联的步骤包括:提供嵌入在软件程序中的所述执行装置函数级联,以便由所述执行装置中的处理器执行。
8.如权利要求7所述的方法,其中向所述执行装置提供所述函数g1,...,gN的步骤包括:以所述程序的插件程序的形式提供所述函数g1,...,gN
9.如权利要求7所述的方法,其中向所述执行装置提供所述函数g1,...,gN的步骤包括:通过对所述函数参数g1,...,gN应用所述执行装置函数级联,将所述函数g1,...,gN嵌入在所述软件程序中。
10.一种计算机程序产品,操作上用于使执行装置中的处理器执行数字信号处理函数f,所述函数f包括一个函数级联,所述函数级联包括多个信号处理函数fi,其中1≤i≤N,用于处理数字信号输入x以产生数字信号输出(例如,FC1(x)≡fNо...оf1(x)),通过如下步骤:
加载包括yNоhNоyN-1оhN-1о...оy1的执行装置函数级联,其中y1,...,yN是函数参数;
加载函数g1,...,gN的集合;
对所述函数g1,...,gN的集合应用所述执行装置函数级联;其中:
gi在功能上相当于p2i -1оfiоp2i-1,其中1≤i≤N;
hi在功能上相当于p2i-1 -1оp2i-2,其中2≤i≤N;以及
pi是可逆置换,其中1≤i≤2N。
11.一种以模糊形式向执行装置提供数字信号处理函数f的系统;所述系统包括服务器(610)和执行装置(620);所述函数f包括一个函数级联,所述函数级联包括多个信号处理函数fi,1≤i≤N,用于处理数字信号输入x以产生数字信号输出(例如,FC1(x)≡fNо...оf1(x));
所述服务器包括:
处理器(612),用于在程序的控制下:
选择2N个可逆置换pi的集合,1≤i≤2N;
计算N个函数gi的集合,其中gi在功能上相当于p2i -1оfiоp2i-1,其中1≤i≤N;以及
计算N-1个函数hi的集合,其中hi在功能上相当于p2i-1 -1оp2i-2,其中2≤i≤N;以及
部件(614),用于为所述执行装置配备执行装置函数级联,所述执行装置函数级联包括yNоhNоyN-1оhN-1о...оy1,其中y1,...,yN是函数参数(例如,ED1(y1,...,yN)≡yNоhNоyN-1оhN-1о...оy1),以及
部件(616),用于向所述执行装置提供函数g1,...,gN;以及
所述执行装置(620)包括:
部件(626),用于从所述服务器获得所述函数g1,...,gN;及
处理器(622),用于在程序的控制下,加载所述执行装置函数级联,并将加载的执行装置函数级联应用到所述函数g1,...,gN(例如,ED1(g1,...,gN))。
12.一种执行装置(620),用在如权利要求11所述的系统中;所述执行装置包括:
部件(626),用于从所述服务器获得函数g1,...,gN;以及
处理器(622),用于在程序的控制下,对所述函数g1,...,gN(例如,ED1(g1,...,gN))应用所述执行装置函数级联,并将所应用的执行装置函数级联应用到所述数字信号输入x。
13.一种以模糊、匿名形式向多个执行装置提供数字信号处理函数f的方法,各个执行装置由唯一下标j标识;所述函数f包括一个函数级联,所述函数级联包括多个信号处理函数fi,其中1≤i≤N,用于处理数字信号输入x以产生数字信号输出(例如,FC1(x)≡fNо...оf1(x)),所述方法包括:
选择2N个可逆置换pi的集合,其中1≤i≤2N;
计算N个函数gi的集合,其中gi在功能上相当于p2i -1оfiоp2i-1,其中1≤i≤N;
为各个装置j选择相应的2N个可逆置换pj,i的集合和/或序列,其对所述装置和/或所述装置的用户是唯一的;
为各个执行装置j计算N-1个函数hj,i的相应集合,其中hj,i在功能上相当于pj,2i-1 -1оpj,2i-2,其中2≤i≤N;
为各个执行装置j配备各自的执行装置函数级联EDj(y1,...,yN),所述函数级联包括yNоhj,NоyN-1оhj,N-1о...оy1
为各个执行装置j配备各自的加载程序函数loaderj(x1,...,xN)=(lj,1оx1оrj,1,...,lj,NоxNоrj,N),其中lj,i在功能上相当于pj,2i -1оp2i,并且rj,i在功能上相当于p2i-1 -1оpj,2i-1
向所述执行装置提供函数g1, ...,gN;以及
在所述执行装置中,执行EDj(loaderj(g1,...,gN))。
14.如权利要求13所述的提供数字信号处理函数f的方法,包括通过广播和/或在具有对各个执行装置相同内容的存储介质上的分配来向各个执行装置提供g1,...,gN
15.如权利要求14所述的提供数字信号处理函数f的方法,包括还通过广播和/或在具有对各个执行装置相同内容的存储介质上的分配来向各个执行装置提供所述数字信号输入x。
16.如权利要求13所述的提供数字信号处理函数f的方法,包括通过一对一通信信道和/或具有装置特定内容的存储介质向执行装置j提供至少一个以下相应函数集合:hj,i、lj,i或rj,i
17.如权利要求1或13所述的提供数字信号处理函数f的方法,其中所述函数f是基于Feistel密码网络的解密函数,并且每一个所述信号处理函数fi是各自的Feistel解密轮函数。
18.如权利要求17所述的提供数字信号处理函数f的方法,其中每一个所述置换pi是Feistel变换器,其中如果存在可逆函数Qx和Qy并且Q(<x,y>)=<Qx(x),Qy(y)>,其中Qx(x)Qx(y)=Qx(xy)并且Qy(x)Qy(y)=Qy(xy),则在连续对<x,y>上操作的函数Q是Feistel变换器。
19.一种计算机程序产品,操作上用于使执行装置j中的处理器执行数字信号处理函数f,所述函数f包括一个函数级联,所述函数级联包括多个信号处理函数fi,其中1≤i≤N,用于处理数字信号输入x以产生数字信号输出(例如,FC1(x)≡fNо...оf1(x)),所述方法包括:
加载对所述执行装置唯一并包括yNоhj,NоyN-1оhj,N-1о...оy1的执行装置函数级联,其中y1,...,yN是函数参数;
加载加载程序函数loaderj(x1,...,xN)≡(lj,1оx1оrj,1,...,lj,NоxNоrj,N);
加载函数g1,...,gN的集合;
对所述函数g1,...,gN的集合应用所述加载程序函数,产生函数gj,1,...,gj,N的集合,并对所述函数gj,1,...,gj,N的集合应用所述执行装置函数级联,其中:
gi在功能上相当于p2i -1оfiоp2i-1,其中1≤i≤N;
pi是可逆置换,其中1≤i≤N;
hj,i在功能上相当于pj,2i-1 -1оpj,2i-2,其中2≤i≤N;
lj,i在功能上相当于pj,2i -1оp2i
rj,i在功能上相当于p2i-1 -1оpj,2i-1;以及
pj,i是可逆置换,其中1≤i≤2N,它对所述装置和/或所述装置的用户是唯一的。
20.一种以模糊、匿名形式向多个执行装置提供数字信号处理函数f的系统;所述系统包括服务器和多个执行装置,各个执行装置由唯一下标j标识;所述函数f包括一个函数级联,所述函数级联包括多个信号处理函数fi,其中1≤i≤N,用于处理数字信号输入x以产生数字信号输出(例如,FC1(x)≡fNо...оf1(x));
所述服务器包括:
处理器,用于在程序的控制下:
选择2N个可逆置换pi的集合,其中1≤i≤2N;
计算N个函数gi的集合,其中gi在功能上相当于p2i -1оfiоp2i-1,其中1≤i≤N;
为各个装置j选择对所述装置和/或所述装置的用户唯一的2N个可逆置换pj,i的相应集合和/或序列;
为各个执行装置j计算N-1个函数hj,i的相应集合,其中hj,i在功能上相当于pj,2i-1 -1оpj,2i-2,其中2≤i≤N;
为各个执行装置j配备各自的执行装置函数级联EDj(y1,...,yN),所述函数级联包括yNоhj,NоyN-1оhj,N-1о...оy1
为各个执行装置j配备各自的加载程序函数loaderj(x1,...,xN)=(lj,1оx1оrj,1,...,lj,NоxNоrj,N,),其中lj,i在功能上相当于pj,2i -1оp2i,并且rj,i在功能上相当于p2i-1 -1оpj,2i-1;以及
向所述执行装置提供函数g1,...,gN;以及
各个执行装置j包括:
部件,用于从所述服务器获得所述函数g1,...,gN;以及
处理器,用于在程序的控制下:
加载对所述执行装置唯一并包括yNоhj,NоyN-1оhj,N-1о...оy1的执行装置函数级联,其中y1,...,yN是函数参数;
加载加载程序函数loaderj(x1,...,xN)≡(lj,1оx1оrj,1,...,lj,NоxNоrj,N);
对函数g1,...,gN的集合应用所述加载程序函数,产生函数gj,1,...,gj,N的集合;以及
对所述函数gj,1,...,gj,N的集合应用所述执行装置函数级联。
21.一种执行装置,用在如权利要求20所述的系统中;其中所述执行装置由唯一下标j标识;并且包括:
部件,用于从所述服务器获得函数g1,...,gN;以及
处理器,用于在程序的控制下:
加载对所述执行装置唯一并包括yNоhj,NоyN-1оhj,N-1о...оy1的执行装置函数级联,其中y1,...,yN是函数参数;
加载加载程序函数loaderj(x1,...,xN)≡(lj,1оx1оrj,1,...,lj,NоxNоrj,N);
对函数g1,...,gN的集合应用所述加载程序函数,产生函数gj,1,...,gj,N的集合;以及
对所述函数gj,1,...,gj,N的集合应用所述执行装置函数级联,其中:
gi在功能上相当于p2i -1оfiоp2i-1,其中1≤i≤N;
pi是可逆置换,其中1≤i≤N;
hj,i在功能上相当于pj,2i-1 -1оpj,2i-2,其中2≤i≤N;
lj,i在功能上相当于pj,2i -1оp2i
rj,i在功能上相当于p2i-1 -1оpj,2i-1;以及
pj,i是可逆置换,其中1≤i≤2N,它对所述装置和/或所述装置的用户是唯一的。
CN2004800362647A 2003-12-11 2004-11-30 块加密系统、利用置换隐藏各加密轮的核心加密函数 Expired - Fee Related CN1890914B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP03104643 2003-12-11
EP03104643.6 2003-12-11
PCT/IB2004/052607 WO2005060147A1 (en) 2003-12-11 2004-11-30 Block ciphering system, using permutations to hide the core ciphering function of each encryption round

Publications (2)

Publication Number Publication Date
CN1890914A true CN1890914A (zh) 2007-01-03
CN1890914B CN1890914B (zh) 2011-07-27

Family

ID=34684571

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2004800362647A Expired - Fee Related CN1890914B (zh) 2003-12-11 2004-11-30 块加密系统、利用置换隐藏各加密轮的核心加密函数

Country Status (10)

Country Link
US (1) US8023651B2 (zh)
EP (1) EP1712032B1 (zh)
JP (2) JP4884976B2 (zh)
KR (1) KR101079565B1 (zh)
CN (1) CN1890914B (zh)
AT (1) ATE509442T1 (zh)
BR (1) BRPI0417450A (zh)
MX (1) MXPA06006464A (zh)
RU (1) RU2370897C2 (zh)
WO (1) WO2005060147A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103595539A (zh) * 2013-11-26 2014-02-19 南开大学 保留格式的数值型个人识别信息的加密方法
CN106031079A (zh) * 2013-12-20 2016-10-12 皇家飞利浦有限公司 加密算法中的运算符提升
CN106105089A (zh) * 2014-03-11 2016-11-09 高通股份有限公司 与使用缩减回合编密的xts加密系统一起使用的动态加密密钥
CN107517206A (zh) * 2017-08-18 2017-12-26 北京北信源软件股份有限公司 一种安全通信的方法、装置、可读介质和存储控制器

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1712032B1 (en) 2003-12-11 2011-05-11 Irdeto B.V. Block ciphering system, using permutations to hide the core ciphering function of each encryption round
KR20060107282A (ko) * 2005-04-07 2006-10-13 엘지전자 주식회사 데이터 재생방법, 데이터 기록재생 플레이어 및 데이터전송방법
WO2007105126A2 (en) 2006-03-10 2007-09-20 Koninklijke Philips Electronics N.V. Method and system for obfuscating a cryptographic function
JP2007298847A (ja) * 2006-05-02 2007-11-15 Kddi Corp プログラム内データの保護装置、保護方法およびプログラム
US8700915B2 (en) 2006-07-12 2014-04-15 Irdeto Corporate B.V. Method and system for verifying authenticity of at least part of an execution environment for executing a computer module
WO2008142633A1 (en) * 2007-05-22 2008-11-27 Koninklijke Philips Electronics N.V. Data security
EP2173056A1 (fr) * 2008-09-04 2010-04-07 Gemplus Procédé de contre-mesure dans un composant électronique mettant en ouvre un algorithme de cryptographie à clef secrète
EP2393292A1 (en) * 2010-06-01 2011-12-07 Nagravision S.A. A method and apparatus for decrypting encrypted content
EP2405650A1 (en) * 2010-07-09 2012-01-11 Nagravision S.A. A method for secure transfer of messages
US9111072B1 (en) 2011-08-23 2015-08-18 Tectonic Labs, LLC Anti-reverse engineering unified process
CN104919750B (zh) * 2012-12-21 2017-06-06 皇家飞利浦有限公司 计算关于函数‑输入值的数据函数的计算设备和方法
US10184974B2 (en) * 2015-09-22 2019-01-22 Raytheon Company Systems and methods for determining whether a circuit is operating properly
RU2708439C1 (ru) * 2015-12-15 2019-12-06 Конинклейке Филипс Н.В. Вычислительное устройство и способ

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2582174B1 (fr) * 1985-05-15 1990-03-09 Thomson Csf Dispositif de chiffrement par substitutions-permutations
US5699512A (en) 1994-04-28 1997-12-16 Nippon Telegraph And Telephone Corp. Software analysis protection method for changing the software pattern on the memory of a user terminal
JP3463963B2 (ja) * 1994-04-28 2003-11-05 日本電信電話株式会社 ソフトウェア解析保護方法
US5838794A (en) * 1996-01-11 1998-11-17 Teledyne Electronic Technologies Method and apparatus for inter-round mixing in iterated block substitution systems
US5949884A (en) * 1996-11-07 1999-09-07 Entrust Technologies, Ltd. Design principles of the shade cipher
EP0988591A1 (en) * 1997-06-09 2000-03-29 Intertrust, Incorporated Obfuscation techniques for enhancing software security
JP3466204B2 (ja) * 1997-07-29 2003-11-10 ルーセント テクノロジーズ インコーポレーテッド 強化変換を使用する強化cmea用の方法および装置
WO1999008411A2 (en) * 1997-08-08 1999-02-18 Jonathan Stiebel New operation for key insertion with folding
JP2001067270A (ja) * 1999-08-27 2001-03-16 Nippon Telegr & Teleph Corp <Ntt> コンテンツ共有管理システムおよびコンテンツ保護方法およびこの方法を記録した記録媒体
CA2327911A1 (en) * 2000-12-08 2002-06-08 Cloakware Corporation Obscuring functions in computer software
EP1712032B1 (en) 2003-12-11 2011-05-11 Irdeto B.V. Block ciphering system, using permutations to hide the core ciphering function of each encryption round

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103595539A (zh) * 2013-11-26 2014-02-19 南开大学 保留格式的数值型个人识别信息的加密方法
CN103595539B (zh) * 2013-11-26 2016-08-24 南开大学 保留格式的数值型个人识别信息的加密方法
CN106031079A (zh) * 2013-12-20 2016-10-12 皇家飞利浦有限公司 加密算法中的运算符提升
CN106031079B (zh) * 2013-12-20 2019-10-11 皇家飞利浦有限公司 加密算法中的运算符提升
CN106105089A (zh) * 2014-03-11 2016-11-09 高通股份有限公司 与使用缩减回合编密的xts加密系统一起使用的动态加密密钥
CN106105089B (zh) * 2014-03-11 2019-04-26 高通股份有限公司 与使用缩减回合编密的xts加密系统一起使用的动态加密密钥
CN107517206A (zh) * 2017-08-18 2017-12-26 北京北信源软件股份有限公司 一种安全通信的方法、装置、可读介质和存储控制器

Also Published As

Publication number Publication date
ATE509442T1 (de) 2011-05-15
EP1712032A1 (en) 2006-10-18
BRPI0417450A (pt) 2007-04-10
WO2005060147A1 (en) 2005-06-30
MXPA06006464A (es) 2006-08-23
CN1890914B (zh) 2011-07-27
RU2370897C2 (ru) 2009-10-20
KR101079565B1 (ko) 2011-11-04
JP2012037904A (ja) 2012-02-23
JP5453367B2 (ja) 2014-03-26
US20080285744A1 (en) 2008-11-20
JP4884976B2 (ja) 2012-02-29
EP1712032B1 (en) 2011-05-11
RU2006120479A (ru) 2007-12-27
US8023651B2 (en) 2011-09-20
JP2007514193A (ja) 2007-05-31
KR20060123298A (ko) 2006-12-01

Similar Documents

Publication Publication Date Title
KR101079565B1 (ko) 각각의 암호화 라운드의 코어 암호화 함수를 숨기기 위해 치환들을 사용하는 블록 암호화 시스템
Dwork et al. Digital signets: Self-enforcing protection of digital information (preliminary version)
JP5249053B2 (ja) データ処理システムの完全性
JP5346024B2 (ja) コンテンツの暗号処理
US7881466B2 (en) Method and system for obfuscating a cryptographic function
CN1122213C (zh) 给对象签名和签章的方法和设备
CN1783765A (zh) 用于保护在硬件部分中的数据流的系统和方法
JP2011513787A (ja) ホワイトボックス実装
JP2008527874A (ja) 暗号化システム、方法およびコンピュータ・プログラム(暗号の結合状態情報をセキュアにかつ使い勝手よく処理するシステムおよび方法)
JP2014207717A (ja) 指数難読化
CN1381966A (zh) 版权保护系统及方法
KR20140087036A (ko) 동적 암호화 방법
CN1479484A (zh) 用于分层加密的设备和方法
WO2007093925A1 (en) Improved method of content protection
WO2007031894A2 (en) Improved cryptographic method and system
KR20000055719A (ko) 디지탈 데이터 파일 암호화 방법
US20090316905A1 (en) Key exchange through a scramble methodology and system
Sethi Digital rights management and code obfuscation
WO2007093946A1 (en) Improved method of content protection

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: YEDETO CO., LTD.

Free format text: FORMER OWNER: KONINKLIJKE PHILIPS ELECTRONICS N.V.

Effective date: 20100402

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: EINDHOVEN, NETHERLANDS TO: HOOFDDORP, NETHERLAND

TA01 Transfer of patent application right

Effective date of registration: 20100402

Address after: Holland Hoofddorp

Applicant after: Irdeto B.V.

Address before: Holland Ian Deho Finn

Applicant before: Koninklijke Philips Electronics N.V.

C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: IRDETO BV

Free format text: FORMER NAME: IRDETO B.V.

CP01 Change in the name or title of a patent holder

Address after: Holland Hoofddorp

Patentee after: Irdeto Corporate B. V.

Address before: Holland Hoofddorp

Patentee before: Irdeto B.V.

ASS Succession or assignment of patent right

Owner name: IRDETO B.V.

Free format text: FORMER OWNER: IRDETO BV

Effective date: 20150113

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150113

Address after: Holland Hoofddorp

Patentee after: Irdeto B.V.

Address before: Holland Hoofddorp

Patentee before: Irdeto Corporate B. V.

C56 Change in the name or address of the patentee

Owner name: IRDETO B. V.

Free format text: FORMER NAME: IRDETO B.V.

CP01 Change in the name or title of a patent holder

Address after: Holland Hoofddorp

Patentee after: Ai Dide Technology Co., Ltd.

Address before: Holland Hoofddorp

Patentee before: Irdeto B.V.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110727

Termination date: 20201130

CF01 Termination of patent right due to non-payment of annual fee