具有双前馈散列函数的密码装置的制作方法

文档序号:7686089阅读:164来源:国知局
专利名称:具有双前馈散列函数的密码装置的制作方法
技术领域
本发明是关于密码装置,且尤其是关于密码处理器,其使用一双前馈配置以实施一具有互补性的加密演算法,使得密码处理机的输入的倒数能从此其输出端检出。
其用于信息加密的变换包含加密演算法及键的使用。该键数据是维持保密。为了信息加密,该加密演算法运用至信息而该键是用作辅助输入以控制该加密动作。其解加密的工作是反作业,其操作相类似。
密码系统依赖键数据量,该键数据与信息长度无关。理论上,这些系统是可破解的。然而,由于人们设法破解密码必须使用难以计数的计算资源,因上实际上它们仍是有用的。换句话说,所需要破解密码的“工作因素”是高到足以防止成功的攻击。
目前广泛使用的密码系统的一例是信息加密标准(DES),该信息加密标准由美国国家标准局于1926年所核准。该DES演算法在一64位元键的控制下加密一64位元信息方块以产生一64位原密文。DES演算法的细节可参见FIPS刊物46期,1977年1月15日所载“信息加密标准的说明书”及于FIPS刊物第74期,在1981年4月1日所载“实施与使用NBS信息加密标准指引”,两者皆可向美国商务部国家技术资询服务索服。
加密演算法一般是用作散列函数的一部分,其中,该输入信号的确认是通过以一加密键处理(即“散列法”)输入信号所提供。传统的单向馈散列函数(SFFH)内,该函数的输入信号的逆转不能通过函数的输出而检测出来。这种传统处理在诸多的应用中无法令人满意,因为输入至安全处理器的信息有所改变而又没有装置来检测出这些改变时,信息的安全性会受到破坏。若设法破坏安全性的人能获得该系统如何响应于输入信息内的改变的数据而不会被该系统侦测到,则此人有机会经由长时间的测试而可能成功地破坏安全性。
因此最好能提供实现散列函数的装置,该散列函数能使改变于散列函数的输出处检测,这些改变是例如输入端的信息逆转。此种实施将提供互补的特性给该散列函数。
另外也须有在使用串接密码散列函数的系统中提供互补性的装置。此种装置应提供一输入键至每个连续级,此键的产生是可确保互补性,因而,可使输入处的逆转能在输出处检测出。
根据本发明,提供一种密码装置,包括一密码处理器,具有一第一输入端用以接收第一输入信息的八个平行位元组F1-F8,一第二输入端用以接收第一输入信息的平行位元组S1-S8以作为一键,以及一输出端用以输出通过将该输入信息与该键予以加密处理所产生的七个平行位元组C1-C7的密文;第一装置用以逻辑处理每一第一组七个输入信息位元组F1-F7与后续的输入信息位元组F2-F8,以产生七个位元组的前馈信息FF1-FF7;以及第二装置用以逻辑处理每一前馈信息位元组FF1-FF7与相同数目的密文位元组C1-C7,以产生一含有七个平行位元组D1-D7的密文派生。
在一实施例中,第一装置含有一非线性函数,用以将每一第一组七个输入信息位元组F1-F7分别与后续的输入信息位元组F2-F8进行逻辑处理,以产生该七个位元组的前馈信息FF1-FF7;以及第二装置含有一非线性函数,用以将每一前馈信息位元组FF1-FF7与相同数目的密文位元组C1-C7进行逻辑处理,以产生该含有该七个平行位元组D1-D7的密文派生。
在一实施例中,这些非线性函数输出的位元数为输入的一半。
在一实施例中,第一装置将每一第一组七个输入信息位元组F1-F7分别与后续的输入信息位元组F2-F8作异或运算,以产生该七个位元组的前馈信息FF1-FF7;以及第二装置将每一前馈信息位元组FF1-FF7与相同数目的密文位元组C1-C7作异或运算,以产生该含有七个平行位元组D1-D7的密文派生。
在一实施例中,第一装置含有一查找表,可由第一组七个与后续的输入数据位元组进行定址,以输出其中的异或运算。
在一实施例中,第二装置含有一查找表,可由这些前馈信息位元组与相同数目的密文位元组进行定址,以输出其中的异或运算。
在一实施例中,第二装置含有一查找表,可由这些前馈信息位元组与相同数目的密文位元组进行定址,以输出其中的异或运算。
在一实施例中,该密码处理器为一DES处理器。
在一实施例中,还包括有查找表用以实现第一及第二装置的非线性函数。
图2是一本发明的双前馈散列函数的方块图。
图3A是根据本发明,在一与单前馈散列函数的串接实施中使用双前馈散列函数的方块图。
图3B是根据本发明,在一与另一双前馈散列函数的串接实施中使用双前馈散列函数的方块图。
图4是实施根据本发明的双前馈散列函数的特定连接的示意图。
图5是根据本发明的另一双前馈散列函数的实施例的特定连接的示意图。
具体实施例方式
密码处理是在许多应用中用以鉴定信息。用途之一是卫星收费电视服务的通讯。此一系统公开于美国专利第4,613,901号,由Gilhousen等人所发明,发明名称为“控制电视信号的搅频与选择性遥控解搅频的信号加密与分配系统”。在Gilhousen的系统内,有各类密码键的使用在一加密电视信号中。在所叙述中的键中有频别键,每个含连接至用户解搅频器的一不同副组,且含有节目键,针对每个不同电视节目而使授权用户解密一特别节目信号。
该节目键的处理一般是以一种鉴定的方式来实施以防止误认频道。尤其,含有包括如节目费用等项目的频道辨识信息,是以一种确认的方式送出以防止其改变。此种确认可通过将“节目预设键”与频道辨识信息进行散列(hashing)以产生真实的节目键,以真实的节目键是用以产生一解密所要节目所需的工作键。
已知技术在加密或解密的过程中所使用的散列函数为已知的“前馈DES”,且示于

