CN1820448A - 用于使用三阶段加密来加密和验证消息的系统和方法 - Google Patents

用于使用三阶段加密来加密和验证消息的系统和方法 Download PDF

Info

Publication number
CN1820448A
CN1820448A CNA2003801104205A CN200380110420A CN1820448A CN 1820448 A CN1820448 A CN 1820448A CN A2003801104205 A CNA2003801104205 A CN A2003801104205A CN 200380110420 A CN200380110420 A CN 200380110420A CN 1820448 A CN1820448 A CN 1820448A
Authority
CN
China
Prior art keywords
key
median
generate
text
message
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
CNA2003801104205A
Other languages
English (en)
Other versions
CN1820448B (zh
Inventor
默罕穆德·佩拉维安
戴维·J·克拉夫特
哈姆·P·霍夫斯蒂
丹尼尔·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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1820448A publication Critical patent/CN1820448A/zh
Application granted granted Critical
Publication of CN1820448B publication Critical patent/CN1820448B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/22Arrangements for preventing the taking of data from a data transmission channel without authorisation
    • 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
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • 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/08Randomization, e.g. dummy operations or using noise
    • 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/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

提供了一种用于使用三阶段加密处理来加密并验证消息的完整性的方法和系统。拥有与目标共享的秘密主密钥的源接收消息并且生成随机数。然后,源从消息和随机数生成第一组中间值;从第一组值生成第二组中间值;秉从第二组值生成密文。在这三个阶段中,使用块密码加 密/解密算法的加密函数生成这些值。将随机数和密文传送到目标,其通过逆反加密处理而对密文进行解密。目标通过将所接收的随机数与从所解密的密文中提取的随机数进行比较,来验证消息的完整性。

Description

用于使用三阶段加密来加密和验证消息的系统和方法
技术领域
本发明一般涉及一种用于加密、解密以及验证消息的完整性的系统和方法。具体地说,本发明涉及一种用于使用三阶段加密处理来加密、解密以及验证消息的完整性的系统和方法。
背景技术
因特网提供了在大量用户之间通信的高效且便宜的装置。相同的基础设施可以在不同的用户之间共享;不需要如同例如标准电话和传真机的用户的情况一样,为每对通信用户建立单独的通信信道。由因特网提供的通信信道共享显著地提高了被拦截通信、偷听、篡改消息等的可能性。因此,具有提供保护通过共享通信信道如因特网在源和目标之间的消息传送的高效方式的可用通信装置日益变得重要。安全通信的最常见方法是在源处以实际上只有目标可以对消息进行解密的方式对消息进行加密。
已经开发了很多类型的加密/解密,以解决安全通信的需要。存在两种主要的加密技术:秘密密钥加密和私/公钥加密。在秘密密钥加密中,源处的消息加密和目标处的消息解密都使用相同的秘密密钥。秘密密钥加密的例子有数据加密标准(DES)。在公/私钥加密中,每个用户拥有私钥(其对其他用户保密)和公钥(每个用户公开地分发它)。这两个密钥在数学上以这样一种方式相关,其中,源使用目标的公钥对消息进行加密,以使得实际上只有该目标可以对消息进行解密。
好的加密标准对于源和目标必须是计算上高效的,同时,该标准必须不易于使用密码分析进行“破译”:破译加密算法的技术和科学。对于加密标准,提供用于验证消息的完整性-消息在通过不安全介质的传送期间是否被变更-的手段也是重要的。
因此,需要一种系统和方法,其在不易受到密码分析的影响的同时,能够提供高效的源和目标之间的加密/解密标准。该系统和方法还应当提供在高概率的程度上验证所传送的消息的完整性的能力。
发明内容
已经揭示了上述难题可以通过一种用于使用三阶段加密处理来加密、解密以及验证消息的完整性的方法和系统来解决。三阶段加密处理的结构使得算法的密码分析非常困难,这显著地降低了“破译”加密的概率。此外,当前方法和系统提供了用于通过在目标处将所接收的控制数与所解密的控制数进行比较来验证所传送消息的完整性的手段。
源和目标共享秘密主密钥,其中,源使用秘密主密钥对消息进行加密,而在消息被传送到目标之后,目标使用秘密主密钥对消息进行解密。由源以明文形式接收要被加密并传送到目标的消息。源首先生成第一和第二随机数,并且构造明文信包(envelope),其包括:明文消息、第一随机数、第二随机数、填充字段、以及表示填充字段的长度的数。生成填充字段,使得明文消息、第一随机数、第二随机数、填充字段、以及表示填充字段的长度的数的长度是在加密/解密处理中所使用的块密码算法的块尺寸的整数倍。依次生成第一、第二、以及第三密钥。在加密处理的三个阶段中的每个阶段分别使用这三个密钥之一。使用在加密/解密处理中所使用的块密码算法的解密函数,从秘密主密钥和第一随机数生成这些密钥。
在加密处理的第一阶段,使用块密码算法加密/解密的函数,从N个明文块和第一密钥生成第一组N个中间块。在加密处理的第二阶段,使用块密码加密/解密算法的加密函数,从第一组N个中间块和第二密钥生成第二组N个中间块。在加密处理的第三且最后阶段,使用块密码加密/解密算法的加密函数,从第二组N个中间块和第三密钥生成N个密文块。
然后,构造受保护文本(protected-text)信包,其包含:表示受保护文本信包的长度的数、第一随机值、以及N个密文块。通过诸如因特网的不安全介质将受保护文本信包传送到目标。
由共享源的秘密主密钥的目标接收受保护文本信包。目标从受保护文本信包提取:表示受保护文本信包的长度的数、第一随机值、以及N个密文块。然后,使用块密码加密/解密算法的解密函数,从所提取的第一随机数和秘密主密钥生成第一、第二、以及第三密钥。
在解密处理的第一阶段,使用块密码加密/解密算法的解密函数,从N个密文块和第三密钥生成第二组N个中间块。在解密处理的第二阶段,使用块密码加密/解密算法的解密函数,从第一组N个中间块和第二密钥生成第二组N个中间块。在解密处理的第三且最后阶段,使用块密码加密/解密算法的解密函数,从第一组N个中间块和第一密钥生成N个明文块。然后,从明文信包的N个明文块提取明文消息。
然后,为了验证消息的完整性,提取包括在N个明文块中的第一随机数,并且将其与从受保护文本信包提取的第一随机数进行比较。如果这两个数不相等,则由于可以推断在从源到目标的消息传送期间消息很可能被改变了,因此所接收的消息不可信。如果这两个数相等,则消息可信。
前文是概要,因此必要地包含了简化、概括、以及细节省略;因此,本领域的技术人员应当理解,该概要仅是示例性的,并且不意欲以任何方式进行限制。在如下所述的非限制性详细描述中,仅仅由权利要求限定的本发明的其它方面、创新性特征、以及优点将会变得清楚。
附图说明
通过参考附图,可以更好地理解本发明,并且本发明的许多目的、特征以及优点对于本领域的技术人员而言将会变得清楚。在不同的附图中使用相同的附图标记表示类似或相同的项目。
图1是示出在源处对消息进行加密、以加密的形式在不安全的介质上传送、以及在目标处对消息进行解密的方框图;
图2是示出用于使用三阶段加密处理对消息进行加密的系统的方框图;
图3是示出用于使用三阶段解密处理对消息进行解密的系统的方框图;
图4是示出用于接收、加密、以及传送消息的方法的流程图;
图5是示出用于使用三阶段加密处理对消息进行加密的方法的流程图;
图6是示出用于接收加密文本、对加密文本进行解密、并且从所解密的文本提取消息的方法的流程图;
图7是示出用于使用三阶段解密处理对加密消息进行解密的方法的流程图;
图8是示出用于验证所接收并解密的消息的完整性的方法的流程图;以及
图9示出了信息处理系统,其是能够执行在此所述的操作的计算机系统的简化例子。
具体实施方式
下文意欲提供对本发明例子的详细描述,并且不应当被认为是限制本发明本身。相反地,各种变化可以落在本描述所附权利要求中所限定的本发明的范围内。
图1是示出在源处对消息进行加密、以加密的形式在不安全的介质上传送、以及在目标处对消息进行解密的方框图。源110被配置成接收明文消息并且构造明文信包120。在一个实施例中,明文信包120包括明文消息以及在源处生成的附加数和字段。椭圆160示出了明文信包120的较大图像。在一个实施例中,信包120包含N个块P0-PN-1,其包括随机数S、表示填充字段长度的数、消息“Hello!”、填充字段、以及随机数R。源110使用主密钥M 115和三阶段加密处理对明文信包120进行加密,从而创建N个密文块C0-CN-1。然后,使用密文和其它控制数构造受保护文本信包130,并且通过不安全介质125将其传送。椭圆160示出受保护文本信包130的较大图像。在一个实施例中,信包130包含表示受保护文本信包长度的数、控制随机数R、以及密文。
目标135被配置成接收消息并且使用在源和目标之间共享的主密钥M140对所提取的密文进行解密。解密后,目标恢复明文信包145,其中,除非在通过不安全介质125传送期间密文被改变,否则所恢复的明文信包145应该与明文信包120相同。
图2是示出用于使用三阶段加密处理对消息进行加密的系统的方框图。加密设备210被配置成接收明文信包P的N个块P0-PN-1,并且生成密文C的N个块C0-CN-1。加密设备210包括:N-1个异或模块220、...、222和224;N-1个异或模块242、244、...、246;N-1个异或模块256、...、258和260;N个加密模块212、214、...、216和218;N个加密模块226、228、...、230、和232;以及N个加密模块248、250、...、252和254。异或模块被配置成通过对该模块的两个输入执行按位“异或”操作而生成输出。加密模块被配置成根据下式生成输出:
Out = E nc K i ( In )
函数Enc()可以是任何块密码加密/解密算法的加密函数,而Ki是在源处生成的三个密钥K1、K2和K3中的一个。在加密模块212-218中使用第一密钥,在加密模块226-232中使用第二密钥,而在加密模块248-254中使用第三密钥。根据下式生成这三个密钥:
Ki=DecM(Ri),i=1,2,3
Dec()可以是任何块密码加密/解密算法的解密函数,M是秘密主密钥,而是“异或”操作符。
最初,将块P0输入到加密模块212中,以生成中间块A0。然后,将块A0和块P1输入到异或模块220中,并且将来自异或模块220的输出输入到加密模块214中,以生成中间块A1。重复该处理,直至将块AN-2和块PN-1输入到异或模块224中,并且将来自异或模块224的输出输入到加密模块218中,以生成中间块AN-1,从而完成加密处理的第一阶段。
加密处理的第二阶段以将中间块AN-1输入到加密模块232中以生成中间块BN-1开始。然后,将块AN-2输入到加密模块230中,并且将来自加密模块230的输出和块AN-1输入到异或模块246中,以生成中间块BN-2。重复该处理,直至将块A1输入到加密模块226中,并且将来自加密模块226的输出和块A0输入到异或模块242中,以生成中间块B0,从而完成加密处理的第二阶段。
加密处理的第三阶段以将中间块B0输入到加密模块248中以生成密文块C0开始。然后,将块B1输入到加密模块250中,并且将来自加密模块250的输出和块B0输入到异或模块256中,以生成密文块C1。重复该处理,直至将块BN-1输入到加密模块254中,并且将来自加密模块254的输出和块BN-2输入到异或模块260中,以生成密文块CN-1,从而完成加密处理的第三阶段。
图3是示出用于使用三阶段解密处理对消息进行解密的系统的方框图。解密设备310被配置成接收密文C的N个块C0-CN-1,并且生成明文信包P的N个块P0-PN-1。解密设备310包括:N-1个异或模块320、...、322和324;N-1个异或模块334、236、...、338;N-1个异或模块348、...、350和352;N个解密模块312、314、...、316和318;N个解密模块326、328、...、330和332;以及N个解密模块340、342、...、344和346。异或模块被配置成通过对该模块的两个输入执行按位“异或”操作而生成输出。解密模块被配置成根据下式生成输出:
Out = Dec K i ( In )
函数Enc()可以是任何块密码算法的解密函数,而Ki是由目标生成的三个密钥K1、K2和K3中的一个。在解密模块312-318中使用第三密钥,在解密模块326-332中使用第二密钥,而在解密模块340-346中使用第一密钥。根据下式生成这三个密钥:
Ki=DecM(Ri),i=1,2,3
Dec()可以是任何块密码加密/解密算法的解密函数,M是秘密主密钥,而是“异或”操作符。
最初,将块C0输入到解密模块312中,以生成中间块B0。然后,将块B0和块C1输入到异或模块320中,并且将来自异或模块320的输出输入到解密模块314中,以生成中间块B1。重复该处理,直至将块CN-2和块CN-1输入到异或模块324中,并且将来自异或模块324的输出输入到解密模块318中,以生成中间块BN-1,从而完成解密处理的第一阶段。
解密处理的第二阶段以将中间块BN-1输入到解密模块332中以生成中间块AN-1开始。然后,将块BN-2和块AN-1输入到异或模块338中,并且将来自模块338的输出输入到解密模块330中,以生成中间块AN-2。重复该处理,直至将块A1和中间块B0输入到异或模块334中,并且将来自异或模块334的输出输入到解密模块326中,以生成中间块A0,从而完成解密处理的第二阶段。
解密处理的第三阶段以将中间块A0输入到解密模块340中以生成明文块P0开始。然后,将块A1输入到解密模块342中,并且将来自解密模块342的输出和块A0输入到异或模块348中,以生成明文块P1。重复该处理,直至将块AN-1输入到解密模块346中,并且将来自解密模块346的输出和块AN-2输入到异或模块352中,以生成明文块PN-1,从而完成解密处理的第三阶段。
图4是示出用于接收、加密、以及传送消息的方法的流程图。处理以400开始,随后,在步骤410,由源接收秘密主密钥M。在源和目标之间共享相同的秘密主密钥M。可以从存储单元415接收秘密主密钥M。可以频繁地改变秘密主密钥,以保证该密钥的机密性。在步骤420,可以从存储单元425接收要被加密的消息。在步骤430,生成两个固定尺寸的随机数(S和R)。
然后,在判定步骤435,确定是否需要填充字段来构造明文信包。使用固定尺寸的随机数S、表示填充字段(若有的话)的长度的数、要被加密的消息、填充字段、以及固定尺寸的随机数R形成明文信包。在明文信包的加密采用块密码加密算法的实施例中,信包的尺寸(长度)必须是密码块尺寸的整数倍。例如,AES块密码算法的块尺寸是128位。如果消息、S、R、以及表示填充字段长度的数的长度是密码块尺寸的整数倍,则判定步骤435分支到“是”分支445,随后,在步骤455继续处理。
如果消息、S、R、以及表示填充字段长度的数的长度不是密码块尺寸的整数倍,则判定步骤435分支到“否”分支440,随后,在步骤450,生成包含任意码型的填充字段。填充字段的长度被选择成提供具有密码块尺寸的整数倍的长度的明文信包。在步骤455,生成明文信包P。在一个实施例中,信包P包含:固定尺寸的随机数S、表示填充字段的长度的数、要被加密的消息、填充字段、以及固定尺寸的随机数R。信包P包含N个尺寸相等的块P0-PN-1
在步骤460,使用三阶段加密处理对明文信包P进行加密,以构造受保护文本信包。在图5的流程图中示出了加密处理的更多细节。在步骤460,通过诸如因特网的不安全介质将受保护文本信包传送到目标。
图5是示出用于使用三阶段加密处理对消息进行加密的方法的流程图。处理以500开始,随后,在510,使用块密码算法的解密函数,从随机数R和秘密主密钥生成三个密钥。在一个实施例中,可以根据下式生成这三个密钥:
Ki=DecM(Ri),i=1,2,3
Dec()可以是任何块密码加密/解密算法的解密函数,M是秘密主密钥,而是“异或”操作符。
在步骤515,执行三阶段加密的三个阶段中的第一个。使用根据下式的加密函数,从明文信包的N个块和第一密钥生成N个中间块A(A0-AN-1):
A i = Enc K 1 ( P i ) i = 0 Enc K 1 ( P i ⊕ A i - 1 ) i = 1,2 , . . . , N - 1
Enc()可以是块密码加密/解密算法的加密函数。
在步骤520,执行三阶段加密的三个阶段中的第二个。使用根据下式的加密函数,从N个中间A块和第二密钥K2生成N个中间块B(B0-BN-1):
B i = Enc K 2 ( A i ) i = N - 1 A i + 1 ⊕ Enc K 2 ( A i ) i = N - 2 , N - 3 , . . . , 0
在步骤525,执行三阶段加密的第三且最后阶段。使用根据下式的加密函数,从N个中间块B和第三密钥K3生成N个密文块C(C0-CN-1):
C i = Enc K 3 ( B i ) i = 0 B i + 1 ⊕ Enc K 3 ( B i ) i = 1,2 , . . . , N - 1
然后,构造受保护文本信包。在一个实施例中,受保护文本信包包含:信包长度、随机数R、以及密文块C。在599,处理结束。
图6是示出用于接收加密文本、对加密文本进行解密、并且从所解密的文本提取消息的方法的流程图。处理以600开始,随后,在步骤610,通过诸如因特网的不安全介质接收受保护文本信包。在一个实施例中,受保护文本信包包含:信包长度、随机数R、以及N个密文块C。密文块通常包含加密形式的消息。在步骤615,从受保护文本信包提取信包长度、随机数R、以及密文块C。在步骤620,对密文块进行解密,以恢复明文信包的N个块。在图7的流程图中提供了关于解密的更多细节。在一个实施例中,明文信包包含:固定尺寸的随机数R、表示包含在信包中的填充字段的长度的数、消息、填充字段、以及随机数R的附加拷贝。然后,在步骤625,提取明文消息。在步骤630,确定消息的完整性。在图8的流程图中提供了关于完整性确定的更详细描述。在699,处理结束。
图7是示出用于使用三阶段处理对加密消息进行解密的方法的流程图。处理以700开始,随后,在710,使用密码算法的解密函数,从所提取的随机数R和秘密主密钥M生成三个密钥。在一个实施例中,根据下式生成这三个密钥:
Ki=DecM(Ri),i=1,2,3
Dec()可以是任何块密码加密/解密算法的解密函数,M是秘密主密钥,而是“异或”操作符。
在步骤715,执行三阶段解密的三个阶段中的第一个。使用根据下式的解密函数,根据从所接收的受保护文本信包提取的N个密文块C和第一密钥K1,重新生成N个中间块B(B0-BN-1):
B i = Dec K 3 ( C i ) i = 0 Dec K 3 ( C i ⊕ B i - 1 ) i = 1,2 , . . . , N - 1
在步骤720,执行三阶段解密的三个阶段中的第二个。使用根据下式的解密函数,从N个中间B块和第二密钥K2重新生成N个中间块A(A0-AN-1):
A i = Dec K 2 ( B i ) i = N - 1 Dec K 2 ( B i ⊕ A i - 1 ) i = N - 2 , N - 3 , . . . , 0
在步骤725,执行三阶段解密的第三且最后阶段。使用根据下式的加密函数,从N个中间A块和第三密钥K3重新生成明文信包的N个块(P0-PN-1):
P i = Dec K 1 ( A i ) i = 0 A i - 1 ⊕ Dec K 1 ( A i ) i = 1,2 , . . . , N - 1
图8是示出用于验证所解密消息的完整性的方法的流程图。在步骤810,从所解密的明文信包P中提取随机数R的第二拷贝。从受保护文本信包C中提取随机数R的第一拷贝。然后,在判定步骤815,确定从明文信包提取的随机数R是否等于从受保护文本信包R提取的随机数R。如果这两个数相等,则判定步骤815分支到“是”分支820,随后,在步骤830,确定所解密的消息可信。换句话说,确定在通过不安全介质传送消息时不大可能有任何人篡改了该消息。如果这两个数不相等,则判定步骤815分支到“否”分支825,随后,在步骤835,确定所解密的消息不可信。换句话说,确定在通过不安全介质传送消息时很有可能有人篡改了该消息。在899,处理结束。
图9示出了信息处理系统901,其是能够执行在此所述的计算操作的计算机系统的简化例子。计算机系统901包括耦接到主机总线902的处理器900。第二级(L2)高速缓冲存储器904也耦接到主机总线902。主机到PCI桥906耦接到主存储器908,包括高速缓冲存储器和主存储器控制功能,并且提供总线控制,以处理PCI总线910、处理器900、L2高速缓冲存储器904、主存储器908、以及主机总线902之间的传输。主存储器908耦接到主机到PCI桥906以及主机总线902。由(一个或多个)主机处理器900专用的设备如LAN卡930耦接到PCI总线910。服务处理器接口和ISA访问通道(AccessPass-through)912提供PCI总线910和PCI总线914之间的接口。以这种方式,PCI总线914与PCI总线910相隔离。诸如闪存918的设备耦接到PCI总线914。在一种实现中,闪存918包括BIOS代码,其包括了对于各种低级系统功能和系统引导功能必要的处理器可执行代码。
PCI总线914为由(一个或多个)主机处理器900和服务处理器916共享的各种设备——包括例如闪存918——提供接口。PCI到ISA桥935提供用来处理PCI总线914与ISA总线940之间的传输的总线控制、通用串行总线(USB)功能性945、电源管理功能性955,并且可以包括其它没有示出的功能元件,例如实时时钟(RTC)、DMA控制、中断支持、以及系统管理总线支持。非易失性RAM 920附连到ISA总线940。服务处理器916包括用于在初始化步骤期间与(一个或多个)处理器900通信的JTAG和I2C总线922。JTAG/I2C总线922还耦接到L2高速缓冲存储器904、主机到PCI桥906,以及主存储器908,从而提供处理器、服务处理器、L2高速缓冲存储器、主机到PCI桥、和主存储器之间的通信路径。服务处理器916还可以访问系统电源资源,以便使信息处理设备901掉电。
外围设备和输入/输出(I/O)设备可以附连到各种接口(例如,耦接到ISA总线940的并行接口962、串行接口964、键盘接口968、以及鼠标接口970)。可选地,通过附连到ISA总线940的超级I/O控制器(未示出)可以容纳很多I/O设备。
为了将计算机系统901附连到另一计算机系统以通过网络拷贝文件,将LAN卡930耦接到PCI总线910。类似地,为了将计算机系统901连接到ISP以使用电话线连接而连接到因特网,将调制解调器975连接到串行接口964和PCI到ISA桥935。
虽然在图9中所述的计算机系统能够执行在此所述的处理,但是该计算机系统仅仅是计算机系统的一个示例。本领域的技术人员应当理解,很多其它计算机系统设计也能够执行在此所述的处理。
本发明的优选实现之一是应用程序,也就是,例如可以驻留在计算机的随机存取存储器中的代码模块内的一组指令(程序代码)。在计算机需要之前,这组指令可以被存储在另一计算机存储器中,例如,在硬盘驱动器上、或者在可移动存储装置如光盘(最终在CD ROM中使用)或软盘(最终在软盘驱动器中使用)中,或者通过因特网或其它计算机网络下载。因此,本发明可以被实现为在计算机中使用的计算机程序产品。另外,虽然所述各种方法可以在通过软件选择性地激活或再配置的通用计算机中方便地实现,但是本领域的普通技术人员应当理解,这些方法也可以用硬件、固件、或者被构造成执行所需方法步骤的更专用设备实现。
虽然已经示出并描述了本发明的具体实施例,但是对于本领域的技术人员将显而易见的是,基于这里的示教,可以进行各种改变和修改而不脱离本发明及其较宽方面,因此,所附权利要求将处于本发明的真实精神和范围内的所有这些改变和修改囊括在其范围内。此外,应当理解,本发明仅由所附权利要求限定。本领域的技术人员应当理解,如果想要特定数目的所引导的权利要求元素,则需要在权利要求中明确表达该意图,并且在缺少这种表述的情况下,则不存在这样的限制。作为非限制性示例,为有助于理解起见,所附权利要求包含引导性短语“至少一个”和“一个或多个”的使用来引导权利要求元素。然而,使用这样的短语不应当被解释成,由诸如“a”或“an”的不定冠词引导权利要求元素将会限制包含这样引导的权利要求元素的任何特定权利要求为仅包含一个这样的元素,即使当同一权利要求包括引导性短语“至少一个”或“一个或多个”以及诸如“a”或“an”的不定冠词时也是如此;这同样适用于权利要求中定冠词的使用。
工业实用性
本发明用于要求通过加密、解密以及验证消息的完整性而实现的对安全消息传送和接收的系统。

Claims (57)

1.一种用于对消息进行加密的方法,该方法包括:
接收明文;
生成第一密钥(K1)、第二密钥(K2)、以及第三密钥(K3);
从明文和第一密钥(K1)生成第一中间值;
从第一中间值和第二密钥(K2)生成第二中间值;以及
从第二中间值和第三密钥(K3)生成密文消息。
2.如权利要求1所述的方法,还包括接收秘密主密钥(M)。
3.如权利要求1所述的方法,还包括生成第一随机数和第二随机数。
4.如权利要求1所述的方法,还包括生成填充字段,以使得明文消息、第一随机数、第二随机数、填充字段、以及表示填充字段长度的数的长度是块密码算法的块尺寸的整数倍。
5.如权利要求1所述的方法,还包括构造明文信包,其包括:明文消息、第一随机数、第二随机数、填充字段、以及表示填充字段长度的数。
6.如权利要求1所述的方法,其中生成第一中间值包括从明文信包和第一密钥生成第一中间值。
7.如权利要求1所述的方法,还包括构造受保护文本信包,所述受保护文本信包包括:表示受保护文本信包的长度的数、第一随机值、以及密文消息。
8.如权利要求1所述的方法,还包括通过不安全介质将受保护文本信包传送到目标。
9.如权利要求1所述的方法,其中生成第一密钥、第二密钥、以及第三密钥包括从秘密主密钥和第一随机数生成第一密钥、第二密钥、以及第三密钥。
10.如权利要求1所述的方法,其中生成第一密钥、第二密钥、以及第三密钥包括使用块密码算法的解密函数从秘密主密钥和第一随机数生成第一密钥、第二密钥、以及第三密钥。
11.如权利要求1所述的方法,其中生成第一中间值、第二中间值、以及密文消息包括使用块密码算法的加密函数。
12.一种用于对密文消息进行解密的方法,该方法包括:
接收密文;
生成第一密钥、第二密钥、以及第三密钥;
从密文和第一密钥生成第一中间值;
从第一中间值和第二密钥生成第二中间值;以及
从第二中间值和第三密钥生成明文信包。
13.如权利要求12所述的方法,
其中接收还包括接收第一控制数,并且
其中明文信包包括明文消息和第二控制数。
14.如权利要求12所述的方法,还包括:
如果第一控制数等于第二控制数,则将所接收密文的完整性设置成“可信”设置;以及
如果第一控制数不等于第二控制数,则将所接收密文的完整性设置成“不可信”设置。
15.如权利要求12所述的方法,还包括接收秘密主密钥。
16.如权利要求12所述的方法,其中生成第一密钥、第二密钥、以及第三密钥包括从秘密主密钥和第一控制数生成第一密钥、第二密钥、以及第三密钥。
17.如权利要求12所述的方法,其中生成第一密钥、第二密钥、以及第三密钥包括使用块密码算法的解密函数从秘密主密钥和第一控制数生成第一密钥、第二密钥、以及第三密钥。
18.如权利要求12所述的方法,其中生成第一中间值、第二中间值、以及明文信包包括使用块密码算法的解密函数。
19.如权利要求12所述的方法,还包括通过安全介质而从源接收密文。
20.一种信息处理系统,包括:
一个或多个处理器;
从处理器可访问的存储器;
从处理器可访问的接收器,用于接收数据;
对消息进行加密的消息加密工具,该消息加密工具被使得能够:
在接收器处接收明文;
生成第一密钥、第二密钥、以及第三密钥;
从明文和第一密钥生成第一中间值;
从第一中间值和第二密钥生成第二中间值;以及
从第二中间值和第三密钥生成密文消息。
21.如权利要求20所述的信息处理系统,其中消息加密工具还被使得能够接收秘密主密钥。
22.如权利要求20所述的信息处理系统,其中消息加密工具还被使得能够生成第一随机数和第二随机数。
23.如权利要求20所述的信息处理系统,其中消息加密工具还被使得能够生成填充字段,以使得明文消息、第一随机数、第二随机数、填充字段、以及表示填充字段长度的数的长度是块密码算法的块尺寸的整数倍。
24.如权利要求20所述的信息处理系统,其中消息加密工具还被使得能够构造明文信包,其包括:明文消息、第一随机数、第二随机数、填充字段、以及表示填充字段长度的数。
25.如权利要求20所述的信息处理系统,其中,为了生成第一中间值,消息加密工具还被使得能够从明文信包和第一密钥生成第一中间值。
26.如权利要求20所述的信息处理系统,其中消息加密工具还被使得能够构造受保护文本信包,所述受保护文本信包包括:表示受保护文本信包长度的数、第一随机值、以及密文消息。
27.如权利要求20所述的信息处理系统,其中消息加密工具还被使得能够通过不安全介质受保护文本信包传送到目标。
28.如权利要求20所述的信息处理系统,其中,为了生成第一密钥、第二密钥、以及第三密钥,消息加密工具还被使得能够从秘密主密钥和第一随机数生成第一密钥、第二密钥、以及第三密钥。
29.如权利要求20所述的信息处理系统,其中,为了生成第一密钥、第二密钥、以及第三密钥,消息加密工具还被使得能够使用块密码算法的解密函数从秘密主密钥和第一随机数生成第一密钥、第二密钥、以及第三密钥。
30.如权利要求20所述的信息处理系统,其中,为了生成第一中间值、第二中间值、以及密文消息,消息加密工具还被使得能够使用块密码算法的加密函数。
31.一种信息处理系统,包括:
一个或多个处理器;
从处理器可访问的存储器;
从处理器可访问的接收器,用于接收数据;
对消息进行解密的消息解密工具,该消息解密工具被使得能够:
在接收器处接收密文;
生成第一密钥、第二密钥、以及第三密钥;
从密文和第一密钥生成第一中间值;
从第一中间值和第二密钥生成第二中间值;以及
从第二中间值和第三密钥生成明文信包。
32.如权利要求31所述的信息处理系统,
其中,为了接收密文,消息解密工具还被使得能够接收第一控制数;以及
其中明文信包包括明文消息和第二控制数。
33.如权利要求31所述的信息处理系统,其中消息解密工具还被使得能够:
如果第一控制数等于第二控制数,则将所接收密文的完整性设置成“可信”设置;以及
如果第一控制数不等于第二控制数,则将所接收密文的完整性设置成“不可信”设置。
34.如权利要求31所述的信息处理系统,其中消息解密工具还被使得能够接收秘密主密钥。
35.如权利要求31所述的信息处理系统,其中,为了生成第一密钥、第二密钥、以及第三密钥,消息解密工具还被使得能够从秘密主密钥和第一控制数生成第一密钥、第二密钥、以及第三密钥。
36.如权利要求31所述的信息处理系统,其中,为了生成第一密钥、第二密钥、以及第三密钥,消息解密工具还被使得能够使用块密码算法的解密函数从秘密主密钥和第一控制数生成第一密钥、第二密钥、以及第三密钥。
37.如权利要求31所述的信息处理系统,其中,为了生成第一中间值、第二中间值、以及明文信包,消息解密工具还被使得能够使用块密码算法的解密函数。
38.如权利要求31所述的信息处理系统,其中消息解密工具还被使得能够通过不安全介质而从源接收密文。
39.一种存储在计算机可操作介质上的计算机程序产品,用于对消息进行加密,该计算机程序产品包括:
用于接收明文的装置;
用于生成第一密钥、第二密钥、以及第三密钥的装置;
用于从明文和第一密钥生成第一中间值的装置;
用于从第一中间值和第二密钥生成第二中间值的装置;以及
用于从第二中间值和第三密钥生成密文消息的装置。
40.如权利要求39所述的计算机程序产品,还包括用于接收秘密主密钥的装置。
41.如权利要求39所述的计算机程序产品,还包括用于生成第一随机数和第二随机数的装置。
42.如权利要求39所述的计算机程序产品,还包括用于生成填充字段,以使得明文消息、第一随机数、第二随机数、填充字段、以及表示填充字段长度的数的长度是块密码算法的块尺寸的整数倍的装置。
43.如权利要求39所述的计算机程序产品,还包括用于构造明文信包的装置,该明文信包包括:明文消息、第一随机数、第二随机数、填充字段、以及表示填充字段长度的数。
44.如权利要求39所述的计算机程序产品,其中用于生成第一中间值的装置包括用于从明文信包和第一密钥生成第一中间值的装置。
45.如权利要求39所述的计算机程序产品,还包括用于构造受保护文本信包的装置,该受保护文本信包包括:表示受保护文本信包的长度的数、第一随机值、以及密文消息。
46.如权利要求39所述的计算机程序产品,还包括用于通过不安全介质将受保护文本信包传送到目标的装置。
47.如权利要求39所述的计算机程序产品,其中用于生成第一密钥、第二密钥、以及第三密钥的装置包括用于从秘密主密钥和第一随机数生成第一密钥、第二密钥、以及第三密钥的装置。
48.如权利要求39所述的计算机程序产品,其中用于生成第一密钥、第二密钥、以及第三密钥的装置包括用于使用块密码算法的解密函数从秘密主密钥和第一随机数生成第一密钥、第二密钥、以及第三密钥的装置。
49.如权利要求39所述的计算机程序产品,其中用于生成第一中间值、第二中间值、以及密文消息的装置包括用于使用块密码算法的加密函数的装置。
50.一种用于对密文消息进行解密的计算机程序产品,该计算机程序产品包括:
用于接收密文的装置;
用于生成第一密钥、第二密钥、以及第三密钥的装置;
用于从密文和第一密钥生成第一中间值的装置;
用于从第一中间值和第二密钥生成第二中间值的装置;以及
用于从第二中间值和第三密钥生成明文信包的装置。
51.如权利要求50所述的计算机程序产品,
其中接收还包括用于接收第一控制数的装置,并且
其中明文信包包括明文消息和第二控制数。
52.如权利要求50所述的计算机程序产品,还包括用于设置所接收密文的完整性的装置,其中:
如果第一控制数等于第二控制数,则将所接收密文的完整性设置成“可信”设置;以及
如果第一控制数不等于第二控制数,则将所接收密文的完整性设置成“不可信”设置。
53.如权利要求50所述的计算机程序产品,还包括用于接收秘密主密钥的装置。
54.如权利要求50所述的计算机程序产品,其中用于生成第一密钥、第二密钥、以及第三密钥的装置包括用于从秘密主密钥和第一控制数生成第一密钥、第二密钥、以及第三密钥的装置。
55.如权利要求50所述的计算机程序产品,其中用于生成第一密钥、第二密钥、以及第三密钥的装置包括用于使用块密码算法的解密函数从秘密主密钥和第一控制数生成第一密钥、第二密钥、以及第三密钥的装置。
56.如权利要求50所述的计算机程序产品,其中用于生成第一中间值、第二中间值、以及明文信包的装置包括使用块密码算法的解密函数。
57.如权利要求50所述的计算机程序产品,还包括用于通过不安全介质而从源接收密文的装置。
CN2003801104205A 2003-06-19 2003-10-20 用于使用三阶段加密来加密和验证消息的系统和方法 Expired - Fee Related CN1820448B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/464,891 US6996233B2 (en) 2003-06-19 2003-06-19 System and method for encrypting and verifying messages using three-phase encryption
US10/464,891 2003-06-19
PCT/US2003/033380 WO2005006642A1 (en) 2003-06-19 2003-10-20 System and method for encrypting and verifying messages using three-phase encryption

Publications (2)

Publication Number Publication Date
CN1820448A true CN1820448A (zh) 2006-08-16
CN1820448B CN1820448B (zh) 2012-09-12

Family

ID=33563713

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2003801104205A Expired - Fee Related CN1820448B (zh) 2003-06-19 2003-10-20 用于使用三阶段加密来加密和验证消息的系统和方法

Country Status (6)

Country Link
US (1) US6996233B2 (zh)
KR (1) KR100834364B1 (zh)
CN (1) CN1820448B (zh)
AU (1) AU2003282981A1 (zh)
TW (1) TWI273809B (zh)
WO (1) WO2005006642A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100594691C (zh) * 2007-10-09 2010-03-17 华中科技大学 Manet网络的数据传递加密方法
CN101924632A (zh) * 2010-09-07 2010-12-22 西南交通大学 一种分路加密传输交易信息的可靠传递方法
CN101409618B (zh) * 2008-11-24 2011-01-26 农革 一种多读者文档加密和解密方法
CN107070637A (zh) * 2017-01-13 2017-08-18 广东技术师范学院天河学院 一种交叠分组的数据加解密方法
CN110678865A (zh) * 2017-05-22 2020-01-10 微软技术许可有限责任公司 分布式软件服务的高完整性日志

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8650409B1 (en) * 2004-09-15 2014-02-11 Altera Corporation FPGA configuration data scrambling using input multiplexers
US7685631B1 (en) * 2003-02-05 2010-03-23 Microsoft Corporation Authentication of a server by a client to prevent fraudulent user interfaces
US7617158B2 (en) * 2004-03-22 2009-11-10 Telefonaktiebolaget L M Ericsson (Publ) System and method for digital rights management of electronic content
US7725715B2 (en) * 2005-02-24 2010-05-25 Access Business Group International Llc System and method for three-phase data encryption
US7352621B2 (en) * 2005-06-23 2008-04-01 Intel Corporation Method for enhanced block management
KR20070076848A (ko) * 2006-01-20 2007-07-25 삼성전자주식회사 카드 인증 시스템의 보안레벨을 향상시키는 장치 및 방법
KR100746033B1 (ko) * 2006-02-17 2007-08-06 삼성전자주식회사 무결성 측정 장치 및 방법
KR100864092B1 (ko) 2006-11-23 2008-10-16 한국전자통신연구원 블록암호의 블록 체이닝 모드를 사용한 패킷 암호화 방법,이를 이용한 패킷 암/복호화 서비스 제공 방법
EP2116030A4 (en) * 2007-01-30 2012-12-05 Datasci Llc SYSTEMS AND METHOD FOR FILTRATING MOBILE PHONE MESSAGES
KR100954224B1 (ko) 2007-11-06 2010-04-21 한국전자통신연구원 오프셋 코드북 암호화 장치
CA2735183A1 (en) * 2008-08-28 2010-03-04 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for a digital subscriber line
US9066117B2 (en) * 2012-02-08 2015-06-23 Vixs Systems, Inc Container agnostic encryption device and methods for use therewith
US9154471B2 (en) 2013-11-26 2015-10-06 At&T Intellectual Property I, L.P. Method and apparatus for unified encrypted messaging
SG11202001001WA (en) * 2017-08-31 2020-03-30 Visa Int Service Ass Single node multi-party encryption

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4941176A (en) * 1988-08-11 1990-07-10 International Business Machines Corporation Secure management of keys using control vectors
US5157567A (en) * 1990-12-05 1992-10-20 Seagate Technology, Inc. Composite disk drive head assembly having an improved core-to-slider bond
US5517567A (en) * 1994-08-23 1996-05-14 Daq Electronics Inc. Key distribution system
US5544086A (en) * 1994-09-30 1996-08-06 Electronic Payment Services, Inc. Information consolidation within a transaction network
US5727062A (en) * 1995-07-06 1998-03-10 Ritter; Terry F. Variable size block ciphers
US7685423B1 (en) * 2000-02-15 2010-03-23 Silverbrook Research Pty Ltd Validation protocol and system
CN1365088A (zh) * 2001-01-19 2002-08-21 南相浩 密钥多重算法和多层存储法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100594691C (zh) * 2007-10-09 2010-03-17 华中科技大学 Manet网络的数据传递加密方法
CN101409618B (zh) * 2008-11-24 2011-01-26 农革 一种多读者文档加密和解密方法
CN101924632A (zh) * 2010-09-07 2010-12-22 西南交通大学 一种分路加密传输交易信息的可靠传递方法
CN101924632B (zh) * 2010-09-07 2012-05-09 西南交通大学 一种分路加密传输交易信息的可靠传递方法
CN107070637A (zh) * 2017-01-13 2017-08-18 广东技术师范学院天河学院 一种交叠分组的数据加解密方法
CN110678865A (zh) * 2017-05-22 2020-01-10 微软技术许可有限责任公司 分布式软件服务的高完整性日志

Also Published As

Publication number Publication date
AU2003282981A1 (en) 2005-01-28
CN1820448B (zh) 2012-09-12
TWI273809B (en) 2007-02-11
TW200518549A (en) 2005-06-01
WO2005006642A1 (en) 2005-01-20
US20050008162A1 (en) 2005-01-13
US6996233B2 (en) 2006-02-07
KR100834364B1 (ko) 2008-06-02
KR20060019548A (ko) 2006-03-03

Similar Documents

Publication Publication Date Title
CN1820448A (zh) 用于使用三阶段加密来加密和验证消息的系统和方法
CN102664740B (zh) 一种基于远程授权的招投标文件加解密方法
CN109005027B (zh) 一种随机数据加解密法、装置及系统
CN1801693A (zh) 分组加密算法中对短分组的处理方法
JP2004363739A (ja) 改竄検知可能な、共通鍵暗号の暗号化装置または復号化装置
Terec et al. DNA security using symmetric and asymmetric cryptography
CN113726725A (zh) 一种数据加解密方法、装置、电子设备及存储介质
CN1551559A (zh) 密码系统中基于用户定义识别码编制公用密钥的方法及装置
KR20160020866A (ko) 폐쇄형 네트워크에서 암복호화 서비스 제공 시스템 및 방법
CN107534558A (zh) 用于保护经由数据总线传输的数据的信息安全的方法以及数据总线系统
CN114826590A (zh) 一种分组模式加密方法、解密方法及其装置、设备
CN111556004A (zh) 混合式双重网络加密系统
JP5992651B2 (ja) 暗号化方法、プログラム、および、システム
US7539305B2 (en) Schryption method and device
CN115632765A (zh) 加密方法、解密方法、装置、电子设备及存储介质
Al-Smadi et al. Files cryptography based on one-time pad algorithm
Soni Performance Analysis of Cascaded Hybrid Symmetric Encryption Models
KR100388059B1 (ko) 비대칭키 암호 알고리즘을 이용한 데이터 암호화 시스템및 그 방법
CN107483387A (zh) 一种安全控制方法及装置
JP2015082077A (ja) 暗号化装置、制御方法、及びプログラム
Gangodkar et al. Enhancing Network Security with A Hybrid Cryptography Method
CN117221878B (zh) 一种基于无线网络设备的信息安全管控方法及装置
CN114070566B (zh) 一种信息传输的方法、提供方平台、使用方平台和存储介质
US20220393853A1 (en) Method and devices for creating redundancy and encryption using mojette transform
Vaida et al. Alternative DNA Security using BioJava

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120912

Termination date: 20151020

EXPY Termination of patent right or utility model