CN1820448B - 用于使用三阶段加密来加密和验证消息的系统和方法 - Google Patents
用于使用三阶段加密来加密和验证消息的系统和方法 Download PDFInfo
- Publication number
- CN1820448B CN1820448B CN2003801104205A CN200380110420A CN1820448B CN 1820448 B CN1820448 B CN 1820448B CN 2003801104205 A CN2003801104205 A CN 2003801104205A CN 200380110420 A CN200380110420 A CN 200380110420A CN 1820448 B CN1820448 B CN 1820448B
- Authority
- CN
- China
- Prior art keywords
- key
- piece
- generate
- text
- median
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/22—Arrangements for preventing the taking of data from a data transmission channel without authorisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/08—Randomization, e.g. dummy operations or using noise
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details 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包括明文消息以及在源处生成的附加数和字段。椭圆150示出了明文信包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。异或模块被配置成通过对该模块的两个输入执行按位“异或”操作而生成输出。加密模块被配置成根据下式生成输出:
函数Enc()可以是任何块密码加密/解密算法的加密函数,而Ki是在源处生成的三个密钥K1、K2和K3中的一个。在加密模块212-218中使用第一密 钥,在加密模块226-232中使用第二密钥,而在加密模块248-254中使用第三密钥。根据下式生成这三个密钥:
最初,将块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。异或模块被配置成通过对该模块的两个输入执行按位“异或”操作而生成输出。解密模块被配置成根据下式生成输出:
函数Dec()可以是任何块密码算法的解密函数,而Ki是由目标生成的三个密钥K1、K2和K3中的一个。在解密模块312-318中使用第三密钥,在解密模块326-332中使用第二密钥,而在解密模块340-346中使用第一密钥。根据下式生成这三个密钥:
最初,将块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的流程图中示出了加密处理的更多细节。在步骤465,通过诸如因特网的不安全介质将受保护文本信包传送到目标。
图5是示出用于使用三阶段加密处理对消息进行加密的方法的流程图。处理以500开始,随后,在510,使用块密码算法的解密函数,从随机数R和秘密主密钥生成三个密钥。在一个实施例中,可以根据下式生成这三个密钥:
在步骤515,执行三阶段加密的三个阶段中的第一个。使用根据下式的加密函数,从明文信包的N个块和第一密钥生成N个中间块A(A0-AN-1):
Enc()可以是块密码加密/解密算法的加密函数。
在步骤520,执行三阶段加密的三个阶段中的第二个。使用根据下式的加密函数,从N个中间A块和第二密钥K2生成N个中间块B(B0-BN-1):
在步骤525,执行三阶段加密的第三且最后阶段。使用根据下式的加密函数,从N个中间块B和第三密钥K3生成N个密文块C(C0-CN-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生成三个密钥。在一个实施例中,根据下式生成这三个密钥:
在步骤715,执行三阶段解密的三个阶段中的第一个。使用根据下式的解密函数,根据从所接收的受保护文本信包提取的N个密文块C和第一密钥K1,重新生成N个中间块B(B0-BN-1):
在步骤720,执行三阶段解密的三个阶段中的第二个。使用根据下式的解密函数,从N个中间B块和第二密钥K2重新生成N个中间块A(A0-AN-1):
在步骤725,执行三阶段解密的第三且最后阶段。使用根据下式的加密函数,从N个中间A块和第三密钥K3重新生成明文信包的N个块(P0-PN-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 (54)
1.一种用于对消息进行加密的方法,该方法包括:
接收明文信包,所述明文信包包括第一块、最后一块、以及第一块和最后一块之间的多个中部块,其中每个中部块包括第一相邻块和第二相邻块;
生成第一密钥、第二密钥、以及第三密钥;
对于每个中部块:使用中部块、第一密钥、以及来自中部块的第一相邻块的第一加密值来生成第一中间值;
使用第一中间值、第二密钥、以及来自中部块的第二相邻块的第二加密值来生成第二中间值;以及
使用第二中间值、第三密钥、以及来自中部块的第一相邻块的第三加密值来生成密文块。
2.如权利要求1所述的方法,还包括接收秘密主密钥。
3.如权利要求1所述的方法,还包括生成第一随机数和第二随机数。
4.如权利要求1所述的方法,还包括生成填充字段,以使得明文消息、第一随机数、第二随机数、填充字段、以及表示填充字段长度的数的长度是块密码算法的块尺寸的整数倍。
5.如权利要求4所述的方法,还包括构造明文信包,其中所述明文信包包括:明文消息、第一随机数、第二随机数、填充字段、以及表示填充字段长度的数。
6.如权利要求3所述的方法,还包括构造受保护文本信包,所述受保护文本信包包括:表示受保护文本信包的长度的数、第一随机数、从第一块产生的第一密文块、从最后一块产生的最后密文块、以及从每个中部块生成的密文块。
7.如权利要求6所述的方法,还包括通过不安全介质将受保护文本信包传送到目标。
8.如权利要求3所述的方法,其中生成第一密钥、第二密钥、以及第三密钥包括从秘密主密钥和第一随机数生成第一密钥、第二密钥、以及第三密钥。
9.如权利要求3所述的方法,其中生成第一密钥、第二密钥、以及第三密钥包括使用块密码算法的解密函数从秘密主密钥和第一随机数生成第一密钥、第二密钥、以及第三密钥。
10.如权利要求1所述的方法,其中生成第一中间值、生成第二中间值、以及生成密文块包括使用块密码算法的加密函数。
11.一种用于对密文消息进行解密的方法,该方法包括:
接收密文信包,所述密文信包包括第一块、最后一块、以及第一块和最后一块之间的多个中部块,其中每个中部块包括第一相邻块和第二相邻块;
生成第一密钥、第二密钥、以及第三密钥;
生成明文信包,其中生成明文信包还包括对每个中部块执行以下步骤:
使用来自中部块的第一相邻块的第一解密值、中部块、以及第一密钥来生成第一中间值;
使用来自中部块的第二相邻块的第二解密值、第一中间值、以及第二密钥来生成第二中间值;以及
使用来自中部块的第一相邻块的第三解密值、第二中间值、以及第三密钥来生成明文块。
12.如权利要求11所述的方法,
其中密文信包还包括第一控制数,并且
其中明文信包包括明文消息和第二控制数。
13.如权利要求12所述的方法,还包括:
如果第一控制数等于第二控制数,则将所接收密文信包的完整性设置成“可信”设置;以及
如果第一控制数不等于第二控制数,则将所接收密文信包的完整性设置成“不可信”设置。
14.如权利要求12所述的方法,还包括接收秘密主密钥。
15.如权利要求14所述的方法,其中生成第一密钥、第二密钥、以及第三密钥包括从秘密主密钥和第一控制数生成第一密钥、第二密钥、以及第三密钥。
16.如权利要求14所述的方法,其中生成第一密钥、第二密钥、以及第三密钥包括使用块密码算法的解密函数从秘密主密钥和第一控制数生成第一密钥、第二密钥、以及第三密钥。
17.如权利要求11所述的方法,其中生成第一中间值、生成第二中间值、以及生成明文块包括使用块密码算法的解密函数。
18.如权利要求11所述的方法,还包括通过不安全介质而从源接收密文信包。
19.一种用于对消息进行加密的信息处理系统,包括:
用于接收明文信包的装置,其中所述明文信包包括第一块、最后一块、以及第一块和最后一块之间的多个中部块,其中每个中部块包括第一相邻块和第二相邻块;
用于生成第一密钥、第二密钥、以及第三密钥的装置;
对于每个中部块:
用于使用来自中部块的第一相邻块的第一加密值、中部块、以及第一密钥来生成第一中间值的装置;
用于使用来自中部块的第二相邻块的第二加密值、第一中间值、以及第二密钥来生成第二中间值的装置;以及
用于使用来自中部块的第一相邻块的第三加密值、第二中间值、以及第三密钥来生成密文块的装置。
20.如权利要求19所述的信息处理系统,其中消息加密工具还包括用于接收秘密主密钥的装置。
21.如权利要求20所述的信息处理系统,其中所述信息处理系统还包括用于生成第一随机数和第二随机数的装置。
22.如权利要求21所述的信息处理系统,其中所述信息处理系统还包括用于生成填充字段,以使得明文消息、第一随机数、第二随机数、填充字段、以及表示填充字段长度的数的长度是块密码算法的块尺寸的整数倍的装置。
23.如权利要求22所述的信息处理系统,其中所述信息处理系统还包括用于构造该明文信包的装置,并且其中该明文信包包括:明文消息、第一随机数、第二随机数、填充字段、以及表示填充字段长度的数。
24.如权利要求21所述的信息处理系统,其中所述信息处理系统还包括用于构造受保护文本信包的装置,所述受保护文本信包包括:表示受保护文本信包长度的数、第一随机数、从第一块产生的第一密文块、从最后一块产生的最后密文块、以及从每个中部块生成的密文块。
25.如权利要求24所述的信息处理系统,其中所述信息处理系统还包括用于通过不安全介质将受保护文本信包传送到目标的装置。
26.如权利要求21所述的信息处理系统,其中,用于生成第一密钥、第二密钥、以及第三密钥的装置还包括用于从秘密主密钥和第一随机数生成第一密钥、第二密钥、以及第三密钥的装置。
27.如权利要求21所述的信息处理系统,其中,用于生成第一密钥、第二密钥、以及第三密钥的装置还包括用于使用块密码算法的解密函数从秘密主密钥和第一随机数生成第一密钥、第二密钥、以及第三密钥的装置。
28.如权利要求19所述的信息处理系统,其中,用于生成第一中间值的装置、用于生成第二中间值的装置、以及用于生成密文块的装置还包括用于使用块密码算法的加密函数的装置。
29.一种用于对密文消息进行解密的信息处理系统,包括:
用于接收密文信包的装置,其中所述密文信包包括第一块、最后一块、以及第一块和最后一块之间的多个中部块,其中每个中部块包括第一相邻块和第二相邻块;
用于生成第一密钥、第二密钥、以及第三密钥的装置;
用于生成明文信包装置,其中用于生成明文信包的装置对于每个中部块还包括:
用于使用来自中部块的第一相邻块的第一解密值、中部块、以及第一密钥来生成第一中间值的装置;
用于使用来自中部块的第二相邻块的第二解密值、第一中间值、以及第二密钥来生成第二中间值的装置;以及
用于使用来自中部块的第一相邻块的第三解密值、第二中间值、以及第三密钥来生成明文块的装置。
30.如权利要求29所述的信息处理系统,
其中密文信包还包括第一控制数;以及
其中明文信包包括明文消息和第二控制数。
31.如权利要求30所述的信息处理系统,其中所述信息处理系统还包括:
用于如果第一控制数等于第二控制数,则将所接收密文信包的完整性设置成“可信”设置的装置;以及
用于如果第一控制数不等于第二控制数,则将所接收密文信包的完整性设置成“不可信”设置的装置。
32.如权利要求30所述的信息处理系统,其中所述信息处理系统还包括用于接收秘密主密钥的装置。
33.如权利要求32所述的信息处理系统,其中,用于生成第一密钥、第二密钥、以及第三密钥的装置还包括用于从秘密主密钥和第一控制数生成第一密钥、第二密钥、以及第三密钥的装置。
34.如权利要求32所述的信息处理系统,其中,用于生成第一密钥、第二密钥、以及第三密钥的装置还包括用于使用块密码算法的解密函数从秘密主密钥和第一控制数生成第一密钥、第二密钥、以及第三密钥的装置。
35.如权利要求29所述的信息处理系统,其中,用于生成第一中间值的装置、用于生成第二中间值的装置、以及用于生成明文块的装置还包括用于使用块密码算法的解密函数的装置。
36.如权利要求29所述的信息处理系统,其中所述信息处理系统还包括用于通过不安全介质而从源接收密文信包的装置。
37.一种消息加密系统,该系统包括:
用于接收明文信包的装置,其中所述明文信包包括第一块、最后一块、以及第一块和最后一块之间的多个中部块,其中每个中部块包括第一相邻块和第二相邻块;
用于生成第一密钥、第二密钥、以及第三密钥的装置;
对于每个中部块:
用于使用来自中部块的第一相邻块的第一加密值、中部块、以及第一密钥来生成第一中间值的装置;
用于使用来自中部块的第二相邻块的第二加密值、第一中间值、以及第二密钥来生成第二中间值的装置;以及
用于使用来自中部块的第一相邻块的第三加密值、第二中间值、以及第三密钥、来生成密文块的装置。
38.如权利要求37所述的消息加密系统,还包括用于接收秘密主密钥的装置。
39.如权利要求38所述的消息加密系统,还包括用于生成第一随机数和第二随机数的装置。
40.如权利要求39所述的消息加密系统,还包括用于生成填充字段,以使得明文消息、第一随机数、第二随机数、填充字段、以及表示填充字段长度的数的长度是块密码算法的块尺寸的整数倍的装置。
41.如权利要求40所述的消息加密系统,还包括用于构造该明文信包的装置,其中该明文信包包括:明文消息、第一随机数、第二随机数、填充字段、以及表示填充字段长度的数。
42.如权利要求39所述的消息加密系统,还包括用于构造受保护文本信包的装置,该受保护文本信包包括:表示受保护文本信包的长度的数、第一随机数、从第一块产生的第一密文块、从最后一块产生的最后密文块、以及从每个中部块生成的密文块。
43.如权利要求42所述的消息加密系统,还包括用于通过不安全介质将受保护文本信包传送到目标的装置。
44.如权利要求39所述的消息加密系统,其中用于生成第一密钥、第二密钥、以及第三密钥的装置包括用于从秘密主密钥和第一随机数生成第一密钥、第二密钥、以及第三密钥的装置。
45.如权利要求39所述的消息加密系统,其中用于生成第一密钥、第二密钥、以及第三密钥的装置包括用于使用块密码算法的解密函数从秘密主密钥和第一随机数生成第一密钥、第二密钥、以及第三密钥的装置。
46.如权利要求37所述的消息加密系统,其中用于生成第一中间值、第二中间值、以及密文块的装置包括用于使用块密码算法的加密函数的装置。
47.一种密文消息解密系统,该系统包括:
用于接收密文信包的装置,所述密文信包包括第一块、最后一块、以及第一块和最后一块之间的多个中部块,其中每个中部块包括第一相邻块和第二相邻块;
用于生成第一密钥、第二密钥、以及第三密钥的装置;
用于生成明文信包的装置,其中用于生成明文信包的装置对于每个中部块还包括:
用于使用来自中部块的第一相邻块的第一解密值、中部块、以及第一密钥来生成第一中间值的装置;
用于使用来自中部块的第二相邻块的第二解密值、第一中间值、以及第二密钥来生成第二中间值的装置;以及
用于使用来自中部块的第一相邻块的第三解密值、第二中间值、以及第三密钥来生成明文块的装置。
48.如权利要求47所述的密文消息解密系统,
其中密文信包还包括第一控制数,并且
其中明文信包包括明文消息和第二控制数。
49.如权利要求48所述的密文消息解密系统,还包括用于设置所接收密文信包的完整性的装置,其中:
如果第一控制数等于第二控制数,则将所接收密文信包的完整性设置成“可信”设置;以及
如果第一控制数不等于第二控制数,则将所接收密文信包的完整性设置成“不可信”设置。
50.如权利要求48所述的密文消息解密系统,还包括用于接收秘密主密钥的装置。
51.如权利要求50所述的密文消息解密系统,其中用于生成第一密钥、第二密钥、以及第三密钥的装置包括用于从秘密主密钥和第一控制数生成第一密钥、第二密钥、以及第三密钥的装置。
52.如权利要求50所述的密文消息解密系统,其中用于生成第一密钥、第二密钥、以及第三密钥的装置包括用于使用块密码算法的解密函数从秘密主密钥和第一控制数生成第一密钥、第二密钥、以及第三密钥的装置。
53.如权利要求47所述的密文消息解密系统,其中用于生成第一中间值、第二中间值、以及明文块的装置包括使用块密码算法的解密函数。
54.如权利要求47所述的密文消息解密系统,还包括用于通过不安全介质而从源接收密文信包的装置。
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 CN1820448A (zh) | 2006-08-16 |
CN1820448B true 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) |
Families Citing this family (19)
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 | 한국전자통신연구원 | 블록암호의 블록 체이닝 모드를 사용한 패킷 암호화 방법,이를 이용한 패킷 암/복호화 서비스 제공 방법 |
NZ601954A (en) * | 2007-01-30 | 2013-04-26 | Datasci Llc | Systems and methods for filtering cellular telephone messages |
CN100594691C (zh) * | 2007-10-09 | 2010-03-17 | 华中科技大学 | Manet网络的数据传递加密方法 |
KR100954224B1 (ko) | 2007-11-06 | 2010-04-21 | 한국전자통신연구원 | 오프셋 코드북 암호화 장치 |
US8798946B2 (en) * | 2008-08-28 | 2014-08-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and arrangement for a digital subscriber line |
CN101409618B (zh) * | 2008-11-24 | 2011-01-26 | 农革 | 一种多读者文档加密和解密方法 |
CN101924632B (zh) * | 2010-09-07 | 2012-05-09 | 西南交通大学 | 一种分路加密传输交易信息的可靠传递方法 |
US9008308B2 (en) * | 2012-02-08 | 2015-04-14 | Vixs Systems, Inc | Container agnostic decryption 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 |
CN107070637A (zh) * | 2017-01-13 | 2017-08-18 | 广东技术师范学院天河学院 | 一种交叠分组的数据加解密方法 |
US10615971B2 (en) * | 2017-05-22 | 2020-04-07 | Microsoft Technology Licensing, Llc | High integrity logs for distributed software services |
EP4002754A1 (en) * | 2017-08-31 | 2022-05-25 | Visa International Service Association | Single node multi-party encryption |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5517567A (en) * | 1994-08-23 | 1996-05-14 | Daq Electronics Inc. | Key distribution system |
CN1365088A (zh) * | 2001-01-19 | 2002-08-21 | 南相浩 | 密钥多重算法和多层存储法 |
Family Cites Families (5)
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 |
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 |
-
2003
- 2003-06-19 US US10/464,891 patent/US6996233B2/en not_active Expired - Fee Related
- 2003-10-20 WO PCT/US2003/033380 patent/WO2005006642A1/en active Application Filing
- 2003-10-20 AU AU2003282981A patent/AU2003282981A1/en not_active Abandoned
- 2003-10-20 CN CN2003801104205A patent/CN1820448B/zh not_active Expired - Fee Related
- 2003-10-20 KR KR1020057022072A patent/KR100834364B1/ko not_active IP Right Cessation
-
2004
- 2004-06-03 TW TW093115946A patent/TWI273809B/zh not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5517567A (en) * | 1994-08-23 | 1996-05-14 | Daq Electronics Inc. | Key distribution system |
CN1365088A (zh) * | 2001-01-19 | 2002-08-21 | 南相浩 | 密钥多重算法和多层存储法 |
Non-Patent Citations (3)
Title |
---|
SCHNEIER B..Applied cryptography, second edition: protocols, algorithms, and source code in C.JOHN WILEY & SONS, INC.,1996,第190-191,195,360-361. |
SCHNEIER B..Applied cryptography, second edition: protocols, algorithms, and source code in C.JOHN WILEY & * |
SONS, INC.,1996,第190-191,195,360-361. * |
Also Published As
Publication number | Publication date |
---|---|
WO2005006642A1 (en) | 2005-01-20 |
KR20060019548A (ko) | 2006-03-03 |
AU2003282981A1 (en) | 2005-01-28 |
KR100834364B1 (ko) | 2008-06-02 |
CN1820448A (zh) | 2006-08-16 |
TW200518549A (en) | 2005-06-01 |
US6996233B2 (en) | 2006-02-07 |
US20050008162A1 (en) | 2005-01-13 |
TWI273809B (en) | 2007-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1820448B (zh) | 用于使用三阶段加密来加密和验证消息的系统和方法 | |
Mandal et al. | Performance evaluation of cryptographic algorithms: DES and AES | |
US8358781B2 (en) | Nonlinear feedback mode for block ciphers | |
US7783045B2 (en) | Secure approach to send data from one system to another | |
JP2004363739A (ja) | 改竄検知可能な、共通鍵暗号の暗号化装置または復号化装置 | |
CN113726725A (zh) | 一种数据加解密方法、装置、电子设备及存储介质 | |
KR20160020866A (ko) | 폐쇄형 네트워크에서 암복호화 서비스 제공 시스템 및 방법 | |
KR101126024B1 (ko) | 3 단계 데이터 암호화 시스템 및 방법 | |
More et al. | Implementation of AES with time complexity measurement for various input | |
Erondu et al. | An encryption and decryption model for data security using vigenere with advanced encryption standard | |
EP3131230A1 (en) | Encryption method, program, and system | |
CN117375836A (zh) | 基于rsa加密算法的长文本分段加解密方法及系统 | |
US7539305B2 (en) | Schryption method and device | |
Soni | Performance analysis of cascaded hybrid symmetric encryption models | |
KR20180046425A (ko) | 공개키 기반 암호화 방법 및 키 생성 서버 | |
US7343011B2 (en) | Secure telecommunications system for wireless local area networks | |
Kandul et al. | Steganography with cryptography in android | |
KR20200055672A (ko) | 순열그룹 기반의 암호화 기술을 적용한 암호화시스템 및 방법 | |
JP2015082077A (ja) | 暗号化装置、制御方法、及びプログラム | |
Gangodkar et al. | Enhancing Network Security with A Hybrid Cryptography Method | |
WO2023199379A1 (ja) | 情報処理装置、方法及びプログラム | |
EP4123956A1 (en) | Method for securely transferring data elements values | |
US20230299940A1 (en) | Single stream one time pad with encryption with expanded entropy | |
KR101616717B1 (ko) | 버냄 사이퍼 암호 알고리즘을 이용한 암복호화 서비스 제공 방법 및 시스템 | |
Abikoye et al. | Symmetric and Asymmetric Based Encryption Model for Mobile Commerce |
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 |