WO2012056608A1 - 署名処理装置 - Google Patents
署名処理装置 Download PDFInfo
- Publication number
- WO2012056608A1 WO2012056608A1 PCT/JP2011/003006 JP2011003006W WO2012056608A1 WO 2012056608 A1 WO2012056608 A1 WO 2012056608A1 JP 2011003006 W JP2011003006 W JP 2011003006W WO 2012056608 A1 WO2012056608 A1 WO 2012056608A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- calculation
- signature
- subsystem
- signature processing
- requests
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3252—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/125—Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
Definitions
- the present invention relates to a signature processing apparatus, and more particularly to a group signature processing apparatus that processes a plurality of group signatures simultaneously.
- the group signature technique is a technique for authenticating whether or not a signer belongs to a group.
- the signer can be anonymous about which member of the group he is in.
- the privileged person can deprive the anonymity of the member as necessary, and the abuse of anonymity can be prevented.
- Non-Patent Document 1 discloses a basic algorithm for generating and authenticating a group signature. Further, Non-Patent Document 1 discloses a circuit that can perform group signature processing at high speed even though it is small.
- Patent Document 1 discloses a signature processing apparatus. In Patent Document 1, as shown in FIG. 13, the signature processing apparatus 300 includes an elliptic curve calculation unit 301, a remainder calculation unit 302, a pseudo-random number generation unit 303, an integer calculation unit 305, and a hash calculation unit 306. Are connected by a low-bandwidth bus.
- the group signature device disclosed in these documents is intended for portable terminal devices used by a single user, and does not assume a device handled by a plurality of users at the same time.
- FIG. 13 it is necessary to perform the signature processing not only on a personal terminal but also on a server in a wide area data center where many users access simultaneously. In this case, it is necessary to perform a plurality of signature processes simultaneously.
- group signatures take 0.1 to several seconds to process once. Therefore, if the request processing is sequentially performed in the group signature processing for a plurality of users, there is a problem that the average response time is remarkably deteriorated and the experience speed of providing the service is slowed down.
- group signatures in order to keep the average response time of group signatures for multiple users at the same level as a single signature, as many signature processing devices as the number of requests are prepared as shown in FIG. Processing in parallel can be considered as a general solution.
- the cost becomes N times.
- the chip area of the LSI circuit is increased N times, and the number of processors for program processing is increased N times.
- the power consumption is increased N times.
- the number of devices directly affects facility costs and operation costs. Further, the increase in power consumption makes it difficult to manage the temperature of the apparatus.
- An object of the present invention is to provide a signature generation device and a signature authentication device capable of performing many signature processes while suppressing an increase rate of power consumption and a circuit scale without reducing an average response speed of signature processing. There is.
- one or a plurality of basic operation execution units for each type of basic operation included in the signature processing procedure and a dispatcher that monitors the operation state and instructs the execution of the operation are interconnected. Configure the system A plurality of the subsystems are connected through a buffer memory that relays calculation requests.
- the signature processing method of the present invention includes: Multiple basic operations included in the signature processing procedure are executed simultaneously by one or more basic operation execution units, Instruct the basic operation execution unit that can monitor and accept the operation status to execute the operation sequentially, It is characterized in that operations in different requests are allocated to each basic operation unit and executed simultaneously without being occupied by a single request.
- the signature processing program of the present invention A computer having a plurality of processors; For each type of basic operation included in the signature processing procedure, one or a plurality of basic operation execution units and a dispatcher for monitoring the operation state and instructing the execution of the operation are interconnected to function as a subsystem. A plurality of signature generation requests or signature authentication requests are received by a single input, and a plurality of requests are processed in parallel.
- FIG. 1 is a diagram showing an overall configuration of a signature generation apparatus as a first embodiment.
- FIG. 3 is a diagram showing a configuration of a random number generation subsystem in the first embodiment.
- FIG. 3 is a diagram showing a configuration of an elliptic curve calculation subsystem in the first embodiment.
- FIG. 3 is a diagram showing a configuration of a remainder calculation subsystem in the first embodiment.
- 6 is a flowchart showing an operation of a dispatcher in the first embodiment.
- FIG. 9 is a diagram showing a configuration of a signature authentication device as a third embodiment. 9 is a flowchart showing an algorithm for group signature authentication in the third embodiment.
- FIG. 1 is a diagram showing a configuration of a signature generation device (signature processing device) according to the present invention.
- the signature generation device 100 A random number generation subsystem 101; An elliptic curve calculation subsystem 107; Residue calculation subsystem 112; Hash / integer operation subsystem 118, Packet relay buffer memories 105, 106, and 117.
- the random number generation subsystem 101 and the elliptic curve calculation subsystem 107 are connected via a packet relay buffer memory 105.
- the random number generation subsystem 101 and the remainder calculation subsystem 112 are connected via a packet relay buffer memory 106.
- the computation results of the elliptic curve computation subsystem 107 and the remainder computation subsystem 112 are input to the hash / integer computation subsystem 118 via the packet relay buffer memory 117.
- the signature generation device 100 has one input port 130 and one output port 131. Then, a plurality of request packets are sequentially received from the input port 130, and final results (signature or authentication) are sequentially output from the output port 131.
- the request packet is, for example, the opening manager's public key, the user's private key, the issuing manager's public key, the revocation manager's public key, or a message.
- the signature generation device 100 accepts the next request even if the processing of one request is not completed.
- the accepted requests are sequentially sent from the previous stage to the subsequent subsystems 101, 107, 112, and 118 via the packet relay buffer memories 105, 106, and 117, and the calculation process proceeds.
- FIG. 2 is a diagram showing a configuration of the random number generation subsystem 101.
- FIG. 3 is a diagram showing a configuration of the elliptic curve calculation subsystem 107.
- FIG. 4 is a diagram showing a configuration of the remainder calculation subsystem 112.
- FIG. 5 is a diagram showing a configuration of the hash / integer operation subsystem 118.
- each subsystem 101, 107, 112, 118 includes a dispatcher 102, 108, 113, 119, a local bus 104, 111, 116, 123, and one or more basic arithmetic units 103. , 110, 114, 120, 121.
- Some subsystems 101, 107, 112, and 118 have local buffer memories 109, 115, and 122 therein.
- the random number generation subsystem 101 includes a dispatcher 102, a pseudo-random number generation unit 103, and a local bus 104 as shown in FIG.
- a dispatcher 102 the random number generation subsystem 101 performs random number generation in the signature generation process.
- a pseudo-random number generation unit 103 performs random number generation in the signature generation process.
- the elliptic curve calculation subsystem 107 includes a dispatcher 108, an elliptic curve calculation unit 110 as a basic calculation unit, a temporary data buffer memory 109, and a local bus 111.
- a plurality of elliptic curve calculation units 110 are provided.
- six elliptic curve calculation units 110 are provided.
- the elliptic curve calculation subsystem 107 performs an elliptic curve calculation in the signature generation process.
- the remainder calculation subsystem 112 includes a dispatcher 113, a remainder calculation unit 114 as a basic calculator, a temporary data buffer memory 115, and a local bus 116.
- a plurality of residue calculation units 114 are provided, and nine residue calculation units 114 are provided in the present embodiment.
- the remainder calculation subsystem 112 performs remainder calculation in the signature generation process.
- the hash / integer operation subsystem 118 includes a dispatcher 119, a hash operation unit 120, an integer operation unit 121, a temporary data buffer memory 122, and a local bus 123.
- a hash operation unit 120 and one integer operation unit 121 are provided.
- the hash / integer operation subsystem 118 performs hash operation and integer operation in signature generation and signature authentication.
- the group signature processing for one request is configured by combining a plurality of random number generation operations, a plurality of elliptic curve operations, a plurality of remainder operations, a plurality of hash operations, and a plurality of integer operations. Further, in each calculation process, even if the type of the calculation process itself is the same, the bit width of the data to be handled is different. Since such a plurality of calculations are combined, the calculation time required for each subsystem varies, and the time required for each internal basic calculation is not constant. Therefore, when focusing on each subsystem, even if a group signature is being calculated, the internal basic calculation units include both moving and stopped ones. The execution start timing of each operation changes dynamically depending on the interval and number of incoming packets, and cannot be determined statically. For this reason, a control mechanism that constantly monitors the input packet and the execution status of the operation and instructs the free operation unit to perform the operation is required. The dispatchers 102, 108, 113, and 119 perform this function.
- FIG. 6 is a flowchart showing the operation of the dispatcher.
- the dispatcher constantly monitors the number of packets in the input buffer and the output buffer and the usage status of the basic arithmetic unit. If there is an input packet in the input buffer (ST502), the dispatcher extracts it (ST503), and determines whether all of the argument calculations for executing the packet calculation have been completed (ST504). That is, the dispatcher also monitors the dependency relationship of operations, and when there is a certain request, confirms whether all operations necessary to start the request are completed and the data is ready (ST504).
- FIG. 7 is a configuration diagram of a packet used for communication between subsystems.
- the packet 401 specifies the content of the arithmetic processing to be performed.
- the packet 401 has a request number 402 indicating which signature request is present, a current operation number 403 indicating what number calculation is being performed in the signature processing, and one that must be completed before this calculation is started. Or, it has fields such as a previous operation number 404 indicating a plurality of operations, an operation argument 405 indicating a numerical value necessary for the operation, and a designation 406 of where to transfer the obtained operation result.
- Non-Patent Document 1 The basic algorithm for group signature is also disclosed in Non-Patent Document 1.
- the group signature scheme involves four entities: user, issue manager, revocation manager, and open manager.
- the user is a member of the group and performs signature generation and signature authentication.
- the issue manager has the authority to add users to groups.
- the revocation manager has the authority to remove the user from the group.
- the opening manager has the authority to specify the signer.
- K (K [n], K [l], K [e], K [e '], K [q], K [c], K [S] ).
- K [n], K [l], K [e], K [e '] indicate the number of bits for each parameter n, l, e, e', that is, K [n], K [l], K [e], and K [e ′] have predetermined bit lengths K [n], K [l], K [e], and K [e ′], respectively.
- K [q] represents the bit length of a prime number q that is the order of the finite group GG defined based on the elliptic curve.
- K [c] indicates the bit length of the value c returned by the hash function Hash applied to the arbitrary-length bit string.
- K [S] is a bit length that makes a + r and a statistically indistinguishable when a random number r of
- xs indicates scalar multiplication for points on the elliptic curve
- + e indicates point addition on the elliptic curve
- “-e” indicates point subtraction on the elliptic curve.
- ipk is the public key of the issue manager
- isk is the secret key of the issue manager.
- step ST100 the random number generation subsystem 101 generates a random number. That is, ⁇ [E], ⁇ [m], ⁇ [r], ⁇ [x], ⁇ [s], ⁇ [e '], ⁇ [t], ⁇ [E] are randomly assigned as follows: select.
- step ST110 a plurality of elliptic curve calculations are executed by the elliptic curve calculation unit 110 of the elliptic curve calculation subsystem 107, and E [0], E [1], E [ 2], E, V [ComCipher] is obtained as follows.
- E [2] h [i] + e ⁇ [E] xsH [2]
- E (E [0], E [1], E [2])
- V [ComCipher] ( ⁇ [E] xsG, ⁇ [x] xsG + e ⁇ [E] xsH [1], ⁇ [x] xsG + e ⁇ [E] xsH [2])
- the dispatcher 108 functions to monitor the status of the six elliptic curve calculation units 110, and send data to the vacant elliptic curve calculation units 110 one after another for efficient calculation.
- step ST120 a plurality of residue operations are executed by the residue operation unit 114 of the residue operation subsystem 112, and A [COM], B [COM are used using the public key of the issue manager, the public key of the revocation manager, and the random number. ], V [ComMPK], V [ComREV] are obtained as follows.
- a [COM] A [i] a [2] ⁇ [m] (mod n)
- B [COM] B [i] w ⁇ [r] (mod l)
- V [ComMPK] a [1] ⁇ [x] a [2] ⁇ [s]
- V [ComREV] w ⁇ [t] B [COM] - ⁇ [e '] (mod l)
- the status of the nine remainder arithmetic units 114 is monitored by the action of the dispatcher 113, and data is successively sent to the vacant remainder arithmetic units 114 to advance the computation efficiently.
- the remainder calculation is executed in parallel with the elliptic curve calculation.
- the elliptic curve calculation and the remainder calculation are designed to have substantially the same latency, and the elliptic curve calculation result and the remainder calculation result for one request are output to the packet relay buffer memory 117 almost simultaneously. It is like that. This point will be described later.
- step ST130 the hash calculation unit 120 calculates the hash c by using the calculation result of the elliptic curve calculation, the calculation result of the remainder calculation, and the message m as follows.
- step ST140 the integer arithmetic unit 121 executes integer arithmetic, and uses the arithmetic operation result of the hash arithmetic and the random number, and ⁇ [x], ⁇ [s], ⁇ [t], ⁇ [e '], ⁇ [E ] Is calculated as follows.
- step ST150 signatures (E, A [COM], B [COM], c, ⁇ [x], ⁇ [s], ⁇ [t], ⁇ [e '], ⁇ [E]) are output. In this way, signature generation is performed.
- the number of basic arithmetic units in each subsystem may not be the same as the number of requests to be processed simultaneously.
- the simultaneous processing of six requests does not mean that each subsystem has only six basic arithmetic units.
- Different types of basic operations will have different execution speeds. Therefore, it is sufficient to increase the number of basic operations that are slow in processing and reduce the number of basic operations that are fast in processing.
- the latencies of the subsystems are approximately equal, the highest performance can be realized with the smallest amount of apparatus.
- the remainder operation is the one that determines the speed of the entire signature processing most, and is 10 times or more slower than other operations.
- the remainder operation is used several times, and the operation speed thereof is about 10 times larger because the bit width of the data is different.
- the number of the residue calculation units 114 in the residue calculation subsystem 112 is larger than the number of basic operation units of other subsystems.
- the pseudorandom number generation unit 103 of the random number generation subsystem 101 is 1
- the elliptic curve calculation subsystem is 6
- the remainder calculation unit 114 is 9,
- FIG. 9 is a graph showing the results of concrete measurement of the effects of the invention.
- six elliptic curve calculation units, one pseudorandom number generation unit, one hash calculation unit, and one integer calculation unit are fixed, and the remainder calculation unit that controls the speed is the most The number was changed from 1 to 9. Then, the relationship between the number of requests that require simultaneous processing and the time taken to finish processing all requests was measured and shown in the graph.
- the processing speed is almost the same as the signature circuit for processing a single request shown in FIG. In this case, if the number of requests becomes nine times, the processing time also takes nine times. In order to reduce the processing time with this configuration, the same number of signature circuits as the number of requests must be arranged.
- each basic operation of signature generation may be executed using one or more CPUs (Central Processing Units) that execute software.
- CPUs Central Processing Units
- the signature generation apparatus includes a plurality of elliptic curve calculation processor cores that execute elliptic curve calculation, a plurality of residue calculation processor cores that execute remainder calculation, a plurality of integer calculation processor cores that execute integer calculation, and a random number It includes at least a random number generation processor core that executes generation, a hash operation processor core that executes hash calculation, a shared memory that relays packets, and a plurality of processor cores that execute dispatch processing. Then, the number of processor cores that execute each basic operation is appropriately designed, such as nine remainder arithmetic processor cores and six elliptic curve arithmetic processor cores.
- the processor core that performs dispatch monitors the status of the shared memory and the processor core that performs basic operations, and when a packet for requesting operations is stored in the shared memory, causes a free processor in charge of basic operations to start operations.
- the processing can be executed in the same manner as when the signature circuit is configured using a dedicated circuit.
- some basic operation execution units may be configured with CPUs, without configuring all basic operation execution units with CPUs.
- the signature processing program that causes the CPU to function as each computing unit may be provided by being recorded on a computer-readable recording medium.
- FIG. 10 is a diagram showing a configuration of the signature authentication apparatus 200 according to the present invention. Since the signature authentication apparatus 200 can employ the same configuration as the signature generation apparatus 100 except for random number generation, the same elements as those in the first embodiment are denoted by the same reference numerals, and description thereof is omitted.
- FIG. 11 is a flowchart showing a signature authentication algorithm. The signature authentication algorithm has almost the same data flow as signature generation except for random number generation.
- the signature is authenticated as follows by using the public key ipk of the issuing manager, the public key rpk of the revocation manager, the public key opk of the opening manager, the message m, and the signature ⁇ as inputs.
- step ST200 it is checked whether
- V ′ [ComCipher] ( ⁇ [E] xsG-e [c] xsE [0], ⁇ [x] xsG + e ⁇ [E] xsH [1] -e [c] xsE [1], ⁇ [x] xsG + e ⁇ [E] xsH [2] ⁇ e [c] xsE [2]) is calculated.
- step ST230 the hash c ′ is calculated by the hash calculation as follows.
- the signature authentication device can also be configured using one or more CPUs (Central Processing Unit) that execute software.
- CPUs Central Processing Unit
- the present invention is not limited to the above-described embodiment, and can be appropriately changed without departing from the gist of the present invention.
- the number of circuit units or processor cores that execute basic operations is not limited to the above example.
- the number of pseudo-random number generation units in the random number generation subsystem may be two or more instead of one.
- the elliptic curve unit of the elliptic curve calculation subsystem is not limited to six, and may be more or less.
- the number of remainder calculation units of the remainder calculation subsystem is not limited to nine, and may be more or less.
- the number of hash operation units and integer operation units of the hash / integer operation unit is not limited to one, and may be two or more.
- FIG. 12 conceptually illustrates a signature processing apparatus for realizing the gist of the present invention without specifying the type of calculation.
- the subsystem includes a remainder calculation subsystem, an elliptic curve calculation subsystem, and an integer calculation / hash calculation subsystem.
- the residue calculation subsystem includes a plurality of residue calculation units that execute a residue calculation and a dispatcher that controls them.
- the elliptic curve calculation subsystem includes a plurality of elliptic curve calculation units for executing elliptic curve calculation and a dispatcher for controlling them.
- the integer operation / hash operation subsystem includes one or more hash operation units that perform hash operations, one or more integer operation units that perform integer operations, and a dispatcher that controls them.
- the subsystem further includes a random number generation calculation subsystem,
- the said random number generation calculation subsystem is comprised including the one or some random number generation part which performs random number generation calculation, and the dispatcher which controls those.
- the signature processing apparatus characterized by the above-mentioned.
- the number of the elliptic curve calculation units of the elliptic curve calculation subsystem is equal to or less than the number of the remainder calculation units of the elliptic curve calculation subsystem.
- Appendix 9 In the signature processing device according to any one of appendix 1 to appendix 9, A signature processing apparatus, wherein a part or all of the basic arithmetic execution unit and a part or all of the dispatcher are configured using a processor core.
- the signature processing apparatus is a group signature generation apparatus that generates a group signature, or a group signature authentication apparatus that authenticates a group signature.
- Appendix 12 A computer having a plurality of processors; For each type of basic operation included in the signature processing procedure, one or a plurality of basic operation execution units and a dispatcher for monitoring the operation state and instructing the execution of the operation are interconnected to function as a subsystem.
- a signature processing program characterized by receiving a plurality of signature generation requests or signature authentication requests with a single input and processing a plurality of requests simultaneously in parallel.
- Appendix 13 A computer-readable recording medium on which the signature processing program according to appendix 12 is recorded.
- DESCRIPTION OF SYMBOLS 100 ... Signature generator, 101 ... Random number generation subsystem, 102 ... Dispatcher, 103 ... Pseudo random number generation unit, 104 ... Local bus, 105 ... Packet relay buffer memory, 106 ... Packet relay buffer memory, 107 ... Elliptic curve calculation subsystem , 108 ... Dispatcher, 109 ... Temporary data buffer memory, 110 ... Elliptic curve computing unit, 111 ... Local bus, 112 ... Residue computing subsystem, 113 ... Dispatcher, 114 ... Residue computing unit, 115 ... Temporary data buffer memory, 116 ... Local bus, 117 ... packet relay buffer memory, 118 ...
- hash / integer operation subsystem 119 ... dispatcher, 120 ... hash operation unit, 121 ... integer operation unit, 122 ... temporary data buffer memory, 123 ... local bus, 130 ... input , 131 ... output port, 301 ... elliptic curve calculation unit, 302 ... residue calculation unit , 303 ... pseudo random number generation unit, 305 ... integer operation unit, 306 ... hash operation unit, 401 ... packet, 402 ... request number, 403 ... current operation number, 404 ... previous operation number, 405 ... operation argument, 406 ... transfer destination Specified.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
Description
また、特許文献1には署名処理装置が開示されている。特許文献1では、図13に示すように、署名処理装置300は、楕円曲線演算ユニット301、剰余演算ユニット302、擬似乱数生成ユニット303、整数演算ユニット305およびハッシュ演算ユニット306を備え、それぞれのユニットが低帯域バスで接続されている。
ここで、複数の利用者を対象とするグループ署名の平均応答時間を単独の署名と同程度に保ったままにするには、図14に示すように、署名処理装置をリクエストの数だけ用意し並列に処理させるのが一般的解決手法とも考えられる。
ここで、例えば、広域データセンタに設置されるサーバ装置の場合、装置の数は設備費用や運用費に直接的に影響してくる。また、消費電力の増加は、装置の温度管理などを困難にする。
演算リクエストを中継するバッファメモリを介して複数の前記サブシステムを接続したことを特徴とする。
署名処理手続きに含まれる基本演算を1つまたは複数の基本演算実行部で同時に複数実行し、
演算状態を監視して受け付け可能な基本演算実行部に順次演算実行を指示し、
単一のリクエストに占有されることなく異なるリクエスト中の演算をそれぞれの基本演算部に割り付けて同時実行するようにさせる
ことを特徴とする。
複数のプロセッサを有するコンピュータを、
署名処理手続きに含まれる基本演算の種類ごとに1つまたは複数の基本演算実行部とそれらの演算状態を監視して演算実行を指示するディスパッチャとが相互接続したサブシステムとして機能させ、
複数の署名生成リクエストもしくは署名認証リクエストを単一の入力で受け付け、複数のリクエストを同時並行で処理させることを特徴とする。
(第1実施形態)
本発明に係る第1実施形態について説明する。
図1は、本発明にかかる署名生成装置(署名処理装置)の構成を示す図である。
署名生成装置100は、
乱数生成サブシステム101と、
楕円曲線演算サブシステム107と、
剰余演算サブシステム112と、
ハッシュ・整数演算サブシステム118と、
パケット中継バッファメモリ105、106、117と、を備える。
乱数生成サブシステム101と剰余演算サブシステム112とは、パケット中継バッファメモリ106を介して接続されている。
楕円曲線演算サブシステム107および剰余演算サブシステム112の演算結果は、パケット中継バッファメモリ117を介してハッシュ・整数演算サブシステム118に入力される。
署名生成装置100は、一つのリクエストの処理が総て終わっていなくても、次のリクエストを受け付ける。受け付けられたリクエストは、パケット中継バッファメモリ105、106、117を介して前段から後段のサブシステム101、107、112、118へ順次送られていき、演算処理は進行する。
図2は、乱数生成サブシステム101の構成を示す図である。
図3は、楕円曲線演算サブシステム107の構成を示す図である。
図4は、剰余演算サブシステム112の構成を示す図である。
図5は、ハッシュ・整数演算サブシステム118の構成を示す図である。
ここでは、擬似乱数生成ユニット103は一つだけ設けられている。
乱数生成サブシステム101は、署名生成処理において乱数生成を実行する。
ここで、楕円曲線演算ユニット110は複数設けられており、本実施形態では6つの楕円曲線演算ユニット110が設けられている。楕円曲線演算サブシステム107は、署名生成処理において楕円曲線演算を実行する。
ここで、剰余演算ユニット114は複数設けられており、本実施形態では9つの剰余演算ユニット114が設けられている。
剰余演算サブシステム112は、署名生成処理において剰余演算を実行する。
ここでは、ハッシュ演算ユニット120と、整数演算ユニット121と、は一つずつ設けられている。
ハッシュ・整数演算サブシステム118は、署名生成および署名認証において、ハッシュ演算および整数演算を実行する。
このような複数の演算が組み合わされるので、サブシステムごとにかかる演算時間も異なってくるし、内部の各基本演算にかかる時間も一定ではない。したがって、各サブシステムについて着目すると、グループ署名の演算中であっても内部の基本演算ユニットには動いているものと停止しているものが混在する。各演算の実行開始タイミングは、入力パケットが到来する間隔や数によって動的に変化するものであり、静的には決定できない。
このため、入力パケットや演算実行状況を常時監視し、空いている演算器に演算を指示する制御機構が必要となる。
この働きをするものが、ディスパッチャ102、108、113、119である。
ディスパッチャは、入力バッファおよび出力バッファ中のパケット数と、基本演算器の利用状況と、を常時モニタする。
入力バッファに入力パケットが存在する場合(ST502)、ディスパッチャはそれを取り出し(ST503)、そのパケット演算を実行するための引数の演算が総て終了しているかを判定する(ST504)。すなわち、ディスパッチャは、演算の依存関係についても監視し、あるリクエストがあるとき、それを開始するのに必要な演算が全て終了し、データが揃っているかを確認する(ST504)。そして、パケット演算を実行するための引数の演算が総て終了している場合(ST504:YES)、空いている演算ユニットがあるか否かを判断し(ST505)、演算を実行できる演算ユニットがあれば(ST505:YES)、その演算器に演算処理を割り当てて演算を開始させる(ST506)。
演算が終了したら(ST501:YES)、出力バッファないし一時データバッファへ結果を格納する(ST509)。
パケット401は、行うべき演算処理の内容を指定するものである。
パケット401は、どの署名リクエストであるかを示すリクエスト番号402、署名処理のうち何番目の演算を行っているかを示す現演算番号403、この演算を開始するまでに終了していないといけない1つまたは複数の演算を示す前演算番号404、演算に必要な数値を表す演算引数405、得られた演算結果をどこへ転送するかの指定406、などのフィールドを有する。
なお、グループ署名の基本的アルゴリズムについては、非特許文献1にも開示されている。
ユーザは、グループのメンバであり、署名生成と署名認証とを行う。
発行管理者は、ユーザをグループに追加する権限を有する。
失効管理者は、ユーザをグループから除去する権限を有している。
開封管理者は、署名者を特定する権限を有する。
K[n]、K[l]、K[e]、K[e']は、各パラメータn, l, e, e'それぞれについてのビッ ト数を示しており、つまり、K[n]、K[l]、K[e]、K[e']はそれぞれ所定のビット長K[n]、K[l]、K[e]、K[e']を有する。
K[q]は、楕円曲線に基づいて定義される有限群GGの次数である素数qのビット長を示す。
K[c]は、任意長のビット列に適用されるハッシュ関数Hashが返す値cのビット長を示す。
K[S]は、いかなる整数aに対しても|a|+K[S]ビット長の乱数rを選択したときに、a+rとaとが統計的に区別できなくなるようなビット長を示す。
なお、以下では、「xs」は楕円曲線上の点に対するスカラー倍演算を示し、「+e」は楕円曲線上での点加算を示し、「-e」は楕円曲線上での点減算を示す。
なお、ipkは発行管理者の公開鍵であり、iskは発行管理者の秘密鍵である。
発行管理者の秘密鍵isk=(p[1], p[2])
なお、opkは開封管理者の公開鍵であり、oskは開封管理者の秘密鍵である。
開封管理者の秘密鍵osk=(y[1], y[2])
なお、rpkは失効管理者の公開鍵であり、rskは失効管理者の秘密鍵である。
失効管理者の秘密鍵rsk=(l[1], l[2])
なお、mpk[i]はi番目のユーザの公開鍵であり、msk[i]はi番目のユーザの秘密鍵である。
i番目のユーザの秘密鍵msk[i]=x[i]
この場合、メッセージm、開封管理者の公開鍵opk、ユーザの秘密鍵msk[i]、発行管理者の公開鍵ipkおよび失効管理者の公開鍵rpkを入力とし、次のようにして署名を生成する。
すなわち、ρ[E]、ρ[m]、ρ[r]、μ[x]、μ[s]、μ[e']、μ[t]、μ[E]を、次のようにランダムに選択する。
ρ[E]:上記有限体Zqの要素
ρ[m]:ビット長K[n]/2のビット列
ρ[r]:ビット長K[l]/2のビット列
μ[x]:ビット長λ+K[c]+K[S]のビット列
μ[s]:ビット長K[e]+K[n]/2+K[c]+K[S]のビット列
μ[e']:ビット長K[e']+K[c]+K[S]のビット列
μ[t]:ビット長K[e']+K[l]/2+K[c]+K[S]のビット列
μ[E]:上記有限体Zqの要素
E[1]=h[i]+eρ[E]xsH[1]
E[2]=h[i]+eρ[E]xsH[2]
E=(E[0],E[1],E[2])
V[ComCipher]=(μ[E]xsG,μ[x]xsG+eμ[E]xsH[1],μ[x]xsG+eμ[E]xsH[2])
なお、演算「Z=(W, X, Y)」は、演算W、演算X、演算Yを別々に行った後に取りまとめることを示す(タップルの計算)。
B[COM]=B[i]wρ[r](mod l)
V[ComMPK]=a[1]μ[x]a[2]μ[s]A[COM]-μ[e'](mod n)
V[ComREV]=wμ[t]B[COM]-μ[e'](mod l)
また、剰余演算は前記の楕円曲線演算と並行して実行されるものである。
このとき、楕円曲線演算と剰余演算とのレイテンシがほぼ同程度になるように設計してあり、一つのリクエストに対する楕円曲線演算結果と剰余演算結果とがほぼ同時にパケット中継バッファメモリ117に出力されるようになっている。この点については後述する。
τ[s]=ce[i]ρ[m]+μ[s](mod q)
τ[t]=ce'[i]ρ[r]+μ[t](mod q)
τ[e']=ce'[i]+μ[e'](mod q)
τ[E]=cρ[E]+μ[E](mod q)
例えば背景技術で説明した図14のように署名処理装置全体をリクエスト数ぶんだけ並べた場合、一の署名処理装置は一つのリクエストの演算しかできないので、仮に隣の署名処理装置の演算ユニット(例えば楕円曲線演算ユニットや剰余演算ユニット)が空いていたとしても、空いている演算ユニットを前記リクエストの処理に使うことはできない。したがって、図14の構成では、全体の回路規模が大きい割に稼働率が低く、演算処理速度が遅いということになる。
この点、本実施形態の構成によれば、全体の回路規模を小さくでき、複数のリクエストを高速に演算処理することができる。
各サブシステムの内部にある基本演算ユニットの個数は、同時処理するリクエスト数と同一でなくてもよい。
例えば、6つのリクエストを同時処理するからといって、各サブシステムが6つずつ基本演算ユニットを持っていればよいというものではない。
基本演算の種類が異なれば演算の実行速度も違ってくる。そこで、処理が遅い基本演算については個数を多くし、処理が速い基本演算については個数を減らすように設計すればよい。そして、各サブシステムのレイテンシがほぼ同程度に揃ったときに、最も少ない装置量で最も高い性能を実現することができる。
また、署名処理においては数回の剰余演算が使われており、それらの演算速度も、データのビット幅が異なるために10倍ほどの開きがある。
このため、剰余演算サブシステム112における剰余演算ユニット114は、他のサブシステムの基本演算器よりも多い数が必要である。
例えば、本実施形態では、サブシステム同士のレイテンシを揃えるように、乱数生成サブシステム101の擬似乱数生成ユニット103は一つ、楕円曲線演算サブシステムは6つ、剰余演算ユニット114は9つ、ハッシュ演算ユニット120および整数演算ユニット121は1つとしている。
このようにして演算器の利用効率を100%近くに保つことにより、少数の演算器でも多くのリクエストを処理できる。
また、消費電力は回路規模におおむね比例するので、単純に署名回路を複数並べる場合と比べ、本実施形態の消費電力は半分程度に抑えることができる。
第1実施形態の構成において、楕円曲線演算ユニットを6個、擬似乱数生成ユニットを1個、ハッシュ演算ユニットを1個、整数演算ユニットを1個に固定し、もっとも速度を律速する剰余演算ユニットの個数を1個から9個まで変化させた。そして、同時処理が要求されるリクエストの数と全リクエストを処理し終えるまでにかかる時間との関係を測定してグラフに示した。
上記第1実施形態では、専用の演算回路を用いて署名生成処理を実行する構成を例示した。すなわち、各基本演算を実行処理する専用回路を用いていた。
これに対し、ソフトウェアを実行する1または複数のCPU(Central Processing Unit)を用いて署名生成の各基本演算を実行させてもよいことはもちろんである。この場合、署名生成装置は、楕円曲線演算を実行する複数の楕円曲線演算プロセッサコアと、剰余演算を実行する複数の剰余演算プロセッサコアと、整数演算を実行する複数の整数演算プロセッサコアと、乱数生成を実行する乱数生成プロセッサコアと、ハッシュ演算を実行するハッシュ演算プロセッサコアと、パケットを中継する共有メモリと、ディスパッチ処理を実行する複数のプロセッサコアと、を少なくとも備えている。そして、剰余演算プロセッサコアを9つ設けるのに対し、楕円曲線演算プロセッサコアを6つ設けるなど、各基本演算を実行するプロセッサコアの数を適宜設計する。
これにより、専用回路を用いて署名回路を構成した場合と同様に処理を実行させることができる。
また、CPUを各演算器として機能させる署名処理プログラムは、コンピュータ読み取り可能な記録媒体に記録されて提供されてもよい。
上記第1実施形態および第2実施形態では署名生成装置の例を説明したが、本発明は署名認証装置にも同様に適用できる。
図10は、本発明にかかる署名認証装置200の構成を示す図である。
署名認証装置200は、乱数生成を除き、署名生成装置100と同様の構成を採用できるので、第1実施形態と同じ要素には同じ符号を付しその説明を省略する。
図11は、署名認証アルゴリズムを示すフローチャートである。
署名認証アルゴリズムは、乱数生成を除き、署名生成とほぼ同じデータフローである。
署名認証アルゴリズムでは、発行管理者の公開鍵ipk、失効管理者の公開鍵rpk、開封管理者の公開鍵opk、メッセージm、署名δを入力として、次のようにして署名を認証する。
このようにして署名認証が行われる。
基本演算を実行する回路ユニットまたはプロセッサコアの数などは上記例示に限定されないことはもちろんである。
例えば、乱数生成サブシステムの擬似乱数生成ユニットは一つではなく2以上であってもよい。
楕円曲線演算サブシステムの楕円曲線ユニットは、6つに限定されず、それ以上でもそれ以下でもよい。
剰余演算サブシステムの剰余演算ユニットは、9つに限定されず、それ以上でもそれ以下でもよい。
ハッシュ・整数演算ユニットのハッシュ演算ユニット、整数演算ユニットの数は、一つに限定されず、二つ以上でもよい。
署名処理手続きに含まれる基本演算の種類ごとに1つまたは複数の基本演算実行部とそれらの演算状態を監視して演算実行を指示するディスパッチャとが相互接続したサブシステムを構成し、
演算リクエストを中継するバッファメモリを介して複数の前記サブシステムを接続した署名処理装置。
(付記2)
複数の署名生成リクエストもしくは署名認証リクエストを単一の入力で受け付け、複数のリクエストを同時並行で処理し、
前記サブシステムはそれぞれ単一のリクエストに占有されることなく異なるリクエスト中の演算をそれぞれの基本演算部に割り付けて同時実行する、
ことを特徴とする署名処理装置。
付記1または付記2に記載の署名処理装置において、
前記サブシステムとして、剰余演算サブシステムと、楕円曲線演算サブシステムと、整数演算・ハッシュ演算サブシステム、とを有し、
前記剰余演算サブシステムは、剰余演算を実行する複数の剰余演算部とそれらの制御を行うディスパッチャとを含み、
楕円曲線演算サブシステムは、楕円曲線演算を実行する複数の楕円曲線演算部とそれらの制御を行うディスパッチャとを含み、
整数演算・ハッシュ演算サブシステムは、ハッシュ演算を実行する一または複数のハッシュ演算部と、整数演算を実行する一または複数の整数演算部と、それらの制御を行うディスパッチャとを含んで構成されている
ことを特徴とする署名処理装置。
付記3に記載の署名処理装置において、
前記サブシステムとして、さらに、乱数生成演算サブシステムを含み、
前記乱数生成演算サブシステムは、乱数生成演算を実行する一または複数の乱数生成部とそれらの制御を行うディスパッチャとを含んで構成されている
ことを特徴とする署名処理装置。
付記4に記載の署名処理装置において、
前記乱数生成演算サブシステムの前記乱数生成部は一つである
ことを特徴とする署名処理装置。
付記3から付記5のいずれかに記載の署名処理装置において、
楕円曲線演算サブシステムの前記楕円曲線演算部の個数は、前記楕円曲線演算サブシステムの前記剰余演算部の個数と同じかそれよりも少ない個数である
ことを特徴とする署名処理装置。
付記3から付記6のいずれかに記載の署名処理装置において、
前記整数演算・ハッシュ演算サブシステムの前記整数演算部が一つである
ことを特徴とする署名処理装置。
付記3から付記7のいずれかに記載の署名処理装置において、
前記整数演算・ハッシュ演算サブシステムの前記ハッシュ演算部が一つである
ことを特徴とする署名処理装置。
付記1から付記9のいずれかに記載の署名処理装置において、
前記基本演算実行部の一部または全部と前記ディスパッチャの一部または全部がプロセッサコアを用いて構成されている
ことを特徴とする署名処理装置。
付記1から付記9のいずれかに記載の署名処理装置において、
前記署名処理装置は、グループ署名の生成を行うグループ署名生成装置、または、グループ署名の認証を行うグループ署名認証装置である
ことを特徴とする署名処理装置。
署名処理手続きに含まれる基本演算を1つまたは複数の基本演算実行部で同時に複数実行し、
演算状態を監視して受け付け可能な基本演算実行部に順次演算実行を指示し、
単一のリクエストに占有されることなく異なるリクエスト中の演算をそれぞれの基本演算部に割り付けて同時実行するようにさせる
ことを特徴とする署名処理方法。
複数のプロセッサを有するコンピュータを、
署名処理手続きに含まれる基本演算の種類ごとに1つまたは複数の基本演算実行部とそれらの演算状態を監視して演算実行を指示するディスパッチャとが相互接続したサブシステムとして機能させ、
複数の署名生成リクエストもしくは署名認証リクエストを単一の入力で受け付け、複数のリクエストを同時並行で処理させることを特徴とする署名処理プログラム。
付記12の署名処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
Claims (10)
- 署名処理手続きに含まれる基本演算の種類ごとに1つまたは複数の基本演算実行手段とそれらの演算状態を監視して演算実行を指示するディスパッチャとが相互接続したサブシステムを構成し、
演算リクエストを中継するバッファメモリを介して複数の前記サブシステムを接続した署名処理装置。 - 請求項1に記載の署名処理装置において、
複数の署名生成リクエストもしくは署名認証リクエストを単一の入力で受け付け、複数のリクエストを同時並行で処理し、
前記サブシステムはそれぞれ単一のリクエストに占有されることなく異なるリクエスト中の演算をそれぞれの基本演算手段に割り付けて同時実行する
ことを特徴とする署名処理装置。 - 請求項1または請求項2に記載の署名処理装置において、
前記サブシステムとして、剰余演算サブシステムと、楕円曲線演算サブシステムと、整数演算・ハッシュ演算サブシステム、とを有し、
前記剰余演算サブシステムは、剰余演算を実行する複数の剰余演算手段とそれらの制御を行うディスパッチャとを含み、
楕円曲線演算サブシステムは、楕円曲線演算を実行する複数の楕円曲線演算手段とそれらの制御を行うディスパッチャとを含み、
整数演算・ハッシュ演算サブシステムは、ハッシュ演算を実行する一または複数のハッシュ演算手段と、整数演算を実行する一または複数の整数演算手段と、それらの制御を行うディスパッチャとを含んで構成されている
ことを特徴とする署名処理装置。 - 請求項3に記載の署名処理装置において、
前記サブシステムとして、さらに、乱数生成演算サブシステムを含み、
前記乱数生成演算サブシステムは、乱数生成演算を実行する一または複数の乱数生成手段とそれらの制御を行うディスパッチャとを含んで構成されている
ことを特徴とする署名処理装置。 - 請求項4に記載の署名処理装置において、
前記乱数生成演算サブシステムの前記乱数生成手段は一つである
ことを特徴とする署名処理装置。 - 請求項3から請求項5のいずれかに記載の署名処理装置において、
楕円曲線演算サブシステムの前記楕円曲線演算手段の個数は、前記楕円曲線演算サブシステムの前記剰余演算手段の個数と同じかそれよりも少ない個数である
ことを特徴とする署名処理装置。 - 請求項3から請求項6のいずれかに記載の署名処理装置において、
前記整数演算・ハッシュ演算サブシステムの前記整数演算手段が一つである
ことを特徴とする署名処理装置。 - 請求項3から請求項7のいずれかに記載の署名処理装置において、
前記整数演算・ハッシュ演算サブシステムの前記ハッシュ演算手段が一つである
ことを特徴とする署名処理装置。 - 署名処理手続きに含まれる基本演算を1つまたは複数の基本演算実行手段で同時に複数実行し、
演算状態を監視して受け付け可能な基本演算実行手段に順次演算実行を指示し、
単一のリクエストに占有されることなく異なるリクエスト中の演算をそれぞれの基本演算手段に割り付けて同時実行するようにさせる
ことを特徴とする署名処理方法。 - 複数のプロセッサを有するコンピュータを、
署名処理手続きに含まれる基本演算の種類ごとに1つまたは複数の基本演算実行手段とそれらの演算状態を監視して演算実行を指示するディスパッチャとが相互接続したサブシステムとして機能させ、
複数の署名生成リクエストもしくは署名認証リクエストを単一の入力で受け付け、複数のリクエストを同時並行で処理させることを特徴とする署名処理プログラムを格納した記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/881,537 US20140032917A1 (en) | 2010-10-29 | 2011-05-30 | Group signature processing device for processing a plurality of group signatures simultaneously |
JP2012540645A JP5849962B2 (ja) | 2010-10-29 | 2011-05-30 | 署名処理装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010243321 | 2010-10-29 | ||
JP2010-243321 | 2010-10-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012056608A1 true WO2012056608A1 (ja) | 2012-05-03 |
Family
ID=45993357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2011/003006 WO2012056608A1 (ja) | 2010-10-29 | 2011-05-30 | 署名処理装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20140032917A1 (ja) |
JP (1) | JP5849962B2 (ja) |
WO (1) | WO2012056608A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11265172B2 (en) * | 2018-12-21 | 2022-03-01 | Intel Corporation | Methods and apparatus for offloading signature revocation checking on acceleration circuitry |
JP7372527B2 (ja) * | 2019-09-26 | 2023-11-01 | 富士通株式会社 | 通信中継プログラム、中継装置、及び通信中継方法 |
US11546161B2 (en) * | 2020-02-21 | 2023-01-03 | Hong Kong Applied Science and Technology Research Institute Company Limited | Zero knowledge proof hardware accelerator and the method thereof |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001506793A (ja) * | 1996-12-27 | 2001-05-22 | ジェムプリュス エス.セー.アー. | チップカードのためのデータの動的解釈方法 |
JP2006340347A (ja) * | 2005-06-03 | 2006-12-14 | Tata Consultancy Services Ltd | データに署名するための楕円曲線デジタル署名暗号プロセスを実行する認証システム |
WO2009008069A1 (ja) * | 2007-07-11 | 2009-01-15 | Kabushiki Kaisha Toshiba | グループ署名システム、装置及びプログラム |
JP2010014912A (ja) * | 2008-07-02 | 2010-01-21 | Nec Corp | 署名生成装置、ならびに、署名検証装置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6466668B1 (en) * | 1998-01-28 | 2002-10-15 | Hitachi, Ltd. | IC card equipped with elliptical curve encryption processing facility |
US6839751B1 (en) * | 1999-06-30 | 2005-01-04 | Hi/Fn, Inc. | Re-using information from data transactions for maintaining statistics in network monitoring |
US20030014627A1 (en) * | 1999-07-08 | 2003-01-16 | Broadcom Corporation | Distributed processing in a cryptography acceleration chip |
DE10061997A1 (de) * | 2000-12-13 | 2002-07-18 | Infineon Technologies Ag | Kryptographieprozessor |
JP2002207427A (ja) * | 2001-01-10 | 2002-07-26 | Sony Corp | 公開鍵証明書発行システム、公開鍵証明書発行方法、および情報処理装置、情報記録媒体、並びにプログラム記憶媒体 |
US20030065701A1 (en) * | 2001-10-02 | 2003-04-03 | Virtual Media, Inc. | Multi-process web server architecture and method, apparatus and system capable of simultaneously handling both an unlimited number of connections and more than one request at a time |
US7127579B2 (en) * | 2002-03-26 | 2006-10-24 | Intel Corporation | Hardened extended firmware interface framework |
US7486456B2 (en) * | 2004-12-17 | 2009-02-03 | Stmicroelectronics, Inc. | Finite field based short error propagation modulation codes |
JP2007114404A (ja) * | 2005-10-19 | 2007-05-10 | Matsushita Electric Ind Co Ltd | データ処理装置、およびデータ処理方法 |
JP4791828B2 (ja) * | 2006-01-16 | 2011-10-12 | 株式会社東芝 | グループ署名システム、装置、プログラム及び方法 |
WO2008142750A1 (ja) * | 2007-05-17 | 2008-11-27 | Fujitsu Limited | 演算ユニット、プロセッサ及びプロセッサアーキテクチャ |
US20080300845A1 (en) * | 2007-06-04 | 2008-12-04 | Mark Kostick | Monitoring software simulations of hardware systems |
CN101547161B (zh) * | 2008-03-28 | 2012-09-26 | 阿里巴巴集团控股有限公司 | 文件夹传输系统、文件夹传输装置及文件夹传输方法 |
JP4861369B2 (ja) * | 2008-06-20 | 2012-01-25 | 日本電信電話株式会社 | リカバリ署名システム、署名生成装置、署名検証装置、それらの方法、及びプログラム |
US8826039B2 (en) * | 2010-02-02 | 2014-09-02 | Broadcom Corporation | Apparatus and method for providing hardware security |
-
2011
- 2011-05-30 WO PCT/JP2011/003006 patent/WO2012056608A1/ja active Application Filing
- 2011-05-30 JP JP2012540645A patent/JP5849962B2/ja active Active
- 2011-05-30 US US13/881,537 patent/US20140032917A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001506793A (ja) * | 1996-12-27 | 2001-05-22 | ジェムプリュス エス.セー.アー. | チップカードのためのデータの動的解釈方法 |
JP2006340347A (ja) * | 2005-06-03 | 2006-12-14 | Tata Consultancy Services Ltd | データに署名するための楕円曲線デジタル署名暗号プロセスを実行する認証システム |
WO2009008069A1 (ja) * | 2007-07-11 | 2009-01-15 | Kabushiki Kaisha Toshiba | グループ署名システム、装置及びプログラム |
JP2010014912A (ja) * | 2008-07-02 | 2010-01-21 | Nec Corp | 署名生成装置、ならびに、署名検証装置 |
Non-Patent Citations (5)
Title |
---|
KAZUE SAKO ET AL.: "Implementation of LSI for Group Signature Scheme", IMPLEMENTATION OF LSI FOR GROUP SIGNATURE SCHEME, 21 June 2010 (2010-06-21), Retrieved from the Internet <URL:http://www.trust2010.org/slides/Sako.pdf> * |
SUMIO MORIOKA ET AL.: "Taju Heiretsu Group Shomei no Kogata Kairo Architecture", 2011 NEN SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATI ON SECURITY YOKOSHU, 25 January 2011 (2011-01-25), pages 3D2-4 * |
SUMIO MORIOKA: "C Base Sekkei no Jidai ga Yattekita! -Keitai Denwa ya Kao Ninshiki LSI nado no Sekkei Jirei ga Zokuzoku", DESIGN WAVE MAGAZINE, vol. 14, no. 3, 1 April 2009 (2009-04-01), pages 26 - 36 * |
SUMIO MORIOKA: "ESL Sekkeiho o Katsuyo shita Group Shomei Algorithm no ASIC-ka", 2010 NEN SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY SCIS2010, 19 January 2010 (2010-01-19), pages 3C4-5 * |
TOSHINORI ARAKI ET AL.: "Group Shomei no FPGA Jisso", 2008 NEN SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY YOKOSHU, 22 January 2008 (2008-01-22), pages 3C3 * |
Also Published As
Publication number | Publication date |
---|---|
JPWO2012056608A1 (ja) | 2014-03-20 |
JP5849962B2 (ja) | 2016-02-03 |
US20140032917A1 (en) | 2014-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105099672B (zh) | 混合加密方法及实现该方法的装置 | |
CN112926051B (zh) | 多方安全计算方法和装置 | |
WO2011148558A1 (ja) | 署名生成装置、署名方法、及び署名生成プログラムが格納された非一時的なコンピュータ可読媒体 | |
US9342712B2 (en) | Method and system for accelerating cryptographic processing | |
Seeber et al. | Towards a trust computing architecture for RPL in cyber physical systems | |
CN109428867A (zh) | 一种报文加解密方法、网路设备及系统 | |
JP4443088B2 (ja) | 短い演算に対するdesハードウェア・スループットの向上 | |
JP6023858B1 (ja) | 計算システム、計算装置、その方法、およびプログラム | |
JP5849962B2 (ja) | 署名処理装置 | |
JP6780771B2 (ja) | 検証情報付与装置、検証装置、情報管理システム、方法およびプログラム | |
Nalinipriya et al. | Extensive medical data storage with prominent symmetric algorithms on cloud-a protected framework | |
Salim et al. | A secure and timestamp-based communication scheme for cloud environment | |
JP6294882B2 (ja) | 鍵保管装置、鍵保管方法、及びそのプログラム | |
Saxena et al. | An enhanced parallel version of RSA public key crypto based algorithm using openMP | |
Chen et al. | Implementation and optimization of a data protecting model on the Sunway TaihuLight supercomputer with heterogeneous many‐core processors | |
CN113935018B (zh) | 密码运算方法、片上系统及计算机设备 | |
US11983264B2 (en) | Adaptive acceleration of transport layer security | |
KR101088260B1 (ko) | 멀티코어 프로세서를 이용한 aes-ccm 병렬처리 장치 및 그 방법 | |
Huang et al. | Hucdo: A hybrid user-centric data outsourcing scheme | |
Sasongko et al. | Architecture for the secret-key BC3 cryptography algorithm | |
JP2004078053A (ja) | 暗号化装置 | |
Schilling et al. | High speed ASIC implementations of leakage-resilient cryptography | |
WO2020144758A1 (ja) | 秘密計算装置及びクライアント装置 | |
KR101380895B1 (ko) | 보안 서비스 제공 장치 및 이를 이용한 보안 서비스 방법 | |
Patel et al. | Fully Dynamic Password Protected Secret Sharing: Simplifying PPSS Operation and Maintenance |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11835756 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2012540645 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13881537 Country of ref document: US |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 11835756 Country of ref document: EP Kind code of ref document: A1 |