图1中。所欲鉴定的信息(明文)是经端子10输入至DES处理器14。该明文是以八位元组(64位元)为一部份输入至DES处理器14及经由缘路16输入至一异或门(XOR)18。一组七位元组(56位元)的密码节目预设键是经由端子12输入至该DES处理器14。该明文是通过输入键依照DES演算法而处理以提供八位元组(64位元)的密文,该密文已透过XOR门18与明文作异或逻辑运算。虽XOR门18输出64位元,但仅56位元是经线22输出,并作为一输入键输入至连续的串接前馈DES级。在线路20上剩余的八个密文位元是未使用。因此,在每个散列级中皆留下一整个密文位元组,又,图1的散列函数不提供互补,因而,输入转换(及因而输入信息的改变而)不能由后级检测出。
本发明提供一具有互补性的双前馈散列函数,如图2所示,。明文由端子30引入至一DES处理器34,且经线36至XOR门38。该明文以八位元组(64位元)为一部分来处理。一八位元组(64位元)输入键是经端子32提供。此八位元组的七位元组通过DES处理器34来处理,而剩下的一位元组则输入至异或门35。该输入键也经线42连接至XOR门44。门44对由XO门38所输出的64位元中的56位元以及64位元输入键的56位元进行异或运算以提供56位元的运算结果至线45上。由XOR门38所输出在线40上的剩余8位元密文则在XOR门35中与线路43上64位元输入键的剩余8位元作异或运算。该XOR门35的输出与线45的56位元结合而形成线46上的64位元。
本发明利用馈入额外的前馈数据,经线42及43至额外的XOR门44及35,而确保互补性的提供,并克服已有技术的缺点。
XOR门35,38及44能以查找表替换,这些查找表提供一XOR功能或合适的非线性函数。举例而言,可使用输出为输入大小的一半的非线性函数。例如包括输入(x,y)两位元及输出(f)一位元,其中f=x+xy+y;或是四位元输入(w,x,y,z)及两位元输入(f1,f2),其中f1=w+x+y+z+wx+wy+wz+xy+xz+yz+wxy+wxz+wyz+xyz+wxyz及f2=wx+wy+wz+xy+xz+yz+wxy+wxz+wyz+xyz;以及六位元输入(a,b,c,d,e,f)与三位元输出(x,y,z),其中x=a+b+c+d+e+f+abc+bcd+cde+def+efa+fab+abcdef,y=abc+def+abd+cef+abcd+bcde+ace+abcef,及z=abcde+abcdf+abcef+abdef+acdef+bcdef,
这些查找表可为只读存储器(ROM)的形式。取代XOR门35的查找表将由元件38所输出的八位元的“第一个密文派生”及线43上64位元输入键的8位元来定址。取代XOR门38的查找表将由来自DES处理器34的密文及在线36上的明文所定址。取代XOR门44的查找表将由元件38所输出的56位元的“第一个密文派生”及线42及64位元的输入键的56位元所定址。对此,元件44将输出64位元“第二个密文派生”的56位元供经由线46输入至次一散列级。该第二密文派生的剩余8位元是从函数(例如,XOR)35的输出处获得。
图3A是根据本发明的两个DES散列函数的串接。第一级80是类似于图2中的双前馈DES散列函数级,在端子30具有第一64位元输入(明文)但在端子32’仅有56位元第二输入。在线47上的56位元的第二个密文派生是视做输入键输入至一第二散列函数级82。此级包括一DES处理器70,该处理器70经端子31接收一第二64位元的明文输入(第二明文)。该第二明文输入经线72前馈至一XOR或一非线性函数74,在此第二明文与来自DES处理器70输出的密文一起处理。来自线76所输出的合成64位元包括已鉴定信息对应至原始明文输入的已鉴定信息。虽然图3A中仅有二个散列函数级(即一个双前馈结构后接一单前馈结构),但应可了解在发明中可提供任何的级数,而最后一级前的每级都包括一个双前馈结构。
图3B是本发明中两DES散列函数的串接,其中第一级80’是与图2中已说明的双前馈DES散列函数级相同,在端子30具有一第一64位元输入(第一明文),以及在端子32具有一64位元的第二输入。输出在线45上的64位元的“第二密文派生”是与来自XOR或非线性函数35输出的8位元相结合以在线路46上形成一64位元键,作为第二散列函数级82的输入。此级包括一DES处理器70,DES处理器70接收一经由端子31的第二64位元明文输入(第二明文)。该第二明文输入是经由线72前馈至一XOR或非线性函数74,在此第二明文与由DES处理器70所输出的密文一起处理。来自线76的合成64位元输出包括对应于原始的明文输入的鉴定信息,其中56位元是输入至一XOR或非线性函数75以产生该64位元输入中的56位元对次一级。如图3A的具体实施例所示,任何级数都能提供,而最后一级以前的每一级皆包括一如图2所示的双前馈结构。
图4是本发明的第一应用的示意图。DES处理器90接收输入信息92的8位元组(每位元组包括8位元)及一密码键94,以输出8位元组的加密信息96。该输入信息是经由输入端子100而以8个平行位元组F1-F8的方式供应。第二输入端子101接收第二输入信息的8个平行位元组S1-S8,其第一组7个位元组(S1-S7)是视为密码键使用。DES处理器90处理输入信息92及键94以供应输出信息96,该输出信息96包括8个平行位元组的密文。
该密文经由异或运算以产生一含有8个平行位元组FD1-FD8的第一密文派生。详细地说,每一密文位元组C1-C8,是与相同数目的第一输入信息位元组F1-F8作异或运算以产生第一密文派生。因此,密文位元组C1是在异或门103内与输入信息F1作异或运算以产生第一密文派生位元组FD1。密文位元组C2是与输入位元组F2经由异或门105作异或运算以产生第一密文源生FD2。依此类推,直到密文位元组C8与输入信息位元组F8经由异或门117作异或运算为止。
第一密文派生及第二输入信息经由处理以输出一第二密文派生,其包括8个平行位元组SD1-SD8。详细地说,每个第一密文派生位元组FD1-FD8是与相同数目的第二输入信息位元组S1-S8作异或运算以产生第二密文派生。因此,第一密文派生FD1是与第二输入信息位元组S1经异或门119作用以产生第二密文派生SD1。第一密文派生FD2是与第二输入信息位元组SD2经由异或门121作异或运算以产生一第二密文派生SD2。依此类推直到一密文派生FD8与第二输入信息位元组S8(经异或门133)作异或运算以产生第二密文派生SD8为止。
图5所示的具体实施例中,输入至DES处理器90的7个位元组键94是由输入信息92的位元组F2-F8所提供。另外,仅输出信息96的第一组7个位元组波使用。
根据图5的具体实施例,每个第一组7个输入信息位元组F1-F7是与后续的输入信息位元组F2-F8分别作异或运算,以产生7个位元组的前馈信息FF1-FF7。因此,输入信息位元组F1是在异或门102内与输入信息位元组F2作异或运算以产生前馈资料FF1。同理,输入信息位元组F2在异或门104内与输入信息位元组F3作异或运算以产生前馈信息FF2。依此类推,直至经由剩余的异或门106,108,110,112及114的作用以产生剩余的前馈信息为止。
每个前馈信息位元组FF1-FF7与相同数目的密文位元组C1-C7作异或运算产生一包括7个平行组D1-D7的密文派生。因此,举例而言,前馈位元组FF1是在异或门120内与密文位元组C1作异或运算以产生密文派生位元组D1。剩余的信息输出位元组分别在异或门122,124,126,128,130及132中与剩余的前馈信息位元组作异或运算以产生剩余的密文派生位元组D2-D7。
请注意于图4、图5中的异或门可由查找表予以代替,这些查找表由个别的输入予以定址以提供其中的异或运算。
现应可了解本发明提供的密码装置可克服现有技术的在不具有互补特性的安全结构中潜在的保全问题。
虽然本发明已通过不同的具体实施例予以详述,但熟悉本领域的技术人员在不脱离本发明的精神和范围内,仍可作种种的修改与变型,本发明的范围以权利要求所界定的为准。
权利要求
1.一种密码装置,包括一密码处理器,具有一第一输入端用以接收第一输入信息的八个平行位元组F1-F8,一第二输入端用以接收第一输入信息的平行位元组S1-S8以作为一键,以及一输出端用以输出通过将该输入信息与该键予以加密处理所产生的七个平行位元组C1-C7的密文;第一装置用以逻辑处理每一第一组七个输入信息位元组F1-F7与后续的输入信息位元组F2-F8,以产生七个位元组的前馈信息FF1-FF7;以及第二装置用以逻辑处理每一前馈信息位元组FF1-FF7与相同数目的密文位元组C1-C7,以产生一含有七个平行位元组D1-D7的密文派生。
2.根据权利要求1所述的密码装置,其中第一装置含有一非线性函数,用以将每一第一组七个输入信息位元组F1-F7分别与后续的输入信息位元组F2-F8进行逻辑处理,以产生该七个位元组的前馈信息FF1-FF7;以及第二装置含有一非线性函数,用以将每一前馈信息位元组FF1-FF7与相同数目的密文位元组C1-C7进行逻辑处理,以产生该含有该七个平行位元组D1-D7的密文派生。
3.根据权利要求2所述的密码装置,其中这些非线性函数输出的位元数为输入的一半。
4.根据权利要求1所述的密码装置,其中第一装置将每一第一组七个输入信息位元组F1-F7分别与后续的输入信息位元组F2-F8作异或运算,以产生该七个位元组的前馈信息FF1-FF7;以及第二装置将每一前馈信息位元组FF1-FF7与相同数目的密文位元组C1-C7作异或运算,以产生该含有七个平行位元组D1-D7的密文派生。
5.根据权利要求4所述的密码装置,其中第一装置含有一查找表,可由第一组七个与后续的输入数据位元组进行定址,以输出其中的异或运算。
6.根据权利要求5所述的密码装置,其中第二装置含有一查找表,可由这些前馈信息位元组与相同数目的密文位元组进行定址,以输出其中的异或运算。
7.根据权利要求4所述的密码装置,其中第二装置含有一查找表,可由这些前馈信息位元组与相同数目的密文位元组进行定址,以输出其中的异或运算。
8.根据权利要求1所述的密码装置,其中该密码处理器为一DES处理器。
9.根据权利要求2所述的密码装置,还包括有查找表用以实现第一及第二装置的非线性函数。
全文摘要
本装置是使用一双前馈散列函数来鉴定信息以在实施加密演算法时提供互补性。密码处理器具有一接收明文的第一输入端、具有一接收一键的第二输入端及一用以输出通过加密性地处理该明文及键所产生的密文的输出端。后续的密码处理器级可被提供具有接收一第二明文的第一输入端、接收第二密文派生以作为一键的第二输入端,及一用以输出通过加密性地处理第二明文与第二密文派生所产生的第二密文的输出端。
文档编号H04L9/06GK1398122SQ0211616
公开日2003年2月19日 申请日期1996年7月3日 优先权日1995年7月3日
发明者艾瑞克·史宾克, 保罗·莫瑞尼, 肯迪克·安德生 申请人:通用仪器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1