CN1288568C - 具有加密/解密功能的半导体集成电路 - Google Patents
具有加密/解密功能的半导体集成电路 Download PDFInfo
- Publication number
- CN1288568C CN1288568C CNB021419639A CN02141963A CN1288568C CN 1288568 C CN1288568 C CN 1288568C CN B021419639 A CNB021419639 A CN B021419639A CN 02141963 A CN02141963 A CN 02141963A CN 1288568 C CN1288568 C CN 1288568C
- Authority
- CN
- China
- Prior art keywords
- data
- circuit
- array
- bit
- several
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/10—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
- G07F7/1008—Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/341—Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/409—Device specific authentication in transaction processing
- G06Q20/4097—Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
- G06Q20/40975—Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
-
- 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- 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/34—Bits, or blocks of bits, of the telegraphic message being interchanged in time
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Accounting & Taxation (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Signal Processing (AREA)
- Finance (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Storage Device Security (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
本发明提供了一种半导体集成电路,它包括:第一电路;第二电路;数据总线,用于在第一电路和第二电路之间传输数个数据位;随机数发生器,用于响应时钟脉冲信号,生成随机数;第一加扰器,用于根据随机数改变从第一电路输出的数个数据位的阵列,把改变阵列输出到数据总线,根据随机数把通过数据总线从第二电路接收的数个数据位的阵列还原成原始阵列,和把还原阵列提供给第一电路;和第二加扰器,用于根据随机数把通过数据总线从第一电路接收的数个数据位的阵列还原成原始阵列,把还原阵列提供给第二电路,根据随机数改变从第二电路输出的数个数据位的阵列,把改变阵列输出到数据总线。
Description
相关申请
本申请要求2001年8月30日提交的韩国专利申请第2001-52927号的优先权,特此引用,以供参考。
技术领域
本发明涉及半导体集成电路,更具体地说,本发明涉及为了保护在内部总线上传输的输入/输出数据而具有加密/解密功能的半导体集成电路。
背景技术
为了进行,例如,金融交易而使用诸如信用卡或银行卡之类的塑料卡现在越来越普及了。众所周知,包括磁卡的传统塑料卡不能存储大量数据,并且存在安全问题。随着半导体技术长足发展,集成电路(IC)的尺寸变得越来越小。因此,已经开发出含有IC芯片的塑料卡(称为“智能卡”),来取代传统磁卡。智能卡可以存储非常大量的数据,并且具有诸如安全性和耐用性都提高了之类的优点。因此,智能卡已经用于各种用途,譬如,身份证、医疗保险卡、和银行卡等。
由于诸如信用卡号、居民身份证号、银行帐号和密码之类的重要数据都存储在智能卡的IC中,因此,有关存储在IC中的数据的安全性非常重要。
图1是用于智能卡的示范性IC的示意图。智能卡中的IC 10包括诸如微处理器之类的中央处理单元(CPU)或处理器11、随机存取存储器(RAM)13、只读存储器(ROM)14、电可擦除可编程只读存储器(EEPROM)15、和输入/输出控制器12。IC 10中的电路模块通过系统总线16彼此连接,从而可以发送和接收数据、程序、和控制代码。
本领域的普通技术人员利用预定装置可以容易地将电路模块与系统总线区分开,和监测装载在系统总线上的数据。如果在电路模块之间发送和接收的数据易遭受黑客(hacker)攻击和被他人滥用,将会出现严重的社会问题。
因此,迫切需要一种具有能够保护在内部电路模块之间发送和接收的数据安全的功能的、用作信用卡、医疗保险卡、和身份证的智能卡。
发明内容
本发明提供了一种包括下列部件的半导体集成电路:第一电路;第二电路;数据总线,用于在第一电路和第二电路之间传输数个数据位;随机数发生器,用于响应时钟脉冲信号,生成随机数;第一加扰器,用于根据随机数改变从第一电路输出的数个数据位的阵列,把改变阵列输出到数据总线,根据随机数把通过数据总线从第二电路接收的数个数据位的阵列还原成原始阵列,和把还原阵列提供给第一电路;和第二加扰器,用于根据随机数把通过数据总线从第一电路接收的数个数据位的阵列还原成原始阵列,把还原阵列提供给第二电路,根据随机数改变从第二电路输出的数个数据位的阵列,把改变阵列输出到数据总线。
根据本发明的一个实施例,数个数据位是N个位,其中N是整数。第一加扰器包括:第一发生器,用于生成与随机数相对应的第一选择信号;和第一位阵列改变器,用于根据第一选择信号改变从第一电路输出的数个数据位的阵列,把改变阵列输出到数据总线,根据第一选择信号把通过数据总线从第二电路接收的数个数据位的阵列还原成原始阵列,和把还原阵列提供给第一电路。第一位阵列改变器包括分别与发送和接收数个数据位相对应的数个第一开关电路,数个第一开关电路的每一个将输入第一电路/从第一电路输出的数个数据位的相应一个与数据总线的那些位当中与第一选择信号相对应的位相联系。数个第一开关电路的每一个:当数据从第一电路输出时,输出从第一电路输出的数个数据位的相应一个,作为数据总线的那些位当中与第一选择信号相对应的位,和当数据从数据总线输入时,提供装载在数据总线上的数据位当中与第一选择信号相对应的位,作为输入到第一电路的数个数据位的相应一个。数个第一开关电路的每一个包括分别连接在数据总线的数个位与输入第一电路/从第一电路输出的数个数据位的相应一个之间的数个开关,用于响应第一选择信号进行操作。第二加扰器包括:第二发生器,用于生成与随机数相对应的第二选择信号;和第二位阵列改变器,用于根据第二选择信号把通过数据总线从第一电路接收的数个数据位的阵列还原成原始阵列,把还原阵列提供给第二电路,根据第二选择信号改变从第二电路输出的数个数据位的阵列,和把改变阵列输出到数据总线。第二位阵列改变器包括与发送和接收数据位相对应数个第二开关电路,数个第二开关电路的每一个将输入第二电路/从第二电路输出的数个数据位的相应一个与数据总线的那些位当中与第二选择信号相对应的位相联系。
根据本发明的实施例,数个第二开关电路的每一个:当数据从第二电路输出时,输出从第二电路输出的数个数据位的相应一个,作为数据总线的那些位当中与第二选择信号相对应的位,和当数据从数据总线输入时,提供装载在数据总线上的数据位当中与第二选择信号相对应的位,作为输入到第二电路的数个数据位的相应一个。数个第二开关电路的每一个包括分别连接在数据总线的数个位与输入第二电路/从第二电路输出的数个数据位的相应一个之间的数个开关,用于响应第二选择信号进行操作。
本发明还提供了一种包括下列部件的智能卡:第一电路;第二电路;数据总线,用于在第一电路和第二电路之间传输数个数据位;随机数发生器,用于响应时钟脉冲信号,生成随机数;第一加扰器,用于根据随机数改变从第一电路输出的数个数据位的阵列,把改变阵列输出到数据总线,根据随机数把通过数据总线从第二电路接收的数个数据位的阵列还原成原始数据,和把还原阵列提供给第一电路;和第二加扰器,用于根据随机数把通过数据总线从第一电路接收的数个数据位的阵列还原成原始阵列,把还原阵列提供给第二电路,根据随机数改变从第二电路输出的数个数据位的阵列,和把改变阵列输出到数据总线。
本发明还提供了一种包括下列部件的半导体集成电路:第一电路;第二电路;数据总线,用于在第一电路和第二电路之间传输数个数据位;随机数发生器,用于响应时钟脉冲信号,生成随机数;第一加扰器,用于根据随机数部分改变从第一电路输出的数个数据位的阵列,和把改变阵列输出到数据总线,和第二加扰器,用于根据随机数把通过数据总线从第一电路输入的数个数据位当中,其阵列经第一加扰器改变的阵列数据位还原成原始阵列,把还原阵列提供给第二电路,根据随机数部分改变从第二电路输出的数个数据位当中的一个阵列,和把改变阵列输出到数据总线,其中,第一加扰器根据随机数把通过数据总线从第二电路输入的数个数据位当中,其阵列经第二加扰器改变的一些位还原成原始阵列,和把还原阵列提供给第一电路。
根据本发明的一个实施例,第一加扰器包括:第一发生器,用于生成与随机数相对应的第一选择信号;和第一位阵列改变器,用于根据第一选择信号部分改变从第一电路输出的数个数据位的阵列,把改变阵列输出到数据总线,根据第一选择信号把通过数据总线从第二电路输入的数个数据位当中,其阵列经第二加扰器的一些位的阵列还原成原始阵列,和把还原阵列提供给第一电路。第二加扰器包括:第二发生器,用于生成与随机数相对应的第二选择信号;和第二位阵列改变器,用于根据第二选择信号把通过数据总线从第一电路输入的数个数据位当中,其阵列经第一加扰器的一些位的阵列还原成原始阵列,把还原阵列提供给第二电路,根据第二选择信号部分改变从第二电路输出的数个数据位的阵列,和把改变阵列输出到数据总线。通过数据总线在第一电路和第二电路之间发送和接收的数据包括N个位,和N个位的数据当中,其位阵列被第一和第二位阵列改变器改变/还原的位是K个低阶位(K<N),其中,K和N都是整数。第一位阵列改变器包括分别与K位数据的位相对应的数个第一开关电路,数个第一开关电路的每一个将输入第一电路/从第一电路输出的数据的K个低阶位当中的相应位与数据总线的K个低阶位当中,与第一选择信号相对应的位相联系。数个第一开关电路的每一个:当数据从第一电路输出时,输出从第一电路输出的数据的K个低阶位的相应一个,作为数据总线的K个低阶位当中与第一选择信号相对应的位,和当数据从数据总线输入时,提供装载在数据总线上的数据位当中与第一选择信号相对应的位,作为输入到第一电路的数个数据位的相应一个。数个第一开关电路的每一个包括分别连接在数据总线的K个低阶位与输入第一电路/从第一电路输出的数据的K个低阶位的相应一个之间的数个开关,用于响应第一选择信号进行操作。第二位阵列改变器包括分别与K个位数据相对应的数个第二开关电路,数个第二开关电路的每一个将输入第二电路/从第二电路输出的数据的K个低阶位的相应一个与数据总线的K个低阶位当中与第二选择信号相对应的位相联系。数个第二开关电路的每一个:当数据从第二电路输出时,输出从第二电路输出的数据的K个低阶位的相应一个,作为数据总线的K个低阶位当中与第二选择信号相对应的位,和当数据从数据总线输入时,提供装载在数据总线上的数据的K个低阶位当中与第二选择信号相对应的位,作为输入到第二电路的数据的K个低阶位的相应一个。数个第二开关电路的每一个包括分别连接在数据总线的K个低阶位与输入第二电路/从第二电路输出的数据的K个低阶位的相应一个之间的数个开关,用于响应第二选择信号进行操作。
本发明提供了一种传输含有一个芯片的半导体存储设备的内部数据的方法,其中,该芯片包括第一电路模块、第二电路模块、和在第一电路模块和第二电路模块之间传输数据的数据总线,该方法包括下列步骤:利用第一电路模块输出数据;改变从第一电路模块输出的数据的位阵列;把其位阵列改变了的数据发送到数据总线;把装载在数据总线上的数据的位阵列还原成原始阵列;和把其位阵列还原了的数据输出到第二电路模块。
根据本发明的一个实施例,改变位阵列的步骤改变从第一电路模块输出的数据当中的一些位,和还原位阵列的步骤把装载在数据总线上的数据当中,其位阵列在改变位阵列的步骤中改变了的位还原成原始阵列。该方法还包括下列步骤:利用第二电路模块输出数据;改变从第二电路模块输出的数据的位阵列;把其位阵列改变了的数据发送到数据总线;把装载在数据总线上的数据的位阵列还原成原始阵列;和把其位阵列还原了的数据输出到第一电路模块。改变数据的位阵列的步骤改变从第二电路模块输出的数据当中的一些位,和还原位阵列的步骤把其位阵列在改变位阵列的步骤中改变了的位还原成原始阵列。
附图说明
通过参照附图,对本发明的优选实施例进行如下详细描述,本发明的上述目的和优点将更加清楚,在附图中:
图1是可以用在智能卡中的示范性IC的图形;
图2是显示根据本发明优选实施例的、用于智能卡的IC的结构的图形;
图3是显示根据本发明实施例的、图2中的第一和第二加扰器的构造的方块图;
图4是显示根据本发明实施例的、图3中的第一和第二位阵列改变器的构造的方块图;
图5是显示根据本发明实施例的、图4中的开关部分的电路构造的图形;
图6A是显示当把从CPU输出的数据发送到RAM时,数据位基于随机数发生器生成的随机数的位置改变的示意图;
图6B是显示当把从RAM输出的数据发送到CPU时,数据位基于随机数发生器生成的随机数的位置改变的示意图。
优选实施例描述
从现在开始,参照显示本发明优选实施例的附图,更全面地描述本发明。但是,应该明白,可以以各种不同的形式具体实现本发明,不应该把本发明理解为仅限于这里所述的这些实施例。而是,提供这些实施例是为了使本发明的公开更全面,更彻底,和把本发明的范围更完整地传达给本领域的普通技术人员。
图2是显示根据本发明优选实施例的、用于智能卡的IC的结构的图形。IC 100包括含有CPU 111的CPU电路模块110、含有RAM的RAM电路模块120、和在CPU电路模块110和RAM电路模块120之间发送和接收数据的数据总线130。根据本发明的实施例,在CPU电路模块110和RAM电路模块120之间发送和接收的数据包括8个位的数据块。但是,应该明白,在电路模块110和120之间发送的接收的数据的位宽可以有多种多样的变化。此外,虽然本实施例显示和说明了保护在CPU 111和RAM 121之间发送和接收的数据的电路,但是,应该认识到,本发明可以应用于保护在IC的电路模块之间发送和接收的所有数据,以及在CPU和RAM之间发送和接收的数据。
CPU电路模块110还包括第一加扰器112、和随机数发生器113。随机数发生器113响应时钟脉冲信号CLK,生成4位随机数。第一加扰器112根据随机数,改变从CPU 111输出的8位数据当中,低阶4位的阵列DATA_A[3:0],把改变阵列输出到数据总线110,把通过数据总线130从RAM电路模块120输入的、数据位的阵列还原成原始阵列,和把还原阵列提供给CPU 111。
RAM电路模块120还包括第二加扰器122。第二加扰器122根据随机数发生器113生成的随机数,把通过数据总线130从CPU电路模块110输入的、4位数据的阵列还原成原始数据。第二加扰器122还把还原阵列提供给RAM121,根据随机数改变从RAM 121输出的8位数据当中,低阶4位DATA_C[3:0]的位阵列,和把改变阵列输出到数据总线130。在另一个实施例中,随机数发生器113可以包含在RAM电路模块120中。
图3是显示根据本发明实施例的、图2中的第一和第二加扰器的电路结构的方块图。第一加扰器112包括第一位阵列改变器200和第一选择信号发生器220。第一选择信号发生器220响应从随机数发生器113输入的4位随机数,生成16位选择信号SEL1[15:0]。从数据DATA_A[3:0]从CPU 111输出时,第一位阵列改变器200响应选择信号SEL1[15:0],改变数据DATA_A[3:0]的位阵列,和把DATA_B[3:0]输出到数据总线130。当数据DATA_B[3:0]通过数据总线130输入时,第一位阵列改变器200响应选择信号SEL1[15:0]把数据DATA_B[3:0]的位阵列还原成原始位阵列,和把还原阵列提供给CPU 111。
与第一加扰器112类似,第二加扰器包括第二位阵列改变器300和第二选择信号发生器320。第二选择信号发生器320响应从随机数发生器113输入的4位随机数,生成16位选择信号SEL2[15:0]。从第一选择信号发生器220输出的选择信号SEL1[15:0]和从第二选择信号发生器320输出的选择信号SEL2[15:0]基本上彼此相同。当数据DATA_C[3:0]从RAM 121输出时,第二位阵列改变器300响应选择信号SEL2[15:0],改变数据DATA_C[3:0]的位阵列,和把DATA_B[3:0]输出到数据总线130。当数据DATA_B[3:0]从数据总线130输入时,第二位阵列改变器300响应选择信号SEL2[15:0],把数据DATA_B[3:0]的位阵列还原成原始位阵列,和把还原位阵列提供给RAM 121。
根据本发明,当数据从CPU 111发送到RAM 121,从CPU 111输出的低阶4位数据DATA_A[3:0]被第一位阵列改变器200加密(即,改变位阵列)。在数据总线130上把加密数据DATA_B[3:0]发送到第二位阵列改变器300,其中,在把数据存储在RAM 121中之前,解密该数据。因此,从CPU 111输出到第一位阵列改变器200的数据DATA_A[3:0]和第二位阵列改变器300提供给RAM 121的数据DATA_C[3:0]彼此相同,对传输数据没有带来任何影响。由于在数据总线上发送的DATA_B[3:0]是加密的,因此,即使黑客从外面监测数据总线130,外露数据也与基本上从CPU 111发送到RAM 121的数据不同,从而保证了真正数据的安全。
类似地,当数据从RAM 121发送到CPU 111时从RAM 121输出的低阶4位数据DATA_C[3:0]被第二位阵列改变器300加密成在数据总线130上发送的DATA_B[3:0](即,改变位阵列)。在数据总线上的加密数据DATA_B[3:0]由第一位阵列改变器200解密成提供给CPU 111的DATA_A[3:0]。因此,从RAM121输出到第二位阵列改变器300的数据DATA_C[3:0],和第一位阵列改变器200提供给CPU 111的数据DATA_A[3:0]彼此相同,对数据传输没有带来任何影响。由于装载在数据总线上的DATA_B[3:0]是加密的,因此,即使黑客从外面监测数据总线130,外露数据也与基本上从RAM 121发送到CPU 111的数据不同,从而保证了从RAM 121发送到CPU 111的数据的安全。
图4和5是显示用于改变和还原位阵列的第一和第二位阵列改变器200和300的优选结构和操作的图形。
参照图4,第一位阵列改变器200包括4个开关部分201~204,和第二位阵列改变器300包括分别与第一位阵列改变器200中的开关部分201~204相对应的4个开关部分301~304。
第一位阵列改变器200中的开关部分201~204分别受第一选择信号发生器220生成的选择信号SEL1[15:0]当中相应的4位信号控制。也就是说,开关部分201受选择信号SEL1[15:12]控制,开关部分202受选择信号SEL1[11:8]控制,开关部分203受选择信号SEL1[7:4]控制,和开关部分204受选择信号SEL1[3:0]控制。
如上所述,分别从第一和第二选择信号发生器220和320输出的选择信号SEL1[15:0]和SEL2[15:0]彼此相同。因此,第一位阵列改变器200中的开关部分201~204和第二位阵列改变器300中的相应开关部分301~304分别受相同信号控制。
参照图5,开关部分201包括4个开关SWA0~SWA3,和开关部分301包括分别与开关SWA0~SWA3相对应的4个开关SWB0~SWB3。开关部分201中的开关SWA0~SWA3分别受第一选择信号发生器220生成的选择信号SEL1[15:12]当中的相应信号控制。开关部分301中的开关SWB0~SWB3分别受第二选择信号发生器320生成的选择信号SEL2[15:12]当中的相应信号控制。如果选择信号SEL1[15:12]和SEL2[15:12]是逻辑‘1’,那么,相应开关SWA0~SWA3和SWB0~SWB3分别变成‘接通’。但是,如果是逻辑‘0’,那么,相应开关分别变成‘断开’。
类似地,开关部分202~204和302~304与图5所示的开关部分201和301相同,分别包括4个开关,并且受相应选择信号控制。因此,对于本领域的普通技术人员理解它们的操作来说,无需详细讨论开关部分202~204和302~304的结构和操作。
表1示范性地显示了基于随机数发生器113生成的4位随机数的、从第一和第二选择信号发生器220和320输出的选择信号SEL1[15:0]和SEL2[15:00]、和由此提供在数据总线130上的数据DATA_B[3:0]的位阵列。
表1
4位随机数 | 选择信号(SEL1[15:0]和SEL2[15:0]) | DATA_B[3:0]的位阵列 |
0000 | 1000 0010 0100 0001 | B0 B2 B1 B3 |
0001 | 1000 0010 0001 0100 | B0 B2 B3 B1 |
0010 | 1000 0001 0100 0010 | B0 B3 B1 B2 |
0011 | 1000 0001 0010 0100 | B0 B3 B2 B1 |
0100 | 0100 1000 0010 0001 | B1 B0 B2 B3 |
0101 | 0100 1000 0001 0010 | B1 B0 B3 B2 |
0110 | 0100 0001 1000 0010 | B1 B3 B0 B2 |
0111 | 0100 0001 0010 1000 | B1 B3 B2 B0 |
1000 | 0010 1000 0100 0001 | B2 B0 B1 B3 |
1001 | 0010 1000 0001 0100 | B2 B0 B3 B1 |
1010 | 0010 0100 1000 0001 | B2 B1 B0 B3 |
1011 | 0010 0001 0100 1000 | B2 B3 B1 B0 |
1100 | 0001 1000 0100 0010 | B3 B0 B1 B2 |
1101 | 0001 1000 0010 0100 | B3 B0 B2 B1 |
1110 | 0001 0100 1000 0010 | B3 B1 B0 B2 |
1111 | 0001 0100 0010 1000 | B3 B1 B2 B0 |
例如,当从CPU 111输出的数据DATA_A[3:0]通过数据总线130发送到RAM 121时,如果随机数发生器113生成的4位随机数是‘0000’,那么第一和第二选择信号SEL1[15:0]和SEL2[15:0]变成‘1000 0010 0100 0001’。如上所述,第一和第二选择信号SEL1[15:0]和SEL2[15:0]变成彼此相同的。由于第一选择信号SEL1[15:12]变成‘1000’,开关部分201的开关SWA3变成‘接通’的,和把CPU 111输出的数据DATA_A[0]提供到数据总线的第三位上,即在DATA_B[3]上。借助于这种方法,把CPU 111输出的数据DATA_A[1]、数据DATA_A[2]和数据DATA_A[3]分别提供到数据总线DATA_B[1]、数据总线DATA_B[2]和数据总线DATA_B[0]上。
因此,当从CPU 111输出的数据DATA_A[3:0]的位阵列是‘B3 B2 B1 B0’时,另一个提供在数据总线130上的数据DATA_B[3:0]的位阵列变成‘B0 B2B1 B3’。
例如,如果从CPU 111输出的数据DATA_A[3:0]是‘1100’,那么,提供到数据总线130上的数据DATA_B[3:0]变成‘0101’。因此,虽然提供到数据总线130上的数据DATA_B[3:0]暴露给黑客,但是,外露数据与输出数据DATA_A[3:0]不同,因此,可以防止真正数据的暴露。
装载在数据总线130上的数据DATA_B[3:0]通过如下方法发送到RAM121。与上面的例子一样,当随机数发生器113生成的4位随机数是‘0000’时,第二选择信号SEL2[15:0]是‘1000 0010 0100 0001’。由于第二选择信号SEL2[15:12]是‘1000’,开关部分301的开关SWB3变成‘接通’的,和通过SWB3提供装载在DATA_B[3]上的数据,作为位数据DATA_C[0]。借助于这种方法,把装载在数据总线130上的数据DATA_B[1]提供给RAM 121的第一位数据DATA_C[1],把数据DATA_B[2]提供给RAM 121的第二位数据DATA_C[2]和把数据DATA_B[0]提供给RAM 121的第三位数据DATA_C[3]。
因此,当装载在数据总线130上的数据DATA_B[3:0]的位阵列是‘B0 B2B1 B3’时,提供给RAM 121的数据DATA_C[3:0]变成‘B3 B2 B1 B0’。这与从CPU 111输出的数据DATA_A[3:0]的位阵列相同。因此,通过数据总线130从CPU 111发送到RAM 121的数据不会暴露给黑客,也不会受到影响。
图6A是显示当把从CPU 111输出的数据DATA_A[3:0]发送到RAM 121时,在随机数发生器生成的随机数是‘0000’的情况下数据位的位置改变的示意图。如图6A所示,从CPU 111输出的数据DATA_A[3:0]的位的每个位置随选择信号SEL1[15:0]而改变,并且被提供到数据总线130上。也就是说,从CPU 111输出的数据DATA_A[0]、DATA_A[1]、DATA_A[2]、和DATA_A[3]分别改变DATA_B[3]、DATA_B[1]、DATA_B[2]、和DATA_B[0]。根据选择信号SEL1[15:0],装载在数据总线130上的DATA_B[0]、DATA_B[1]、DATA_B[2]、和DATA_B[3]分别改变成DATA_C[3]、DATA_C[1]、DATA_C[2]、和DATA_C[0],并且把改变数据提供给RAM 121。
按照与如上所述把数据从CPU 111发送到RAM 121的方法相反的顺序,执行通过数据总线130把数据从RAM 121发送到CPU 111的方法。
例如,如果随机数发生器12生成的4位随机数是‘0100’,那么,第一和第二选择信号SEL1[15:0]和SEL2[15:0]变成‘0100 1000 0010 0001’。如上所述,第一和第二选择信号SEL1[15:0]和SEL2[15:0]彼此相同。由于第二选择信号SEL2[15:12]是‘0100’,开关部分301的开关SWB3变成‘接通’的,因此,把RAM 121输出的数据DATA_C[0]提供到数据总线的第二位上,即在DATA_B[2]上。借助于这种方法,把RAM 121输出的数据DATA_C[1]、数据DATA_C[2]和数据DATA_C[3]分别提供到数据总线DATA_B[3]、DATA_B[1]和DATA_B[0]上。因此,当从RAM 121输出的数据DATA_C[3:0]的位阵列是‘B3 B2 B1 B0’时,另一个装载在数据总线130上的数据DATA_B[3:0]的位阵列变成‘B1 B0 B2 B3’。
例如,如果从RAM 121输出的数据DATA_C[3:0]是‘1100’,那么,装载在数据总线130上的数据DATA_B[3:0]变成‘0011’。因此,虽然装载在数据总线130上的数据DATA_B[3:0]暴露给未授权者,但是,由于外露数据与从RAM 121输出的真正数据DATA_C[3:0]不同,因此,可以防止数据暴露。
但是,装载在数据总线130上的数据DATA_B[3:0]通过如下方法发送到CPU 111。与上面的例子一样,当随机数发生器113生成的4位随机数是‘0100’时,第一选择信号SEL2[15:0]是‘0100 1000 0010 0001’。由于第一选择信号SEL1[15:12]是‘0100’,开关部分201的开关SWA2变成‘接通’的,和通过SWA2提供装载在DATA_B[2]上的数据,作为CPU 111的位数据DATA_A[0]。借助于这种方法,把装载在数据总线130上的数据DATA_B[0]、DATA_B[1]、和DATA_B[3]分别提供给CPU 111的DATA_A[3],DATA_A[2]和DATA_A[1]。
因此,当装载在数据总线130上的数据DATA_B[3:0]是‘B1 B0 B2 B3’时,提供给CPU 111的数据DATA_A[3:0]变成‘B3 B2 B1 B0’。这与从RAM121输出的数据DATA_A[3:0]的位阵列相同。因此,通过数据总线130从RAM121发送到CPU 111的数据不会暴露给黑客,也不会受到影响。
图6B是显示当把从RAM 121输出的数据DATA_C[3:0]发送到CPU 111时,在随机数发生器生成的随机数是‘0100’的情况下数据位的位置改变的示意图。如图6B所示,从RAM 121输出的数据DATA_C[3:0]的位的每个位置随选择信号SEL2[15:0]而改变,并且被提供到数据总线130上。也就是说,从RAM 121输出的数据DATA_C[0]、DATA_C[1]、DATA_C[2]、和DATA_C[3]分别改变数据总线的DATA_B[2]、DATA_B[3]、DATA_B[1]、和DATA_B[0]。根据选择信号SEL2[15:0],装载在数据总线130上的DATA_B[0]、DATA_B[1]、DATA_B[2]、和DATA_B[3]分别改变成DATA_A[3]、DATA_A[2]、DATA_A[0]、和DATA_A[1],并且把改变数据提供给CPU 111。
但是,由于本发明的随机数发生器113是通过与时钟脉冲信号CLK(图2)同步进行操作的,因此,第一和第二加扰器112和122进行每个时钟脉冲改变位阵列的操作。因此,尽管装载在数据总线130上的数据易遭受到黑客攻击,但是,由于通过不同方法改变每个时钟脉冲的位阵列,因此,非常难以解密数据。
虽然通过参照本发明的某些优选实施例,已经对本发明进行了具体图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种各样的改变,而不偏离所附权利要求书所限定的本发明的精神和范围。例如,在本实施例中,可以改变从CPU 111输出的8位数据当中的低阶4位数据的位阵列。但是,尽管整个3位数据或8位数据的一些位发生了改变,但是本领域的普通技术人员仍然可以具体实现本发明的目的。
根据本发明,虽然内部电路模块当中的输入/输出数据暴露给未授权者,但是,由于外露数据与原始数据不同,因此,可以保护内部电路模块当中的输入/输出数据。
Claims (37)
1.一种半导体集成电路,包括:
第一电路;
第二电路;
数据总线,用于在第一电路和第二电路之间传输数个数据位;
随机数发生器,用于响应时钟脉冲信号,生成随机数;
第一加扰器,用于根据随机数改变从第一电路输出的数个数据位的阵列,把改变阵列输出到数据总线,根据随机数把通过数据总线从第二电路接收的数个数据位的阵列还原成原始阵列,和把还原阵列提供给第一电路;和
第二加扰器,用于根据随机数把通过数据总线从第一电路接收的数个数据位的阵列还原成原始阵列,把还原阵列提供给第二电路,根据随机数改变从第二电路输出的数个数据位的阵列,把改变阵列输出到数据总线。
2.根据权利要求1所述的半导体集成电路,其中,数个数据位是N个位,其中N是整数。
3.根据权利要求1所述的半导体集成电路,其中,第一加扰器包括:
第一发生器,用于生成与随机数相对应的第一选择信号;和
第一位阵列改变器,用于根据第一选择信号改变从第一电路输出的数个数据位的阵列,把改变阵列输出到数据总线,根据第一选择信号把通过数据总线从第二电路接收的数个数据位的阵列还原成原始阵列,和把还原阵列提供给第一电路。
4.根据权利要求3所述的半导体集成电路,其中,第一位阵列改变器包括分别与发送和接收数个数据位相对应的数个第一开关电路,数个第一开关电路的每一个用于将输入第一电路/从第一电路输出的数个数据位的相应一个与数据总线的那些位当中与第一选择信号相对应的位相联系。
5.根据权利要求4所述的半导体集成电路,其中,数个第一开关电路的每一个:
当数据从第一电路输出时,输出从第一电路输出的数个数据位的相应一个,作为数据总线的那些位当中与第一选择信号相对应的位,和
当数据从数据总线输入时,提供装载在数据总线上的数据位当中与第一选择信号相对应的位,作为输入到第一电路的数个数据位的相应一个。
6.根据权利要求4所述的半导体集成电路,其中,数个第一开关电路的每一个包括分别连接在数据总线的数个位与输入第一电路/从第一电路输出的数个数据位的相应一个之间的数个开关,用于响应第一选择信号进行操作。
7.根据权利要求3所述的半导体集成电路,其中,第二加扰器包括:
第二发生器,用于生成与随机数相对应的第二选择信号;和
第二位阵列改变器,用于根据第二选择信号把通过数据总线从第一电路接收的数个数据位的阵列还原成原始阵列,把还原阵列提供给第二电路,根据第二选择信号改变从第二电路输出的数个数据位的阵列,和把改变阵列输出到数据总线。
8.根据权利要求7所述的半导体集成电路,其中,第一选择信号和第二选择信号彼此相同。
9.根据权利要求7所述的半导体集成电路,其中,第二位阵列改变器包括与发送和接收的数据位相对应的数个第二开关电路,数个第二开关电路的每一个用于将输入第二电路/从第二电路输出的数个数据位的相应一个与数据总线的那些位当中与第二选择信号相对应的位相联系。
10.根据权利要求9所述的半导体集成电路,其中,数个第二开关电路的每一个:
当数据从第二电路输出时,输出从第二电路输出的数个数据位的相应一个,作为数据总线的那些位当中与第二选择信号相对应的位,和
当数据从数据总线输入时,提供装载在数据总线上的数据位当中与第二选择信号相对应的位,作为输入到第二电路的数个数据位的相应一个。
11.根据权利要求10所述的半导体集成电路,其中,数个第二开关电路的每一个包括分别连接在数据总线的数个位与输入第二电路/从第二电路输出的数个数据位的相应一个之间的数个开关,用于响应第二选择信号进行操作。
12.一种智能卡,包括:
第一电路;
第二电路;
数据总线,用于在第一电路和第二电路之间传输数个数据位;
随机数发生器,用于响应时钟脉冲信号,生成随机数;
第一加扰器,用于根据随机数改变从第一电路输出的数个数据位的阵列,把改变阵列输出到数据总线,根据随机数把通过数据总线从第二电路接收的数个数据位的阵列还原成原始数据,和把还原阵列提供给第一电路;和
第二加扰器,用于根据随机数把通过数据总线从第一电路接收的数个数据位的阵列还原成原始阵列,把还原阵列提供给第二电路,根据随机数改变从第二电路输出的数个数据位的阵列,和把改变阵列输出到数据总线。
13.根据权利要求12所述的智能卡,其中,第一加扰器包括:
第一发生器,用于生成与随机数相对应的第一选择信号;和
第一位阵列改变器,用于根据第一选择信号改变从第一电路输出的数个数据位的阵列,把改变阵列输出到数据总线,根据第一选择信号把通过数据总线从第二电路接收的数个数据位的阵列还原成原始阵列,和把还原阵列提供给第一电路。
14.根据权利要求12所述的智能卡,其中,第二加扰器包括:
第二发生器,用于生成与随机数相对应的第二选择信号;和
第二位阵列改变器,用于根据第二选择信号把通过数据总线从第一电路接收的数个数据位的阵列还原成原始阵列,把还原阵列提供给第二电路,根据第二选择信号改变从第二电路输出的数个数据位的阵列,和把改变阵列输出到数据总线。
15.根据权利要求14所述的智能卡,其中,第一发生器生成的第一选择信号和和第二发生器生成的第二选择信号彼此相同。
16.根据权利要求14所述的智能卡,其中,通过数据总线在第一和第二电路模块之间发送和接收的数据包括N个位,其中N是整数。
17.根据权利要求16所述的智能卡,其中,第一位阵列改变器包括分别与发送和接收数个数据位相对应的数个第一开关电路,数个第一开关电路的每一个用于将输入第一电路/从第一电路输出的数个数据位的相应一个与数据总线的那些位当中与第一选择信号相对应的位相联系。
18.根据权利要求17所述的智能卡,其中,数个第一开关电路的每一个:
当数据从第一电路输出时,输出从第一电路输出的数个数据位的相应一个,作为数据总线的那些位当中与第一选择信号相对应的位,和
当数据从数据总线输入时,提供装载在数据总线上的数据位当中与第一选择信号相对应的位,作为输入到第一电路的数个数据位的相应一个。
19.根据权利要求17所述的智能卡,其中,数个第一开关电路的每一个包括分别连接在数据总线的数个位与输入第一电路/从第一电路输出的数个数据位的相应一个之间的数个开关,用于响应第一选择信号进行操作。
20.根据权利要求14所述的智能卡,其中,第二位阵列改变器包括与发送和接收的数据位相对应的数个第二开关电路,数个第二开关电路的每一个用于将输入第二电路/从第二电路输出的数个数据位的相应一个与数据总线的那些位当中与第二选择信号相对应的位相联系。
21.根据权利要求19所述的智能卡,其中,数个第二开关电路的每一个:
当数据从第二电路输出时,输出从第二电路输出的数个数据位的相应一个,作为数据总线的那些位当中与第二选择信号相对应的位,和
当数据从数据总线输入时,提供装载在数据总线上的数据位当中与第二选择信号相对应的位,作为输入到第二电路的数个数据位的相应一个。
22.根据权利要求20所述的智能卡,其中,数个第二开关电路的每一个包括分别连接在数据总线的数个位与输入第二电路/从第二电路输出的数个数据位的相应一个之间的数个开关,用于响应第二选择信号进行操作。
23.一种半导体集成电路,包括:
第一电路;
第二电路;
数据总线,用于在第一电路和第二电路之间传输数个数据位;
随机数发生器,用于响应时钟脉冲信号,生成随机数;
第一加扰器,用于根据随机数部分改变从第一电路输出的数个数据位的阵列,和把改变阵列输出到数据总线;和
第二加扰器,用于根据随机数把通过数据总线从第一电路输入的数个数据位当中,其阵列经第一加扰器改变的阵列数据位还原成原始阵列,把还原阵列提供给第二电路,根据随机数部分改变从第二电路输出的数个数据位当中的一个阵列,和把改变阵列输出到数据总线,
其中,第一加扰器根据随机数把通过数据总线从第二电路输入的数个数据位当中,其阵列经第二加扰器改变的一些位还原成原始阵列,和把还原阵列提供给第一电路。
24.根据权利要求23所述的半导体集成电路,其中,第一加扰器包括:
第一发生器,用于生成与随机数相对应的第一选择信号;和
第一位阵列改变器,用于根据第一选择信号部分改变从第一电路输出的数个数据位的阵列,把改变阵列输出到数据总线,根据第一选择信号把通过数据总线从第二电路模块输入的数个数据位当中,其阵列经第二加扰器改变的一些位的阵列还原成原始阵列,和把还原阵列提供给第一电路。
25.根据权利要求24所述的半导体集成电路,其中,第二加扰器包括:
第二发生器,用于生成与随机数相对应的第二选择信号;和
第二位阵列改变器,用于根据第二选择信号把通过数据总线从第一电路输入的数个数据位当中,其阵列经第一加扰器改变的一些位的阵列还原成原始阵列,把还原阵列提供给第二电路,根据第二选择信号部分改变从第二电路输出的数个数据位的阵列,和把改变阵列输出到数据总线。
26.根据权利要求25所述的半导体集成电路,其中,第一选择信号和第二选择信号彼此相同。
27.根据权利要求25所述的半导体集成电路,其中,通过数据总线在第一电路和第二电路之间发送和接收的数据包括N个位,和N个位的数据当中,其位阵列被第一和第二位阵列改变器改变/还原的位是K个低阶位,K<N,其中,K和N都是整数。
28.根据权利要求27所述的半导体集成电路,其中,第一位阵列改变器包括分别与K位数据的位相对应的数个第一开关电路,数个第一开关电路的每一个用于将输入第一电路/从第一电路输出的数据的K个低阶位当中的相应位与数据总线的K个低阶位当中,与第一选择信号相对应的位相联系。
29.根据权利要求28所述的半导体集成电路,其中,数个第一开关电路的每一个:
当数据从第一电路输出时,输出从第一电路输出的数据的K个低阶位的相应一个,作为数据总线的K个低阶位当中与第一选择信号相对应的位,和
当数据从数据总线输入时,提供装载在数据总线上的数据位当中与第一选择信号相对应的位,作为输入到第一电路的数个数据位的相应一个。
30.根据权利要求29所述的半导体集成电路,其中,数个第一开关电路的每一个包括分别连接在数据总线的K个低阶位与输入第一电路/从第一电路输出的数据的K个低阶位的相应一个之间的数个开关,用于响应第一选择信号进行操作。
31.根据权利要求27所述的半导体集成电路,其中,第二位阵列改变器包括分别与K个位数据相对应的数个第二开关电路,数个第二开关电路的每一个将输入第二电路/从第二电路输出的数据的K个低阶位的相应一个与数据总线的K个低阶位当中与第二选择信号相对应的位相联系。
32.根据权利要求31所述的半导体集成电路,其中,数个第二开关电路的每一个:
当数据从第二电路输出时,输出从第二电路输出的数据的K个低阶位的相应一个,作为数据总线的K个低阶位当中与第二选择信号相对应的位,和
当数据从数据总线输入时,提供装载在数据总线上的数据的K个低阶位当中与第二选择信号相对应的位,作为输入到第二电路的数据的K个低阶位的相应一个。
33.根据权利要求32所述的半导体集成电路,其中,数个第二开关电路的每一个包括分别连接在数据总线的K个低阶位与输入第二电路/从第二电路输出的数据的K个低阶位的相应一个之间的数个开关,用于响应第二选择信号进行操作。
34.一种传输含有一个芯片的半导体存储设备的内部数据的方法,其中,该芯片包括第一电路模块、第二电路模块、和在第一电路模块和第二电路模块之间传输数据的数据总线,该方法包括下列步骤:
利用第一电路模块输出数据;
改变从第一电路模块输出的数据的位阵列;
把其位阵列改变了的数据发送到数据总线;
把装载在数据总线上的数据的位阵列还原成原始阵列;和
把其位阵列还原了的数据输出到第二电路模块。
35.根据权利要求34所述的方法,其中:
改变位阵列的步骤改变从第二电路模块输出的数据当中的一些位;和
还原位阵列的步骤把装载在数据总线上的数据当中,其位阵列在改变位阵列的步骤中改变了的位还原成原始阵列。
36.根据权利要求34所述的方法,还包括下列步骤:
利用第二电路模块输出数据;
改变从第二电路模块输出的数据的位阵列;
把其位阵列改变了的数据发送到数据总线;
把装载在数据总线上的数据的位阵列还原成原始阵列;和
把其位阵列还原了的数据输入到第一电路模块。
37.根据权利要求36所述的方法,其中:
改变数据的位阵列的步骤改变从第二电路模块输出的数据当中的一些位;和
还原位阵列的步骤把其位阵列在改变位阵列的步骤中改变了的位还原成原始阵列。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR52927/01 | 2001-08-30 | ||
KR52927/2001 | 2001-08-30 | ||
KR10-2001-0052927A KR100428786B1 (ko) | 2001-08-30 | 2001-08-30 | 내부 버스 입출력 데이터를 보호할 수 있는 집적 회로 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1407623A CN1407623A (zh) | 2003-04-02 |
CN1288568C true CN1288568C (zh) | 2006-12-06 |
Family
ID=19713754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB021419639A Expired - Fee Related CN1288568C (zh) | 2001-08-30 | 2002-08-29 | 具有加密/解密功能的半导体集成电路 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8249253B2 (zh) |
KR (1) | KR100428786B1 (zh) |
CN (1) | CN1288568C (zh) |
DE (1) | DE10232348A1 (zh) |
FR (1) | FR2829266B1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7248696B2 (en) * | 2002-09-12 | 2007-07-24 | International Business Machines Corporation | Dynamic system bus encryption using improved differential transitional encoding |
JP2004361986A (ja) * | 2003-04-08 | 2004-12-24 | Sharp Corp | スクランブル回路 |
FR2857534B1 (fr) * | 2003-07-09 | 2005-10-28 | Innova Card | Circuit integre comportant un module ordinaire et un module securise raccordes par une liaison protegee |
TWI221966B (en) * | 2003-08-28 | 2004-10-11 | Sunplus Technology Co Ltd | Device for encrypting/protecting program with protection bit codes |
FR2862150B1 (fr) * | 2003-11-12 | 2006-08-11 | Innova Card | Circuit integre a bus de donnees protege par un brouillage |
DE102004030602B4 (de) * | 2004-06-24 | 2007-04-19 | Infineon Technologies Ag | Paralleler Datenbus und Verfahren zum Betreiben eines parallelen Datenbusses |
DE102004037590B4 (de) * | 2004-08-03 | 2006-06-14 | Infineon Technologies Ag | Integrierte Schaltung und Verfahren zum Betrieb einer solchen |
US20060117122A1 (en) * | 2004-11-04 | 2006-06-01 | Intel Corporation | Method and apparatus for conditionally obfuscating bus communications |
US7822994B2 (en) * | 2005-01-07 | 2010-10-26 | Konica Minolta Systems Laboratory, Inc. | Data bus line and bus having an encryption/decryption device |
US20060288209A1 (en) * | 2005-06-20 | 2006-12-21 | Vogler Dean H | Method and apparatus for secure inter-processor communications |
FR2889349A1 (fr) * | 2005-07-26 | 2007-02-02 | St Microelectronics Sa | Procede et dispositif de securisation d'un circuit integre, notamment une carte a microprocesseur |
EP2109314A1 (en) * | 2008-04-11 | 2009-10-14 | Gemalto SA | Method for protection of keys exchanged between a smartcard and a terminal |
CN103840937A (zh) * | 2012-11-23 | 2014-06-04 | 许丰 | 虚拟量子加密系统 |
CN105790927B (zh) * | 2016-02-26 | 2019-02-01 | 华为技术有限公司 | 一种总线分级加密系统 |
CN108073837B (zh) * | 2016-11-15 | 2021-08-20 | 华为技术有限公司 | 一种总线安全保护方法及装置 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3083187B2 (ja) * | 1991-09-30 | 2000-09-04 | 富士通株式会社 | 電子財布システムの鍵管理方式 |
JPH0635806A (ja) * | 1992-07-21 | 1994-02-10 | Hitachi Ltd | メモリicカード |
DE4339464C2 (de) * | 1993-11-19 | 1995-11-16 | Litef Gmbh | Verfahren zur Sprachverschleierung und -entschleierung bei der Sprachübertragung und Einrichtung zur Durchführung des Verfahrens |
AU1265195A (en) * | 1993-12-06 | 1995-06-27 | Telequip Corporation | Secure computer memory card |
US5442704A (en) * | 1994-01-14 | 1995-08-15 | Bull Nh Information Systems Inc. | Secure memory card with programmed controlled security access control |
JPH07287742A (ja) * | 1994-04-19 | 1995-10-31 | Tokin Corp | Icカード |
FR2723223B1 (fr) | 1994-07-29 | 1996-08-30 | Sgs Thomson Microelectronics | Procede de brouillage numerique et application a un circuit programmable |
FR2728980B1 (fr) | 1994-12-30 | 1997-01-31 | Thomson Csf | Dispositif de securisation de systemes d'information organises autour de microprocesseurs |
US6038551A (en) * | 1996-03-11 | 2000-03-14 | Microsoft Corporation | System and method for configuring and managing resources on a multi-purpose integrated circuit card using a personal computer |
US6089460A (en) * | 1996-09-13 | 2000-07-18 | Nippon Steel Corporation | Semiconductor device with security protection function, ciphering and deciphering method thereof, and storage medium for storing software therefor |
DE19708616C2 (de) | 1997-03-03 | 1999-09-02 | Siemens Ag | Elektronische Datenverarbeitungseinrichtung und -system |
JP3609263B2 (ja) * | 1998-08-25 | 2005-01-12 | 富士写真フイルム株式会社 | 画像暗号化方法および装置、画像復号化方法および装置並びに記録媒体 |
JP3827050B2 (ja) | 1999-03-09 | 2006-09-27 | 株式会社ルネサステクノロジ | Icカードと半導体集積回路装置 |
JP3389186B2 (ja) * | 1999-04-27 | 2003-03-24 | 松下電器産業株式会社 | 半導体メモリカード及び読み出し装置 |
US6289455B1 (en) * | 1999-09-02 | 2001-09-11 | Crypotography Research, Inc. | Method and apparatus for preventing piracy of digital content |
US6779112B1 (en) * | 1999-11-05 | 2004-08-17 | Microsoft Corporation | Integrated circuit devices with steganographic authentication, and steganographic authentication methods |
WO2001040950A2 (de) * | 1999-12-02 | 2001-06-07 | Infineon Technologies Ag | Mikroprozessoranordnung mit verschlüsselung |
CN1192330C (zh) * | 2000-01-18 | 2005-03-09 | 因芬尼昂技术股份公司 | 微处理器加密装置 |
US7006629B2 (en) * | 2000-12-19 | 2006-02-28 | International Business Machines Corporation | Method and system for processing a data set |
-
2001
- 2001-08-30 KR KR10-2001-0052927A patent/KR100428786B1/ko not_active IP Right Cessation
-
2002
- 2002-04-23 US US10/128,839 patent/US8249253B2/en active Active
- 2002-06-26 FR FR0207932A patent/FR2829266B1/fr not_active Expired - Lifetime
- 2002-07-15 DE DE10232348A patent/DE10232348A1/de not_active Withdrawn
- 2002-08-29 CN CNB021419639A patent/CN1288568C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE10232348A1 (de) | 2003-03-27 |
CN1407623A (zh) | 2003-04-02 |
FR2829266B1 (fr) | 2005-11-25 |
US8249253B2 (en) | 2012-08-21 |
KR100428786B1 (ko) | 2004-04-30 |
FR2829266A1 (fr) | 2003-03-07 |
US20030048900A1 (en) | 2003-03-13 |
KR20030018679A (ko) | 2003-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1288568C (zh) | 具有加密/解密功能的半导体集成电路 | |
US5438622A (en) | Method and apparatus for improving the security of an electronic codebook encryption scheme utilizing an offset in the pseudorandom sequence | |
CN1218598C (zh) | 移动通信装置和数据隐蔽方法 | |
CN1118982C (zh) | 保证多芯片集成电路封装中互连接安全的电路和方法 | |
RU2251726C2 (ru) | Микропроцессорное устройство с шифрованием | |
CN1276610C (zh) | 电子值数据通信方法及系统、ic卡、便携终端和通信终端 | |
JP3140482B2 (ja) | 情報を暗号化/復号化する方法と装置 | |
US8000467B2 (en) | Data parallelized encryption and integrity checking method and device | |
US9904804B2 (en) | Layout-optimized random mask distribution system and method | |
CA2168812C (en) | High-bandwidth encryption system with low-bandwidth cryptographic modules | |
JPH1075240A (ja) | データ送信を保護する方法およびデータを暗号化または解読化する装置 | |
CN1659821A (zh) | 在两个装置之间交换安全数据的方法 | |
CN1469580A (zh) | Ic卡及其ic卡之间的加密通信方法 | |
WO2008033843A2 (en) | Method, apparatus and product for rfid authentication | |
CN1282323C (zh) | 用于有效密钥长度控制的方法和设备 | |
CN113972978A (zh) | 使用同态加密的电子设备及其加密数据处理方法 | |
CN1518269A (zh) | 数据加密设备和方法 | |
KR100291798B1 (ko) | 소프트웨어 암호화 방법 및 소프트웨어 암호화 시스템 | |
US7657034B2 (en) | Data encryption in a symmetric multiprocessor electronic apparatus | |
RU2077113C1 (ru) | Способ криптозащиты системы телекоммуникационных технологий | |
Hadj Brahim et al. | An image encryption scheme based on a modified AES algorithm by using a variable S-box | |
US20020191786A1 (en) | Polymorphous encryption system | |
KR100456599B1 (ko) | 병렬 디이에스 구조를 갖는 암호 장치 | |
CN116432250A (zh) | 具有物理不可克隆功能的集成电路 | |
KR100889400B1 (ko) | 데이터 전송장치 및 파일장치 |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20061206 Termination date: 20100829 |