CN1086260C - 密钥可变的加密系统 - Google Patents

密钥可变的加密系统 Download PDF

Info

Publication number
CN1086260C
CN1086260C CN95191926.1A CN95191926A CN1086260C CN 1086260 C CN1086260 C CN 1086260C CN 95191926 A CN95191926 A CN 95191926A CN 1086260 C CN1086260 C CN 1086260C
Authority
CN
China
Prior art keywords
key
user key
user
byte
final
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
Application number
CN95191926.1A
Other languages
English (en)
Other versions
CN1143437A (zh
Inventor
威廉·Y·肖
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of CN1143437A publication Critical patent/CN1143437A/zh
Application granted granted Critical
Publication of CN1086260C publication Critical patent/CN1086260C/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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • 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
    • 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/34Encoding or coding, e.g. Huffman coding or error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Error Detection And Correction (AREA)

Abstract

用最终密钥对二进制数据加密和解密。通过操作一个或多个用户密钥和一基本密钥并用异或操作合并经操作的密钥,来形成最终密钥。用循环异或操作把将被加密或解密的数据与最终密钥合并。用户密钥和基本密钥是具有任何位数的二进制序列。可直接用二进制形式或本发明可解释为二进制序列的其他适当的形式(例如ASCII编码的字母数字字符串)将用户密钥输入本发明。操作用户密钥包括下列步骤:重新组合或置换用户密钥的段例如字节,使置换后的用户密钥循环移位一定的位数,并且用一个或多个置换后或经移位密钥的复制件填充一位置,致使所得长度等于基本密钥的长度。置换步骤中用户密钥各段的顺序和移位步骤中使用户密钥移位的位数根据用户密钥本身各段的值和位置确定。操作基本密钥包括使基本密钥循环移位一定位数的步骤,所述数量根据用户密钥各段的值和位置确定。

Description

密钥可变的加密系统
发明背景
本发明涉及加密技术,尤其涉及一种用一个或多个等权的可变长关键字对数字数据加密和解密的系统。
加密可用来安全地交流或存储数字数据,例如声音、传真(FAX)、电子邮件、信用卡信息和电视等。本领域的专业人员已经开发了诸如数据加密标准(DES)等加密算法。这些算法要求用户输入一个关键字,以对数据加密或解密。用一给定的关键字加密的数据只能用相同的关键字解密。DES要求关键字正好是长度为6的字母数字符号。DES算法实质上是一个复杂的判决树,它不仅根据密钥而且根据它对数据位组进行逻辑运算的结果改变数据位的状态。由于这些计算要花费大量的时间并且必须连续进行,所以加密或解密过程非常缓慢。
模拟加密系统用来在微波链路和电缆电视线路上进行安全的视频传输。这些系统必须在高速下运行,以适应视频带宽。
希望提供一加密系统,该系统不限制用户对密钥长度的选择,并且运行速度足够快,能在实时的视频和声频环境中使用。这些问题和缺陷在本领域中是明显的,而本发明将用下述方式解决这些问题。
发明内容
依照本发明的一个方面,提供了一种对数字数据加密和解密的方法,其特征在于,包括下列步骤:
形成一实际用户密钥,形成实际用户密钥的所述步骤包括下列步骤:
接收包含一个位序列的输入用户密钥;
从所述输入用户密钥中选择两个被选中的部分,每个所述被选中的部分包括一个位序列,每个所述被选中的部分是根据所述输入用户密钥中多个预定部分的每一个在所述输入用户密钥内的值和位置来确定的;
交换所述输入用户密钥的所述被选中的部分,以形成一置换后的用户密钥;并且
使所述置换后的用户密钥循环移位一定的位数,以形成一经移位的用户密钥,所述的位数是根据所述置换后用户密钥的多个部分中每个部分的值和位置加权来确定的,每个所述部分包括一位序列;并且
用所述经移位的用户密钥填充,使其长度等于所述基本密钥长度,以形成所述实际用户密钥;
形成一实际基本密钥,形成实际基本密钥的所述步骤包括下列步骤:
使所述预定基本密钥循环移位一定的位数,所述位数是根据所述置换后用户密钥的多个部分中每个部分的值和位置加权来确定的,每个所述部分包括一个位序列;
形成一最终密钥,形成最终密钥的所述步骤包括下列步骤:
对所述实际基本密钥和所述实际用户密钥进行异或计算;并且
对所述最终密钥和所述数字数据进行异或计算。
依照本发明的另一方面,提供了一种用于对数字数据加密和解密的设备,其特征在于,包括:
接口装置,用于数字数据的双向通信;
处理器装置,用于根据一预定用户密钥和一预定基本密钥计算一最终密钥;
存储装置,用于存储所述最终密钥;
异或装置,用于接收所述最终密钥和所述数字数据,并将所述数字数据和所述最终密钥的异或操作结果提供给所述接口;并且
编址装置,它按顺序为所述存储装置提供地址,所述地址与所述最终密钥的连续部分相对应。
本发明包括一种对数字数据加密和解密的方法和设备。该方法包括下列步骤:处理用户密钥和基本密钥,对被处理的密钥进行异或操作以产生最终密钥,以及对最终密钥和被加密或解密的数据进行异或操作。
用户密钥和基本密钥是具有任何适当位数的二进制序列。密钥的最大长度只受到实施本发明的系统软件和/或硬件之物理能力的限制。基本密钥可用允许检索的方式存储,而不需要用允许更改的方式存储。尽管基本密钥保持可存取的形式,但用户密钥在被输入后不再保持其原始的形式。用户密钥可直接用二进制形式或本发明可解释为二进制的任何其他适当的形式,譬如ASCII编码字符串,输入至使用本发明的硬件中。若干字符或成百页文本构成的ASCII编码字符串可作为用户密钥或基本密钥,只要系统硬件和/或软件适于处理这些密钥。如下所述,可用多个用户密钥对数据加密或解密,以提供附加的安全性。
使用本发明的硬件可与诸如计算机系统、电话网或无线通信网等任何适当的设备交流被加密或解密的数据。由于处理密钥以形成最终密钥的步骤可以在发生数据通信之前的任何时候进行,因此唯一必须在数据通信期间实时进行的步骤是在最终密钥和数据之间进行异或操作。这使实时操作最少而加密和解密速度最大。
处理用户密钥包括下列步骤:置换用户密钥,将被置换的用户密钥循环移位,以及用一个或多个被置换或经移位密钥的复制件填充一个存储位置,使其长度与基本密钥的长度相等。
置换步骤根据用户密钥段的值和位置,以伪随机的方式重新组合密钥段。循环移位步骤是将二进制序列循环或移位,移位的位数是根据被置换用户密钥段的值和位置而确定的。在一适于处理由ASCII字符串构成的用户密钥的实施例中,每段可由一个字节组成。由此,每段的值是字符的ASCII值。如果基本密钥比用户密钥长,那么通过一次或多次将被置换并经移位的用户密钥复制到某个位置中并相互添加复制件,使得在填充步骤中将被置换并经移位的用户密钥的长度扩展到与基本密钥一样长。
处理基本密钥包括下列步骤:依照用户密钥段的值和位置而确定的位数将基本密钥循环移位。
用异或操作合并被处理的用户密钥和基本密钥。用异或操纵再将该结果与根据用户密钥段的值和位置而确定的数合并。后一异或操作的结果即是最终密钥。
本发明在最终密钥和将被加密或解密的数据之间进行异或操作。如果数据流比最终密钥长,那么最终密钥可以循环使用。
如果使用多个用户密钥,则置换每个用户密钥,并用异或操作使其与所有其他的被置换用户密钥合并。应当注意,由于异或操作的有关特性其结果与用户密钥的输入和合并次序无关。如果使用多个用户密钥,那么上述将用户密钥循环移位的步骤对合并后的用户密钥进行。
本发明不限制用户对密钥长度的选择。另外,在完成初始的密钥处理后,加密和解密速度只受到异或操作进行速度的限制。该操作可通过相当简单的硬件或软件来进行。本发明并且不传播任何可能产生的数据差错。如果被加密或解密的数据中有一位或多位有错,那么异或操作不会增加出错位的数目。另外,通过提供不同基本密钥可以创建不同系统。经具有某个基本密钥的系统加密的信息不可能由具有不同基本密钥的系统来解密,即使输入用户密钥的两个系统是一样的。
参阅以下说明书、权利要求书和附图,将更清楚本发明的上述及其他特征和优点。
附图概述
为了更全面地理解本发明,现结合附图参阅以下对实施例的详细描述,其中:
图1是对数字数据加密和解密的电路的方框图;和
图2是对数字数据加密和解密的算法的流程图。
本发明的最佳实施例
如图1所示,异或电路10用异或操作把将被加密或解密的数据与一最终密钥合并。电路10从连接诸如计算机等外部设备13的接口电路12接收数据。电路10从地址计数器16编址的屏蔽存储器14接收最终密钥。具有程序存储器20的处理器18在存储于存储器20中的程序的控制下,以下述方式计算最终密钥。接口12、电路10、地址计数器16和处理器18通过控制逻辑22互连。
当希望对数据加密或解密时,处理器18通过接口12接收一用户密钥。例如,用户可在与外部设备13相连的键盘(未示出)上输入用户密钥。处理器18在存储于存储器20中的程序控制下,以下述方式将实际的用户密钥与预先存储在处理器存储器20中的一基本密钥合并。处理器18将最终密钥存储在屏蔽存储器14中。当异或电路10通过接口12接收将被加密或解密的数据时,地址计数器16计数增加,以从屏蔽存储器10逐段取出最终密钥。例如,如果接口12与一次读写一个字节的计算机相连,那么每当计算机对接口12进行一次写操作,地址计数器16就增加一次,以便从存储器14中检索出最终密钥的下一个字节。计算机可以立即对接口12进行读操作,以索取被加密或解密的字节。由此,最终密钥的每个字节都与输入数据的一个字节进行了异或操作。如果输入数据所含字节数比最终密钥多,那么该异或过程以循环的方式从最终密钥的第一字节开始重复进行。
当用户希望对数据加密或解密时,处理器18执行图2所示的算法。在步骤24,处理器18通过置零使表示输入用户密钥和实际用户密钥的变量初始化。在步骤26,如上所述,处理器18通过接口12从相连的计算机键盘或其他设备读取一输入用户密钥。输入用户密钥是一长度大于或等于预定最小值并小于预定最大值的数字字。如下所述,最大用户密钥的长度等于基本密钥的长度。用户记住一个由字母数字字符串表示的密钥要比记住一个由二进制数字或十六进制数字串表示密钥更容易。因此,在一实施例中,密钥用ASCII编码的字符串表示。每个字符是一个字节,并且处理器18在一个字节的字长的基础上进行所有的数学运算。但在其他实施例中,可用任何能最终表示为二进制数的格式接收用户密钥,并可根据其他合适的字长进行数学运算。
例如,最小用户密钥的长度可以为五个字节,即五个字符。由此,用户可以输入字符串:“IBAInc”。在ASCII中,这六个在还可用下列十六进制数字表示:
“49  42  41  49  6E  63”。
在步骤28,处理器18对输入用户密钥进行压缩。用户密钥最好具有不同的位,因为这种用户密钥可提供更安全的加密。在使用一个字节字长的所述实施例中,处理器18通过除去任何十六进制值等于“00”或“FF”的字节,来压缩输入的用户密钥。余下的字节从较低有效字节向较高有效字节移位(图中向左),以填满被除去的字节先前所占据的空间。
在步骤30,处理器18测试被压缩的输入用户密钥的长度是否大于预定的最小值。例如,压缩步骤可能不改变输入用户密钥“IBAInc”,并且长度保持为6,仍比预定的最小值5大。但是,如果处理器18判定压缩用户密钥的长度小于最小值,那么处理器18返回步骤26,要求用户重新输入用户密钥。
在步骤32,处理器18确定被压缩的输入用户密钥中的不同字节个数。不同字节是与每个其他字节不同的字节。由于表示字符“I”的字节出现了两次,压缩密钥“IBAInc”中的不同字节个数是5。在步骤34,处理器18测试不同字节个数是否大于预定的最小值。例如,最小值可以为5,从而处理器18进至步骤36。但是,如果处理器18判定被压缩的输入用户密钥中的不同字节个数小于最小值,那么处理器18返回步骤26,要求用户重新输入用户密钥。
在步骤36,处理器18置换被压缩的输入用户密钥。对用户密钥的置换是根据字节的值和位置加权以伪随机的方式重新组合字节。每个字节可与另一个字节交换。置换步骤可表示如下,其中变量KEY表示被压缩的输入用户密钥,KEYi表示KEY的第i个字节,N是KEY的字节长度:
L=((KEYi-1+KEYi+KEYi+1+i)模N)+1。
对于i=2,3,4,…,N-1,将KEYi与KEYL交换。
例如,为了置换输入用户密钥“IBAInc”,处理器18进行四次交换:首先,当i等于2时,L为206模6加1,等于3。处理器18交换“IBAInc”的第二和第三字节,产生“IABInc”。数字206是KEY1、KEY2、KEY3和i的和,其中KEY1用十进制数字73表示,KEY2用十进制数字66表示,KEY3用十进制数字65表示,i为2。其次,当i等于3时,L为207模6加1,等于4。处理器18交换“IABInc”的第三和第四字节,产生“IAIBnc”。数字207是KEY2、KEY3、KEY4和i的和,其中KEY2用十进制数字65表示,KEY3用十进制数字66表示,KEY4用十进制数字73表示,i为3。第三,当i等于4时,L为253模6加1,等于2。处理器18交换“IAIBnc”的第四和第二字节,产生“IBIAnc”。数字253是KEY3、KEY4、KEY5和i的和,其中KEY3用十进制数字73表示,KEY4用十进制数字66表示,KEY5用十进制数字110表示,i为4。第四,当i等于5时,L为279模6加1,等于4。处理器18交换“IBIAnc”的第五和第四字节,产生“IBInAc”。数字279是KEY4、KEY5、KEY6和i的和,其中KEY4用十进制数字65表示,KEY5用十进制数字110表示,KEY6用十进制数字99表示,i为5。
在步骤38,处理器18对压缩和置换后的输入用户密钥进行异或操作,成为实际用户密钥。一个实际用户密钥可以包括多个用异或操作合并的输入用户密钥。例如,在步骤24,将实际用户密钥设置为零,并在将实际用户密钥与压缩和置换后的输入用户密钥“IBInAc”进行异或操作后,实际用户密钥变为“IBInAc”。
在步骤40,处理器18测试是否将输入另一个用户密钥。处理器18可以通过接口12接收一适当的表示这一点的命令。如果处理器18接收到将输入另一用户密钥的指示,则处理器18进至步骤26,接收下一个输入用户密钥。如果处理器18接收到不再输入附加用户密钥的指示,则处理器18进至步骤40。在本例中,“IBAInc”是唯一的用户密钥。因此,“IBInAc”是实际用户密钥。
在步骤42,处理器18用上述步骤28的相同方式压缩实际用户密钥。在步骤44,处理器18测试压缩后的实际用户密钥的长度是否大于预定的最小值,该最小值最好与最好与上述步骤30所述的预定值相等。例如,压缩步骤将不改变实际用户密钥“IBInAc”,并且长度保持为6,大于预定最小值5。由此,处理器18进至步骤46。但是,如果处理器18断定压缩后的用户密钥的长度小于最小值,那么处理器18返回步骤24,要求用户重新输入所有的输入用户密钥。
在步骤46,处理器18用上述步骤32的相同方式确定压缩后实际用户密钥中的不同字节个数,并在步骤48,测试不同字节数是否大于一预定最小值,该预定最小值最好与上述步骤34所述的最小值相等。例如,由于没有附加的输入用户密钥与初始输入用户密钥“IBAInc”合并,所以,不同字节数保持为5。因此,处理器18行进至步骤50。但是,如果处理器18判定压缩后的实际用户密钥中的不同字节个数小于最小值,则处理器18返回步骤24,要求用户重新输入所有的输入用户密钥。
在步骤50,处理器18用上述步骤36的相同方式置换压缩后的实际用户密钥。例如,为了置换实际用户密钥“IBInAc”,处理器18进行四次交换:首先,当i等于2时,L为214模6加1,等于5。处理器18交换“IBInAc”的第二和第五字节,产生“IAInBc”。数字214是KEY1、KEY2、KEY3和i的和,其中KEY1用十进制数字73表示,KEY2用十进制数字66表示,KEY3用十进制数字73表示,i为2。其次,当i等于3时,L为251模6加1,等于6。处理器18交换“IAInBc”的第三和第六字节,产生“IAcnBI”。数字251是KEY2、KEY3、KEY4和i的和,其中KEY2用十进制数字65表示,KEY3用十进制数字73表示,KEY4用十进制数字110表示,i为3。第三,当i等于4时,L为279模6加1,等于4。处理器18将“IAcnBI”的第四字节与其自身交换,产生“IAcnBI”。数字279是KEY3、KEY4、KEY5和i的和,其中KEY3用十进制数字99表示,KEY4用十进制数字110表示,KEY5用十进制数字66表示,i为4。第四,当i等于5时,L为254模6加1,等于3。处理器18交换“IAcnBI”的第五和第三字节,产生“IABncI”。数字254是KEY4、KEY5、KEY6和i的和,其中KEY4用十进制数字110表示,KEY5用十进制数字66表示,KEY6用十进制数字73表示,i为5。
在步骤52,处理器18根据字节的值和位置加权确定移位因子。移位因子S可以表示如下,其中变量KEY表示置换后的实际用户密钥,KEYi表示KEY的第i个字节,而N是KEY的字节长度:
初始化S=0。
对于i=1,2,3,…N,用(255+i)×KEYi累加S。
例如,如果置换后的实际用户密钥为“IABncI”,处理器18求出值18688、16705、17028、28490、25740和19053的和,其中值18688为(255+1)×73,值16705为(255+2)×65,值17028为(255+3)×66,值28490为(255+4)×110,值25740为(255+5)×99,而值19053为(255+6)×73。和等于125704,即是移位因子S。
在步骤54,处理器18从较低有效位向较高有效位(图中向左)将置换后的实际用户密钥的位循环移位。(由于将最高有效位置的位移至最低有效位置,所以移位是循环的。)置换后实际用户密钥的移位数等于移位因子对以位为单位的置换后实际用户密钥长度取模,再加1。例如,移位因子对“IABncI”的位数48取模,再加1,等于41。由此,第41位,变成第一或最高有效位。在移位之前,置换后的实际用户密钥“IABncI”可用二进制表示为:
“0100  1001 0100 0001 0100 0010 0110 1110 0110 0111
0100 1001”,
其中,第41位用下划线强调。将41个位置左移后,密钥变成:
“0100 1001 0100 1001 0100 0001 0100 0010 0110 1110 0110 0111”。
在步骤56,处理器18从较低有效位向较高有效位(图中向左)将基本密钥循环移位。基本密钥的移位数等于移位因子对以位为单位的基本密钥长度取模,再加1。
基本密钥可以是任何适当长度的数字字。最好,处理器能访问基本密钥,但用户不能读取或变更。最好用类似序列号的方式使用基本密钥,并将其设定为一个固定值。可以硬接线至系统中作为软件或固件常数。如同以上对用户密钥所述的,不需要用ASCII或任何其他的编码方案对基本密钥编码,而只求编码方便。例如,如果需要用户或其他个人经常改变基本密钥,那么将ASCII编码的字母数字字符串用作基本密钥是方便的。
例如,可用ASCII编码的字符串“ImportantInformation”表示一基本密钥。该基本密钥的长度为20字节或160位。尽管该基本密钥的长度已足以进行说明,但最好使用长度至少为256字节的基本密钥。移位因子125704模160后再加1等于105。因此,第105位变成第一或最高有效位。在移位之前,基本密钥“Important Information”用十六进制可表示为:
“49 6D 70 6F 72 74 61 6E 74 49 6E 66 6F 72 6D 61 74
  69 6F 6E”
或用二进制可表示为:
“0100 1001 0110 1101 0111 0000 0110 1111 0111 0010 0111
  0100 0110 0001 0110 1110 0111 0100 0100 1001 0110 1110
  0110 0110 0110 1111 0111 0010 0110 1101 0110 0001 0111
  0100 0110 1001 0110 1111 0110 1110”,
其中第105位用下划线强调。向左移105个位置后,密钥变成:
“0111 0010 0110 1101 0110 0001 0111 0100 0110 1001 0110
  1111 0110 1110 0100 1001 0110 1101 0111 0000 0110 1111
  0111 0010 0111 0100 0110 0001 0110 1110 0111 0100 0100
  1001 0110 1110 0110 0110 0110 1111”。
在步骤58,处理器18循环填充置换后并经移位的实际用户密钥。如果基本密钥比实际用户密钥长,那么该填充步骤就扩展实际用户密钥的长度,使其等于基本密钥的长度。(如果基本密钥比用户密钥长,将复制用户密钥并相互添加复制件,填充是循环的)。如果基本密钥的长度不正好是用户密钥长度的整倍数,那么可以舍去用户密钥中的较低有效位。例如,如果基本密钥的长度为160位,那么长度为48位的用户密钥必须复制三次。将三次复制件和原始件添加在一起,并将结果舍至160位。使用上例中置换后并经移位的实际用户密钥,填充后的用户密钥变成:
“0100 1001 0100 1001 0100 0001 0100 0010 0110 1110 0110
  0111 0100 1001 0100 1001 0100 0001 0100 0010 0110 1110
  0110 0111 0100 1001 0100 1001 0100 0001 0100 0010 0110
  1110 0110 0111 0100 1001 0100 1001”。
在步骤60,处理器18形成该密钥和移位后基本密钥的异或操作结果。用上例中的密钥,异或操作的结果()为:
  “0100 1001 0100 1001 0100 0001 0100 0010 0110 1110 0110
“0100 1001 0110 1101 0111 0000 0110 1111 0111 0010 0111
    0000 0000 0010 0100 0011 0001 0010 1101 0001 1100 0001
    0111 0100 1001 0100 1001 0100 0001 0100 0010 0110 1110
  0100 0110 0001 0110 1110 0111 0100 0100 1001 0110 1110
    0011 0010 1000 0010 0111 0011 0101 0000 1011 0000 0000
    0110 0111 0100 1001 0100 1001 0100 0001 0100 0010 0110
  0110 0110 0110 1111 0111 0010 0110 1101 0110 0001 0111
    0000 0001 0010 0110 0011 1011 0010 1100 0010 0011 0001
    1110 0110 0111 0100 1001 0100 1001”(用户密钥)
  0100 0110 1001 0110 1111 0110 1110”(基本密钥)
    1010 0000 1110 0010 0110 0010 0111(合成密钥)
但是,合成密钥最好不是用来对数据加密或解密的最终密钥。而宁可在步骤62进行附加的随机化。在步骤62,处理器18通过将该半最终密钥与上述在步骤52计算得的移位因子S合并,形成最终密钥。为了将半最终密钥与移位因子S合并,处理器18进行四字节字表示的移位因子S与半最终密钥的循环异或计算。(如果移位因子的长度小于半最终密钥的长度,那么会复制移位因子并相互添加复制件,以扩展移位因子的长度,使其等于半最终密钥的长度,异或操作是循环的。)上例中的移位因子用二进制表示为:
“0000 0000 0000 0001 1110 1011 0000 1000”。
该循环扩展至160位的移位因子与半最终密钥之间的异或操作结果为:
  “0000 0000 0010 0100 0011 0001 0010 1101 0001 1100 0001
“0000 0000 0000 0001 1110 1011 0000 1000 0000 0000 0000
    0000 0000 0010 0101 1101 1010 0010 0101 0001 1100 0001
   0011 0010 1000 0010 0111 0011 0101 0000 1011 0000 0000
 0001 1110 1011 0000 1000 0000 0000 0000 0001 1110 1011
   0010 1100 0011 0010 1111 0011 0101 0000 1010 1110 1011
   0000 0001 0010 0110 0011 1011 0010 1100 0010 0011 0001
 0000 1000 0000 0000 0000 0001 1110 1011 0000 1000 0000
   0000 1001 0010 0110 0011 1010 1100 1111 0010 1011 0001
   1010 0000 1110 0010 0110 0010 0111”(半最终密钥)
 0000 0000 0001 1110 1011 0000 1000”(移位因子)
   1010 0000 1111 1100 1101 0010 1111(最终密钥)
在处理器18执行步骤62后,基本完成了密钥操作。但是,如果用长度小于一个字节的字表示被加密或解密的数据更方便,那么处理器18可以屏蔽掉最终密钥中每个字节的一个或多个位。处理器18将最终密钥装入屏蔽存储器14中。
在步骤64,异或电路10通过接口12从外部设备13接收被加密或解密之数据的一个字节。控制逻辑22接收数据字节已传输的指示。如果与接口12相接的外部设备13是一台计算机,那么该指示可以触发计算机的“写”线。根据地址计数器16输出端上的地址最终密钥的第一字节出现在屏蔽存储器14的输出端。在步骤66,异或电路10对数据字节和屏蔽存储器14输出端上出现的最终密钥的字节进行异或操作。外部设备13可以通过接口12接收该操作的结果,即被加密或解密的数据字节。如果与接口12相连的外部设备13是一计算机,那么地址计数器16的地址随着计算机“读”线的触发而增大。如果处理器18在步骤68通过接口12接收到不再有数据字节要加密或解密的指示,那么进程结束,并且处理器18等待使步骤24重新开始处理的指示。如果处理器18没有接收到这类指示,那么异或电路10在步骤64等待接收另一个将被加密或解密的数据字节。由于地址计数器16在最终密钥最末字节之地址后立即返回到屏蔽存储器14中最终密钥第一字节的地址处,所以异或操作是循环的。
例如,将被加密的数据可用ASCII编码的字符串“Secret Message″表示。该数据用十六进制可表示为:
“53 65 63 72 65 74 20 4D 65 73 73 61 67 65”
或用二进制可表示为:
“0101 0011 0110 0101 0110 0011 0111 0010 0110 0101
  0111 0100 0010 0000 0100 1101 0110 0101 0111 0011
  0111 0011 0110 0001 0110 0111 0110 0101”。
在步骤66,处理器18形成该数据和最终密钥的循环异或操作结果。利用上例的最终密钥,该异或操作()的结果为:
  “0101 0011 0110 0101 0110 0011 0111 0010 0110 0101 0111
“0000 0000 0010 0101 1101 1010 0010 0101 0001 1100 0001
    0101 0011 0100 0000 1011 1001 0101 0111 0111 1001 0110
    0100 0010 0000 0100 1101 0110 0101 0111 0011 0111 0011
  0010 1100 0011 0010 1111 0011 0101 0000 1010 1110 1011
    0110 1110 0011 0110 0010 0101 0000 0111 1001 1001 1000
    0110 0001 0110 0111 0110 0101”(数据)
  1010 0000 1111 1100 1101 0010”(最终密钥)
    1100 0001 1001 1011 1011 0111(加密数据)
尽管异或操作是循环的,但是由于被加密的数据的长度小于最终密钥的长度,所以在该例中不复制最终密钥。加密后的数据用十六进制可表示为:
“52 40 B9 57 79 66 E3 62 50 79 98 C1 9B B7”
或表示为ASCII编码的字符串:
“R@9WyfSbPy<CAN>A<ESC>7”。
无论使用二进制或其他表示法表示加密后的字符串和原始字符串,加密后的字符串不仅不与原始串“Secret Message”相似,而且与原始数据差别很大。更重要的是,如果上述实施例中所用的用户密钥或基本密钥被改变的只是一位,那么加密后的数据将与上述加密后的数据有很大不同。相反,如果用一个与用户密钥“IBAInc”非常相似而仅有单个位不同的用户密钥对该串解密,则无论是否将数据作为ASCII字符或位串比较,解密后的数据不会与原始数据相似。
尽管上述图1和图2所述的硬件和软件特别适于对从计算机接收到的文本字符串加密和解密,但是应当注意到,被加密或解密的数据可以是任何数字数据。数据不必表示为文本字符串,例如可以表示成数字声音、传真(FAX)、静态图像、或电视信号。
总之,处理器18处理一个或多个输入用户密钥和一个基本密钥,以形成用来对数据加密或解密的最终密钥。处理器18在步骤24-40,处理输入用户密钥,形成一实际用户密钥,并在步骤42-54和步骤58完成对实际用户密钥进一步处理。处理器18在步骤56处理基本密钥,并在步骤60将经处理的基本密钥和用户密钥合并,以形成一个半最终密钥。然后,在步骤62,处理器18可以将半最终密钥与一个从实际用户密钥导出的值,例如移位因子,合并,以形成最终密钥。在步骤64-68,将最终密钥与被加密或解密的数据合并。应当注意,上述方法可用来加密或者解密。处理器18只可用来处理密钥,并且不必区分加密和解密。
显然,通过这些技术阐述,本领域的普通技术人员将想到本发明的其他实施例和变化。因此,本发明只受以下权利要求书的限制,权利要求书包括所有这类其他的实施例和结合上述说明书和附图时的变化。

Claims (16)

1.一种对数字数据加密和解密的方法,其特征在于,包括下列步骤:
形成一实际用户密钥,形成实际用户密钥的所述步骤包括下列步骤:
接收包含一个位序列的输入用户密钥;
从所述输入用户密钥中选择两个被选中的部分,每个所述被选中的部分包括一个位序列,每个所述被选中的部分是根据所述输入用户密钥中多个预定部分的每一个在所述输入用户密钥内的值和位置来确定的;
交换所述输入用户密钥的所述被选中的部分,以形成一置换后的用户密钥;并且
使所述置换后的用户密钥循环移位一定的位数,以形成一经移位的用户密钥,所述的位数是根据所述置换后用户密钥的多个部分中每个部分的值和位置加权来确定的,每个所述部分包括一位序列;并且
用所述经移位的用户密钥填充,使其长度等于所述基本密钥长度,以形成所述实际用户密钥;
形成一实际基本密钥,形成实际基本密钥的所述步骤包括下列步骤:
使所述预定基本密钥循环移位一定的位数,所述位数是根据所述置换后用户密钥的多个部分中每个部分的值和位置加权来确定的,每个所述部分包括一个位序列;
形成一最终密钥,形成最终密钥的所述步骤包括下列步骤:
对所述实际基本密钥和所述实际用户密钥进行异或计算;并且
对所述最终密钥和所述数字数据进行异或计算。
2.如权利要求1所述的方法,其特征在于,
从所述用户密钥中选择两个被选中部分的所述步骤包括下列步骤:
从所述用户密钥中选择标号等于i的字节KEYi
从所述用户密钥中选择标号等于L的字节KEYL;并且
形成实际用户密钥的所述步骤包括对i自2至N-1的值重复从所述用户密钥中选择一个字节的所述步骤,其中所述用户密钥的每个字节具有一标号,N是所述用户密钥的字节数,并且:
L=((KEYi-1+KEYi+KEYi+1+i)模N)+1。
3.如权利要求1所述的方法,其特征在于,使所述置换后用户密钥循环移位一定位数的所述步骤包括下列步骤:
形成一移位因子S,该移位因子等于值(255+i)×KYEi对i自1至N求和,其中KEY是所述用户密钥的一个字节,所述用户密钥的每个所述字节具有一个标号,N是所述用户密钥的字节数;并且
使所述置换后用户密钥向最高有效位位置循环移位L位,其中:
L=(S模(N×8))+1。
4.如权利要求1所述的方法,其特征在于,使所述预定基本密钥循环移位一定位数的所述步骤包括下列步骤:
形成一移位因子S,该移位因子等于值(255+i)×KYEi对i自1至N求和,其中KEY是所述用户密钥的一个字节,所述用户密钥的每个所述字节具有一个标号,N是所述用户密钥的字节数;并且
使所述预定基本密钥向最高有效位位置循环移位L位;
M是所述基本密钥的字节数,其中:
L=(S模(M×8))+1。
5.如权利要求1所述的方法,其特征在于,形成一最终密钥的所述步骤包括下列步骤:
形成一移位因子S,该移位因子等于值(255+i)×KYEi对i自1至N求和,其中KEY是所述用户密钥的一个字节,所述用户密钥的每个所述字节具有一个标号,N是所述用户密钥的字节数;
对所述移位后的基本密钥和所述填充后的用户密钥进行异或计算,以形成一个半最终密钥;并且
对所述半最终密钥和所述移位因子S进行异或计算,其中所述移位因子S表示为一个四字节的字。
6.如权利要求1所述的方法,其特征在于,所述输入用户密钥的每个所述选中部分都由一个字节组成。
7.如权利要求6所述的方法,其特征在于,所述预定部分由所述输入用户密钥的多个连续字节组成。
8.如权利要求7所述的方法,其特征在于,所述预定部分由所述输入用户密钥的三个连续的字节组成。
9.如权利要求1所述的方法,其特征在于,所述置换后用户密钥的每个所述选中部分都由一个字节组成。
10.如权利要求9所述的方法,其特征在于,所述部分由所述置换后用户密钥的所有字节组成。
11.如权利要求1所述的方法,其特征在于,接收输入用户密钥的所述步骤包括下列步骤:
从一输入设备读取所述输入用户密钥;
压缩所述输入用户密钥;
确定所述被压缩输入用户密钥中的不同字节个数;并且
如果所述被压缩的输入用户密钥的字节数小于预定的总用户密钥字节最小值,或者如果所述被压缩的输入用户密钥的不同字节个数小于预定的不同用户密钥的字节个数最小值,则拒绝所述输入用户密钥。
12.如权利要求1所述的方法,其特征在于,压缩所述用户密钥的所述步骤包括删除所有全由“1”组成的字节和所有全由“0”组成的字节。
13.如权利要求1所述的方法,其特征在于,形成实际用户密钥的所述步骤包括下列步骤:
从一输入设备至少接收一个输入用户密钥,每个用户密钥包括一个位序列;
置换每个所述输入用户密钥,以形成一置换后的用户密钥;
对每个所述置换后的用户密钥和每个其他的所述置换后用户密钥进行异或计算,以形成一总用户密钥;
置换所述总用户密钥;并且
使所述总用户密钥循环移位。
14.如权利要求13所述的方法,其特征在于,形成实际用户密钥的所述步骤在置换所述总用户密钥的所述步骤之前还包括下列步骤:
压缩所述总用户密钥,以形成一被压缩的总用户密钥;
确定所述被压缩的总用户密钥中的不同字节个数;并且
如果所述被压缩的总用户密钥的字节数小于预定的总用户密钥长度最小值,或者如果所述被压缩的总用户密钥的不同字节个数小于预定的不同字节数最小值,则拒绝所有所述输入用户密钥。
15.一种用于对数字数据加密和解密的设备,其特征在于,包括:
接口装置,用于数字数据的双向通信;
处理器装置,用于根据一预定用户密钥和一预定基本密钥计算一最终密钥;
存储装置,用于存储所述最终密钥;
异或装置,用于接收所述最终密钥和所述数字数据,并将所述数字数据和所述最终密钥的异或操作结果提供给所述接口;并且
编址装置,它按顺序为所述存储装置提供地址,所述地址与所述最终密钥的连续部分相对应。
16.如权利要求15所述的设备,其特征在于,每个所述连续部分是一个字节。
CN95191926.1A 1994-03-14 1995-03-10 密钥可变的加密系统 Expired - Fee Related CN1086260C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/209,918 US5425103A (en) 1994-03-14 1994-03-14 Variable-key cryptography system
US08/209,918 1994-03-14

Publications (2)

Publication Number Publication Date
CN1143437A CN1143437A (zh) 1997-02-19
CN1086260C true CN1086260C (zh) 2002-06-12

Family

ID=22780869

Family Applications (1)

Application Number Title Priority Date Filing Date
CN95191926.1A Expired - Fee Related CN1086260C (zh) 1994-03-14 1995-03-10 密钥可变的加密系统

Country Status (7)

Country Link
US (2) US5425103A (zh)
CN (1) CN1086260C (zh)
AU (1) AU1984695A (zh)
GB (1) GB2301266B (zh)
MY (1) MY114157A (zh)
TW (1) TW257921B (zh)
WO (1) WO1995025392A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110768784A (zh) * 2019-10-22 2020-02-07 广州酷旅旅行社有限公司 密码传输方法、装置、计算机设备和存储介质

Families Citing this family (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL9400428A (nl) * 1994-03-18 1995-11-01 Nederland Ptt Inrichting voor het cryptografisch bewerken van datapakketten, alsmede werkwijze voor het genereren van cryptografische bewerkingsdata.
US5768390A (en) * 1995-10-25 1998-06-16 International Business Machines Corporation Cryptographic system with masking
US5870470A (en) * 1996-02-20 1999-02-09 International Business Machines Corporation Method and apparatus for encrypting long blocks using a short-block encryption procedure
US6041123A (en) * 1996-07-01 2000-03-21 Allsoft Distributing Incorporated Centralized secure communications system
US5841872A (en) * 1996-07-01 1998-11-24 Allsoft Distributing Incorporated Encryption enhancement system
DE19707288A1 (de) * 1997-02-24 1998-08-27 Andreas Kuehnl Mittel zur sicheren Chiffrierung jeglicher Art von Daten
DE19716861C2 (de) * 1997-04-22 2000-04-27 Deutsche Telekom Ag Verschlüsselungsverfahren und -vorrichtung
JPH10301492A (ja) 1997-04-23 1998-11-13 Sony Corp 暗号化装置および方法、復号装置および方法、並びに情報処理装置および方法
CA2210199A1 (en) * 1997-07-11 1999-01-11 Mitel Corporation Method and apparatus for the generation of non-linear confusion data
US6078888A (en) * 1997-07-16 2000-06-20 Gilbarco Inc. Cryptography security for remote dispenser transactions
US6035042A (en) * 1997-12-10 2000-03-07 Allegheny Teledyne Inc. High speed and method of providing high speed table generation for block encryption
DE19807020A1 (de) * 1998-02-19 1999-08-26 Kuehnl Mittel zur sicheren Chiffrierung von Daten
US5974144A (en) * 1998-02-25 1999-10-26 Cipheractive Ltd. System for encryption of partitioned data blocks utilizing public key methods and random numbers
GB2339121B (en) * 1998-06-30 2003-03-05 Chantilley Corp Ltd Encryption and decryption key arrangements
US6490353B1 (en) 1998-11-23 2002-12-03 Tan Daniel Tiong Hok Data encrypting and decrypting apparatus and method
FR2786346B1 (fr) * 1998-11-24 2001-02-09 Rue Cartes Et Systemes De Procede de traitement aleatoire de la cle dans un chiffrement a cle secrete
AU3324599A (en) * 1999-03-16 2000-10-04 Valentin Alexandrovich Mischenko Method and apparatus for encoding and decoding information
US6760438B1 (en) * 1999-07-01 2004-07-06 Nortel Networks Limited System and method for Viterbi decoding on encrypted data
DE19932769A1 (de) * 1999-07-14 2001-03-08 Roellgen Bernd Während der Laufzeit veränderbare kryptographische Methode
DE69929251T2 (de) * 1999-10-20 2006-07-13 Fujitsu Ltd., Kawasaki Verschlüsselungssystem mit einem schlüssel veränderlicher länge
WO2001080520A2 (en) * 2000-04-12 2001-10-25 Nortel Networks Limited Security encrypted network access identifier for ip mobility systems
GB2367933B (en) * 2000-10-10 2002-10-23 F Secure Oyj Encryption
US7389424B2 (en) * 2000-10-24 2008-06-17 Kurzweil Cyberart Technologies, Inc. Technique for distributing software
DE10129285C2 (de) * 2001-06-18 2003-01-09 Hans-Joachim Mueschenborn Verschlüsselungsverfahren mit beliebig wählbaren Einmalschlüsseln
GB2374260B (en) * 2001-10-12 2003-08-13 F Secure Oyj Data encryption
US7921284B1 (en) 2001-12-12 2011-04-05 Gary Mark Kinghorn Method and system for protecting electronic data in enterprise environment
US7930756B1 (en) 2001-12-12 2011-04-19 Crocker Steven Toye Multi-level cryptographic transformations for securing digital assets
US7178033B1 (en) 2001-12-12 2007-02-13 Pss Systems, Inc. Method and apparatus for securing digital assets
US7565683B1 (en) 2001-12-12 2009-07-21 Weiqing Huang Method and system for implementing changes to security policies in a distributed security system
US10033700B2 (en) 2001-12-12 2018-07-24 Intellectual Ventures I Llc Dynamic evaluation of access rights
US7921288B1 (en) 2001-12-12 2011-04-05 Hildebrand Hal S System and method for providing different levels of key security for controlling access to secured items
US7921450B1 (en) * 2001-12-12 2011-04-05 Klimenty Vainstein Security system using indirect key generation from access rules and methods therefor
US10360545B2 (en) 2001-12-12 2019-07-23 Guardian Data Storage, Llc Method and apparatus for accessing secured electronic data off-line
US7380120B1 (en) * 2001-12-12 2008-05-27 Guardian Data Storage, Llc Secured data format for access control
US7260555B2 (en) 2001-12-12 2007-08-21 Guardian Data Storage, Llc Method and architecture for providing pervasive security to digital assets
US8065713B1 (en) 2001-12-12 2011-11-22 Klimenty Vainstein System and method for providing multi-location access management to secured items
DE10162991A1 (de) * 2001-12-20 2003-07-17 Siemens Ag Verfahren zum rechnergestützten Ver- und Entschlüsseln von Daten
US7950066B1 (en) 2001-12-21 2011-05-24 Guardian Data Storage, Llc Method and system for restricting use of a clipboard application
US8176334B2 (en) 2002-09-30 2012-05-08 Guardian Data Storage, Llc Document security system that permits external users to gain access to secured files
US8707034B1 (en) 2003-05-30 2014-04-22 Intellectual Ventures I Llc Method and system for using remote headers to secure electronic files
US7366302B2 (en) * 2003-08-25 2008-04-29 Sony Corporation Apparatus and method for an iterative cryptographic block
US8127366B2 (en) 2003-09-30 2012-02-28 Guardian Data Storage, Llc Method and apparatus for transitioning between states of security policies used to secure electronic documents
US7703140B2 (en) 2003-09-30 2010-04-20 Guardian Data Storage, Llc Method and system for securing digital assets using process-driven security policies
US7257225B2 (en) * 2003-12-29 2007-08-14 American Express Travel Related Services Company, Inc. System and method for high speed reversible data encryption
KR20070042511A (ko) * 2004-06-14 2007-04-23 디 유니버시티 오브 노스 캐롤라이나 앳 그린스보로 디지털 콘텐트 보안 시스템 및 방법
US7458008B2 (en) * 2004-12-30 2008-11-25 Freescale Semiconductor, Inc. Decision voting in a parallel decoder
CN1829142B (zh) * 2005-03-02 2010-09-29 中国科学院软件研究所 一种强化密钥流序列的方法
JP2006304167A (ja) * 2005-04-25 2006-11-02 Sony Corp キー生成方法およびキー生成装置
US20100106959A1 (en) * 2005-12-16 2010-04-29 Pmc Sierra Ltd. Triple and quadruple churning security for 1G and 10G PON
US20070280474A1 (en) * 2006-04-18 2007-12-06 Heinz Karl E Encryption Method
US20080010463A1 (en) * 2006-07-10 2008-01-10 Motorola, Inc. Method for producing truncated message digests
JP5203594B2 (ja) * 2006-11-07 2013-06-05 株式会社東芝 暗号処理回路及び暗号処理方法
JP4851947B2 (ja) * 2007-01-29 2012-01-11 株式会社東芝 論理回路
CN101093627B (zh) * 2007-08-07 2010-06-23 威盛电子股份有限公司 密码编译码装置
US8781117B2 (en) * 2007-08-29 2014-07-15 Red Hat, Inc. Generating pseudo random bits from polynomials
US8265272B2 (en) * 2007-08-29 2012-09-11 Red Hat, Inc. Method and an apparatus to generate pseudo random bits for a cryptographic key
US8301912B2 (en) * 2007-12-31 2012-10-30 Sandisk Technologies Inc. System, method and memory device providing data scrambling compatible with on-chip copy operation
US8687806B2 (en) * 2008-02-07 2014-04-01 Motorola Mobility Llc Conditional access system employing constrained encryption keys
US8416947B2 (en) * 2008-02-21 2013-04-09 Red Hat, Inc. Block cipher using multiplication over a finite field of even characteristic
EP2096884A1 (en) 2008-02-29 2009-09-02 Koninklijke KPN N.V. Telecommunications network and method for time-based network access
US8560587B2 (en) * 2008-05-22 2013-10-15 Red Hat, Inc. Non-linear mixing of pseudo-random number generator output
US8588412B2 (en) * 2008-05-23 2013-11-19 Red Hat, Inc. Mechanism for generating pseudorandom number sequences
US8358781B2 (en) * 2008-11-30 2013-01-22 Red Hat, Inc. Nonlinear feedback mode for block ciphers
CN101894244B (zh) * 2009-05-20 2012-11-21 鸿富锦精密工业(深圳)有限公司 电子资料加密系统及方法
CN102045169B (zh) * 2010-12-10 2015-11-25 厦门市美亚柏科信息股份有限公司 一种新口令认证方法和装置
CN102843377A (zh) * 2012-09-13 2012-12-26 杭州也要买电子商务有限公司 一种社交网站用的快速加密方法
CN102955965B (zh) * 2012-10-22 2015-05-13 北京印刷学院 单参数递变相对同步递增加密二进制防伪印刷方法
CN102945419B (zh) * 2012-10-22 2015-06-10 北京印刷学院 多参数双变量反向同步递进加密二进制防伪印刷方法
CN102945467B (zh) * 2012-10-22 2015-08-19 北京印刷学院 单参数单变量递增循环加密二进制防伪印刷方法
CN102955964B (zh) * 2012-10-22 2015-05-20 北京印刷学院 单参数递变左移变位跨步递增加密二进制防伪印刷方法
CN102945391B (zh) * 2012-10-22 2015-07-15 北京印刷学院 同向同步递增加密二进制防伪印刷方法
CN102945427B (zh) * 2012-10-22 2015-10-28 北京印刷学院 三维变序单参数加密二进制防伪印刷方法
CN102945438B (zh) * 2012-10-22 2015-07-01 北京印刷学院 多参数双变量跨步右移递进加密二进制防伪印刷方法
CN102945405B (zh) * 2012-10-22 2015-08-19 北京印刷学院 多参数反向同步递进加密二进制防伪印刷方法
CN102945477B (zh) * 2012-10-22 2015-07-15 北京印刷学院 二维加密二进制防伪印刷方法
CN102945409B (zh) * 2012-10-22 2015-10-28 北京印刷学院 多参数位移二重加密二进制防伪印刷方法
CN102945410B (zh) * 2012-10-22 2015-07-01 北京印刷学院 多参数变序三维加密二进制防伪印刷方法
CN102945501B (zh) * 2012-10-22 2015-07-01 北京印刷学院 单参数位移单变量二重递增循环加密二进制防伪印刷方法
CN102945490B (zh) * 2012-10-22 2015-04-22 北京印刷学院 单参数二重变序加密二进制防伪印刷方法
CN102945464B (zh) * 2012-10-22 2015-05-13 北京印刷学院 单参数递变同向同步递增加密二进制防伪印刷方法
CN102945411B (zh) * 2012-10-22 2015-12-02 北京印刷学院 多参数二重加密二进制防伪印刷方法
CN102945414B (zh) * 2012-10-22 2015-05-13 北京印刷学院 单变量参数位移加密二进制防伪印刷方法
CN102955966B (zh) * 2012-10-22 2015-05-13 北京印刷学院 反向同步递增加密二进制防伪印刷方法
CN102945481B (zh) * 2012-10-22 2015-05-13 北京印刷学院 多参数左移变位跨步递增加密二进制防伪印刷方法
CN102945500B (zh) * 2012-10-22 2015-04-22 北京印刷学院 单参数单变量二重递进循环加密二进制防伪印刷方法
CN102945433B (zh) * 2012-10-22 2015-05-13 北京印刷学院 二维动态变参数加密二进制防伪印刷方法
CN102945388B (zh) * 2012-10-22 2015-07-15 北京印刷学院 动态变参数双重加密二进制防伪印刷方法
CN102945457B (zh) * 2012-10-22 2015-08-19 北京印刷学院 单参数二重位移变序加密二进制防伪印刷方法
CN102945387B (zh) * 2012-10-22 2015-05-20 北京印刷学院 多参数递变加密二进制防伪印刷方法
CN103106509B (zh) * 2013-01-22 2015-10-28 北京印刷学院 单变量参数递变多元变量循环加密防伪信息存储商标
CN103106523B (zh) * 2013-01-22 2015-07-15 北京印刷学院 多参数单变量多元循环加密防伪信息存储商标
CN103106476B (zh) * 2013-01-22 2015-07-01 北京印刷学院 单变量参数递变一元循环加密防伪信息存储商标
CN103942590B (zh) * 2013-01-22 2016-12-28 广东石油化工学院 单参数多元循环加密防伪信息存储商标
CN103106491B (zh) * 2013-01-22 2015-08-19 北京印刷学院 单参数变量递变三元循环加密防伪信息存储商标
CN103116782B (zh) * 2013-01-22 2015-07-01 北京印刷学院 单变量参数递变二元循环加密防伪信息存储商标
CN103116779B (zh) * 2013-01-22 2015-07-01 北京印刷学院 单参数变量递变多元循环加密防伪信息存储商标
CN103106524B (zh) * 2013-01-22 2015-10-28 北京印刷学院 多参数变量递变多元加密防伪信息存储商标
CN103116784B (zh) * 2013-01-22 2015-07-15 北京印刷学院 多参数单变量三元循环加密防伪信息存储商标
CN103106438B (zh) * 2013-01-22 2015-10-28 北京印刷学院 参数递变多变量多元加密防伪信息存储商标
CN103116788B (zh) * 2013-01-22 2015-07-01 北京印刷学院 多参数二元变量循环加密防伪信息存储商标
CN103106449B (zh) * 2013-01-22 2015-07-15 北京印刷学院 单参数多变量三元变量循环加密防伪信息存储商标
CN103116777B (zh) * 2013-01-22 2015-10-28 北京印刷学院 单参数多变量多元变量循环加密防伪信息存储商标
CN103106485B (zh) * 2013-01-22 2015-10-28 北京印刷学院 单参数双变量一元循环加密防伪信息存储商标
CN103106502B (zh) * 2013-01-22 2015-06-03 北京印刷学院 多变量参数递变三元加密防伪信息存储商标
CN103116778B (zh) * 2013-01-22 2015-10-28 北京印刷学院 单参数多变量二元变量循环加密防伪信息存储商标
CN103106430B (zh) * 2013-01-22 2015-07-15 北京印刷学院 单参数双变量多元加密防伪信息存储商标
CN103116776B (zh) * 2013-01-22 2015-10-28 北京印刷学院 单参数双变量多元循环加密防伪信息存储商标
CN103152171B (zh) * 2013-03-26 2015-11-18 桂林电子科技大学 密钥可变的内轮置换流密码加密方法
CN106339638A (zh) * 2016-08-22 2017-01-18 北京北信源软件股份有限公司 一种文件存储和访问过程中的加解密方法
CN106549752A (zh) * 2016-10-10 2017-03-29 佛山职业技术学院 一种用于电子标签的数据信息加密方法
CN108306726B (zh) * 2017-01-13 2021-09-17 杭州海康威视数字技术股份有限公司 一种密钥获得方法及系统
CN109429222B (zh) * 2017-08-22 2022-06-07 叶毅嵘 一种对无线网络设备升级程序及通讯数据加密的方法
CN109448208B (zh) * 2019-01-08 2021-03-02 青岛海信智慧家居系统股份有限公司 一种智能门锁的开锁方法及控制装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4225935A (en) * 1977-08-30 1980-09-30 Sperry Corporation Coding method and system with enhanced security
US4200770A (en) * 1977-09-06 1980-04-29 Stanford University Cryptographic apparatus and method
US4369332A (en) * 1979-09-26 1983-01-18 Burroughs Corporation Key variable generator for an encryption/decryption device
US4503287A (en) * 1981-11-23 1985-03-05 Analytics, Inc. Two-tiered communication security employing asymmetric session keys
US4663500A (en) * 1982-02-22 1987-05-05 Nec Corporation Cryptographic system
US4549308A (en) * 1982-07-12 1985-10-22 At&T Bell Laboratories Secure mobile radio telephony
US4819267A (en) * 1984-02-22 1989-04-04 Thumbscan, Inc. Solid state key for controlling access to computer systems and to computer software and/or for secure communications
US4596898A (en) * 1984-03-14 1986-06-24 Computer Security Systems, Inc. Method and apparatus for protecting stored and transmitted data from compromise or interception
GB2204465B (en) * 1987-05-01 1991-06-19 Philips Electronic Associated A method of and an arrangement for digital signal encryption
WO1990014735A1 (en) * 1989-05-24 1990-11-29 Motorola, Inc. Apparatus and method for enhancing the reliability of digital messages
FR2650458B1 (fr) * 1989-07-25 1991-10-11 Trt Telecom Radio Electr Procede de traitement d'une permutation irreguliere de donnees protegees par chiffrement
US5231662A (en) * 1989-08-01 1993-07-27 Tulip Computers International B.V. Method and device for enciphering data to be transferred and for deciphering the enciphered data, and a computer system comprising such a device
NZ238651A (en) * 1990-07-20 1994-04-27 Ericsson Ge Mobile Communicat Encryption system for digital cellular communications
US5115467A (en) * 1991-01-23 1992-05-19 General Instrument Corporation Signal encryption apparatus for generating common and distinct keys
US5237612A (en) * 1991-03-29 1993-08-17 Ericsson Ge Mobile Communications Inc. Cellular verification and validation system
US5241599A (en) * 1991-10-02 1993-08-31 At&T Bell Laboratories Cryptographic protocol for secure communications

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110768784A (zh) * 2019-10-22 2020-02-07 广州酷旅旅行社有限公司 密码传输方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
MY114157A (en) 2002-08-30
WO1995025392A1 (en) 1995-09-21
TW257921B (zh) 1995-09-21
GB2301266B (en) 1998-04-01
GB9616348D0 (en) 1996-09-11
US5619576A (en) 1997-04-08
GB2301266A (en) 1996-11-27
US5425103A (en) 1995-06-13
CN1143437A (zh) 1997-02-19
AU1984695A (en) 1995-10-03

Similar Documents

Publication Publication Date Title
CN1086260C (zh) 密钥可变的加密系统
CN1172235C (zh) 扩充密钥发生器、加密/解密单元、扩充密钥产生方法
Wu et al. Design of integrated multimedia compression and encryption systems
CN1159112A (zh) 加密方法及装置、记录方法、解码方法及装置和记录介质
CN1677917A (zh) 基于循环缓冲的流式密码设计
CN1211363A (zh) 运用公共密钥完成通信的方法
WO2015057282A1 (en) Block management unification system and method
CN101040474A (zh) 为提高安全性的置换数据变换
US7003111B2 (en) Method, system, and program, for encoding and decoding input data
CN1238988C (zh) 密钥信息生成的方法和装置、内容信息加密与解密的方法和装置
CN1516385A (zh) 数据流发生程序和存储介质加密数据项流信号和记录载体
CN113067696B (zh) 一种基于比特位分组的多轮对称数字图像加密方法及系统
CN115941153B (zh) 一种药物合成数据的安全存储方法
CN100340081C (zh) 伪随机序列发生器及相关方法
Benedict Improved file security system using multiple image steganography
US20080118060A1 (en) Method of decoding/encoding content file
CN1108040C (zh) 解密方法及电子装置
CN108521534A (zh) 基于dna编码和陈超混沌的多图像加密方法
JP2640939B2 (ja) 画像へのデータ合成方法
CN1180351C (zh) 强化错乱的分组密码加密方法
Bajwa et al. A new perfect hashing based approach for secure stegnograph
JP2824910B2 (ja) 画像へのデータ合成方法
JP2006074338A (ja) データ秘匿化装置、秘匿データ抽出装置、データ秘匿化方法、秘匿データ抽出方法及びこれらのプログラム
CN1425230A (zh) 密钥流的产生方法及装置
CN115842619B (zh) 基于dna编码的图像加密方法、系统、计算机装置及介质

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
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee