CN1186901C - 密码处理装置、集成电路卡及密码处理方法 - Google Patents

密码处理装置、集成电路卡及密码处理方法 Download PDF

Info

Publication number
CN1186901C
CN1186901C CNB988007088A CN98800708A CN1186901C CN 1186901 C CN1186901 C CN 1186901C CN B988007088 A CNB988007088 A CN B988007088A CN 98800708 A CN98800708 A CN 98800708A CN 1186901 C CN1186901 C CN 1186901C
Authority
CN
China
Prior art keywords
data
buffer
circuit
mentioned
selector
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 - Lifetime
Application number
CNB988007088A
Other languages
English (en)
Other versions
CN1228183A (zh
Inventor
松井充
时田俊雄
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of CN1228183A publication Critical patent/CN1228183A/zh
Application granted granted Critical
Publication of CN1186901C publication Critical patent/CN1186901C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/122Hardware reduction or efficient architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)
  • Power Sources (AREA)
  • Credit Cards Or The Like (AREA)
  • Microcomputers (AREA)

Abstract

一种密码处理装置,其中函数F具有反覆处理的结构,函数F在其内部具有函数f的反覆结构,其由暂时储存数据的暂存器301~303、选择应输出数据的选择器A~C311~313以及进行数据变换的函数f演算电路323所构成。从函数f运算电路323的输出被储存在暂存器C303,利用选择器C313,以选择是否反覆执行函数f运算电路323中的数据变换。在上述情况下,能够有效率地构成密码处理装置,并且能够削减电路规模和降低消耗电力。

Description

