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

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

Info

Publication number
CN1228183A
CN1228183A CN98800708A CN98800708A CN1228183A CN 1228183 A CN1228183 A CN 1228183A CN 98800708 A CN98800708 A CN 98800708A CN 98800708 A CN98800708 A CN 98800708A CN 1228183 A CN1228183 A CN 1228183A
Authority
CN
China
Prior art keywords
data
mentioned
circuit
computing
order
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
CN98800708A
Other languages
English (en)
Other versions
CN1186901C (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)
  • Credit Cards Or The Like (AREA)
  • Power Sources (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的数据,依每个位元进行“异-或”逻辑运算;以及
选择器A和选择器B,用以选择第一运算电路所进行的第一数据变换处理的数据和“异-或”逻辑电路所进行的“异-或”逻辑运算的数据中之一,保存在暂存器A和暂存器B;
上述选择电路是交互选择暂存器A和暂存器B,开始进行上述环路处理电路中的处理。
上述第一运算电路对于利用处理环路部所进行的第二数据变换处理的数据,更进行输出与第二数据变换处理不同的数据变换。
上述第二运算电路包括:
m(m≥1)个函数运算电路,用以从选择电路输入相同数据;以及
选择器,具有m输入和一输出,用以从输入的m个函数运算电路所运算的数据中选择其一。
上述密码处理装置包括:
函数运算部,对于从上述选择电路所输出的数据,进行数据变换;以及
选择器,其接收上述函数运算部所运算的数据以及从选择电路所输出的数据,并且输出其中一方的数据。
本发明的密码处理方法,利用第一运算步骤对于输入数据进行多次的第一数据变换处理,其特征在于:
上述第一运算步骤更具有环路处理步骤,用以进行多次第二数据变换处理;
上述环路处理步骤包括:
第二运算步骤,用以进行上述第二数据变换处理;
数据保存步骤,用以暂时保存经进行过上述第二数据变换处理的数据;以及
选择步骤,用以选择终止或是继续上述环路处理电路中的第二数据变换处理。
上述第二运算步骤包括:
数据分割步骤,用以将在上述第二运算步骤所输入的数据,分割为第一分割数据和第二分割数据;
第三运算步骤,用以对上述第一分割数据进行数据变换;
“异-或”逻辑步骤,用以对上述第三运算步骤的输出数据和上述第二分割数据,依每个位元进行“异-或”逻辑运算;以及
数据结合步骤,用以结合上述“异-或”逻辑步骤的输出数据和上述第二分割数据。
本发明的IC卡,用以进行与读写器间的数据通信,其包括:
数据接收电路,用以从上述读写器接收上述数据;
数据发送电路,用以发送上述数据至上述读写器;以及
如前所述的密码处理装置,用以对上述数据进行密码处理。
本发明的IC卡,用以进行与读写器间的数据通信,其包括:
数据接收电路,用以从上述读写器接收上述数据:
数据发送电路,用以发送上述数据至上述读写器;以及
如前所述的密码处理装置,用以对上述数据进行密码处理。
附图简单说明:
图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分割成上位和下位的两个位元数据151。N位元数据151以其原来形态输出作为n位元数据153,同时利用函数F101进行数据变换。从函数F101所输出的数据在“异-或”逻辑运算,输出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次的处理所构成。
针对图1中第一段的数据变换处理进行说明。
2n位元的输入数据被分割成两个n位元数据,输入作为输入数据A351和输入数据B352。输入的数据在选择器A311和选择器A312中加以选择,分别保存在暂存器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和暂存器A302中的数据,并且输出做为输出数据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的处理,是以函数FI601~603和“异-或”逻辑运算611~613为中心,反覆进行三次的变换所构成。
图12是本发明实施例的密码处理装置,其采用图10和图11所示的MISTY数据变换处理。
接着说明图10和图11中密码运算法的动作。
首先,具有2n个位元的输入数据55被分割成上位和下位的两个n位元数据,成为输入数据A551以及输入数据B552。在MISTY的情况中,n=32。n位元输入数据551在经过函数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则是进行数据变换的函数FI运算电路。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中选择出储存在暂存器A710中的数据(步骤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的处理。在步骤2-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 (12)

1.一种密码处理装置,利用第一运算电路对于输入数据进行多次的第一数据变换处理,其特征在于:
上述第一运算电路更具有环路处理电路,用以进行多次第二数据变换处理;
上述环路处理电路是以第二运算电路、数据保存电路和选择电路构成处理环路;
上述第二运算电路进行上述第二数据变换处理;
上述数据保存电路用以暂时保存经过上述第二数据变换处理的数据;以及
上述选择电路用以选择终止或是继续上述环路处理电路中的第二数据变换处理。
2.如权利要求1所述的密码处理装置,其特征在于,上述第二运算电路包括:
数据分割电路,用以将输入至上述第二运算电路的数据,分割为第一分割数据和第二分割数据;
第三运算电路,用以对上述第一分割数据进行数据变换;
“异-或”逻辑电路,用以对上述第三运算电路的输出数据和上述第二分割数据,依每个位元进行“异-或”逻辑运算;以及
数据结合电路,用以结合上述“异-或”逻辑电路的输出数据和上述第二分割数据。
3.如权利要求1所述的密码处理装置,其特征在于,上述选择电路系接收第一运算电路中进行第一数据变换处理的数据和保存在数据保存电路中的数据,在上述环路处理电路继续进行处理的场合中,选择该数据保存电路所保存的数据。
4.如权利要求3所述的密码处理装置,其特征在于,上述选择电路是在上述环路处理电路中的处理的场合中,选择第一运算电路中进行第一数据变换处理的数据。
5.如权利要求4所述的密码处理装置,其特征在于,还包括:
暂存器A和暂存器B,用以交互保存在第一运算电路中进行第一数据变换处理的数据;
两个“异-或”逻辑电路,分别对于第一运算电路在进行第一数据变换处理的数据,以及保存在暂存器A和暂存器B的数据,依每个位元进行“异-或”逻辑运算;以及
选择器A和选择器B,用以选择第一运算电路在进行第一数据变换处理的数据和“异-或”逻辑电路在进行“异-或”逻辑运算的数据中之一,保存在暂存器A和暂存器B;
上述选择电路系交互选择暂存器A和暂存器B,开始进行上述环路处理电路中的处理。
6.如权利要求1所述的密码处理装置,其特征在于,上述第一运算电路对于利用处理环路部进行第二数据变换处理的数据,更进行输出与第二数据变换处理不同的数据变换。
7.如权利要求1所述的密码处理装置,其特征在于,上述第二运算电路包括:
m(m≥1)个函数运算电路,用以从选择电路输入相同数据;以及
选择器,具有m输入和一输出,用以从输入的m个函数运算电路所运算的数据中选择其一。
8.如权利要求2所述的密码处理装置,其特征在于,上述密码处理装置包括:
函数运算部,对于从上述选择电路所输出的数据,进行数据变换;以及
选择器,其接收上述函数运算部所运算的数据以及从选择电路所输出的数据,并且输出其中一方的数据。
9.一种密码处理方法,利用第一运算步骤对于输入数据进行多次的第一数据变换处理,其特征在于:
上述第一运算步骤更具有环路处理步骤,用以进行多次第二数据变换处理;
上述环路处理步骤包括:
第二运算步骤,用以进行上述第二数据变换处理;
数据保存步骤,用以暂时保存上述第二数据变换处理所进行的数据;以及
选择步骤,用以选择终止或是继续上述环路处理电路中第二数据变换处理。
10.如权利要求9所述的密码处理方法,其特征在于,上述第二运算步骤包括:
数据分割步骤,用以将在上述第二运算步骤输入的数据,分割为第一分割数据和第二分割数据;
第三运算步骤,用以对上述第一分割数据进行数据变换;
“异-或”逻辑步骤,用以对上述第三运算步骤的输出数据和上述第二分割数据,依每个位元进行“异-或”逻辑运算;以及
数据结合步骤,用以结合上述“异-或”逻辑步骤的输出数据和上述第二分割数据。
11.一种IC卡,用以进行与读写器间的数据通信,其特征在于,包括:
数据接收电路,用以从上述读写器接收上述数据;
数据发送电路,用以发送上述数据至上述读写器;以及
如权利要求1所述的密码处理装置,用以对上述数据进行密码处理。
12.一种IC卡,用以进行与读写器间的数据通信,其特征在于包括:
数据接收电路,用以从上述读写器接收上述数据;
数据发送电路,用以发送上述数据至上述读写器;以及
密码处理装置,如权利要求2所述,用以对上述数据进行密码处理。
CNB988007088A 1997-05-30 1998-04-24 密码处理装置、集成电路卡及密码处理方法 Expired - Lifetime CN1186901C (zh)

Applications Claiming Priority (3)

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

Publications (2)

Publication Number Publication Date
CN1228183A true CN1228183A (zh) 1999-09-08
CN1186901C 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1321506C (zh) * 2001-05-31 2007-06-13 高通股份有限公司 进行kasumi计算的装置和方法
CN101044535B (zh) * 2005-03-16 2011-06-15 三菱电机株式会社 数据变换装置以及数据变换方法

Families Citing this family (13)

* 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
US7068786B1 (en) * 1999-08-29 2006-06-27 Intel Corporation Dual use block/stream cipher
US6731758B1 (en) 1999-08-29 2004-05-04 Intel Corporation Digital video content transmission ciphering and deciphering method and apparatus
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 暗号処理装置、および暗号処理方法
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
EP2237246B1 (en) * 2008-01-18 2018-02-28 Fujitsu Limited Encrypting device, encrypting method and program
WO2009090688A1 (ja) 2008-01-18 2009-07-23 Fujitsu Limited データ変換関数の処理装置
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 プロダクト暗号装置
KR100250803B1 (ko) * 1995-09-05 2000-04-01 다니구찌 이찌로오 데이타 변환장치 및 데이타 변환방법
JPH0990870A (ja) 1995-09-27 1997-04-04 Nec Corp 基本変換方法、暗号化方法、基本変換回路および暗号装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1321506C (zh) * 2001-05-31 2007-06-13 高通股份有限公司 进行kasumi计算的装置和方法
CN101044535B (zh) * 2005-03-16 2011-06-15 三菱电机株式会社 数据变换装置以及数据变换方法

Also Published As

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

Similar Documents

Publication Publication Date Title
CN1228183A (zh) 密码处理装置、集成电路卡及密码处理方法
CN1483271A (zh) 安全通信包处理装置及其方法
CN1136692C (zh) 数据变换装置及数据变换方法
CN1528066A (zh) 进行kasumi计算的装置和方法
CN1163017C (zh) 多帐户便携式无线金融消息装置
CN1302389C (zh) 鉴别方法、通信方法和信息处理装置
CN1993925A (zh) 无线通信方法、无线通信系统以及无线通信装置
CN101034424A (zh) 一种数据安全存储系统和装置及方法
CN1075040A (zh) 在能量测量应用中对数据加密/鉴别的方法和装置
CN1773905A (zh) 在安全通信系统中生成匿名公钥的方法、设备和系统
CN1283343A (zh) 用于选择性呼叫信令系统的安全消息系统覆盖
CN1283333A (zh) 便携式双向无线金融消息单元
CN1728686A (zh) 以太网数据处理方法及系统
CN1283295A (zh) 用于单向无线金融消息单元的交易认证
CN1675877A (zh) 加密解密装置及其方法,加密装置及其方法,解密装置及其方法,以及接收发送装置
CN1764881A (zh) 协助处理密码消息的指令
CN1859081A (zh) 一种即时消息加密传输方法和系统
CN1290069C (zh) 分组加密/解密的方法及设备
CN1921395A (zh) 提高网络软件安全性的方法和系统
CN1604526A (zh) 通信系统、信息处理装置、信息处理方法和记录介质
CN1146184C (zh) 第一计算机单元和集群计算机单元之间的集群密码管理方法
CN1238988C (zh) 密钥信息生成的方法和装置、内容信息加密与解密的方法和装置
CN101030852A (zh) 含有人体信息的高度安全的加密解密方法
CN1302635C (zh) 在实现密钥加密算法的电子元件中的对抗方法
CN1791070A (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