密码处理装置、集成电路卡 及密码处理方法
技术领域
本发明涉及密码处理装置,特别是关于使用在IC(integrated circuit,集成电路)卡等的小型密码处理装置。
背景技术
作为本发明的现有技术,则以利用秘密键(公开键)系统之区块密码的美国商用密码DES(data encryption standard)来做说明。
DES的详细处理内容,则记载于Hans Eberl的“A High-speed DESimplementation for Network Application”,Advances in Cryptology-CRYPTO’92,Lecture notes in Computer Science 740、Springer-Verlag。
图18是DES密码运算法的流程图。
在图18中,1001~1004是进行数据变换处理的函数F运算,1011~1014是每个位元的“异-或”逻辑运算。另外,初期转置和结束转置则省略。
接着说明其动作。
2n个位元(DES的情况是2×32位元)的输入数据1050被分割成两个n位元的数据1051和1052。n位元数据1051以原来形态输出做为n位元数据1053,并且输入到函数F1001,进行数据的转换。由函数F1011所输出的数据,则是藉由“异-或”逻辑运算,输出n位元数据1054。
与上述者相同,反覆地进行函数F1002、1003、1004和“异-或”逻辑运算1012、1013、1014的运算处理,输出数据1055、1056。再将这两个n位元数据合成后,输出作为2n位元数据1057。
图19则是实现等效于图18所示DES密码流程图的数据变换处理的密码处理装置之一例。
在图19中,1101和1102是保存数据的暂存器A和暂存器B,1103和1104是选择数据的选择器A和选择器B,1105是用来进行函数F的数据变换运算的函数F运算电路,1106是“异-或”逻辑电路,1201和1202是n位元输入数据A、B,1203和1204是n位元输出数据A和B。
接着说明其动作。
2n个位元(DES的情况是2×32位元)的输入数据,被分割成各为n个位元的两个输入数据A1201和输入数据B1202。这两个输入数据分别利用选择器A1103和选择器B1104加以选择,并且保存在暂存器A1101和暂存器B1102中。接着,保存在暂存器A1101的数据被反馈到选择器A1103和选择器B1104,同时在输入到函数F运算电路1105并且进行数据变换之后,与保存在暂存器B1102的数据,由“异-或”逻辑电路1106中进行“异-或”逻辑运算。其结果则反馈到选择器A1103和选择器B1104。
接着,在选择器A1103中选择出“异-或”逻辑电路1106的结果,并且在选择器B中选择出保存在暂存器A1101的数据,分别更新和储存在暂存器A1101和暂存器B1102中。同样地,接着,根据所需要的次数,反覆进行图18中从函数F1002、1003、1004到“异-或”逻辑运算1012、1013、1014,送出输出数据A1203和输出数据B1204。此在DES的情况中为16次。
另外,此现有技术的详细内容,则记载于Hans Eberl“A High-speed DES implementation for Network Application”,Advances inCryptology-CRYPTO’92,Lecture notes in Computer Science 740、Springer-Verlag。
上述形式的密码处理装置中,当利用相同结构的函数F进行反覆处理时,能够利用单一电路反覆执行的方式,有效率地实现处理电路。因此,可以降低电路的规模,也可以减轻电力的消耗。然而,当函数F的内部具有较小处理要素的反覆结构时,这样的密码处理装置结构,也会有无法降低电路规模或者是伴随其减轻电力的消耗问题。
发明内容
本发明的目的,便是为了解决上述的问题,而提出一种密码处理装置,当其包含相同结构的函数F具有反覆处理结构,并且函数F的内部具有较小处理要素的反覆结构时,能够有效地构成密码处理装置,并且能够降低电路规模和减轻电力消耗。
本发明涉及的一种密码处理装置,
输入加密的数据A和数据B,并且
第一运算电路,对数据A和数据B交替地执行第一数据变换处理;
第二运算电路,在上述第一运算电路的内部,对输入到上述第1运算电路的数据A或数据B,执行第二数据变换处理;
通过在上述第一运算电路的内部,反复执行上述第二运算电路,和反复执行上述第一运算电路,将数据A和数据B加密;并
将被加密的数据A和数据B输出;
其特征在于:具有
暂存器A,输入并保存加密的数据A,并且将输入到第一运算电路的数据A保存并输出,在第一运算电路的反复执行后,将加密的数据A输出;
暂存器B,输入并保存加密的数据B,并且将输入到第一运算电路的数据B保存并输出,在第一运算电路的反复执行后,将加密的数据B输出;
暂存器C,设于上述第一运算电路的内部,将从第二运算电路输出的数据C反复保存并输出;
选择器C,从暂存器A、暂存器B和暂存器C三个暂存器中,选择一个暂存器,并将在所选择的暂存器中保存的数据输出;
“异-或”逻辑电路A,对由选择器C输出的数据,进行与在暂存器A保存的数据A的“异-或”逻辑运算;
选择器A,选择由“异-或”逻辑电路A运算的结果并保存在暂存器A;
“异-或”逻辑电路B,对由选择器C输出的数据,进行与在暂存器B保存的数据B的“异-或”逻辑运算;和
选择器B,选择由“异-或”逻辑电路B运算的结果并保存在暂存器B;
上述第一运算电路具有上述第二运算电路和暂存器C和选择器C,在上述第一运算电路的内部,由上述第二运算电路和暂存器C和选择器C构成由上述第二运算电路反复执行第二数据变换处理的第一处理环路,并且与“异-或”逻辑电路A和B和选择器A和B和暂存器A和B一起,构成由上述第一运算电路反复执行第一数据变换处理的第二处理环路;
上述第二运算电路输入由选择器C输出的数据作第二数据变换处理,将经第二数据变换处理的数据作为数据C保存在暂存器C;
上述选择器C在反复和执行第一运算电路时,交替地选择保存在暂存器A的数据A和保存在暂存器B的数据B并输出,通过开始由第二运算电路所作的第二数据变换处理的反复执行,交替地由第一运算电路执行对数据A所作的第一数据变换处理和由第一运算电路对数据B所作的第一数据变换处理,并且在将由第二运算电路所作的第二数据变换处理的反复执行继续时,选择存保在暂存器C的数据C并输出,反复执行由第二运算电路所作的第二数据变换处理,在终结由第二运算电路所作的第二数据变换处理的反复执行时,选择保存在暂存器C的数据C并输出,在“异-或”逻辑电路A和“异-或”逻辑电路B进行“异-或”逻辑运算;
上述选择器A和选择器B,是在终结由第二运算电路所作的第二数据变换处理的反复执行时,交替地选择在“异-或”逻辑电路A和“异-或”逻辑电路B的运算结果,并交替地保存在暂存器A和暂存器B。
本发明涉及的一种密码处理装置,
输入加密的数据A和数据B,并且
第一运算电路对数据A和数据B交替地执行第一数据变换处理;
第二运算电路,在上述第一运算电路的内部,对输入到上述第1运算电路的数据A或数据B,执行第二数据变换处理;
通过在上述第一运算电路的内部,反复执行上述第二运算电路,和反复执行上述第一运算电路,将数据A和数据B加密;并
将被加密的数据A和数据B输出;
其特征在于:具有
输入加密数据A和输入线A,输入加密数据B的输入线B,输出加密数据A的输出线A和输出加密数据B的输出线B;
保存数据的暂存器A,暂存器B和暂存器C;
选择数据的选择器A,选择器B和选择器C;和
“异-或”逻辑电路A和“异-或”逻辑电路B;
上述第一运算电路具有选择器C、暂存器C和第二运算电路;
上述暂存器A连接于选择A的输出侧,并且连接于输出数据A的输出线A,选择器C的输入侧,和“异-或”逻辑电路A的输入侧;
上述暂存器B连接于选择B的输出侧,并且连接于输出数据B的输出线B,选择器C的输入侧,和“异-或”逻辑电路B的输入侧;
上述选择器A连接于输入数据A的输入线A和“异-或”逻辑电路A的输出侧,并且连接于暂存器A的输入侧,在开始第1次的第一运算电路的执行时,从输入线A输入数据A并保存于暂存器A;
上述选择器B连接于输入数据B的输入线B和“异-或”逻辑电路B的输出侧,并且连接于暂存器B的输入侧,在开始第1次的第一运算电路的执行时,从输入线B输入数据B并保存于暂存器B;
上述选择器C连接于暂存器A的输出侧,暂存器B的输出侧和暂存器C的输出侧,并且连接于第二运算电路的输入侧和“异-或”逻辑电路A的输入侧和“异-或”逻辑电路B的输入侧;
上述第二运算电路连接于选择器C的输出侧,并且连接于暂存器C的输入侧,对由选择器C选择的数据,进行第二数据变换处理,将其结果作为数据C保存于暂存器C;
上述暂存器C连接于上述第二运算电路的输出侧,并且连接于上述选择器C的输入侧;
上述“异-或”逻辑电路A连接于选择器C的输出侧和暂存器A的输出侧,并且连接于暂存器C的输入侧,对由选择器C选择的数据,进行第二数据变换处理,将其结果作为数据C保存于暂存器C;
上述暂存器C连接于上述第二运算电路的输出侧,并且连接于上述选择器C的输入侧;
上述“异-或”逻辑电路A连接于选择器C的输出侧和暂存器A的输出侧,并且连接于选择器A的输入侧,对从选择器C输出的数据C和保存在暂存器A的数据A作“异-或”逻辑运算,并输出到选择器A;
上述“异-或”逻辑电路B连接于选择器C的输出侧和暂存器B的输出侧,并且连接于选择器B的输入侧,对从选择器C输出的数据C和保存在暂存器B的数据B作“异-或”逻辑运算,并输出到选择器B;
上述选择器C
在开始奇数次的第一运算电路的执行时,选择保存在暂存器A的数据A,将选择的数据A输出到第二运算电路、“异-或”逻辑电路A和“异-或”逻辑电路B;
在开始偶数次的第一运算电路的执行时,选择保存在暂存器B的数据B,将选择的数据B输出到第二运算电路、“异-或”逻辑电路A和“异-或”逻辑电路B;
在反复执行第二运算电路时和在终结第二运算电路的反复执行时,选择保存在暂存器C的数据C,将选择的数据C输出到第二运算电路、“异-或”逻辑电路A和“异-或”逻辑电路B;
上述选择器A在终结奇数次的第一运算电路的执行时,不将在上述“异-或”逻辑电路A运算的结果保存到暂存器A,而将在暂存器A保存的数据A保持不变,在终结偶数次的第一运算电路的执行时,将在上述“异-或”逻辑电路A运算的结果,保存到暂存器A作为数据A;并且
上述选择器B在终结偶数次的第一运算电路的执行时,不将在上述“异-或”逻辑电路B运算的结果保存到暂存器B,而将在暂存器B保存的数据B保持不变,在终结奇数次的第一运算电路的执行时,将在上述“异-或”逻辑电路B运算的结果,保存到暂存器B作为数据B。
本发明涉及的IC卡,用以进行与读写器间的数据通信,其特征在于,包括:
数据接收电路,用以从上述读写器接收上述数据;
数据发送电路,用以发送上述数据至上述读写器;以及
上述的密码处理装置,用以对上述数据进行密码处理。
本发明涉及的密码处理方法,一种密码处理方法,用于具有暂存器A、暂存器B,暂存器C,选择器A,选择器B,选择器C,“异-或”逻辑电路A和“异-或”逻辑电路B的密码处理装置,
输入被加密的数据A和数据B,并且
第一运算工序,对数据A和数据B交替地执行第一数据变换处理;
第二运算工序,在上述第一运算工序的内部,对输入到上述第1运算工序中的数据A或数据B,执行第二数据变换处理;
通过在上述第一运算工序的内部,反复执行上述第二运算工序,和反复执行上述第一运算工序,将数据A和数据B加密;并
将被加密的数据A和数据B输出;
其特征在于:具有
暂存器A工序,输入加密的数据A并保存在暂存器A,并且将输入到第一运算工序的数据A保存在暂存器A并输出,在第一运算工序的反复执行后,从暂存器A将被加密的数据A输出;
暂存器B工序,输入加密的数据B并保存在暂存器B,并且将输入到第一运算工序的数据B保存在暂存器B并输出,在第一运算工序的反复执行后,从暂存器B将被加密的数据B输出;
暂存器C工序,设于上述第一运算工序的内部,将从第二运算工序输出的数据C反复保存在暂存器C并输出;
选择器C工序,通过选择器C,从暂存器A、暂存器B和暂存器C三个暂存器中,选择一个暂存器,并将在所选择的暂存器中保存的数据输出;
“异-或”逻辑电路A工序,通过“异-或”逻辑电路A,对由选择器C输出的数据,进行与在暂存器A保存的数据A的“异-或”逻辑运算;
选择器A工序,通过选择器A,选择由“异-或”逻辑电路A运算的结果并保存在暂存器A;
“异-或”逻辑电路B工序,通过“异-或”逻辑电路B,对由选择器C输出的数据,进行与在暂存器B保存的数据B的“异-或”逻辑运算;和
选择器B工序,通过选择器B,选择由“异-或”逻辑电路B运算的结果并保存在暂存器B;
上述第一运算工序具有上述第二运算工序和暂存器C工序和选择器C工序,在上述第一运算工序的内部,由上述第二运算工序和暂存器C工序和选择器C工序构成由上述第二运算工序反复执行第二数据变换处理的第一处理环路工序,并且与“异-或”逻辑电路A工序和“异-或”逻辑电路B工序和选择器A工序和选择器B工序和暂存器A工序和暂存器B工序一起,构成由上述第一运算工序反复执行第一数据变换处理的第二处理环路工序;
上述第二运算工序输入由选择器C工序输出的数据作第二数据变换处理,将经第二数据变换处理的数据作为数据C保存在暂存器C;
上述选择器C工序在反复和执行第一运算工序时,交替地选择保存在暂存器A的数据A和保存在暂存器B的数据B并输出,通过开始由第二运算工序所作的第二数据变换处理的反复执行,交替地对数据A执行由第一运算工序所作的第一数据变换处理和对数据B由第一运算工序所作的第一数据变换处理,并且在将由第二运算工序所作的第二数据变换处理的反复执行继续时,选择存保在暂存器C的数据C并输出,以反复执行由第二运算工序所作的第二数据变换处理,在终结由第二运算工序所作的第二数据变换处理的反复执行时,选择保存在暂存器C的数据C并输出,在“异-或”逻辑电路A工序和“异-或”逻辑电路B工序进行“异-或”逻辑运算;
上述选择器A工序和选择器B工序,是在终结由第二运算工序所作的第二数据变换处理的反复执行时,交替地选择在“异-或”逻辑电路A工序和“异-或”逻辑电路B工序的运算结果,并交替地保存在暂存器A和暂存器B。
附图说明:
图1是本发明第一实施例中加密运算法的示意图。
图2是本发明第一实施例中,在加密运算法中所使用的函数的结构示意图。
图3是表示本发明第一实施例中密码处理装置的基本结构方块图。
图4是表示本发明第一实施例中密码处理装置的基本动作一例的流程图。
图5是表示本发明第一实施中密码处理装置的基本动作一例的流程图。
图6是本发明第一实施例中,在加密运算法中所使用的函数的结构示意图。
图7是本发明第一实施例中加密运算的示意图。
图8是本发明第一实施例中,在加密算法中所使用的函数的结构示意图。
图9表示本发明第一实施例中第二运算电路的结构方块图。
图10是本发明第二实施例中加密运算法的示意图。
图11是本发明第二实施例中,在加密运算法中所使用的函数的结构示意图。
图12是表示本发明第二实施例中密码处理装置的基本结构方块图。
图13是表示本发明第二实施例中密码处理装置的基本动作一例的流程图。
图14是表示本发明第二实施例中密码处理装置的基本动作一例的流程图。
图15是表示本发明第二实施例中密码处理装置的基本动作一例的流程图。
图16是表示本发明第三实施例中通信系统的基本结构方块图。
图17是表示本发明第三实施例中IC的基本结构方块图。
图18是现有技术中加密运算法的示意图。
图19是表示习知技术中密码处理装置的基本结构方块图。
具体实施方式
第一实施例
利用图1~图3,说明本发明实施例中的密码处理装置。
图1是表示本发明实施例的密码处理装置中的密码处理运算法的流程图。
在图1中,101~104是进行数据变换处理的函数F运算,111~114是每个位元的“异-或”逻辑运算。
图2是表示函数F运算的结构,它是由三个函数f201~203和一个函数g211运算所构成。
以下说明其动作。
2n位元的输入数据150分割成上位和下位的两个n位元数据151、152。n位元的数据151以其原来形态输出作为n位元数据153,同时利用函数F101进行数据变换。从函数F101所输出的数据与另一个n位元数据152在“异-或”逻辑运算111对每一位进行“异-或”逻辑运算,输出n位元数据154。在函数F中,反覆在函数f201~203进行三次的运算后,进行g211的运算并输出。
同样的,接着反覆进行函数F102、103、104和“异-或”逻辑运算112、113、114的运算,并且输出n位元数据155和156。将此两个n位元数据合成后,输出2n位元数据157。
图3是表示用实现图1、图2所说的数据变换运算的密码处理装置的概略结构图。
在图3中,301、302和303是保存数据的暂存器A、暂存器B、暂存器C;311、312和313是选择数据的选择器A、选择器B、选择器C。321和322是每个位元的“异-或”逻辑运算电路。323是用来进行函数F运算中某一构成要素的函数f运算电路,324是用来进行函数F运算中某一构成要素的函数g运算电路。
第一运算电路100由暂存器C303、选择器C313、函数f运算电路323、函数g运算电路324所构成。环路处理电路200由暂存器C303、选择器C313和函数f算电路323所构成。
图4和图5是用来说明图3的电路动作的流程图。
利用图4和图5说明其动作。
函数F的运算,是由函数f运算电路323进行3次的处理以及由函数g运算电路324进行1次的处理所构成。
针对图3中第一段的数据变换处理进行说明。
2n位元的输入数据被分割成两个n位元数据,输入作为输入数据A351和输入数据B352。输入的数据在选择器A311和选择器B312中加以选择,分别保存在暂存器A301和暂存器B302(步骤S4-1)。
接着,在选择器C313中判断是奇数段的处理或是偶数段的处理(步骤4-2),而选择出保存在暂存器A301的数据(步骤4-4),再利用函数f运算电路323对所选择出的数据进行数据变换(步骤4-6)。由函数f运算电路323所输出的数据,则保存在暂存器C303(步骤4-7)。藉此,结束函数f运算电路中的第一次处理。
接着,在选择器C313中,选择出保存在暂存器C303中的数据(步骤4-8),所选择的数据则利用函数f运算电路323进行数据变换(步骤4-6)。函数f运算电路323所输出的数据,则保存在暂存器C303中(步骤4-7)。藉此,结束函数f运算电路中的第二次处理。
再接着,在选择器C313中,选择出保存在暂存器C303中的数据(步骤4-8)。接着,所选择的数据则利用函数f运算电路323进行数据变换(步骤4-6),其输出数据再保存到暂存器C303中(步骤4-7)。藉此,结束函数f运算电路中的第三次处理。
接着,在选择器C313中,选择出保存在暂存器C303中的数据(步骤4-9)。所选择的数据则利用函数g运算电路324进行数据变换并且输出(步骤4-10)。之后,结束函数F的运算。
接着,判断奇数段的处理或是偶数段的处理(步骤4-11),而将函数g运算电路324所输出的数据反馈,而在“异-或”逻辑电路322中与保存在暂存器B302中数据进行“异-或”逻辑运算(步骤4-14)。由选择器B312中选择出此输出数据,并且将所选择出的数据保存在暂存器B302中(步骤4-15)。以上即完成第一段的数据变换处理。
接着,说明第二段的数据变换处理。
在判断出偶数段处理的情况时(步骤4-2),在选择器313中选择出保存在暂存器B302中的数据(步骤4-3)。然后利用函数f运算电路323对于所选择的数据,进行数据变换(步骤4-6),其输出数据则保存在暂存器C303中(步骤4-7)。藉此,结束函数f运算电路中的第一次处理。
接着,在选择器C313中,选择出保存在暂存器C303中的数据(步骤4-8),再利用函数f运算电路323对于所选择数据进行数据变换(步骤4-6),而其输出数据则保存在暂存器C303中(步骤4-7)。藉此,结束函数f运算电路323中的第二次处理。
接着,在选择器C313中,选择出保存在暂存器C303中的数据(步骤4-8)。接着,利用函数f运算电路323对于所选择的数据,进行数据变换(步骤4-6),其输出数据再保存到暂存器C303中(步骤4-7)。藉此,结束函数f运算电路中的第三次处理。
接着,在选择器C313中,选择出保存在暂存器C303中的数据(步骤4-9)。利用函数g运算电路324对于所选择的数据进行数据变换(步骤4-10)。以上结束函数F的运算。
接着,判断出偶数段处理的情况(步骤4-11),将函数g运算电路324所输出的数据进行反馈,而在“异-或”逻辑电路321中与保存在暂存器A301中数据进行“异-或”逻辑运算(4-12)。其输出数据利用选择器A311加以选择,而所选择出的数据则保存在暂存器A301中(步骤4-13)。以上即完成第二段的数据变换处理。
之后,则是反覆进行所需的等效于第一段数据变换处理和第二段数据变换处理的处理段。
最后将最终段中数据变换处理的结果,保存在暂存器A301和暂存器B302中的数据,并且输出做为输出数据A353和输出数据B354(步骤4-19)。
如上所述,在本发明中,由于透过选择器C303和选择器C313朱反覆使用为构成要素的单一函数f运算电路323,所以只需要一个函数f运算电路323,而因为不需要提供三个函数f运算电路,所以能够削减电路的规模。
特别是已知如果采用具有较高密码强度的函数,密码处理数据变换所使用的函数F(函数f、函数g)就会变得相当复杂,所以根据本发明,削减电路规模的效果就更大。
另外的本发明中,对于暂存器A301、暂存器B302、暂存器C303、选择器A311、选择器A312、暂存器B312以及选择器C313,一般都不需要经常动作,而可以根据需要实现处理,所以能够实现装置的低耗电量特性。
因此,当本发明应用在IC卡之类的小型装置时,便能够产生特别明显的效果。另外,本发明不仅可以应用在IC卡上,也可以应用在IC卡的读写器中。
另外,函数F并非限定在上述的结构。举例来说,当函数F如图6所示,只由函数f反覆所构成时,在图3中就不需要函数g,如同图7所示,将选择器C313所选择的数据直接反馈即可。
另外,如图8所示的情况,当函数f运算电路323由m个(m为1或1以上)函数并且可由任意顺序所构成时,如图9所示,在图3中对应于函数f运算电路323的部分,可以利用并列上述m个函数,分别接收来自选择器C313的数据,并且其输出是做为进行m输入单一输出选择动作的选择器之输入,在选择出适当之一个输出数据后保存在暂存器C303中,在反覆进行相当于上述m个函数的任意顺序方式来实现。
第二实施例
利用图10~图14,说明本发明另一实施例中的密码处理装置。
图10是表示MISTY密码运算法的流程图。
至于MISTY处理的详细内容,已详细记载于像是松井充“区块密码运算法MISTY”,电子情报通信学会、信学技报ISEC96-11(1996-07)中。
在图10中,501~506是函数FL的运算,511~514是函数FO的运算,521~524是“异-或”逻辑运算。
图11是表示图10中函数FO511~514的运算的结构。
如图11所示,在MISTY的函数FO511~514的处理,是以函数F1601~603和“异-或”逻辑运算611~613为中心,反覆进行三次的变换所构成。
图12是本发明实施例的密码处理装置,其采用图10和图11所示的MISTY数据变换处理。
接着说明图10和图11中密码运算法的动作。
首先,具有2n个位元的输入数据550被分割成上位和下位的两个n位元数据,成为输入数据A551以及输入数据B552。在MISTY的情况中,n=32。n位元输入数据55 1在经过函数FL的数据换后,一方面以其原来形态输出做为n位元数据553,另一方面再利用函数FO511进行数据变换。在“异-或”逻辑运算521中,则是将函数FO511所运算处理的数据,与另一个n位元输入数据552在利用函数FL502数据变换后的输出数据,依每个位元进行“异-或”逻辑运算,再输出n位元数据554。在函数FO中,则是由函数FI601~603以及“异-或”逻辑运算611~613的运算所构成。亦即,将输入的2m位元数据(n位元)650分割成两个m位元数据651和652。数据651在经过函数FI进行数据变换之后,利用“异-或”逻辑运算611与数据652依每个位元进行“异-或”逻辑运算,再输出做为数据653。数据652则是以其原来形态输出做为数据654。接下来的动作则是整个反覆进行三次,最后在合并两个m位元数据之后,输出2m个位元(n位元)的数据655。
接着,说明第二段的处理。
第一段的输出数据554以其原来形态输出,同时利用函数FO512进行数据变换。函数FO512的输出数据则是在“异-或”逻辑运算522中,与另一个n位元数据553依每个位元进行“异-或”逻辑运算并且输出。
接着,则是反覆执行与第一段和第二相同的数据变换所需要次数,输出n位元数据557、558。最后利用FL函数505和506并转换其上位和下位,在合成这两个n位元数据后,输出2n位元数据559。
图12则是表示用来实现图10、图11所说的数据变换运算法的密码处理装置的概略结构。
在图12中,701、702、703是暂存器A、暂存器B、暂存器C。711、712、713、714则是选择器A、选择器B、选择器C和选择器D。721、722、723则是“异-或”逻辑电路。724则是进行数据变换的函数FI运算电路。725则是进行数据变换的函数FL运算电路。751是输入数据A。752是输入数据B。753是输出数据A。754是输出数据B。
此处,利用暂存器C703、选择器C713、函数FI运算电路724以及“异-或”逻辑电路723,构成用来进行第一数据变换的第一运算电路101。另外,利用暂存器C703、选择器C713、函数FI运算电路724和“异-或”逻辑电路723亦构成环路处理电路201。
图13和图15则是用来说明图12所示的密码处理装置动作的流程图。
利用图13~图15说明其动作。
首先,2n位元的输入数据被分割成n位元的两个数据,输入做为输入数据A751和输入数据B752。在MISTY的情况下,n=32。所输入的数据在选择器A711和选择器B712中被选中,分别储存在暂存器A701和暂存器B702(步骤8-1)。
接着,在选择器C713中判断是奇数段处理或是偶数段处理(步骤8-2),而选择出储存在暂存器A701中的数据(步骤8-3)。接着所选择的数据在函数FL运算电路725中进行数据变换(步骤8-4),而在选择器D714中选择出其所输出的数据(步骤8-5)。更在选择器A711中选择出此所选择到的数据(步骤8-6),并且储存在暂存器A701中(步骤8-7)。
接着,在选择器C713中选择出储存在暂存器B702中的数据(步骤8-8)。所选择的数据在函数FL运算电路725中进行数据变换(步骤8-9),而在选择器D714中选择出其所输出的数据(步骤8-10)。更在选择器B712中选择出此所选择到的数据(步骤8-11),并且储存在暂存器B中(步骤8-12)。
接着,在选择器C713中选择出储存在暂存器A701中的数据(步骤8-13)。接着,所选择的数据(2m位元)被分成各m个位元。其中一个m位元数据以其原来形态输出做为输出数据。另一个m位元数据则是在输入函数FI运算电路724中进行数据变换之后,与前一个m位元数据在“异-或”逻辑电路723中依每个位元进行“异-或”逻辑运算,并且合成这两个输出数据(步骤8-14)。输出数据则储存在暂存器C703(步骤8-15)中。藉此,结束第一次以函数FI运算电路724为中心的处理。
接着,在选择器C713中选择出储存在暂存器C703中的数据(步骤8-16)。所选择的数据(2m位元)则被分成各m个位元。其中一个m位元数据以其原来形态输出作为输出数据。另一个m位元数据则是在函数FI运算电路724中进行数据变换之后,与前一个m位元数据在“异-或”逻辑电路723中依每个位元进行“异-或”逻辑运算,并且合成这两个输出数据(步骤8-14)。输出数据则储存在暂存器C703(步骤8-15)中。藉此,结束第二次以函数FI运算电路724为中心的处理。
接着,在选择器C713中选择出储存在暂存器C703中的数据(步骤8-16)。所选择的数据(2m位元)则被分成各m个位元。其中一个m位元数据以其原来形态输出做为输出数据。另一个m位元数据则是在函数FI运算电路724中进行数据变换之后,与前一个m位数据在“异-或”逻辑电路723中依每个位元进行“异-或”逻辑运算,并且合成这两个输出数据(步骤8-14)。输出数据则储存在暂存器C703(步骤8-14)。藉此,结束第三次以函数FI运算电路724为中心的处理。
接着,在选择器C713中选择出储存在暂存器C703中的数据(步骤8-16),并且由选择器D714选择出此被选择的数据(步骤8-18)。接着,判奇数段处理或是偶数段处理后(步骤8-19),将选择的数据反馈并且在“异-或”逻辑电路722中与储存在暂存器B702中的数据进行“异-或”逻辑运算(步骤8-20)。在选择器B712中选择出此输出数据(步骤8-21),再将此选择出的数据储存在暂存器B702中(步骤8-22)。以上即完成第一段的数据变换处理。
接着,进行图10中相当于第二段数据变换处理的数据变换处理。
首先,在选择器C713中判断出是偶数段的处理(步骤8-2),并且选择出储存在暂存器B702中的数据(步骤8-24)。
所选择的数据(2m位元)则被分成各m个位元,其中一个m位元数据以其原来形态输出做为输出数据。另一个m位元数据则是在函数FI运算电路724中进行数据变换之后,与前一个m位元数据在“异-或”逻辑电路723中依每个位元进行“异-或”逻辑运算,并且合成这两个输出数据(步骤8-14)。输出数据则储存在暂存器C703(步骤8-15)中。藉此,结束第一次以函数FI运算电路724为中心的处理。
接着,在选择器C713中选择出储存在暂存器C703中的数据(步骤8-16)。所选择的数据(2m位元)则被分成各m个位元,其中一个m位元数据以其原来形态输出作为输出数据。另一个m位元数据则是在函数FI运算电路724中进行数据变换之后,与前一个m位元数据在“异-或”逻辑电路723中依每个位元进行“异-或”逻辑运算,并且合成这两个输出数据(步骤8-14)。输出数据则储存在暂存器C703(步骤8-15)中。藉此,结束第二次以函数FI运算电路724为中心的处理。
接着,在选择器C713中选择出储存在暂存器C703中的数据(步骤8-16)。所选择的数据(2m位元)则被分成各m个位元,其中一个m位元数据以其原来形态输出做为输出数据。另一个m位元数据则是在函数FI运算电路724中进行数据变换之后,与前一个m位元数据在“异-或”逻辑电路723中依每个位元进行“异-或”逻辑运算,并且合成这两个输出数据(步骤8-14)。输出数据则储存在暂存器C703(步骤8-15)中。藉此,结束第三次以函数FI运算电路724为中心的处理。
接着,在选择器C713中选择出储存在暂存器C703中的数据(步骤8-16),并且由选择器D714选择出此被选择的数据(步骤8-18)。接着,判断出是偶数段处理后(步骤8-19),将所选择的数据反馈并且在“异-或”逻辑电路721中与储存在暂存器A701中的数据进行“异-或”逻辑运算(步骤8-25)。在选择器A711中选择出此输出数据(步骤8-26),再将此选择出的数据储存在暂存器A701中(步骤8-27)。以上即完成第二段的数据变换处理。
以下则是反覆轮流地进行数次第一段数据变换处理和第二段数据变换处理。MISTY则是一直进行到第八段变换处理时为止。
接着,进行步骤8-28的处理。在步骤8-28中,则是执行上述的步骤8-3~8-12。首先,在选择器C713中选择出储存在暂存器A701的数据(步骤8-3)。接着,所选择的数据在函数FL运算电路725中进行数据变换(步骤8-4),而在选择器D714中选择出其所输出的数据(步骤8-5)。更在选择器A711中选择出此所选择到的数据(步骤8-6),并且储存在暂存器A701中(步骤8-7)。
接着,在选择器C713中选择出储存在暂存器B702中的数据(步骤8-8)。所选择的数据在函数FL运算电路725中进行数据变换(步骤8-9),而在选择器D714中选择其输出数据(步骤8-10)。更在选择器B712中选择出此所选择到的数据(步骤8-11),并且储存在暂存器B中(步骤8-12)。
最后将储存在暂存器A701和暂存器B702中的数据,输出为输出数据A753和输出数据B754(步骤8-29)。
在本实施例中,即使各段函数FO511~514具有如图11所示般的结构的情况下,也不需要具备三个函数FI运算电路和三个“异-或”逻辑电路。由于只需要一个函数FI运算电路以及一个“异-或”逻辑电路,所以能够削减电路的规模。另外,即使密码化运算法具有如图10所示般的结构的情况下,也不需要具备数个用来实现函数FL501~504的电路部分。由于只需要一个函数FL运算电路,所以同样地可以削减电路的规模。
在本实施例中的MISTY情况下,由于采用了具有较高密码性的函数,所以函数FI和函数FL的结构变得相当复杂。因此,根据本发明所得到削减电路规模的效果相当大。
另外,如本实施例中的动作说明所示,暂存器A~暂存器C以及选择器A~选择器D不需要持续保持动作,而是根据需要进行动作,便可以实现所要的处理,这使得在实现低耗电量的课题上可以得到相当大的效果。
因此,在使用本发明在如IC卡般小型的装置的情况中,可能产生特别明显的效果。另外,本发明不仅可以应用在IC卡,同样也可以应用在IC卡的读写器中。
第三实施例
图16和图17是表示本发明实施例的通信系统的概略示意图。
在图16和图17中,91是读写器,92是IC(集成电路),93是IC卡92的IC。在IC93的构成部分中,94是用来进行通信数据的收发信电路,95是用来进行装置控制等的CPU(中央处理单元),96是用来储存数据、程式等的存储器,97是用来进行通信数据的加密/解密处理的密码处理装置。IC93的构成部分包括收发信电路94、CPU95、存储器96和密码处理装置97。
密码处理装置97则可以采用第一实施例或是第二实施例中的密码处理装置。
此通信系统中的通信过程,是以加密后的数据进行通信。亦即,IC卡92是利用收发信电路94,将经过密码处理装置97所加密的数据送到读写器91。另外,从读写器91所发出的数据亦利用收发信电路94加以接收后,再利用密码处理装置97解码此收信数据而进行通信。
另外,读写器91和IC卡92之间的通信,可以利用接触或非接触的方式进行。
如上所述,本发明的用来加密数据进行通信的通信系统中,可以达到削减密码处理装置的电路规格以及降低耗电量的目的。
另外,将本发明的密码处理装置应用在IC卡上时,也可以在实现削减电路规模和降低耗电量的情况下构成有效率的IC。

Claims (5)

1.一种密码处理装置,
输入加密的数据A和数据B,并且
第一运算电路,对数据A和数据B交替地执行第一数据变换处理;
第二运算电路,在上述第一运算电路的内部,对输入到上述第1运算电路的数据A或数据B,执行第二数据变换处理;
通过在上述第一运算电路的内部,反复执行上述第二运算电路,和反复执行上述第一运算电路,将数据A和数据B加密;并
将被加密的数据A和数据B输出;
其特征在于:具有
暂存器A,输入并保存加密的数据A,并且将输入到第一运算电路的数据A保存并输出,在第一运算电路的反复执行后,将加密的数据A输出;
暂存器B,输入并保存加密的数据B,并且将输入到第一运算电路的数据B保存并输出,在第一运算电路的反复执行后,将加密的数据B输出;
暂存器C,设于上述第一运算电路的内部,将从第二运算电路输出的数据C反复保存并输出;
选择器C,从暂存器A、暂存器B和暂存器C三个暂存器中,选择一个暂存器,并将在所选择的暂存器中保存的数据输出;
“异-或”逻辑电路A,对由选择器C输出的数据,进行与在暂存器A保存的数据A的“异-或”逻辑运算;
选择器A,选择由“异-或”逻辑电路A运算的结果并保存在暂存器A;
“异-或”逻辑电路B,对由选择器C输出的数据,进行与在暂存器B保存的数据B的“异-或”逻辑运算;和
选择器B,选择由“异-或”逻辑电路B运算的结果并保存在暂存器B;
上述第一运算电路具有上述第二运算电路和暂存器C和选择器C,在上述第一运算电路的内部,由上述第二运算电路和暂存器C和选择器C构成由上述第二运算电路反复执行第二数据变换处理的第一处理环路,并且与“异-或”逻辑电路A和B和选择器A和B和暂存器A和B一起,构成由上述第一运算电路反复执行第一数据变换处理的第二处理环路;
上述第二运算电路输入由选择器C输出的数据作第二数据变换处理,将经第二数据变换处理的数据作为数据C保存在暂存器C;
上述选择器C在反复和执行第一运算电路时,交替地选择保存在暂存器A的数据A和保存在暂存器B的数据B并输出,通过开始由第二运算电路所作的第二数据变换处理的反复执行,交替地由第一运算电路执行对数据A所作的第一数据变换处理和由第一运算电路对数据B所作的第一数据变换处理,并且在将由第二运算电路所作的第二数据变换处理的反复执行继续时,选择存保在暂存器C的数据C并输出,反复执行由第二运算电路所作的第二数据变换处理,在终结由第二运算电路所作的第二数据变换处理的反复执行时,选择保存在暂存器C的数据C并输出,在“异-或”逻辑电路A和“异-或”逻辑电路B进行“异-或”逻辑运算;
上述选择器A和选择器B,是在终结由第二运算电路所作的第二数据变换处理的反复执行时,交替地选择在“异-或”逻辑电路A和“异-或”逻辑电路B的运算结果,并交替地保存在暂存器A和暂存器B。
2.一种密码处理装置,
输入加密的数据A和数据B,并且
第一运算电路对数据A和数据B交替地执行第一数据变换处理;
第二运算电路,在上述第一运算电路的内部,对输入到上述第1运算电路的数据A或数据B,执行第二数据变换处理;
通过在上述第一运算电路的内部,反复执行上述第二运算电路,和反复执行上述第一运算电路,将数据A和数据B加密;并
将被加密的数据A和数据B输出;
其特征在于:具有
输入加密数据A的输入线A,输入加密数据B的输入线B,输出加密数据A的输出线A和输出加密数据B的输出线B;
保存数据的暂存器A,暂存器B和暂存器C;
选择数据的选择器A,选择器B和选择器C;和
“异-或”逻辑电路A和“异-或”逻辑电路B;
上述第一运算电路具有选择器C、暂存器C和第二运算电路;
上述暂存器A连接于选择A的输出侧,并且连接于输出数据A的输出线A,选择器C的输入侧,和“异-或”逻辑电路A的输入侧;
上述暂存器B连接于选择B的输出侧,并且连接于输出数据B的输出线B,选择器C的输入侧,和“异-或”逻辑电路B的输入侧;
上述选择器A连接于输入数据A的输入线A和“异-或”逻辑电路A的输出侧,并且连接于暂存器A的输入侧,在开始第1次的第一运算电路的执行时,从输入线A输入数据A并保存于暂存器A;
上述选择器B连接于输入数据B的输入线B和“异-或”逻辑电路B的输出侧,并且连接于暂存器B的输入侧,在开始第1次的第一运算电路的执行时,从输入线B输入数据B并保存于暂存器B;
上述选择器C连接于暂存器A的输出侧,暂存器B的输出侧和暂存器C的输出侧,并且连接于第二运算电路的输入侧和“异-或”逻辑电路A的输入侧和“异-或”逻辑电路B的输入侧;
上述第二运算电路连接于选择器C的输出侧,并且连接于暂存器C的输入侧,对由选择器C选择的数据,进行第二数据变换处理,将其结果作为数据C保存于暂存器C;
上述暂存器C连接于上述第二运算电路的输出侧,并且连接于上述选择器C的输入侧;
上述“异-或”逻辑电路A连接于选择器C的输出侧和暂存器A的输出侧,并且连接于暂存器C的输入侧,对由选择器C选择的数据,进行第二数据变换处理,将其结果作为数据C保存于暂存器C;
上述暂存器C连接于上述第二运算电路的输出侧,并且连接于上述选择器C的输入侧;
上述“异-或”逻辑电路A连接于选择器C的输出侧和暂存器A的输出侧,并且连接于选择器A的输入侧,对从选择器C输出的数据C和保存在暂存器A的数据A作“异-或”逻辑运算,并输出到选择器A;
上述“异-或”逻辑电路B连接于选择器C的输出侧和暂存器B的输出侧,并且连接于选择器B的输入侧,对从选择器C输出的数据C和保存在暂存器B的数据B作“异-或”逻辑运算,并输出到选择器B;
上述选择器C
在开始奇数次的第一运算电路的执行时,选择保存在暂存器A的数据A,将选择的数据A输出到第二运算电路、“异-或”逻辑电路A和“异-或”逻辑电路B;
在开始偶数次的第一运算电路的执行时,选择保存在暂存器B的数据B,将选择的数据B输出到第二运算电路、“异-或”逻辑电路A和“异-或”逻辑电路B;
在反复执行第二运算电路时和在终结第二运算电路的反复执行时,选择保存在暂存器C的数据C,将选择的数据C输出到第二运算电路、“异-或”逻辑电路A和“异-或”逻辑电路B;
上述选择器A在终结奇数次的第一运算电路的执行时,不将在上述“异-或”逻辑电路A运算的结果保存到暂存器A,而将在暂存器A保存的数据A保持不变,在终结偶数次的第一运算电路的执行时,将在上述“异-或”逻辑电路A运算的结果,保存到暂存器A作为数据A;并且
上述选择器B在终结偶数次的第一运算电路的执行时,不将在上述“异-或”逻辑电路B运算的结果保存到暂存器B,而将在暂存器B保存的数据B保持不变,在终结奇数次的第一运算电路的执行时,将在上述“异-或”逻辑电路B运算的结果,保存到暂存器B作为数据B。
3.如权利要求1或2所述的密码处理装置,其特征在于,上述第二运算电路包括:
数据分割电路,用以将输入至上述第二运算电路的数据,分割为第一分割数据和第二分割数据;
第三运算电路,用以对上述第一分割数据进行数据变换;
“异-或”逻辑电路,用以对上述第三运算电路的输出数据和上述第二分割数据,依每个位元进行“异-或”逻辑运算;以及
数据结合电路,用以结合上述“异-或”逻辑电路的输出数据和上述第二分割数据。
4.一种IC卡,用以进行与读写器间数据的通信,其特征在于,包括:
数据接收电路,用以从上述读写器接收上述数据;
数据发送电路,用以发送上述数据至上述读写器;以及
如权利要求1或2所述的密码处理装置,用以对上述数据进行密码处理。
5.一种密码处理方法,用于具有暂存器A、暂存器B,暂存器C,选择器A,选择器B,选择器C,“异-或”逻辑电路A和“异-或”逻辑电路B的密码处理装置,
输入被加密的数据A和数据B,并且
第一运算工序,对数据A和数据B交替地执行第一数据变换处理;
第二运算工序,在上述第一运算工序的内部,对输入到上述第1运算工序中的数据A或数据B,执行第二数据变换处理;
通过在上述第一运算工序的内部,反复执行上述第二运算工序,和反复执行上述第一运算工序,将数据A和数据B加密;并
将被加密的数据A和数据B输出;
其特征在于:具有
暂存器A工序,输入加密的数据A并保存在暂存器A,并且将输入到第一运算工序的数据A保存在暂存器A并输出,在第一运算工序的反复执行后,从暂存器A将被加密的数据A输出;
暂存器B工序,输入加密的数据B并保存在暂存器B,并且将输入到第一运算工序的数据B保存在暂存器B并输出,在第一运算工序的反复执行后,从暂存器B将被加密的数据B输出;
暂存器C工序,设于上述第一运算工序的内部,将从第二运算工序输出的数据C反复保存在暂存器C并输出;
选择器C工序,通过选择器C,从暂存器A、暂存器B和暂存器C三个暂存器中,选择一个暂存器,并将在所选择的暂存器中保存的数据输出;
“异-或”逻辑电路A工序,通过“异-或”逻辑电路A,对由选择器C输出的数据,进行与在暂存器A保存的数据A的“异-或”逻辑运算;
选择器A工序,通过选择器A,选择由“异-或”逻辑电路A运算的结果并保存在暂存器A;
“异-或”逻辑电路B工序,通过“异-或”逻辑电路B,对由选择器C输出的数据,进行与在暂存器B保存的数据B的“异-或”逻辑运算;和
选择器B工序,通过选择器B,选择由“异-或”逻辑电路B运算的结果并保存在暂存器B;
上述第一运算工序具有上述第二运算工序和暂存器C工序和选择器C工序,在上述第一运算工序的内部,由上述第二运算工序和暂存器C工序和选择器C工序构成由上述第二运算工序反复执行第二数据变换处理的第一处理环路工序,并且与“异-或”逻辑电路A工序和“异-或”逻辑电路B工序和选择器A工序和选择器B工序和暂存器A工序和暂存器B工序一起,构成由上述第一运算工序反复执行第一数据变换处理的第二处理环路工序;
上述第二运算工序输入由选择器C工序输出的数据作第二数据变换处理,将经第二数据变换处理的数据作为数据C保存在暂存器C;
上述选择器C工序在反复和执行第一运算工序时,交替地选择保存在暂存器A的数据A和保存在暂存器B的数据B并输出,通过开始由第二运算工序所作的第二数据变换处理的反复执行,交替地对数据A执行由第一运算工序所作的第一数据变换处理和对数据B由第一运算工序所作的第一数据变换处理,并且在将由第二运算工序所作的第二数据变换处理的反复执行继续时,选择存保在暂存器C的数据C并输出,以反复执行由第二运算工序所作的第二数据变换处理,在终结由第二运算工序所作的第二数据变换处理的反复执行时,选择保存在暂存器C的数据C并输出,在“异-或”逻辑电路A工序和“异-或”逻辑电路B工序进行“异-或”逻辑运算;
上述选择器A工序和选择器B工序,是在终结由第二运算工序所作的第二数据变换处理的反复执行时,交替地选择在“异-或”逻辑电路A工序和“异-或”逻辑电路B工序的运算结果,并交替地保存在暂存器A和暂存器B。
CNB988007088A 1997-05-30 1998-04-24 密码处理装置、集成电路卡及密码处理方法 Expired - Lifetime CN1186901C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP141328/1997 1997-05-30
JP09141328A JP3088337B2 (ja) 1997-05-30 1997-05-30 暗号処理装置、icカード及び暗号処理方法
JP141328/97 1997-05-30

Publications (2)

Publication Number Publication Date
CN1228183A CN1228183A (zh) 1999-09-08
CN1186901C true CN1186901C (zh) 2005-01-26

Family

ID=15289394

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB988007088A Expired - Lifetime CN1186901C (zh) 1997-05-30 1998-04-24 密码处理装置、集成电路卡及密码处理方法

Country Status (12)

Country Link
US (1) US6466669B1 (zh)
EP (1) EP0923062B1 (zh)
JP (1) JP3088337B2 (zh)
KR (1) KR100360957B1 (zh)
CN (1) CN1186901C (zh)
AU (1) AU717746B2 (zh)
CA (2) CA2261161C (zh)
DE (1) DE69840014D1 (zh)
HK (1) HK1021585A1 (zh)
NO (1) NO326299B1 (zh)
TW (1) TW375720B (zh)
WO (1) WO1998054687A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6820203B1 (en) 1999-04-07 2004-11-16 Sony Corporation Security unit for use in memory card
US6920221B1 (en) * 1999-08-29 2005-07-19 Intel Corporation Method and apparatus for protected exchange of status and secret values between a video source application and a video hardware interface
US6731758B1 (en) 1999-08-29 2004-05-04 Intel Corporation Digital video content transmission ciphering and deciphering method and apparatus
US7068786B1 (en) * 1999-08-29 2006-06-27 Intel Corporation Dual use block/stream cipher
US7212631B2 (en) * 2001-05-31 2007-05-01 Qualcomm Incorporated Apparatus and method for performing KASUMI ciphering
KR100423811B1 (ko) * 2001-12-12 2004-03-22 한국전자통신연구원 카스미 암호화 알고리즘을 응용한 암호화 장치
US7076059B1 (en) * 2002-01-17 2006-07-11 Cavium Networks Method and apparatus to implement the data encryption standard algorithm
JP4150886B2 (ja) 2002-04-19 2008-09-17 ソニー株式会社 暗号化復号化演算装置およびデータ受信装置
JP2005031471A (ja) * 2003-07-07 2005-02-03 Sony Corp 暗号処理装置、および暗号処理方法
CN101044535B (zh) * 2005-03-16 2011-06-15 三菱电机株式会社 数据变换装置以及数据变换方法
JP4783104B2 (ja) * 2005-09-29 2011-09-28 株式会社東芝 暗号化/復号装置
FR2878390A1 (fr) * 2005-11-24 2006-05-26 Samsung Electronics Co Ltd Systeme et procede cryptographiques pour chiffrer des donnees d'entree
WO2009090689A1 (ja) 2008-01-18 2009-07-23 Fujitsu Limited 暗号化装置、暗号化方法及びプログラム
EP2237245B1 (en) 2008-01-18 2017-07-19 Fujitsu Limited Processor of data conversion function
JP5338327B2 (ja) * 2009-01-16 2013-11-13 富士通株式会社 暗号処理装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6037586A (ja) 1983-08-09 1985-02-26 富士通株式会社 Des暗号装置鍵誤り検出方式
JPS61117940A (ja) 1984-11-13 1986-06-05 Hitachi Ltd デ−タ保護方式
JP2760799B2 (ja) 1988-04-28 1998-06-04 株式会社日立製作所 暗号方式
JP2825205B2 (ja) 1989-07-20 1998-11-18 日本電信電話株式会社 暗号装置
FR2650458B1 (fr) 1989-07-25 1991-10-11 Trt Telecom Radio Electr Procede de traitement d'une permutation irreguliere de donnees protegees par chiffrement
JP3053106B2 (ja) 1990-11-02 2000-06-19 株式会社日立製作所 暗号化処理装置、及び復号化処理装置
JP3310989B2 (ja) * 1991-02-08 2002-08-05 株式会社東芝 データ通信方式
JP2862030B2 (ja) 1991-06-13 1999-02-24 三菱電機株式会社 暗号化方式
JPH0535448A (ja) 1991-07-26 1993-02-12 Matsushita Electric Ind Co Ltd 有限体における乗算器
JPH0588849A (ja) 1991-09-26 1993-04-09 Matsushita Electric Ind Co Ltd 正規基底を用いた乗算器の構成法
US5317638A (en) 1992-07-17 1994-05-31 International Business Machines Corporation Performance enhancement for ANSI X3.92 data encryption algorithm standard
JPH07191603A (ja) 1993-12-24 1995-07-28 Canon Inc 暗号装置及びこれを用いた秘匿・認証通信システム
JPH08179690A (ja) * 1994-12-22 1996-07-12 Nec Corp プロダクト暗号装置
EP0790595B1 (en) 1995-09-05 2005-12-28 Mitsubishi Denki Kabushiki Kaisha Data conversion apparatus and data conversion method
JPH0990870A (ja) 1995-09-27 1997-04-04 Nec Corp 基本変換方法、暗号化方法、基本変換回路および暗号装置

Also Published As

Publication number Publication date
KR20000029634A (ko) 2000-05-25
TW375720B (en) 1999-12-01
JP3088337B2 (ja) 2000-09-18
HK1021585A1 (en) 2000-06-16
KR100360957B1 (ko) 2002-11-18
DE69840014D1 (de) 2008-10-30
NO990429D0 (no) 1999-01-29
CA2372915C (en) 2002-09-24
AU7081198A (en) 1998-12-30
US6466669B1 (en) 2002-10-15
NO326299B1 (no) 2008-11-03
NO990429L (no) 1999-01-29
EP0923062A1 (en) 1999-06-16
EP0923062B1 (en) 2008-09-17
CA2372915A1 (en) 1998-12-03
AU717746B2 (en) 2000-03-30
CA2261161C (en) 2002-09-17
CN1228183A (zh) 1999-09-08
CA2261161A1 (en) 1998-12-03
JPH10333569A (ja) 1998-12-18
EP0923062A4 (en) 2004-10-06
WO1998054687A1 (fr) 1998-12-03

Similar Documents

Publication Publication Date Title
CN1186901C (zh) 密码处理装置、集成电路卡及密码处理方法
CN1136692C (zh) 数据变换装置及数据变换方法
CN1728634A (zh) 伽罗瓦域中相乘的方法和设备与求逆设备及字节替换设备
CN1483271A (zh) 安全通信包处理装置及其方法
CN1324831C (zh) 加密/解密系统和加密/解密方法
CN1568597A (zh) 加密、解码及无线通信装置
CN1248106C (zh) 半导体集成电路装置
CN1867889A (zh) 数据转换器
CN1311659C (zh) 单向数据变换装置及机器认证系统
CN1758178A (zh) 非法分析/伪造预防系统
CN1366738A (zh) 交织地址生成装置
CN1921382A (zh) 一种基于aes算法的加解密方法及加解密器
CN1902560A (zh) 内容分发系统,许可证分发方法和终端设备
CN1277506A (zh) 数字数据记录装置、存储装置和使用装置
CN1859081A (zh) 一种即时消息加密传输方法和系统
CN1703839A (zh) 通信装置和用于重新配置通信装置的方法
CN1940981A (zh) 电子标书的制作装置和方法、应用系统和方法
CN1602615A (zh) 分组路由设备和分组路由方法
CN1258057A (zh) 信息处理装置
CN1838140A (zh) 运用加密功能以产生信息摘要的设备及方法
CN1386343A (zh) 多载波码分多址通信装置
CN1764881A (zh) 协助处理密码消息的指令
CN1675877A (zh) 加密解密装置及其方法,加密装置及其方法,解密装置及其方法,以及接收发送装置
CN1921395A (zh) 提高网络软件安全性的方法和系统
CN1242321C (zh) 应用蒙哥马利算法的幂剩余运算器

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
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20050126