KR100676461B1 - Method, system, device for proving the authenticity of an entity and/or the integrity and/or the authenticity of a message using specific prime factors - Google Patents

Method, system, device for proving the authenticity of an entity and/or the integrity and/or the authenticity of a message using specific prime factors Download PDF

Info

Publication number
KR100676461B1
KR100676461B1 KR1020017009493A KR20017009493A KR100676461B1 KR 100676461 B1 KR100676461 B1 KR 100676461B1 KR 1020017009493 A KR1020017009493 A KR 1020017009493A KR 20017009493 A KR20017009493 A KR 20017009493A KR 100676461 B1 KR100676461 B1 KR 100676461B1
Authority
KR
South Korea
Prior art keywords
value
mod
integer
equal
profile
Prior art date
Application number
KR1020017009493A
Other languages
Korean (ko)
Other versions
KR20010108144A (en
Inventor
길로우루이스
퀴스카트루쟌작크
Original Assignee
프랑스 텔레콤
텔레디퓨지옹 드 프랑스
마드 리즈크
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
Priority claimed from FR9901065A external-priority patent/FR2788910A1/en
Application filed by 프랑스 텔레콤, 텔레디퓨지옹 드 프랑스, 마드 리즈크 filed Critical 프랑스 텔레콤
Publication of KR20010108144A publication Critical patent/KR20010108144A/en
Application granted granted Critical
Publication of KR100676461B1 publication Critical patent/KR100676461B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms 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/10Mechanisms 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/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment 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/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/388Payment protocols; Details thereof using mutual authentication without cards, e.g. challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, 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/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • G06Q20/40975Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • 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/32Cryptographic 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/3218Cryptographic 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 using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • H04L9/3221Cryptographic 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 using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
    • 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/32Cryptographic 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/3247Cryptographic 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/3249Cryptographic 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 RSA or related signature schemes, e.g. Rabin scheme
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Computing Systems (AREA)
  • Finance (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

아래의 파라미터들에 의해 검증이 제공된다. 즉, f>2인 f 소인수들 pi의 곱에 의해 형성되는 공개 모듈(module) n; 및 공개 지수 v ; 및 m>1 인 m개의 기수들 gi. 기수 gi는 두개의 식(1) 및 식(2): 즉, x2≡gi mod n 및 x2 ≡- gi mod n 이 정수 계수(modulo) n의 정수환(ring)에서 x로 풀릴 수 없도록, 및 Verification is provided by the following parameters. That is, an open module n formed by the product of f prime factors p i with f>2; And an open index v; And m radix g i with m> 1. Radix g i is the two formulas (1) and (2) released by x in other words, x 2 ≡g i mod n and x 2 ≡g i mod n is an integer coefficient (modulo) of n jeongsuhwan (ring) So that, and

식(3): 즉,

Figure 112005004927786-pct00016
이 공개 지수 v가 v=2k이고, k는 보안 파라미터(security parameter)들인 경우, 정수 계수 n의 정수환에서 x로 풀릴 수 있도록된다.Equation (3):
Figure 112005004927786-pct00016
If this open index v is v = 2 k and k are security parameters, then it can be solved by x in the integer ring of integer coefficient n.

인증성, 검증, 무결성, 엔티티, GQ2, RSAAuthentication, Validation, Integrity, Entity, GQ2, RSA

Description

특정 소인수를 이용한 엔티티 인증성, 및 메시지의 무결성 및(또는) 인증성 검증방법, 시스템 및 장치 {Method, system, device for proving the authenticity of an entity and/or the integrity and/or the authenticity of a message using specific prime factors}Entity, system, device for proving the authenticity of an entity and / or the integrity and / or the authenticity of a message using specific prime factors}

본 발명은 엔티티의 인증성, 메시지의 무결성 및(또는) 인증성을 검증하기 위해 고안된 방법, 시스템 및 장치의 기술분야에 관한 것이다.The present invention relates to the technical field of methods, systems and apparatus designed to verify the authenticity of an entity, the integrity and / or authenticity of a message.

EP 0 311 470 B1호(발명자; Louis Guillou와 Jean-Jacques Quisquater)는 상기 방법을 기재하고 있다. 이하, 상기 특허를 "GQ특허" 또는 "GQ방법"이라는 용어를 사용하여 참조할 것이며, 프랑스 텔레콤, TDF 와 Mathrizk사가 출원하고 발명자는 Louis Guillou 및 Jean-Jacques Quisquater인 본 출원과 동일자로 출원된, "GQ기술"의 새로운 개량형태인 "GQ2","GQ2발명" 또는 "GQ2 기법"이라 표현할 것이다. 상기 출원의 특징은 아래 상세한 설명에서 필요할 경우에 다시 언급할 것이다. EP 0 311 470 B1 (inventor; Louis Guillou and Jean-Jacques Quisquater) describes this method. The patent will now be referred to using the terms "GQ patent" or "GQ method", filed by France Telecom, TDF and Mathrizk and filed on the same day as the inventors of this application, Louis Guillou and Jean-Jacques Quisquater. A new variant of "GQ technology" will be described as "GQ2", "GQ2 invention" or "GQ2 technique". The features of this application will be mentioned again as needed in the detailed description below.

상기 GQ기법에 따르면, "신뢰받은 당국(trusted authority)"으로 알려진 엔티티는 "증인(witness)"라 하는 엔티티 각각에 동일성(identity)을 할당하고 그 RSA 서명을 연산한다. 개별화된 과정에서, 상기 신뢰받은 당국은 증인에 동일성 및 서명을 부여한다. 그런 후, 상기 증인은 "여기에 나의 동일성이 있음, 나는 그 RSA의 서명을 알아냈음" 이라고 선언한다. 상기 사실을 공개하지 않고, 상기 증인은 자신이 그 동일성의 RSA 서명을 알고 있음을 증명한다. 신뢰받은 당국에 의해 분배된 RSA 공개 식별키일지라도, "제어자(controller)"로 알려진 엔티티는 상기 식별키의 정보를 제공받지 않고, 상기 RSA서명이 상기 선언된 동일성과 일치하는지를 확인한다. 상기 GQ기법을 이용하는 메카니즘은 "정보의 전달없이" 이루어진다. 상기 GQ 기법에 따르면, 상기 증인은 신뢰받은 당국이 수많은 식별자를 서명하는데 사용하는 RSA 비밀키를 알지 못한다. According to the GQ technique, an entity known as a "trusted authority" assigns an identity to each entity called "witness" and computes its RSA signature. In the individualized process, the trusted authority gives witnesses identity and signature. The witness then declares, "Here is my identity, I have found the signature of the RSA." Without disclosing the fact, the witness certifies that he knows the RSA signature of the identity. Even if the RSA public identification key is distributed by a trusted authority, an entity known as a "controller" is not provided with the information of the identification key and verifies that the RSA signature matches the declared identity. The mechanism using the GQ technique is done "without information transfer". According to the GQ technique, the witness does not know the RSA secret key that a trusted authority uses to sign numerous identifiers.

상술된 GQ기법은 RSA기술을 이용한다. 그러나, RSA기법이 정확하게 계수 n의 인수분해에 의존하는 반면에, 이러한 의존성은 등가(equivalence)가 아니다. 즉, RSA기술을 구현하는 디지탈 서명의 다양한 표준에 대한 소위 승산 어택(multiplicative attack)에서 나타나는 것과 같이, 결코 등가와 관련없다.The GQ technique described above uses RSA technology. However, while the RSA technique depends precisely on the factorization of the coefficient n, this dependency is not equivalent. In other words, it is by no means equivalent, as is manifested in so-called multiplicative attacks against the various standards of digital signatures that implement RSA technology.

GQ2기법의 목적은 2가지이다. 하나는 RSA기법의 고유의 성능을 향상시키는 것이고, 다른 하나는 RSA기법의 본질적인 문제를 해결하는 것이다. GQ2 비밀키의 정보는 계수 n의 인수분해의 정보와 동등하다. 상기 트리플렛(triplet) GQ2에 대한 임의의 어택(attack)은 계수 n의 인수분해가 된다. 이경우 등가관계가 성립한다. 상기 GQ2기법을 이용함으로써, 서명 또는 자기인증 엔티티 및 제어 엔티티를 위해 상기 작업부하를 감소시킨다. 보안 및 성능의 관점에서 인수분해를 바람직하게 사용함으로써 상기 GQ2 기법은 RSA 기술의 단점을 극복할 수 있다.The purpose of the GQ2 technique is twofold. One is to improve the inherent performance of the RSA technique, and the other is to solve the inherent problems of the RSA technique. The information of the GQ2 secret key is equivalent to the information of the factorization of the coefficient n. Any attack on the triplet GQ2 results in a factorization of coefficient n. In this case, an equivalence relationship is established. By using the GQ2 technique, the workload is reduced for signing or self-certifying entities and control entities. By preferably using factoring in terms of security and performance, the GQ2 technique can overcome the disadvantages of the RSA technique.

상기 GQ기법은 512비트 이상로 이루어진 수의 계수(modulo) 연산을 구현한다. 상기 연산은 216+1차수의 거듭제곱을 누승한 크기와 실질적으로 동일한 크기를 갖는 수와 관련되어 있다. 특히, 은행카드 분야에서, 현존하는 마이크로전자 하부구조는 연산 보조프로세서 없이 자체 프로그램 가능한 모노리식 마이크로 프로세서(monolithic self-programmable microprocessor)를 사용한다. 상기 GQ기법과 같은 방법에 속하는 다중 연산 애플리케이션과 관련된 작업부하는 계산시간을 야기하고, 이러한 계산시간은 어떤 경우에는 소비자가 구매시 은행카드를 사용하여 지불하는데 불편을 느끼게 된다. 여기서, 지불카드의 보안성을 향상시키는데 있어서, 은행당국이 해결하기 특별히 어려운 문제에 직면할 수 있다는 것을 생각해볼 수 있다. 실제로, 명백하게 모순되는 2가지 문제를 해결해야 한다. 즉, 한편으로는 각 카드에 점차 길고 명확한 키를 사용하여 보안성을 증가시키는 반면에, 다른 한편으로 그 작업부하로 인해 사용자에게 과도한 계산시간이 야기되지 않도록 해야한다. 존재하는 하부구조 및 존재하는 마이크로프로세서 구조에 주의하는 것이 또한 필요하므로 이러한 문제는 특히 심각한 문제가 된다.The GQ technique implements a modulo operation of a number of 512 bits or more. The operation is related to a number having a magnitude substantially equal to a power of 2 16 +1 powers. In particular, in the field of bank cards, existing microelectronic infrastructures use monolithic self-programmable microprocessors without computational coprocessors. Workload associated with multi-computation applications belonging to the same method as the GQ technique causes calculation time, which in some cases makes the consumer uncomfortable paying using a bank card at the time of purchase. It is conceivable here that, in improving the security of payment cards, banks may face problems that are particularly difficult to solve. Indeed, two obviously contradictory problems must be solved. That is, on the one hand, increasing the security by using increasingly long and clear keys on each card, while on the other hand, ensures that the workload does not cause excessive computation time for the user. This problem is particularly serious because it is also necessary to pay attention to existing infrastructure and existing microprocessor architectures.

GQ2 기법은 보안성을 높이는 반면에 이러한 문제의 해법을 제공한다. While the GQ2 technique increases security, it provides a solution to this problem.

GQ2 기법은 특별한 특성을 갖고 있는 소인수(factor)들을 사용한다. 이러한 소인수들을 제공하기 위한 이미 존재하는 다양한 기법들이 있다. 본 발명의 목적은 상기와 같은 소인수들의 계통적인 제공을 위한 방법에 있다. 또한 그 목적은 GQ2 기법의 사용에 있어서 이러한 인수들로 이루어질 수 있는 응용에 관계되는 것이다. 이러한 특별한 소인수 및 그들을 얻기 위해 사용되는 방법은 GQ2 기법의 분야에서 사용될 수 있다는 것이 강조된다. The GQ2 technique uses factors that have special characteristics. There are a variety of existing techniques for providing these prime factors. An object of the present invention is a method for the systematic provision of such prime factors. Its purpose also relates to applications that can be made with these arguments in the use of the GQ2 technique. It is emphasized that these particular prime factors and the method used to obtain them can be used in the field of GQ2 techniques.

본 발명은 컨트롤러 엔티티(entity)에서 아래와 같은 점들을 :The present invention addresses the following points in the controller entity:

- 엔티티의 인증성 및/또는 -The authenticity of the entity and / or

- 상기 엔티티와 연관되는 메시지 M의 무결성Integrity of message M associated with said entity

을 검증하기 위한 방법에 적용될 수 있는 것이다. It can be applied to the method for verifying

이러한 검증은 아래의 모든 또는 일부의 매개변수들 또는 그의 미분계수들에 의해 성립된다: 즉, This verification is established by all or some of the following parameters or their derivatives:

- f 개의 소인수들 p1,p2,...,pf (f는 2보다 크거나 같다.)의 곱에 의해 구성되는 공개 계수 n;a public coefficient n composed of the product of f prime factors p 1 , p 2 , ..., p f (f is greater than or equal to 2);

- 공개 지수(public exponent) v;Public exponent v;

- m개의 다른 정수 기수들 g1,g2,...,gm (m은 1보다 크거나 같다.)m different integer radix g 1 , g 2 , ..., g m (m is greater than or equal to 1)

상기 기수들 gi가 두개의 식(1) 및 식(2): 즉, x2≡gi mod n 및 x2 ≡- gi mod n 이 정수 계수(modulo) n의 정수환(ring)에서 x로 풀릴 수 없도록, 및 The radix gi is represented by two equations (1) and (2): that is, x 2 ≡g i mod n and x 2 i- g i mod n are integers in a ring of modulo n Unresolved, and

식(3): 즉,

Figure 112005004927786-pct00001
이 정수 계수 n의 정수환에서 x로 풀릴 수 있도록 된다.Equation (3):
Figure 112005004927786-pct00001
It can be solved by x in the integer ring of this integer coefficient n.

본 발명에 따른 방법은 f 개의 소인수들 p1,p2,...,pf 를 생성하도록 사용되고, 그러한 것에 의해서 상기 식(1),(2) 및 (3)이 만족된다. 본 발명에 따른 방법은 The method according to the invention is used to generate f prime factors p 1 , p 2 ,..., P f , whereby the above formulas (1), (2) and (3) are satisfied. The method according to the invention

●m개의 다른 정수 기수들 g1,g2,...,gm ,M different integer radix g 1 , g 2 , ..., g m ,

●계수 n의 크기,The size of the coefficient n,

●f 개의 소인수들 p1,p2,...,pf 의 크기The magnitude of f prime factors p 1 , p 2 , ..., p f

를 우선 선택하는 단계로 구성된다. The first step is to select.

상기 방법은 상기 공개지수 v 가 v = 2k 형식을 갖고, k는 1보다 큰 보안 변수(security parameter)인 경우에 관련된다. 상기 보안 변수 k는 또한 소수로서 선택된다. 지수 v 의 특별한 값은 GQ2 기법의 필수적인 특징 중의 하나이다. The method relates to the case where the public index v has the format v = 2 k and k is a security parameter greater than one. The security variable k is also chosen as a prime number. The special value of the index v is one of the essential features of the GQ2 technique.

바람직하게는, m개의 다른 정수 기수들 g1,g2,...,gm 가 적어도 첫번째 정수들 일부 중에서 선택된다. 또한 바람직하게는, 인증 변수 k 는 특히 100 보다 작은, 작은 정수이다. 유리하게는, 계수 n의 크기는 수백 비트 보다 크다. 또한 f 개의 소인수들 p1,p2,...,pf 가 인수들의 개수 f에 의해 나누어지는 계수 n 의 크기에 가까운 크기를 갖는다.Preferably, m different integer radix g 1 , g 2 , ..., g m are selected from at least some of the first integers. Also preferably, the authentication variable k is a small integer, in particular less than 100. Advantageously, the magnitude of the coefficient n is greater than several hundred bits. In addition, f prime factors p 1 , p 2 , ..., p f have a size close to the size of the coefficient n divided by the number f of the factors.

본 발명에 따른 방법의 중요한 특성에 따르면, f 개의 소인수들 p1,p2,...,pf 는 어떠한 명시되지 않은 방법에서 선택되지는 않는다. f 개의 소인수들 p1,p2,...,pf 중에서, 그들중의 어떤 숫자가: 즉 e가 1 modulo(계수) 4 에 연관되어 선택된다. e는 0 이 될 수 있다. e 가 0이라면, 계수 n 은 이하에서 기준 계수(basic modulus) 라고 불린다. e > 0 이면, 계수 n 은 이하에서 조합된 계수(combined modulus)라고 불린다. f-e 개의 다른 소인수들이 3 modulo(계수) 4 에 연관되도록 선택된다. f-e 는 적어도 2와 같게 된다. According to an important feature of the method according to the invention, the f prime factors p 1 , p 2 ,..., P f are not selected in any unspecified method. Among the f prime factors p 1 , p 2 , ..., p f , any number of them is selected: e is associated with 1 modulo 4. e can be zero. If e is zero, then the coefficient n is referred to as a basic modulus hereinafter. If e> 0, then the coefficient n is called the combined modulus below. fe different prime factors are chosen to be associated with 3 modulo 4. fe is at least equal to two.

3 modulo(계수) 4 에 연관되는 f-e 개의 소인수들의 선택 Selection of f-e prime factors associated with 3 modulo 4

3 modulo(계수) 4 에 연관되는 f-e 개의 소인수들 p1,p2,...,pf-e 를 생성하기 위해, 아래의 단계가 사용된다: 즉,To generate fe prime factors p 1 , p 2 , ..., p fe related to 3 modulo 4, the following steps are used:

-3 modulo(계수) 4 에 연관되는 첫번째 소인수 p1 이 선택되고, 그리고나서,The first prime factor p 1 associated with -3 modulo 4 is selected, and then

- 두번째 소인수 p2가 기수 g1에 대하여 p1과 상보적이 되도록 선택된다. The second prime factor p 2 is chosen to be complementary to p 1 with respect to the base g 1 .

인수 pi+1 를 선택하기 위해, 두개의 경우로 구분되는 아래의 절차(procedure)가 사용된다. To select the argument p i + 1 , the following procedure, which is divided into two cases, is used.

(1) i > m 인 경우(1) if i> m

i > m 이면, 3 modulo(계수) 4 에 연관되는 인수 pi+1이 선택된다. If i> m, the factor p i + 1 associated with 3 modulo 4 is selected.

(2) i ≤m 인 경우(2) when i ≤ m

i ≤m 이면, i개의 첫번째 소인수들 p1에 대한 gi의 프로파일 (Profilei(gi))이 계산된다: 이는, If i ≤ m, the profile of g i for i first prime factors p 1 is calculated (Profile i (g i )):

●만약 Profilei(gi)이 플랫(flat) 하다면, 인수 pi+1은 pi+1이 gi에 대하여 p1과 상보적이 되도록 선택되고,If Profile i (g i ) is flat, the argument p i + 1 is chosen such that p i + 1 is complementary to p 1 for g i ,

●그렇지 않으면, i-1개의 기수들 g1,g2,...,gi-1 및 모든 그들의 승산 조합(multiplicative combinations)들 중에서, 이하에서 g라고 불리는 숫자가 Profilei(g) = Profilei(gi) 가 되도록 선택되고, 그리고나서 pi+1이 Profilei+1(gi) ≠Profilei+1(g)이 되도록 선택된다. Otherwise, of the i-1 radix g 1 , g 2 , ..., g i-1 and all of their multiplicative combinations, the number called g below is Profile i (g) = Profile i (g i ) is selected and then p i + 1 is selected to be Profile i + 1 (g i ) ≠ Profile i + 1 (g).

"상보적(complementary)", "프로파일(profile)" , "플랫 프로파일(flat profile)" 이라는 용어는 상세한 설명에서 정의되는 의미를 갖는다.The terms "complementary", "profile" and "flat profile" have the meanings defined in the detailed description.

마지막 소인수 pf-e를 선택하기 위해, 세가지 경우로 구분되는 아래의 절차가 사용된다. To select the last prime factor p fe , the following procedure is used, divided into three cases.

(1) f-e-1 > m 인 경우,(1) when f-e-1> m,

f-e-1 > m 인 경우, 3 modulo(계수) 4 에 연관되는 pf-e가 선택된다.If fe-1> m, p fe associated with 3 modulo 4 is selected.

(2) f-e-1 = m 인 경우,(2) when f-e-1 = m,

f-e-1 = m 인 경우, p1에서 pf-e-1 까지의 f-e-1 개의 첫번째 소인수들에 대한 Profilef-e-1(gm)이 계산된다.If fe-1 = m, Profile fe-1 (g m ) for the first fe-1 prime factors from p 1 to p fe-1 is calculated.

● 만약 Profilef-e-1(gm)이 플랫(flat) 하다면, 인수 pf-e-1은 gm 에 대하여 p1과 상보적이 되도록 선택되고,If Profile fe-1 (g m ) is flat, then the argument p fe-1 is chosen to be complementary to p 1 for g m ,

● 그렇지 않으면, 이하에서 규정하는 절차가 뒤따른다.● Otherwise, the procedure specified below will follow.

g1에서 gm-1까지의 m-1 기수들 및 모든 그들의 승산 조합(multiplicative combinations)들 중에서, 이하에서 g라고 불리는 숫자가 Profilei(g) = Profilei(gi) 가 되도록 선택되고, 그리고나서 pf-e 이 Profilef-e(g) ≠Profilef-e(gm)이 되도록 선택된다. Of the m-1 radix from g 1 to g m-1 and all their multiplicative combinations, the number called g below is selected such that Profile i (g) = Profile i (g i ), Then p fe is chosen to be Profile fe (g) ≠ Profile fe (g m ).

(3) f-e-1 < m 인 경우,(3) when f-e-1 <m,

f-e-1 < m 인 경우, pf-e 가 아래의 두가지 조건들을 만족하도록 선택된다. (3.1) 첫번째 상태When fe-1 <m, p fe is selected to satisfy the following two conditions. (3.1) First state

p1에서 pf-e-1 까지의 f-e-1 개의 첫번째 소인수들에 대한 Profilef-e-1(gf-e-1)이 계산되고, 두가지 경우가 고려된다. 이러한 두가지 경우들에 의해, 첫번째 상태는 달라지게된다. pOnePfe-1 Profile of f-e-1 first prime factors up tofe-1(gfe-1) Is calculated and two cases are considered. In these two cases, the first state is changed.

만약 Profilef-e-1(gf-e-1)이 플랫(flat) 하다면, 인수 pf-e은 gf-e-1 에 대 하여 p1과 상보적이 되는 첫번째 상태를 만족하도록 선택된다.(첫번째 경우에 의한 첫번째 상태) 그렇지 않으면, g1에서 gm-1까지의 f-e-1 기수들 및 모든 그들의 승산 조합(multiplicative combinations) 중에서, 이하에서 g라고 불리는 숫자가 Profilei(g) = Profilef-e-1(gf-e-1) 가 되도록 선택되고, 그리고나서 pf-e이 Profilef-e(g) ≠Profilef-e(gm)이 되도록 선택된다. ( 두번째 경우에 의한 첫번째 상태) If Profile fe-1 (g fe-1 ) is flat, the argument p fe is chosen to satisfy the first state that is complementary to p 1 for g fe-1 (the first state by the first case). ) Otherwise, of the fe-1 radix from g 1 to g m-1 and all of their multiplicative combinations, the number called g below is Profile i (g) = Profile fe-1 (g fe- 1 ), and then p fe is chosen to be Profile fe (g) ≠ Profile fe (g m ). (First state by second case)

(3.2) 두번째 상태(3.2) Second state

gf-e 부터 gm 까지의 모든 마지막 기수들 중에서, 그들의 프로파일 즉 Profilef-e-1(gi)이 플랫(flat)한 숫자가 선택되고, pf-e가 각각의 선택되는 기수들에 대하여 p1에 상보적이 되는 두번째 조건을 만족하도록 선택된다. (두번째 상태)Of all the last radixes from g fe to g m , a number whose flat, Profile fe-1 (g i ) is flat, is selected and p fe is complementary to p 1 for each selected radix. It is chosen to satisfy the second condition of being an enemy. (Second state)

1 modulo(계수) 4 에 연관되는 e 소인수의 선택Selection of the e prime factor associated with 1 modulo 4

1 modulo(계수) 4 에 연관되는 e 소인수를 생성하기 위하여, 아래의 두가지 연속되는 테스트에 의해 pf-e 에서 pf 까지의 각 소인수 후보값 p가 연산된다. In order to generate the e prime factors associated with 1 modulo 4, each prime factor value p from p fe to p f is computed by the following two consecutive tests.

(1) 첫번째 테스트(1) first test

르장드르 기호(Legendre symbol)가 후보 소인수 값 p에 관하여, g1 에서 gm 까지의 각 기수 gi에 대하여 계산되고,The Regendre symbol is calculated for each radix gi from g1 to gm with respect to the candidate prime factor value p,

●르장드르 기호가 -1 이라면, 후보값 p는 거절되고,If the genre symbol is -1, the candidate value p is rejected,

●르장드르 기호가 +1 이라면, 후보값 p의 연산은 다음 기수로 통과하고, 마 지막 기수가 고려되면, 두번째 테스트로 통과한다. If the genre symbol is +1, the operation of the candidate value p passes to the next radix and, if the last radix is considered, passes to the second test.

(2) 두번째 테스트(2) second test

정수 t 가 p-1이 2t에 의해 나누어지고 2t+1에 의해서는 나누어지지 않도록 계산되고, 그리고나서 정수 s가 s=(p-1+2t)/2t+1 이 되도록 계산된다. Is an integer t is divided into p-1 is by 2 t is calculated so that is not divided by 2 t + 1, then the integer s is calculated so that the s = (p-1 + 2 t) / 2 t + 1 .

키 <s,p> 가 결과치 r을 얻도록 각 공개 값 Gi에 적용되고 The key <s, p> is applied to each public value G i to get the result r

즉, r ≡Gi smod p 이다. That is, r ≡ G i s mod p.

만약 r 이 gi 또는 -gi 와 같다면, 두번째 테스트가 아래의 공개 값 Gi+1이 통과하도록 계속된다. If r equals g i or -g i , the second test continues to pass the public value G i + 1 below.

만약 r 이 gi 또는 -gi 와 다르다면, 인수 u 가 1 에서 t-2 까지의 범위의 인덱스 ii에서 특정되는 아래의 알고리즘의 적용하에서 계산된다. 상기 알고리즘은 두개의 변수들을 사용한다: 즉, 키 <(p-1)/2t,p> 를 CG(p)의 비 이차 잉여에 적용하는 것에 의해서 얻어지는 정수 b 뿐만아니라, r에 의해 초기화 되는 w 및 2 에서 2t-2 사이 값을 갖는 jj = 2ii 를 사용한다. 상기 알고리즘은 필요한 만큼 아래의 시퀀스를 반복하도록 구성된다: 즉,If r is different from g i or -g i , then the argument u is computed under the application of the following algorithm specified at index ii in the range 1 to t-2. The algorithm uses two variables: that is, initialized by r as well as the integer b obtained by applying the key <(p-1) / 2 t , p> to the non-secondary surplus of CG (p). Use jj = 2 ii with values between w and 2 to 2 t-2 . The algorithm is configured to repeat the following sequence as necessary:

●단계 1: w2/Gi(mod p) 가 계산되고. Step 1: w 2 / G i (mod p) is calculated.

●단계 2: 상기 결과를 2t-ii-1 의 거듭제곱을 한다. 두가지 경우가 고 려된다. Step 2: The result is raised to the power of 2 t-ii-1 . Two cases are considered.

첫번째 경우First case

+1 이 얻어지면, 다음 공개값 Gi+1로 통과하고 두번째 테스트가 상기 공개 값에서 행해진다.If +1 is obtained, then pass to the next public value Gi + 1 and a second test is done on that public value.

두번째 경우Second case

-1 이 얻어지면, jj = 2ii가 계산되고, 그리고나서 w는 wbjj(mod p)로 치환된다. 그리고나서 상기 알고리즘은 인덱스 ii를 갖는 다음 값으로 계속된다. If -1 is obtained, jj = 2 ii is calculated, then w is replaced by wb jj (mod p). The algorithm then continues with the next value with index ii.

상기 알고리즘의 끝에서, 변수 jj의 값은 jj = 2t-u의 관계에 의해 정수 u를 계산하도록 사용되고 t-u의 표현이 계산된다. 두가지 경우가 발생한다: 즉, At the end of the algorithm, the value of the variable jj is used to calculate the integer u by the relationship jj = 2 tu and the representation of tu is calculated. Two cases occur:

●t-u < k 이면, 후보값 p가 거절되고 If t-u <k, the candidate value p is rejected

●t-u > k 이면, 후보값 p의 연산은 다음 공개 값 Gi+1로 통과하면서 계속되고 두번째 테스트를 계속한다. If tu> k, the operation of candidate value p continues with passing to the next public value G i + 1 and continues with the second test.

두번째 테스트의 끝에서, 만약 모든 m 공개 값 Gi에서, 그것은 거절되지 않는다면, 후보값 p는 1 modulo(계수) 4 에 연관되는 소인수로서 채택된다. At the end of the second test, at all m public values G i , if it is not rejected, the candidate value p is taken as a prime factor associated with 1 modulo 4.

GQ2의 공개 및 비밀 값에의 적용.Application of GQ2 to Public and Secret Values.

본 발명은 또한 상술된 방법을 적용하는 그리고 특별한 특성값을 갖는 p1,p2,...,pf의 f 소인수를 생성는 것을 가능하게 하는 방법(GQ2 방법)에 연관된다; 상술된 방법의 적용을 위한 방법은 제어자 엔티티(controller entity)에게 The invention also relates to a method (GQ2 method) which makes it possible to apply the above-described method and to generate f prime factors of p 1 , p 2 , ..., p f with special characteristic values; The method for the application of the above-described method to the controller entity

- 엔티티의 인증성 또는(및)The authenticity of the entity or (and)

- 상기 엔티티와 관련된 메시지 M의 무결성을 검증하는 것이다. To verify the integrity of message M associated with the entity.

이러한 검증은 아래의 변수들 또는 이러한 변수들의 미분계수(derivative)들 모두 또는 일부에 의해서 행해진다: 즉, This verification is done by all or some of the following variables or their derivatives:

- m개 쌍의 비밀값 Q1,Q2,...,Qm 및 공개값 G1,G2,...,Gm (m은 1 이상임)와,m pairs of secret values Q 1 , Q 2 , ..., Q m and the public values G 1 , G 2 , ..., G m (m is 1 or more),

- f개의 소인수 p1,p2,...,pf의 곱에 의해 구성된 공개 계수 n(f는 2 이상임)과,-a public coefficient n (f is greater than or equal to 2) composed of the product of f prime factors p 1 , p 2 , ..., p f ,

- 공개지수 v 이다. -Public index v.

상기 계수, 상기 지수 및 상기 값은 Gi.Qi v ≡1 mod n 또는 Gi ≡Qi v mod n 의 식에 의해 연관된다. 상기 지수 v는 v=2k가 되며, 여기서, k가 1보다 큰 보안 파라미터(sequrity parameter)이다. The coefficient, the exponent and the value are G i .Q i v ≡1 mod n or G i It is related by the expression ≡Q i v mod n. The index v becomes v = 2 k , where k is a security parameter greater than one.

상기 공개값 Gi는 f개의 소인수 p1,p2,...,pf보다 작은 기수(base number) gi의 제곱 gi 2이며, 상기 기수 gi는, 두 식, x2 ≡gi mod n 및 x2 ≡- gi mod n이 정수 계수 n의 정수환에서 x로 풀릴 수 없게 하고, 식 xv ≡gi 2 mod n이 정수 계수 n의 정수환에서 x로 풀릴 수 있게 된다. The published value G i is the square g i 2 of base number g i less than f prime factors p 1 , p 2 , ..., p f , and the radix g i is two expressions, x 2 μg i mod n and x 2 ≡- g i mod n cannot be solved with x in the integer ring of integer coefficient n, and the expression x v ≡g i 2 mod n can be solved as x in the integer ring of integer coefficient n.

상기 방법은 증거(witness)라 하는 엔티티를 다음 단계에서 구현한다. 상기 증거는 f개 소인수 pi , 및/또는 소인수 및/또는 공개 계수 n의 차이니스 잉여의 파라미터, 및/또는 상기 m개의 비밀값 Qi , 및/또는 그 비밀값 Qi 및/또는 그 공개지수v의 f·m 개의 요소(component) Qi,j (Qi,j ≡Qi mod pj )를 구비한다.The method implements an entity called witness in the next step. The evidence shows that the parameters of Chinese surplus of f prime factors p i and / or prime factors and / or publication coefficients n and / or the m secret values Q i , and / or their secret values Q i and / or their disclosures F · m components Q i, j (Q i, j ≡ Q i mod p j ) of the exponent v are provided.

상기 증거는 정수 계수 n의 정수환에서 R ≡rv mod n의 연산을 실행하거나, Ri ≡ri v mod pi의 연산을 실행하고, 이어 차이니스 잉여 방법을 적용함 - 여기서, r은 0 < r < n이 되는 랜덤값이며, ri은 0 < ri < pi이 되는, 소수 Pi 와 관련된 랜덤값이고 각 ri는 랜덤값의 콜렉션 {r1,r2,...,ri}에 속함-으로써 공약(commitment) R 각각을 계산한다.The evidence is that R in the integer ring of integer coefficient n Vr v perform the operation of mod n, or R i 연산 r i v mod p i and then apply the difference surplus method-where r is a random value where 0 <r <n and r i is 0 <r i <p i , Compute each of the commitments R by a random value associated with the decimal P i and each r i belongs to a collection of random values {r 1 , r 2 , ..., r i }.

상기 증거는 각각 m개의 초기 챌린지(elementary challenge)라고 하는 정수 di를 포함한, 하나 이상의 챌린지 d을 수신하고, 그 증거는 각 챌린지 d에 기초하여 D ≡rㆍ Q1 d1ㆍQ2 d2ㆍ...ㆍQm dm mod n 의 연산을 실행하거나,Di ≡riㆍ Qi,1 d1ㆍQi,2 d2ㆍ...ㆍQi,m dm mod pi 의 연산을 실행하고, 이어, 차이니스 잉여 방법을 적용함으로써 응답 D를 계산한다.The evidence receives one or more challenges d, each including an integer d i called m initial challenges, the evidence being based on each challenge d, D? R Q 1 d 1 Q 2 d 2 . Q m dm Performs a mod n operation, or D i ≡ r i Q i, 1 d1 Q i, 2 d2 Q i, m dm Compute the response D by executing the operation of mod p i and then applying the Chinese excess method.

상기 방법은 상기 응답 D이 상기 챌린지 d와 상기 공약 R의 수와 동일한 수가 되도록 하여, 상기 R,d,D의 그룹은 {R,d,D}로 참조된 트리플릿을 형성하도록 한다. The method allows the response D to be equal to the number of the challenge d and the commitment R such that the group of R, d, D forms a triplet referred to as {R, d, D}.

바람직하게는, 상술된 바와 같이 비밀값 Q1,Q2,...,Qm 및 공개값 G1,G2,...,Gm 의 쌍들을 사용하기 위하여, 상기 방법은 소인수 p1,p2,...,pf 및/또는 차이니스 잉여들의 변수들, 기수 g1,g2,...,gm 및/또는 공개값 G1,G2,...,Gm 를,Preferably, the secret value as described above, Q 1, Q 2, ..., Q m and public values G 1, G 2, ..., in order to use a pair of G m, the method prime factors p 1 , p 2 , ..., p f and / or variables of Chinese surpluses, radix g 1 , g 2 , ..., g m and / or published values G 1 , G 2 , ..., G m To,

- Gi의 계수 n 의 k번째 제곱근을 추출하는 것에 의해, 또는 Gi의 계수 n의 k번째 제곱근의 인버스(inverse)를 취하는 것에 의해 비밀값 Q1,Q2,...,Qm 를 계산하기 위하여,Compute the secret values Q 1 , Q 2 , ..., Q m by extracting the kth square root of Gi's coefficient n or by taking the inverse of the kth square root of Gi's coefficient n for,

- 또는, 비밀값 Q1,Q2,...,Qm 의 f·m 개의 비밀 콤포넌트들 Qi,j가 Qi,j ≡Qi가(mod pj) 가 되도록 계산하기 위하여 사용한다. Or, it is used to calculate that f · m secret components Q i, j of secret values Q 1 , Q 2 , ..., Q m become Q i, j ≡Q i (mod pj).

보다 바람직하게는, 비밀값 Q1,Q2,...,Qm 의 fㆍm 개의 비밀 콤포넌트들 Qi,j More preferably, the f · m secret components Q i, j of secret values Q 1 , Q 2 , ..., Q m

를 계산하기 위하여:To calculate

- 키 <s,pj> 가 z ≡Gi smod pj 가 되도록 z를 계산하기 위하여 적용되고:-Is applied to compute z such that the key <s, p j > is z i i s mod p j :

- 및, t 및 u 값들이 사용된다. And t and u values are used.

상기 t 및 u 값들은 pj가 1 modulo(계수) 4 와 연관될 때 상기와 같이 계산된다. 상기 값들은 pj가 3 modulo(계수) 4 와 연관되는 1값(t=1) 및 0 값(u=0)에 각각 일치하게 취한다. The t and u values are calculated as above when p j is associated with 1 modulo 4. The values are taken such that p j corresponds to one value (t = 1) and zero value (u = 0) associated with 3 modulo 4.

만약 u가 0이면, zz가 z와 같거나 또는 zz가 z의 (mod pj)와 1에서 min(k,t) 까지의 ii범위의 단위원(unity)의 2ii-t2ii번째의 원시근(primitive root)들 각각과의 곱과 같아지도록 고려한다. If u is 0, zz is the same as z, or zz the z of (mod pj) and one in min 2 ii-t 2 ii-th circle of the (k, t) ii unit circle (unity) in the range up to Consider being equal to the product of each of the primitive roots.

만약 u가 양수이면, zz가 za의 (mod pj)와 단위원(unity)의 2k2k번째의 근들 각각과의 곱과 같아지도록 고려하고, za가 제10항에서 사용되는 알고리즘의 끝에서 변수 w의 값을 지정하게 된다.If u is positive, consider zz to be equal to the product of (mod pj) of za and each of the 2 k 2 k th roots of unitity, and at the end of the algorithm used in paragraph 10, This will specify the value of the variable w.

적어도 하나의 성분 값 Qi,j 는 그로부터 추론된다. 식 Gi ≡Qi v mod n 이 사용될 때 zz와 같아지고, 식 Gi.Qi v ≡1 mod n 이 사용될 때는 zz의 zz modulo(계수) pj의 인버스(inverse)와 같아진다. At least one component value Q i, j is deduced therefrom. Expression G i When iQ i v mod n is used, it is equal to zz, and when the equation G i .Q i v ≡1 mod n is used, it is equal to the inverse of zz modulo p j of zz.

도 1A 에서 1D 는 각각의 필드의 p-1 의 영이아닌(non-zero) 성분이 그 위치를 찾는 방향성 그래프에 의해 "CG(p) 의 제곱으로 승산" 기능을 도시한다. 즉 비이차 잉여들(non-qudratic residues)은 흰색이고 이차 잉여들(qudratic residues)은 검은색이며; 이차 잉여들 중에서 홀수 패리티 랭크 성분은 원으로 되어 있다. In FIG. 1A, 1D shows the "multiply by CG (p) square" function by a directional graph where the non-zero component of p-1 of each field finds its location. That is, the non-qudratic residues are white and the quadratic residues are black; Of the secondary surpluses, the odd parity rank component is a circle.

이러한 도면들은 각각 아래의 내용을 도시한다. Each of these figures shows the following.

- 도 1A: p가 3(mod 4)와 연관되는 경우;1A: p is associated with 3 (mod 4);

- 도 1B: p가 5(mod 8)와 연관되는 경우;1B: p is associated with 5 (mod 8);

- 도 1C: p가 9(mod 16)와 연관되는 경우;1C: p is associated with 9 (mod 16);

- 도 1D: p가 17(mod 32)와 연관되는 경우;1D: p is associated with 17 (mod 32);

GQ 기법의 목적은: 엔티티 및 메시지의 디지탈 서명 뿐 아니라 연관된 메시지들의 동적 인증성이다. The purpose of the GQ technique is: not only the digital signature of entities and messages, but also the dynamic authenticity of associated messages.

GQ 기법의 표준 버전은 RSA 기법을 사용하는 것이다. 그러나, RSA기법이 정확하게 계수 n의 인수분해에 의존하는 반면에, 이러한 의존성은 등가(equivalence)가 아니다. 즉, RSA기술을 구현하는 디지탈 서명의 다양한 표준에 대한 소위 승산 어택(multiplicative attack)에서 나타나는 것과 같이, 결코 등가와 관련없다.The standard version of the GQ technique is to use the RSA technique. However, while the RSA technique depends precisely on the factorization of the coefficient n, this dependency is not equivalent. In other words, it is by no means equivalent, as is manifested in so-called multiplicative attacks against the various standards of digital signatures that implement RSA technology.

GQ2의 기법에서, 본 발명은 동적 인증성 및 디지탈 서명을 제공하기 위하여 고안된 GQ2 키들의 세트들의 생성에 특히 관련된다. GQ2 기법은 RSA 기법을 사용하지는 않는다. 상기 목적은 두가지이다. 하나는 RSA기법의 고유의 성능을 향상시키는 것이고, 다른 하나는 RSA기법의 본질적인 문제를 해결하는 것이다. GQ2 비밀키는 계수 n의 인수분해이다. 상기 트리플렛(triplet) GQ2에 대한 임의의 어택(attack)은 계수 n의 인수분해의 합이다. 이경우 같은 점이 존재한다. 상기 GQ2기법을 이용함으로써, 서명 또는 자기인증 엔티티 및 제어 엔티티를 위해 상기 작업부하를 감소시킨다. 보안 및 성능의 관점에서 인수분해를 바람직하게 사용함으로써 상기 GQ2 기법은 RSA 기법에 필적하게 되는 것이다. In the technique of GQ2, the present invention is particularly concerned with the generation of sets of GQ2 keys designed to provide dynamic authentication and digital signature. The GQ2 technique does not use the RSA technique. The purpose is twofold. One is to improve the inherent performance of the RSA technique, and the other is to solve the inherent problems of the RSA technique. The GQ2 secret key is a factorization of the coefficient n. Any attack on the triplet GQ2 is the sum of the factorizations of the coefficients n. In this case, the same point exists. By using the GQ2 technique, the workload is reduced for signing or self-certifying entities and control entities. The preferred use of factoring in terms of security and performance makes the GQ2 technique comparable to the RSA technique.

상기 GQ2 기법은 예를 들면 기수라 불리고 gi에 쓰이는, m 개의 작은 정수들(m≥1)인, 하나 또는 그 이상의 1보다 작은 정수들을 사용한다. 그리고나서, 공개 검증 키 <v, n>가 아래와 같이 선택된다. 공개 검증 지수 v는 2k 이고, k는 1보다 큰 작은 정수이다.(k≥2) 공개 계수 n은 기수들 보다 큰 적어도 2개의 소인수(prime factor)의 곱인데, 이는 예를 들면 pj에 사용되는 f 개의 소인수(f≥2) p1,p2,...,pf를 말하는 것이다. 상기 f 소인수는 공개 계수 n이 g1 에서 gm 까지의 m 개의 기수 각각에 관하여 아래와 같은 특성을 갖도록 선택된다. The GQ2 technique uses one or more integers less than one, for example m small integers (m ≧ 1), called radix and used for gi. Then, the public verification key <v, n> is selected as follows. The open validation index v is 2 k and k is a small integer greater than 1 (k≥2). The open coefficient n is the product of at least two prime factors greater than the radix, for example p j . The f prime factors (f≥2) p 1 , p 2 , ..., p f are used. The f prime factor is selected such that the open coefficient n has the following characteristics with respect to each of the m radix from g1 to gm.

- 첫째로, 식(1) 및 식(2)는 정수 계수(modulo) n의 정수환(ring)에서 x로 풀릴 수 없는데, 이는 다시말하면, gi 및 -gi가 두개의 비(non) 이차 잉여( mod n)들 이라는 것이다. First, equations (1) and (2) cannot be solved for x in the integer ring of the modulo n, which means that g i and -g i are two non-secondary It's called mod n.

x2≡gi (mod n) (1)x 2 ≡g i (mod n) (1)

x2 ≡- gi ( mod n ) (2)x 2 ≡- g i (mod n) (2)

- 둘째로, 식(3)은 정수 계수 n의 정수환에서 x로 풀릴 수 있다. Second, equation (3) can be solved by x in the integer ring of integer coefficient n.

Figure 112001018742456-pct00002
(3)
Figure 112001018742456-pct00002
(3)

이하에서, 이러한 특성들은 또한 GQ2 원리로 불린다. In the following, these properties are also called GQ2 principle.

공개 검증 키 <v,n>이 m ≥1 의 g1 에서 gm 까지의 기수에 따라 고정되기 때 문에, 각각의 기수 gi는 공개 값 Gi 및 비밀 값 Qi를 구성하는 한쌍의 GQ2 값, 즉 G1Q1 에서 GmQm 까지의 m개의 쌍을 결정한다. 공개 값 Gi 는 기수 gi의 제곱이고, Gi=gi 2 값을 부여한다. 비밀 값 Qi는 식(3)의 해 중의 하나이거나 상기와 같은 해의 인버스(mod n) 이다.
Since the public verification key <v, n> is fixed according to the base of g 1 to g m of m ≥ 1 , each base g i is a pair of GQ2 constituting the public value G i and the secret value Q i . Determine the value, that is, m pairs from G 1 Q 1 to G m Q m . The public value G i is the square of the base g i and gives the value G i = g i 2 . The secret value Q i is one of the solutions of equation (3) or an inverse (mod n) of such a solution.

계수 n이 f개의 소인수로 쪼개지는 것처럼, 정수 계수 n의 정수환은 CG(p1) 에서 CG(pf)까지의 f개의 갈루아 필드(Galois field)들로 쪼개진다. 아래는 CG(pj)의 식 (1),(2) 및 (3) 의 프로젝션(projection)들이다. Just as the coefficient n is split into f prime factors, the integer ring of integer coefficient n is split into f Galois fields from CG (p 1 ) to CG (p f ). Below are projections of equations (1), (2) and (3) of CG (pj).

x2≡gi (mod n) (1.a)x 2 ≡gi (mod n) (1.a)

x2 ≡- gi ( mod n ) (2.b)x 2 ≡- gi (mod n) (2.b)

Figure 112001018742456-pct00003
(3.c)
Figure 112001018742456-pct00003
(3.c)

각 비밀 값 Qi는 소인수 하나당 한개, 즉 Qij ≡Qi (mod pj)의 f 개의 비밀 성분으로 표현될 수 있다. 각각의 비밀 성분 Qij는 식(3.a)에 대한 해 또는 상기와 같은 해의 인버스(mod pj) 이다. 각 식 (3.a)의 가능한 모든 해가 계산된 다음, 차이니스 잉여(Chinese remainder) 기법은 Qi,1에서 Qi,f 의 f 개의 요소들에 기초한 각각의 비밀 값 Qi의 가능한 값들을 만든다. 즉 Qi=차이니스 잉여(Qi,1,Qi,2,...,Qi,f)로 놓아 식(3)의 모든 가능한 해를 얻도록 한다. Each secret value Q i may be represented by one secret component of one prime factor, that is, f secret components of Q ij ijQ i (mod p j ). Each secret component Q ij is the solution to equation (3.a) or an inverse of such solution (mod p j ). After all possible solutions of each equation (3.a) have been computed, the Chinese remainder technique yields the possible values of each secret value Q i based on the f elements of Q i, 1 to Q i, f . Make them. In other words, let Q i = significant surplus (Q i, 1 , Q i, 2 , ..., Q i, f ) to obtain all possible solutions of equation (3).

다음은 상기 차이니스 잉여 기법이다. 0 < a < b가 되는 상호 소수(prime number) a와 b인 2개의 양수와, 0 내지 a-1 인 Xa와 0 내지 b-1인 Xb, 2개의 요소를 설정한다. X = 차이니스 잉여(Xa,Xb)을 결정하는 것이 필요하다. 즉, Xa ≡X(mod a)와 Xb ≡X(mod b)가 되는, 0에서 aㆍb - 1 까지의 유일수(unique number) X이다. 차이니스 잉여 파라미터는 α≡{b(mod a)}-1(mod a)이다. 차이니스 잉여 연산은 ε≡Xb(mod a); δ= Xa - ε; 만일 δ가 음이라면, δ는 δ+ a로 대신함; γ ≡ αㆍδ(mod a); X= γㆍb + Xb이다. The following is the Chinese surplus technique. 0 sets the <a <mutually prime number (prime number) a and b of the two positive and, from 0 to a-1 of X a and X b is from 0 to b-1, two factors that b. It is necessary to determine X = Chinese surplus (X a , X b ). That is, a ≡X X (mod a) and b ≡X X (mod b) is, in a 0 and b is - a yuilsu to 1 (unique number) X. The Chinese surplus parameter is α≡ {b (mod a)} −1 (mod a). The Chinese surplus operation is ε≡X b (mod a); δ = X a -ε; If δ is negative, δ replaces δ + a; γ ≡ α · δ (mod a); X = a and γ b + X b.

소인수를 최소인 p1에서 최대인 pf 까지의 오름순서로 배열할 때에, 상기 차이니스 잉여 파라미터는, 제1 차이니스 잉여 파라미터 α≡{p2 (mod p1)}-1(mod p1)이고, 제2 차이니스 잉여 파라미터 β≡{p1ㆍp2 (mod p3)}-1(mod p3)이며, 제i 차이니스 잉여 파라미터 λ≡{p1ㆍp2ㆍ...ㆍpi-1 (mod pi)}-1(mod pi) 등이다. 최종적으로, f-1 차이니스 잉여 연산에서, 제1 결과(mod p2 곱하기 p1)는 제1 파라미터로 얻을 수 있으며, 제2 결과(mod p1ㆍ p2 곱하기 p1)는 제2 파라미터로 얻을 수 있으며, 이러한 방법으로 결과(mod p1ㆍ...ㆍpf-1 곱하기 pf), 즉 (mod n)까지 얻을 수 있다. When arranging prime factors in ascending order from the smallest p 1 to the largest p f , the Chinese surplus parameter is the first Chinese surplus parameter α≡ {p 2 (mod p 1 )} −1 (mod p 1). ), And the second difference residual parameter β≡ {p 1 · p 2 (mod p 3 )} −1 (mod p 3 ), and the i difference coefficient surplus parameter λ≡ {p 1 · p 2 . P i-1 (mod p i )} -1 (mod p i ) and the like. Finally, in the f-1 difference surplus operation, the first result (mod p 2 times p 1 ) can be obtained as the first parameter, and the second result (mod p 1 · p 2 times p 1 ) is obtained as the second parameter. In this way, the result (mod p 1 ... P f-1 times p f ), i.e. (mod n), can be obtained.


본 발명의 목적은 모든 가능한 배열중의 GQ2 키의 배열의 임의의 생성을 위한 방법에 있는데, 즉:

It is an object of the present invention to provide a method for any generation of an array of GQ2 keys in all possible arrays, namely:

- 모든 가능한 GQ2 모듈리(moduli) 중의 모듈리의 임의의 생성, 즉 각각의 m개의 기수들 gi 에서, 식 (1) 및 식 (2)는 식(3)이 그들중의 하나를 갖는 반면에 w정수 계수 n의 정수환(ring)에서 x로 풀릴 수 없고, Any generation of moduli in all possible GQ2 moduli, ie in each m radix g i , equations (1) and (2) have the formula (3) having one of them cannot be solved by x in the integer ring of integer coefficient n,

- 식 (3.a)의 각각의 가능한 모든 해를 계산한다. 차이니스 잉여 기법은 Qi,1 에서 Qi,f 까지의 f 성분의 각각의 배열로 부터 비밀 값을 얻는 것을 가능하게 하여, 가능한 식들 중에서 식(3)을 위한 x의 해를 얻도록 한다. Calculate all possible solutions for each of equations (3.a). The Chinese surplus technique makes it possible to obtain a secret value from each array of f components from Q i, 1 to Q i, f , so as to obtain the solution of x for equation (3) among the possible equations.

Qi=차이니스 잉여(Qi,1, Qi,2 ,..., Qi,f)Q i = Chinese surplus (Q i, 1 , Q i, 2 , ..., Q i, f )

문제를 이해하고, 그리고 나서 문제에 주어진 해를 이해하기 위해, 즉 본발명에서 먼저 GQ2 기법의 원리의 적용을 분석해야 한다. "CG(p) 의 제곱으로 승산" 및 "CG(p) 의 제곱 잉여의 제곱근을 취함"의 기능을 연구하기 위하여 갈루아 필드(Galois field) 내의 계수의 정의를 상기함에 의해 시작한다. 그리고 나서 CG(p)의 x의 해의 존재 및 개수를 식(1.a),(2.a) 및 (3.a)에 대해 분석한다. In order to understand the problem, and then to understand the solution given to it, that is, in the present invention, the application of the principles of the GQ2 technique must first be analyzed. Begin by recalling the definition of the coefficients in the Galois field to study the functions of "multiply by CG (p) squared" and "take square root of squared excess of CG (p)". The presence and number of solutions of x of CG (p) are then analyzed for equations (1.a), (2.a) and (3.a).

CG(p)의 성분의 랭크(rank)Rank of components of CG (p)

홀수 소수(prime number) p 및 p보다 작은 양의 소수 a를 생각하자. 그리고 나서 {X}를 한정한다. Consider an odd prime number p and a positive prime a less than p. Then qualify {X}.                 

{X}≡{x1=a; puis, pour i≥1, xi+1≡axi(mod p)}{X} ≡ {x 1 = a; puis, pour i≥1, x i + 1 ≡ax i (mod p)}

인덱스 i+p를 계산하고 페르마의 이론(Fermat's theorem)을 사용한다.Compute the index i + p and use Fermat's theorem.

xi+p= apxi≡axi≡xi+1(mod p)x i + p = a p x i ≡ax i ≡x i + 1 (mod p)

결과적으로, 시퀀스(sequence) {X}의 주기(period)는 p-1이거나 p-1의 분할자(divider)이다. 이러한 주기는 a 값에 의존한다. 정의에 의해, 상기 주기는 "a(mod p) 의 랭크"라고 불린다. 시퀀스 {X} 에서의 단위원(unity)의 외적 인덱스이다. As a result, the period of sequence {X} is either p-1 or a divider of p-1. This period depends on the value of a. By definition, this period is called "rank of a (mod p)". External index of unitity in sequence {X}.

Xrank(a,p)≡1(mod p)X rank (a, p) ≡1 (mod p)

예를 들면, (p-1)/2 가 홀수 소수 p'이고, 갈루아 필드 CG(p)가 랭크 1을 가진 단일 성분으로 구성된다: 즉, 랭크 2를 가진 단일 성분이면, 1이다. 랭크 p'의 p'-1 성분,랭크 2·p'의 p'-1 성분이면, 즉 p-1랭크의 성분이면, -1 이다.For example, (p-1) / 2 is an odd prime number p 'and Galois field CG (p) consists of a single component with rank 1: 1, if it is a single component with rank 2. If it is a p'-1 component of rank p ', and a p'-1 component of rank 2p', ie, a component of p-1 rank, it is -1.

랭크가 p-1인 CG(p)의 성분들은 원시성분(primitive element) 또는 다시 CG(p)의 생성원(generator)들이라고 불린다. 상기 명칭은 그들의 CG(p)에서의 연속적인 거듭제곱, 즉 1에서 p-1까지의 시퀀스 {X}가 CG(p)에서 모든 영이 아닌(non-zero) 성분들의 치환을 형성한다는 사실에 의해 기인한다. The components of CG (p) having a rank of p-1 are called primitive elements or, in turn, generators of CG (p). The name is due to the fact that their successive powers in CG (p), i.e., the sequence {X} from 1 to p-1 form the substitution of all non-zero components in CG (p). Is caused.

CG(p)의 원시성분 y에 따라, i 및 p-1의 함수로 성분 yi(mod p)의 랭크를 계산한다. i 가 p-1을 가진 소수일 때는, p-1이다. p-1이 i 로 나누어 질 때, (p- 1)/i 이다. 모든 경우에, (p-1)/pgcd(p-1,i) 이다. According to the primitive component y of CG (p), the rank of component y i (mod p) is calculated as a function of i and p-1. When i is a prime number with p-1, it is p-1. When p-1 is divided by i, it is (p-1) / i. In all cases, (p-1) / pgcd (p-1, i).

오일러 함수는 φ에 의해 참조된다. 정의에 의해, n이 양의 정수 이므로, Φ(n)은 n보다 작은 양의 정수의 수이고 n과 함께 소수가 된다. 필드 CG(p)에서, 그러므로 φ(p-1) 원시 성분(rpimitive element)들이 된다. Euler functions are referenced by φ. By definition, since n is a positive integer, Φ (n) is a positive integer less than n and primed with n. In field CG (p), therefore, φ (p-1) primitive elements.

상술한 방법에 따라, RSA 기법의 기초가 아래에 있다. 공개 계수 n은 f≥2 인 p1 에서 pf 까지의 f개의 소인수의 곱이고, 각 소인수 pj마다 공개 지수 v가 pj-1의 소수가 되도록 한다. 키 <v,pj>는 CG(pj)의 성분의 랭크에 따른다: 즉, 그들을 치환한다. v·sj-1을 pj-1이 나누도록 역 치환은 <sj,pj> 에서 얻어진다. According to the method described above, the basis of the RSA technique is below. The open coefficient n is the product of the f prime factors from p 1 to p f , where f ≧ 2, and for each prime factor p j , the open index v is a prime number of p j −1. The key <v, p j > depends on the rank of the components of CG (pj): ie replace them. Inverse substitution is obtained at <s j , p j > such that v · s j −1 is divided by p j −1.

CG(p)의 제곱 및 제곱근Square and square root of CG (p)

x 및 p-x 성분은 CG(p)에서 같은 제곱을 갖는다. 키<2,p>는 p-1이 짝수 값이기 때문에 CG(p)의 성분을 치환하지 않는다. 각각의 소수 p에 대해, 정수 t를 아래와 같이 정의하자: p-1은 2t에 의해 나누어 지고 2t+1에 의해 나누어지지 않는데, 즉 p는 2t+1 (mod 2t+1) 과 연관된다. 예를 들어 p가 3(mod 4)와 연관될 때, t=1 이고; p가 5(mod 8)와 연관될 때, t=2 이고; p가 9(mod 16)와 연관될 때, t=3 이고; p가 17(mod 32)와 연관될 때, t=4 이다. 각각의 홀수 소수는 단지 하나의 카테고리 내에서 보여진다. 즉, p는 t번째 카테고리에서 보인다. 실제로, 만약 연속적인 소수의 상당히 큰 수를 가정하면, 두개중의 대략 하나는 첫번째 카테고리에 있을 것이고, 넷 중의 하나는 두번째에 있을 것이고, 여덟 중의 하나는 세번째, 열여섯 중의 하나는 네번째, 등등의 카테고리에 있을 것이다. 간단히 말하면, 2t 중의 하나는 평균적으로 t번째 카테고리에 있다는 것이다. The x and px components have the same square in CG (p). The key <2, p> does not substitute a component of CG (p) because p-1 is an even value. For each of a small number of p, let the integer defined as follows: t: p-1 is divided by 2 t does not divided by 2 t + 1, i.e., p is 2 t +1 (mod 2 t + 1) and Associated. For example, when p is associated with 3 (mod 4), t = 1; when p is associated with 5 (mod 8), t = 2; when p is associated with 9 (mod 16), t = 3; When p is associated with 17 (mod 32), t = 4. Each odd prime is shown in only one category. That is, p is seen in the t-th category. Indeed, if we assume a fairly large number of consecutive primes, approximately one of the two will be in the first category, one of the four will be in the second, one of the eight, the third of the sixteen, the fourth, and so on. Will be in category. In short, one of 2 t is on average in the t th category.

상기에서 논의한 랭크의 패리티(parity)에 따라 "CG(p) 의 제곱으로 누승(raise)" 기능에 대해 고려해본다. Consider the "raise by square of CG (p)" function according to the parity of the rank discussed above.

- 단지 하나의 고정된 성분이 있다. 즉 이는 1이다. 홀수 패리티 랭크의 다른 성분의 제곱은 같은 랭크를 갖는 다른 성분이 된다. 결과적으로, 키 <2,p>는 모든 그의 (p-1)/2t 홀수 패리티 랭크 성분으로 치환한다. 치환의 수는 (p-1)/2t 의 팩토라이제이션(factorization)에 의한다. 예를 들면, (p-1)/2t가 소수 p'일 때, p'-1 성분으로 구성되는 큰 치환 사이클이 있게 된다.There is only one fixed component. That is 1. The square of the other components of the odd parity rank is the other component of the same rank . As a result, the key <2, p> is replaced by all of its (p-1) / 2 t odd parity rank components. The number of substitutions is by factorization of (p-1) / 2 t . For example, when (p-1) / 2 t is a prime p ', there is a large substitution cycle consisting of the p'-1 component.

- 임의의 짝수 패리티 랭크 성분의 제곱은 그 랭크가 두개로 나누어지는 다른 성분이다. 결과적으로, 짝수 패리티 랭크 성분은 (p-1)/2t 브랜치(branch)들에 분배된다. 홀수 패리티 랭크를 가진 각각의 0이 아닌(non-zero) 성분은 길이 t를 가진 2t-1 성분으로 구성되는 브랜치를 포함하는데, 즉: 랭크의 성분은 2로 나누어지고 4로 나누어지지는 않으며, 그리고 만약 t≥2이면, 랭크의 두개의 성분은 4로 나누어지고 8로는 나누어지지 않으며, 그리고 만약 t≥3이면, 랭크의 네개의 성분은 8로 나누어지고 16로는 나누어지지 않으며, 만약 t≥4이면, 랭크의 여덟개의 성분은 16로 나누어지고 32로는 나누어지지 않는다. 각각의 브랜치의 2t-1 끝들은 비이차 잉여들(non-qudratic residues)이고; 그들의 랭크는 2t에 의해 나누어진다. The square of any even parity rank component is another component whose rank is divided into two . As a result, the even parity rank component is distributed to the (p-1) / 2 t branches. Each non-zero component with an odd parity rank includes a branch consisting of 2 t -1 components of length t, i.e., the components of the rank are divided by 2 and not divided by 4. And if t≥2, the two components of the rank are divided by 4 and not divided by 8, and if t≥3, the four components of the rank are divided by 8 and not divided by 16, and if t≥ If 4, the eight components of the rank are divided by 16 and not by 32. The 2 t-1 ends of each branch are non-qudratic residues; Their rank is divided by 2 t .

도 1A 에서 1D 는 각각의 필드의 p-1 의 영이 아닌(non-zero) 성분이 그 위치를 찾는 방향성 그래프에 의해 "CG(p) 에서 제곱으로 누승(累乘)" 기능을 도시한다. 즉 비이차 잉여들(non-qudratic residues)은 흰색이고 이차 잉여들(qudratic residues)은 검은색이며; 이차 잉여들 중에서 홀수 패리티 랭크 성분은 원으로 되어 있다. In FIG. 1A, 1D illustrates the function of " squared in CG (p) " by a directional graph where the non-zero component of p-1 of each field finds its location. That is, the non-qudratic residues are white and the quadratic residues are black; Of the secondary surpluses, the odd parity rank component is a circle.

이러한 도면들은 각각 아래의 내용을 도시한다. Each of these figures shows the following.

- 도 1A: p가 3(mod 4)와 연관되는 경우;1A: p is associated with 3 (mod 4);

- 도 1B: p가 5(mod 8)와 연관되는 경우;1B: p is associated with 5 (mod 8);

- 도 1C: p가 9(mod 16)와 연관되는 경우;1C: p is associated with 9 (mod 16);

- 도 1D: p가 17(mod 32)와 연관되는 경우;1D: p is associated with 17 (mod 32);

이제 식 x2≡a(mod p) 의 해를 x로 계산하는 방법을 살펴보자. 여기서 a는 CG(p)의 이차 잉여이며, 즉 어떻게 "CG(p)에서 제곱근을 구하는가" 에 관한 것이다. 물론 같은 결과를 얻을 수 있는 많은 방법이 있다. 즉 헨리 코헨의 "대수 계산 이론의 과정(A Course in Computation Algebric Number Theory)" (베르린, 스프정수환거, 1993, 31-36페이지), 및 "그래듀에이트 텍스트 인 메트매틱스(Graduate Text in Mathematics)" (vol. 138) 을 참조할 수 있다.Now let's look at how to compute the solution of the expression x 2 ≡a (mod p) as x. Where a is the secondary surplus of CG (p), ie, how to find the square root of CG (p). Of course, there are many ways to achieve the same result. Henry Cohen's "A Course in Computation Algebric Number Theory" (Berlin, Spragg, 1993, pages 31-36), and "Graduate Text in Mathematics." (vol. 138).

키 <s,p> 를 생성하기 위해 정수 s=(p-1+2t)/2t+1 를 계산한다. p가 3(mod 4)와 연관되는 경우 <(p+1)/4,p> 으로 놓고, p가 5(mod 8)와 연관되는 경우 <(p+3)/8,p> 으로 놓고,p가 9(mod 16)와 연관되는 경우 <(p+7)/16,p> 으로 놓고,p가 17(mod 32)와 연관되는 경우 <(p+15)/32,p> 로 놓는다. Compute the integer s = (p-1 + 2 t ) / 2 t + 1 to generate the key <s, p>. If p is associated with 3 (mod 4), set it to <(p + 1) / 4, p>, if p is associated with 5 (mod 8), set it to <(p + 3) / 8, p>, If p is associated with 9 (mod 16), it is set to <(p + 7) / 16, p>, and if p is associated with 17 (mod 32), it is set to <(p + 15) / 32, p>.

- 키 <s,p> 는 임의의 홀수 패리티 랭크 성분의 홀수 패리티 랭크 제곱근을 주게된다. 실제로, CG(p)에서, r2/a 는 거듭제곱 (2(p-1+2t)/2t+1)-1=(p-1)/2 t 까지 승산된 a와 같게된다. 결과적으로, a가 사이클에 있을 때, 키 <s,p>는 w로 불리는 해로 변환된다. 다른 해는 p-w 이다. The key <s, p> is given the square root of the odd parity rank of any odd parity rank component. In fact, in CG (p), r 2 / a is equal to a multiplied by power (2 (p-1 + 2 t ) / 2 t + 1 ) -1 = (p-1) / 2 t . As a result, when a is in cycle, the key <s, p> is converted into a solution called w. Another solution is pw.

- 일반적으로, 키 <s,p>는 r이라 불리는 해의 첫번째 추정에서 임의의 이차 잉여 a로 변환된다. 이하는 a 의 제곱근으로 추정하는 단계적인 증명을 위한 방법의 대략적인 스케치의 두개의 키포인트를 나타낸다. In general, the key <s, p> is converted to any secondary surplus a in the first estimate of the solution called r. The following represent two key points of the approximate sketch of the method for the step-by-step proof of estimation with the square root of a.

- 첫째로, a는 이차 잉여이므로, 키 <2t-1,p>는 분명히 r2/a를 1로 변환한다.Firstly, since a is a secondary surplus, the key <2 t-1 , p> obviously converts r 2 / a to 1.

- 둘째로, y라고 명명한 CG(p)의 비이차 잉여를 알고 있다고 가정할 수 있고; 키 <(p-1)/2t,p>는 y를 b라고 불리는 성분으로 변환한다. 즉 이는 -1의 2t-1번째 근이다. 실제로, y(p-1)/2≡-1(mod p)이다. 결과적으로, CG(p)에서, 단위원(unity)의 2t2t번째 승산 그룹은 1에서 2t까지의 지수에 있어서의 b의 거듭제곱의 승산 그룹과 같은 형이다. Second, one can assume that we know the non-secondary surplus of CG (p) named y; The key <(p-1) / 2 t , p> converts y into a component called b. That is, the 2 t-1 th root of -1. In fact, y (p-1) / 2 ≡-1 (mod p). As a result, in CG (p), the 2 t 2 t th multiplication group of the unitity is of the same type as the multiplication group of the power of b in the exponent of 1 to 2 t .

- a의 제곱근에 접근하기 위해서, r2/a를 2t-2(mod p)의 거듭제곱을 한다: 그 결과는 +1 또는 -1 이다. 만약 그 결과가 +1 이면 새로운 추정은 r이 되고, 그렇지 않고 그 결과가 -1이면 b·r(mod p)가 된다. 결과적으로, 키 <2t-2,p> 는 확실히 새로운 추정을 1로 변환한다. 요구값에 계속해서 접근하는 것이 가능하다. 즉 다음 단계에서, 필요하다면 b2(mod p)에 의해 곱해지는 것에 의해 조정이 행해질 수 있다.
To approach the square root of a, r 2 / a is raised to 2 t-2 (mod p): the result is either +1 or -1. If the result is +1, the new estimate is r; otherwise, the result is -1, b · r (mod p). As a result, the key <2 t-2 , p> surely converts the new estimate to one. It is possible to access the required value continuously. That is, in the next step, adjustments can be made by multiplying by b 2 (mod p) if necessary.

아래의 알고리즘은 상기에서 정의된 정수 r 및 b로부터 a의 제곱근에 도달하는 연속적인 추정을 만들게 되고; 이는 두개의 정수 변수를 사용한다. 즉 연속적인 추정을 나타내도록 r에 의해 초기화되는 w 및 2에서 2t-2 까지의 2의 거듭제곱 중에서의 jj 가정값이다. The algorithm below makes a continuous estimate reaching the square root of a from the integers r and b defined above; It uses two integer variables. I.e., the jj hypotheses in w and 2 to 2 t-2 initialized by r to represent a continuous estimate.

1에서 t-2까지의 i범위에서, 아래의 시퀀스를 반복한다. In the i range from 1 to t-2, the following sequence is repeated.

- w2/a(mod p)를 계산하고, 그 결과를 2t-i-1(mod p)의 거듭제곱을 한다. 즉, +1 또는 -1 이 얻어진다. -1 이 얻어지면, jj=2i를 계산하고, 그리고나서 w를 wbjj(mod p)로 치환한다. +1이 얻어지면, 아무것도 하지 않는다. Calculate w 2 / a (mod p) and multiply the result by 2 ti-1 (mod p). That is, +1 or -1 is obtained. If -1 is obtained, calculate jj = 2 i and then replace w with wb jj (mod p). If +1 is obtained, do nothing.

계산의 끝단계에서, w 및 p-w는 CG(p)에서의 a의 두개의 제곱근이 된다. 추 가적으로, CG(p)에서의 a의 랭크는 2t/jj 에 의해 나누어 질 수 있고 2t+1/jj에 의해서는 나누어지지 않는다. 이러한 관계는 아래에서 추가적으로 보이게 된다.
At the end of the calculation, w and pw are the two square roots of a in CG (p). In addition, the rank of a in CG (p) can be divided by 2 t / jj and not by 2 t + 1 / jj. This relationship is shown further below.

CG(p) 에서의 GQ2 기법의 원리의 분석Analysis of the principle of the GQ2 technique in CG (p)

1보다 큰 두개의 정수 g 및 k, g보다 큰 소수 p를 취한다. 식(1.a), (2.a) 및 (3.a) 에서 CG(p) 내에서 x의 해의 존재 및 개수를 분석하자. Take two integers g greater than 1 and k, a prime number p greater than g. Analyze the presence and number of solutions of x in CG (p) in equations (1.a), (2.a) and (3.a).

갈루아 필드(Galois field) CG(p)에서, t의 값에 의존하는 다른 경우들을, p-1을 나누는 두개의 거듭제곱에 따라서, 구별하자. p-1 은 2t 에 의해 나누어 질 수 있고 2t+1 에 의해서는 나누어지지 않는다는 것, 즉 p는 2t+1(mod 2t+1)과 연관된다는 것을 상기할 수 있다. 전술한 분석은 근접 해 뿐만 아니라 문제에 대한 상당히 정확한 개념을 주게된다.In the Galois field CG (p), distinguish other cases that depend on the value of t, according to two powers dividing p-1. It can be recalled that p-1 can be divided by 2 t and not by 2 t + 1 , that is, p is associated with 2 t +1 (mod 2 t + 1 ). The above analysis gives us a fairly accurate concept of the problem as well as the proximity.

t=1 일때, p는 3(mod 4)에 연관된다. p와 관련된 g 및 -g의 르장드르 기호들(Legendre symbols)은 서로 다르다. 즉 CG(p)의 임의의 이차 잉여는 CG(p) 내에서 두개의 제곱근을 갖는다. 하나는 이차 잉여이고 다른하나는 비이차 잉여이다. 첫째로, 두개의 식(1.a) 또는 (2.a) 중의 하나는 CG(p) 내의 x의 두개의 해를 갖고, 다른 하나는 갖지 않는다. 둘째로, 식 (3.a)는 k값이 무엇이든 CG(p) 내에서 x에 대한 두개의 해를 갖는다. When t = 1, p is associated with 3 (mod 4). The Legendre symbols of g and -g associated with p are different. That is, any secondary surplus of CG (p) has two square roots in CG (p). One is secondary surplus and the other is non-secondary surplus. First, one of the two equations (1.a) or (2.a) has two solutions of x in CG (p) and no one. Second, equation (3.a) has two solutions to x in CG (p) whatever k value.

t=2 일때, p는 5(mod 8)에 연관된다. p와 관련된 g의 르장드르 기호(Legendre symbol)에 의존되는 두가지 경우가 발생한다. 상기 기호가 -1과 같을 때, g 및 -g는 둘다 CG(p)의 비이차 잉여이다. 상기 세개의 식(1.a),(2.a) 및 (3.a)는 CG(p) 내에 x의 해를 갖지 않는다. 상기 기호가 +1이면, g 및 -g는 CG(p)의 두개의 이차 잉여이고, 각 식 (1.a) 및 (2.a)는 CG(p) 내에 x의 두개의 해를 갖는다. 추가적으로, CG(p) 내의 g2의 랭크는 k값이 무엇이든 그것을 반영하는 홀수 패리티 값이고, 식 (3.a)는 그중의 단지 하나가 홀수 패리티 랭크를 갖는, CG(p) 내의 x의 네개의 해를 갖는다. When t = 2 , p is associated with 5 (mod 8). Two cases occur depending on the Regendre symbol of g associated with p. When the symbol is equal to -1, g and -g are both non-secondary surpluses of CG (p). The three equations (1.a), (2.a) and (3.a) do not have a solution of x in CG (p). If the symbol is +1, g and -g are two secondary surpluses of CG (p), and each formula (1.a) and (2.a) has two solutions of x in CG (p). Additionally, the rank of g 2 in CG (p) is an odd parity value that reflects whatever k value is, and equation (3.a) is of x in CG (p) with only one of which has an odd parity rank. Has four solutions.

도2는 t=2이고, p는 5(mod 8)과 연관되고, k=6인 식(3.a)의 해를 도시한다. 5(mod 8)과 연관되는 p에 관하여 2의 르장드르 기호(Legendre symbol)가 -1과 같기 때문이라는 것을 주의해야한다. 2(p-1)/4(mod p)은 -1의 제곱근이다. 그러므로, Figure 2 shows the solution of equation (3.a) where t = 2, p is associated with 5 (mod 8) and k = 6. Note that, for p associated with 5 (mod 8), the Legendre symbol of 2 is equal to -1. 2 (p-1) / 4 (mod p) is the square root of -1. therefore,

Figure 112001018742456-pct00004
; 따라서 (2|p)=-1 이고,
Figure 112001018742456-pct00004
; So (2 | p) =-1,

Figure 112001018742456-pct00005
; 그러므로 b2≡-1(mod p) 이다.
Figure 112001018742456-pct00005
; Therefore b 2 ≡-1 (mod p).

t=3 일때, p는 9(mod 16)에 연관된다. p와 관련된 g의 르장드르 기호(Legendre symbol)를 고려한다. 상기 기호가 -1일 경우, g 및 -g는 CG(p)의 두개의 비이차 잉여이다. 상기 세개의 식(1.a),(2.a) 및 (3.a)는 CG(p) 내에 x의 해를 갖지 않는다. 상기 기호가 +1이면, g 및 -g는 CG(p)의 두개의 이차 잉여이고, 각 식 (1.a) 및 (2.a)는 CG(p) 내에 x의 두개의 해를 갖는다. 식 (3.a)의 x의 해의 존재는 CG(p) 내의 g2의 랭크에 의존한다. 상기 랭크는 홀수 패리티 값이거나 2에 의해 나누어지고 4에 의해 나누어지지 않는다. CG(p) 내의 g2의 랭크가 2에 의해 나누어지고 4에 의해 나누어지지 않는 경우, 식 (3.a)는 k=2 인 경우 CG(p) 내의 x에 대한 네개의 해를 갖고; k≥3 이상이 될수 없다. CG(p) 내의 g2의 랭크가 홀수 패리티 값일 경우, 식 (3.a)는 k=2 인 경우 CG(p) 내의 x에 대한 네개의 해를 갖고, k≥3 이면 여덟개의 해를 갖는다. 상기 두개의 경우 모두, 단지 하나의 값이 홀수 패리티 값이다. When t = 3 , p is associated with 9 (mod 16). Consider the Legendre symbol of g associated with p. When the symbol is -1, g and -g are two non-secondary surpluses of CG (p). The three equations (1.a), (2.a) and (3.a) do not have a solution of x in CG (p). If the symbol is +1, g and -g are two secondary surpluses of CG (p), and each formula (1.a) and (2.a) has two solutions of x in CG (p). The presence of the solution of x in equation (3.a) depends on the rank of g 2 in CG (p). The rank is an odd parity value or divided by two and not divided by four. When the rank of g 2 in CG (p) is divided by 2 and not by 4, equation (3.a) has four solutions to x in CG (p) when k = 2; k≥3 If the rank of g 2 in CG (p) is an odd parity value, equation (3.a) has four solutions to x in CG (p) when k = 2, and eight solutions when k≥3. . In both cases, only one value is an odd parity value.

t=4 일때, p는 17(mod 32)에 연관된다. p와 관련된 g의 르장드르 기호(Legendre symbol)를 고려한다. 상기 기호가 -1일 경우, g 및 -g는 CG(p)의 두개의 비이차 잉여이다. 상기 세개의 식(1.a),(2.a) 및 (3.a)는 CG(p) 내에 x의 해를 갖지 않는다. 상기 기호가 +1이면, g 및 -g는 CG(p)의 두개의 이차 잉여이고, 각 식 (1.a) 및 (2.a)는 CG(p) 내에 x의 두개의 해를 갖는다. 식 (3.a)의 x의 해의 존재는 CG(p) 내의 g2의 랭크에 의존한다. 상기 랭크는 홀수 패리티 값이거나 2 또는 4 에 의해 나누어지고 8에 의해 나누어지지 않는다. CG(p) 내의 g2의 랭크가 2에 의해 나누어지고 8에 의해 나누어지지 않는 경우, 식 (3.a)는 k=2 인 경우 CG(p) 내의 x에 대한 네개의 해를 갖고; k≥3 이상이 될수 없다. CG(p) 내의 g2의 랭크가 2에 의해 나누어지고 4에 의해 나누어지지 않는 경우, 식 (3.a)는 k=2 인 경우 CG(p) 내의 x에 대한 네개의 해를 갖고, k=3인 경우 여덟개의 해를 갖고; k≥4 인 경우 해가 없게된다. CG(p) 내의 g2의 랭크가 홀수 패리티 값일 경우, 식 (3.a)는 k=2 인 경우 CG(p) 내의 x에 대한 네개의 해를 갖고, k≥3 이면 여덟개의 해를 갖고, k≥4 이면 16개의 해를 갖는다. 상기 세가지 경우 모두, 단지 하나의 값이 홀수 패리티 값이다. When t = 4 , p is associated with 17 (mod 32). Consider the Legendre symbol of g associated with p. When the symbol is -1, g and -g are two non-secondary surpluses of CG (p). The three equations (1.a), (2.a) and (3.a) do not have a solution of x in CG (p). If the symbol is +1, g and -g are two secondary surpluses of CG (p), and each formula (1.a) and (2.a) has two solutions of x in CG (p). The presence of the solution of x in equation (3.a) depends on the rank of g 2 in CG (p). The rank is an odd parity value or divided by 2 or 4 and not divided by 8. When the rank of g 2 in CG (p) is divided by 2 and not by 8, equation (3.a) has four solutions to x in CG (p) when k = 2; k≥3 If the rank of g 2 in CG (p) is divided by 2 and not by 4, equation (3.a) has four solutions to x in CG (p) when k = 2, and k If = 3 there are eight solutions; If k≥4, there is no harm. If the rank of g 2 in CG (p) is an odd parity value, Equation (3.a) has four solutions to x in CG (p) when k = 2, and eight solutions when k≥3. If k≥4, we have 16 solutions. In all three cases, only one value is an odd parity value.

p가 1(mod 4)에 연관되는 경우와 같이 다른 경우도 같으며, 아래에 요약될 수 있다.Other cases are the same, such as when p is associated with 1 (mod 4) and can be summarized below.

p가 1(mod 4)와 연관되는 경우, p와 관련된 g의 르장드르 기호(Legendre symbol)를 고려한다. 상기 기호가 -1일 경우, g 및 -g는 CG(p)의 두개의 비이차 잉여이다. 상기 세개의 식(1.a),(2.a) 및 (3.a)는 CG(p) 내에 x의 해를 갖지 않는다. 상기 기호가 +1이면, g 및 -g는 CG(p)의 두개의 이차 잉여이고, 각 식 (1.a) 및 (2.a)는 CG(p) 내에 x의 두개의 해를 갖는다. 정수 u를 정의한다. CG(p) 내의 g2의 랭크는 2u에 의해 나누어 질 수 있으나, 2u+1에 의해서는 나누어질 수 없다. u의 값은 0에서 t-2 까지의 t-1개의 가능한 값들 사이에 있다. 식 (3.a)에 대한 CG(p) 내의 x의 해의 존재 및 개수는 k, t 및 u 값들에의해 좌우된다. u가 양수이고 k가 t-u 보다 큰 경우, 식 (3.a)는 CG(p) 내의 x의 해를 갖지 않는다. u가 영(zero)이고 k가 t보다 큰 경우, 식 (3.a)는 CG(p) 내에서 x의 2t개의 해를 갖는다. k가 t-u보다 크거나 같으면, 식(3.a)는 CG(p) 내에서 x의 2k개의 해를 갖는다. If p is associated with 1 (mod 4 ), consider the Regendre symbol of g associated with p. When the symbol is -1, g and -g are two non-secondary surpluses of CG (p). The three equations (1.a), (2.a) and (3.a) do not have a solution of x in CG (p). If the symbol is +1, g and -g are two secondary surpluses of CG (p), and each formula (1.a) and (2.a) has two solutions of x in CG (p). Define the integer u. The rank of g 2 in CG (p) can be divided by 2 u , but not by 2 u + 1 . The value of u is between t-1 possible values from 0 to t-2. The presence and number of solutions of x in CG (p) for equation (3.a) depends on k, t and u values. If u is positive and k is greater than tu, then equation (3.a) has no solution of x in CG (p). If u is zero and k is greater than t, equation (3.a) has 2 t solutions of x in CG (p). If k is greater than or equal to tu, equation (3.a) has 2 k solutions of x in CG (p).

정수 계수(modulo)의 정수환(ring)에서의 GQ2 원리의 응용Application of the GQ2 principle to the ring of integer modulo

식(1) 및 (2) 각각이 정수 계수 n의 정수환(ring)에서 x의 해를 갖지 않도록 하려면, p1에서 pf 까지의 적어도 하나의 소인수 p에서 식 (1.a) 및 (2.a) 각각이 CG(p) 내의 x의 해를 갖지 않도록 하는 것이 필요하다. In order to ensure that each of the equations (1) and (2) does not have a solution of x in the ring of integer coefficients n, the equations (1.a) and (2. 2) in at least one prime factor p from p 1 to p f . a) It is necessary to ensure that each does not have a solution of x in CG (p).

식(3)이 정수 계수 n의 정수환(ring)에서 x의 해를 갖도록 하려면, p1에서 pf 까지의 각각의 소인수 p에서 식 (3.a)이 CG(p) 내의 x의 해를 갖도록 해야한다. For equation (3) to have a solution of x in the integer ring of integer coefficients n, then for each prime factor p from p 1 to p f , let equation (3.a) have the solution of x in CG (p). Should be.

식 (3)은 g1에서 gm 까지의 기수 g중의 하나에서, 1(mod 4) 와 연관되는 소인수 p가 - p와 연관된 르장드르 기호(Legendre symbol) g가 -1과 같거나; 또는 p와 연관된 르장드르 기호(Legendre symbol) g가 +1과 같은 것중의 하나이고 - 양수의 u 가 되는 것 및 t-k 보다 큰 것을 방해한다. 1(mod 4) 와 연관되는 소인수 p가 가능하기 위해, 상기에서 정의된 두개의 정수인 t 및 u와 관련하여, g1에서 gm 까지의 기수 g의 각각에서 아래의 두 상태중 하나를 충족하는 것이 필요하다. CG(p) 내의 g2의 랭크는, k 값에 상관없이, CG(p) 내의 홀수 패리티 랭크이거나, 즉 u=0 이거나, CG(p) 내의 g2의 랭크는 CG(p) 내의 짝수 패리티 랭크 값이다. 즉 u>0 및 u+k≤t 의 조건을 만족하는 값이다. Equation (3) is one of the bases g from g 1 to g m , where the prime factor p associated with 1 (mod 4) is -Legendre symbol g associated with -p is equal to -1; Or the Legendre symbol g associated with p is one of the same as +1-interfering with being positive u and greater than tk. In order to enable the prime factor p associated with 1 (mod 4), with respect to the two integers t and u defined above, one of the following two states is satisfied in each of the bases g from g 1 to g m : It is necessary. The rank of g 2 in CG (p) is an odd parity rank in CG (p), i.e. u = 0, or the rank of g 2 in CG (p) is an even parity in CG (p), regardless of the value of k. Rank value. That is, it satisfies the condition of u> 0 and u + k ≦ t.

1(mod 4)와 연관되는 소인수의 곱은 GQ2 기법의 원리를 모두 만족할 수는 없다. 각 GQ2 계수는 3(mod 4)와 연관되는 적어도 2개의 소인수를 가져서, 각각의 기수 g에서, 이러한 인수 중의 하나와 관련된 르장드르 기호(Legendre symbol) g가 다른것과 관련된 르장드르 기호(Legendre symbol) g와 다르게 되도록 한다. 모든 소인수가 3(mod 4)와 연관되는 때, GQ2 계수가 기준(basic)이다라고 말할 수 있다. 3(mod 4)에 연관된 적어도 2개의 소인수를 추가하여, 계수가 1(mod 4)와 연관된 하나 또는 그 이상의 소인수를 포함할 때, 계수 GQ2는 결합(combined)된다라고 말할 수 있다. The product of the prime factors associated with 1 (mod 4) cannot satisfy all of the principles of the GQ2 technique. Each GQ2 coefficient has at least two prime factors associated with 3 (mod 4), so that in each radix g, the Regendre symbol g associated with one of these arguments is associated with the other. to be different from g. When all prime factors are associated with 3 (mod 4), we can say that the GQ2 coefficient is basic. By adding at least two prime factors associated with 3 (mod 4), one can say that when the coefficient includes one or more prime factors associated with 1 (mod 4), the coefficient GQ2 is combined.

모듈리(moduli) GQ2의 계통적 구축Systematic Construction of Moduli GQ2

최초에, 전체 제한들이 계수 n에 의해 지시되어 지도록 고정하는 것이 필요하다. 즉 1에서의 가장 중요한 연속적인 비트(bit)들의 수( 일반적으로 16 또는 32 비트 중의 적어도 하나) 뿐만 아니라 비트로 표현된 크기(예를 들면, 512 또는 1024 비트), f개의 소인수 및 e개(가능하다면 0인)의 소인수가 1(mod 4)와 연관되어야 하는 것과 ; 다른 소인수, 즉 f-e 인수의 적어도 두개가 3(mod 4)와 연관되어야 한다. 계수 n은 같은 크기의 f 소인수들의 곱이 된다. e=0일 때, 기본 계수 GQ2 가 얻어지고; e>0 일 때, 결합 계수 GQ2 가 얻어진다. 기본 계수는 모두가 3(mod 4)와 연관되는 소인수들의 곱이다. 그러므로 결합 계수 GQ2 는 1(mod 4)와 연관되는 하나 또는 그 이상의 다른 소인수들에 의해 곱해지는 기본 계수 GQ2 의 곱으로 볼 수 있다. 무엇보다, 3(mod 4)와 연관되는 소인수들이 생성된다. 그리고 나서 e>0 이라면, 1(mod 4)와 연관된 소인수가 생성된다.Initially, it is necessary to fix so that the entire limits are indicated by the coefficient n. That is, the number of most significant consecutive bits in 1 (generally at least one of 16 or 32 bits), as well as the size expressed in bits (e.g., 512 or 1024 bits), f prime factors and e (possibly Zero prime factor must be associated with 1 (mod 4); Another prime factor, at least two of the fe arguments, must be associated with 3 (mod 4). The coefficient n is the product of f prime factors of the same magnitude. when e = 0, the base coefficient GQ2 is obtained; When e> 0, the coupling coefficient GQ2 is obtained. The base coefficient is the product of the prime factors, all of which are associated with 3 (mod 4). Therefore, the coupling coefficient GQ2 can be viewed as the product of the base coefficient GQ2 multiplied by one or more other prime factors associated with 1 (mod 4). First of all, prime factors associated with 3 (mod 4) are generated. Then if e> 0, the prime factor associated with 1 (mod 4) is generated.

GQ2 모듈리(moduli)의 구축의 효과를 위해, 그것이 소인수 값(prime value)인지를 찾기 전에 각 후보값들을 선택하는 것이 확실히 더 좋다.For the effect of the construction of GQ2 moduli, it is certainly better to select each candidate value before finding if it is a prime value.

g1, g2,...에 참조되는, 기수들은 일반적으로 첫번째 기수들: 2,3,5,7,... 이다. 반대되는 점이 없다면, m개의 기수들은 m 개의 소수들이다. 즉 g1 = 2, g2 = 3, g3 = 5, g4 = 7,... 이다. 그러나, 아래의 사항들은 주의해야 한다. 즉 5(mod 8)과 연관되는 인수가 예상된다면, 2는 피해야 하고; 공개 키 <3,n> 이 RSA 공개 인증 키로서 사용된다면, 3은 피해야 한다. The radix, referred to g 1 , g 2 , ... are generally the first radix: 2,3,5,7, ... If there is no opposite, m bases are m primes. G 1 = 2, g 2 = 3, g 3 = 5, g 4 = 7, ... However, the following points should be noted. That is, if an argument associated with 5 (mod 8) is expected, 2 should be avoided; If public key <3, n> is used as the RSA public authentication key, 3 should be avoided.

3(mod 4) 와 연관되는 f-e 소인수의 선택Selection of f-e prime factors associated with mod 4

두번째 인수를 바탕으로, 프로그램은 한 인수당 하나의 기수를 요구하고 사용한다. 3(mod 4)와 연관된 마지막 인수의 선택에서, 프로그램은 다른 기수들이 있는지, 즉 m 이 f-e 보다 큰지 또는 같은지를 찾고 이러한 경우 gf-e 에서 gm 까지의 마지막 기수들을 요구하고 고려하게 된다. 3(mod 4)와 연관되는 소인수들의 선택을 공식화하기 위해, 프로파일(profile) 이라는 용어를 소개한다. 프로파일은 g보다 크고 3(mod 4)와 연관되는 소인수들의 세트(set)에 관한 정수 g를 특성화 한다. Based on the second argument, the program requires and uses one radix per argument. In the selection of the last argument associated with 3 (mod 4), the program looks for other radix, that is, if m is greater than or equal to fe and in this case requires and considers the last radix from g fe to g m . To formulate the choice of prime factors associated with mod 4, we introduce the term profile. The profile characterizes an integer g for a set of prime factors greater than g and associated with 3 (mod 4).

- 정수 g가 두개의 소인수에 관하여 같은 르장드르 기호(Legendre symbol)를 갖는 경우, 소인수들은 g에 관하여 등가(equivalent)이다라고 한다. 그렇지 않으 면, g에 관하여 상보적(complementary)이다라고 한다. If the integer g has the same Regendre symbol for two prime factors, the prime factors are said to be equivalent to g. Otherwise, it is said to be complementary with respect to g.

- f개의 소인수들 p1,p2,...,pf 에 관한, porfilef(g)에 사용되는, 정수 g 의 프로파일은 소인수 하나 당 하나의 비트인, f비트(bits)의 시퀀스이다. 첫번째 비트는 1과 같고; 각각의 뒤이은 비트는 다음 인수가 g에 관하여 p1과 같은지 또는 상보적인지에 좌우되어 1 또는 0과 같은 값이 된다. The profile of integer g, used in porfile f (g), for f prime factors p 1, p 2 , ..., p f is a sequence of f bits, one bit per prime factor. . The first bit is equal to 1; Each subsequent bit is a value equal to 1 or 0 depending on whether the next argument is equal to p1 or complementary with respect to g.

- 프로파일의 모든 비트들이 1과 같을 때, 프로파일이 플랫(flat)하다고 말한다. 상기의 경우, g의 모든 르장드르 기호(Legendre symbol)는 +1과 같거나 또는 -1과 같다. g의 프로파일이 플랫하지 않은 경우, 식(1) 및 (2)는 정수 계수 n의 정수환(ring)에서 풀릴 수 없다. When all bits in the profile are equal to 1, say the profile is flat. In this case, all of the Regendre symbols of g are equal to +1 or equal to -1. If the profile of g is not flat, equations (1) and (2) cannot be solved in the ring of integer coefficients n.

- 정의에 의해, 3(mod 4)에 연관된 단일의 소수에 관한 g의 프로파일은 항상 플랫(flat)하다. 이것은 3(mod 4)에 연관된 소인수의 선택의 알고리즘을 일반화하는데 사용된다.
By definition, the profile of g for a single prime number associated with 3 (mod 4) is always flat. This is used to generalize the algorithm of selection of prime factors associated with 3 (mod 4).

두개의 기수 g1 및 g2의 프로파일들이 서로 다를 때(이는 적어도 세개의 소인수가 3(mod 4)에 연관된다는 것을 나타낸다.), 두개의 비밀 값인 Q1 및 Q2의 정보는 계수 n의 두개의 다른 분할의 정보를 유발한다. 기수가 작은 소수인 경우, 프로그램은 f-e-1개의 기준 소수의 2f-e-1-1 개의 승산조합이 모두 다르다는 것을 보장한다. 즉, 모든 가능한 값들을 취한다. 프로파일이라는 용어는 1(mod 4)에 연관된 소인수에 까지 확장되지는 않는다. When the profiles of the two radixes g 1 and g 2 are different (which indicates that at least three prime factors are associated with 3 (mod 4)), the information of the two secret values Q1 and Q2 is two different coefficients of n. Induces information of partitioning. For small radix primes, the program ensures that the 2 fe-1 -1 multiplication combinations of the fe-1 reference primes are all different. That is, take all possible values. The term profile does not extend to the prime factors associated with 1 (mod 4).

3(mod 4)에 연관되는 첫번째 소인수 p1: 각 후보값은 다른 특별 제한 없이 3(mod 4)에 연관되어야 한다. First prime factor p 1 associated with 3 (mod 4): Each candidate value must be associated with 3 (mod 4) without any special restrictions.

첫번째 기수 g1과 같이 고려되는 3(mod 4)에 연관되는 두번째 소인수 p2: 각 후보값은 g1에 관하여 p1과 상보적이어야 한다. Second prime factor p 2 associated with 3 (mod 4) considered as the first radix g1: Each candidate value must be complementary to p 1 with respect to g 1 .

두번째 기수 g2와 같이 고려되는 3(mod 4)에 연관되는 세번째 소인수 p3: 두개의 첫번째 소인수 p1과 p2에 관한 g2 의 프로파일에 따르면, 두가지 경우가 발생한다. profile2(g2)가 플랫(flat)한 경우, 각 후보값은 g2에 관하여 p1 과 상보적이어야 한다. 그렇지 않으면, profile2(g1)=profile2(g2) 이 되고; 각 후보값이 profile3(g1)≠profile3(g2)이 되는 것을 보장해야 한다. Third prime factor p 3 associated with 3 (mod 4) considered as second base g 2 : According to the profile of g 2 for the two first prime factors p 1 and p 2 , two cases occur. If profile 2 (g 2 ) is flat, each candidate value should be complementary to p 1 with respect to g 2 . Otherwise, profile 2 (g 1 ) = profile 2 (g 2 ); You must ensure that each candidate value is profile 3 (g 1 ) ≠ profile 3 (g 2 ).

기수 gi와 같이 고려되는 3(mod 4)에 연관되는 i번째 소인수 pi+1의 선택: i개의 첫번째 소인수들 p1,p2,...,pi에 따르면, 두가지 경우가 발생한다. profilei(gi) 이 플랫(flat)한 경우, 각 후보값들은 gi와 관련하여 p1에 상보적이어야 한다. 그렇지 않으면, i-1 개의 기수들 g1,g2,...,gi-1 및 그들의 모든 승산 조합(multiplicative combination)들인 g1ㆍg2,...,g1ㆍg2ㆍ...ㆍgi-1 중에서, 즉 상기 모든 것들 중 2i-1-1 개의 정수들에서, 프로파일i(gi)=프로파일i(g) 이 되도록 오직 하나의 정수 g가 있고; 각 후보값이 그리고나서 profilei+1(gi)≠profilei+1(g) 가 되는 것을 보장해야 한다. Selection of the i th prime p i + 1 associated with 3 (mod 4) considered as radix g i : According to the i first prime factors p 1 , p 2 , ..., p i , two cases occur . If profile i (g i ) is flat, then each candidate value should be complementary to p 1 with respect to g i . Otherwise, i-1 radix g 1 , g 2 , ..., g i-1 and all of their multiplicative combinations g 1 · g 2 , ..., g 1 · g 2 . ... G among g i-1 , ie in 2 i-1 −1 integers of all the above, there is only one integer g such that profile i (g i ) = profile i (g); We must ensure that each candidate value is then profile i + 1 (g i ) ≠ profile i + 1 (g).

기수 gf-e-1 및 gf-e 에서 gm 까지의 다른 기수들과 같이 고려되는 3(mod 4)에 연관되는 마지막 소인수 pf-e: 기수 gf-e-1에 의한 제한은 상기와 같이 고려된다. 추가적으로, m이 f-e 와 같거나 클 때, 각각의 후보값은 f-e 소인수들과 관련된 gf-e 로부터 gm 까지의 마지막 기수들을 위한 비-플랫(non-flat) 프로파일을 제공해야 한다. 각 후보값들은 profilef-e-1(gi)이 플랫한 gi의 모든 값에 관하여 p1에 상보적이 되어야 한다.
Finally prime factors p fe is associated to 3 (mod 4) to be considered as any other odd number of g to m in the radix-fe g 1 and g fe: limited by the rider gf-e-1 are considered, as described above. In addition, when m is equal to or greater than fe, each candidate value should provide a non-flat profile for the last radix from g fe to g m associated with fe prime factors . Each candidate value should be complementary to p 1 for all values of g i flat for profile fe-1 (g i ).

요약하면, 3(mod 4)에 연관되는 소인수들은 서로의 함수로써 선택된다.
In summary, the prime factors associated with 3 (mod 4) are chosen as functions of each other.

0 에서 f-e-1 까지의 i 범위에서, 3(mod 4)에 연관되는 i+1 번째의 소인수를 선택하기 위하여, 후보값 pi+1은 아래의 시험들을 통과해야 한다. In the i range from 0 to fe-1, in order to select the i + 1 th prime factor associated with 3 (mod 4), the candidate value p i + 1 must pass the following tests.

i > m 이거나 i = 0 이면, 후보값 pi+1은 다른 제약이 없고; 그러므로 선택될 수 있다. If i> m or i = 0, the candidate value p i + 1 has no other constraint; Therefore it can be chosen.

0 < i ≤m 이면, 후보값 pi+1은 i번째 기수 gi를 고려해야 한다. p1 에서 pi 까지의 i 첫번째 소인수들에 관련된 기수 gi의 profilei(gi)이 계산된다. 상기 결과에 기초하여, 아래의 두가지 경우 중 오직 하나의 경우가 발생한다. If 0 <i ≤ m, the candidate value p i + 1 must take into account the i th base g i . The profile i (g i ) of the radix g i associated with the first prime factors i from p 1 to p i is calculated. Based on the above results, only one of the following two cases occurs.

- 프로파일이 플랫하면, 후보값 pi+1은 gi와 관련하여 p1에 상보적이어야 하고; 그렇지 않으면, 그값은 거절된다. If the profile is flat, the candidate value pi + 1 should be complementary to p1 with respect to gi; Otherwise, the value is rejected.

- 그렇지 않으면, i-1 기수들 및 그들의 모든 승산 조합(multiplicative combination)들 중에서 profilei(g)=profilei(gi) 이 되도록 g라 불리는 오직 하나의 수가 존재하고; 각 후보값 pi+1이 그리고나서 profilei+1(g)≠profilei+1(g i) 가 되어야 하고; 그렇지 않으면, 그값은 거절된다. Otherwise, there is only one number called g such that among the i-1 radix and all of the multiplicative combinations there is profile i (g) = profile i (g i ); Each candidate value p i + 1 must then be profile i + 1 (g) ≠ profile i + 1 (g i ); Otherwise, the value is rejected.

i+1 = f-e 및 i < m 이면, 즉 기수들이 남아있는 경우, 아직 고려되지 않은, 3(mod 4)와 연관된 gf-e 에서 gm 까지의 마지막 소인수를 선택하기 위하여, 후보값 pf-e는 그것들을 고려해야 한다. 즉, 이러한 기수들 중에서, profilef-e-1(gi ) 가 플랫한 프로파일이 선택되고; 후보값 pf-e는 각각의 선택된 기수들에 관련되어 p1에 상보적이 되어야 하고; 그렇지 않으면 그들은 거절되어야 한다. If i + 1 = fe and i <m, i.e. if radix remains, to select the last prime factors from g fe to g m associated with 3 (mod 4) that have not yet been considered, the candidate value p fe is Should be taken into account. That is, among these radix, a profile whose profile fe-1 (g i ) is flat is selected; The candidate value p fe must be complementary to p 1 in relation to the respective selected radix; Otherwise they must be rejected.

상기의 테스트들을 성공적으로 마쳤으면 후보값은 선택된다.
If the above tests have been successfully completed, the candidate value is selected.

1(mod 4)에 연관되는 e 소인수들의 선택Selection of e prime factors associated with 1 (mod 4)

1(mod 4)에 연관되는 각 후보값 p는 g1 에서 gm 까지의 각 기수에 관하여 아래의 상태들을 만족해야 한다. Each candidate value p associated with 1 (mod 4) must satisfy the following conditions for each radix from g 1 to g m .

- p와 관련된 각 기수 gi 의 르장드르 기호(Legendre symbol)를 계산한다. 만약 상기 기호가 -1과 같다면, 상기 후보값 p를 거절하고 다른 후보값으로 간다. 만약 상기 기호가 +1과 같다면, 상기 후보값의 계산을 계속한다. 정수 2가 기수로 사용되면, 5(mod 8)에 연관된 모든 후보값들은 제거되어야 한다: 즉 기수 2는 5(mod 8)에 연관된 인수와 양립할 수 없는 것이다. Compute the Regendre symbol for each radix g i associated with p. If the symbol is equal to -1, then reject the candidate value p and go to another candidate value. If the symbol is equal to +1, the calculation of the candidate value is continued. If the integer 2 is used as an odd number, all candidate values associated with 5 (mod 8) must be eliminated: that is, the odd number 2 is incompatible with the argument associated with 5 (mod 8).

- 키 <s, p> 를 만들도록 정수 s = (p-1+2t)/2t+1 를 계산한다. 결과 r을 얻도록 키 <s, p> 를 각 공개 값 Gi에 적용한다. 두가지 경우가 발생한다. Compute the integer s = (p-1 + 2 t ) / 2 t + 1 to produce the key <s, p>. Apply key <s, p> to each public value G i to get the result r. Two cases occur.

- 만약 r 이 gi 또는 -gi 와 같다면, u = 0 이다. 이러한 경우에, Gi는 사이클 내에 있다. 사소한 케이스를 주의해야 한다: 즉 p가 5(mod 8)에 연관되고 p와 연관된 gi의 르장드르 기호가 +1과 같다면 Gi 가 사이클 내에 있다는 것이다. Gi = 4 는 이러한 케이스에서 불가능하다는 것을 다시한번 상기해야 한다. If r is equal to g i or -g i , then u = 0 In this case, Gi is in cycle. Note the trivial case: if p is associated with 5 (mod 8) and the genre symbol of g i associated with p is equal to +1, then G i is in cycle. Recall that G i = 4 is not possible in this case.

- 만약 r 이 gi 또는 -gi 와 같지 않다면, u > 0 이다. 키 <(p-1)/2t,p> 는 모든 비 이차 잉여(non-quadratic residue) y 를 단위원의 2t 번째 원시 근이 되는 성분 b로 변환하는 것을 주의해야 한다. 아래의 알고리즘은, r에 의해 초기화 되는 w 및 2 에서 2t-2 사이 값을 취하는 jj 인, 두개의 정수 변수들을 사용하는 것에 의해 u를 r및 b 로부터 계산한다. If r is not equal to g i or -g i , then u> 0. Note that the key <(p-1) / 2 t , p> converts all non-quadratic residues y to component b, which is the 2 t th primitive root of the unit circle. The algorithm below calculates u from r and b by using two integer variables, w being initialized by r and jj taking a value between 2 and 2 t-2 .

1 에서 t-2 까지의 i에서, 아래의 시퀀스를 반복한다. At i through t-2, repeat the sequence below.

- w2/Gi(mod pj) 를 계산하고 상기 결과를 2t-i-1(mod pj)의 거듭제곱을 한다: 그 결과는 +1 또는 -1 이다. 만약 그 결과가 -1 이면, jj = 2i를 계산하고, 그리고나서 w를 wbjj(mod pj)로 치환한다. +1이 얻어지면, 아무것도 하지 않는다. Calculate w 2 / Gi (mod p j ) and multiply the result by 2 ti-1 (mod p j ): the result is +1 or -1. If the result is -1, calculate jj = 2 i , and then replace w with wb jj (mod p j ). If +1 is obtained, do nothing.

계산의 끝에서, 변수 w는 gi 또는 -gi 값을 갖는다. 추가적으로, CG(p) 내의 Gi 랭크는 2t/jj에 의해 나누어지나 2t+1/jj에 의해서는 나누어지지 않는다는 것을 알게되며, 즉 jj는 jj = 2t-u에 의해서 u값을 결정하게 된다. v 가 jj보다 큰 경우, 즉 k > t-u 인 경우, 상기 후보값을 거절하고 다른 후보값으로 간다. v가 jj와 같거나 작다면, 즉 k ≤t-u 라면, 상기 후보값의 계산을 계속한다. At the end of the calculation, the variable w has a value of g i or -g i . In addition, we find that the Gi rank in CG (p) is divided by 2 t / jj, but not by 2 t + 1 / jj, ie jj determines u by jj = 2 tu . If v is greater than jj, i.e., k> tu, the candidate value is rejected and goes to another candidate value. If v is less than or equal to jj, i.e., k &lt; tu, then the calculation of the candidate value is continued.

f 소인수가 생성되면, 공개 계수 n은 f 소인수들 p1,p2,..pf 의 곱이다. 부호가 정해지지 않은 정수 n은 두개의 시퀀스에 의해 표시될 수 있고; 이 시퀀스는 비트의 크기 및 1에서의 연속적인 가장 중요한 비트의 수에 대한 프로그램의 시작에서 부과되는 제한들을 나타낸다. 소인수의 선택은 m 기수들 g1,g2,..gm 각각에 대하여 계수 n의 아래의 성질들을 제공한다. 추가적으로, 식 (1) 및 (2)는 정수 계수 n 의 정수환(ring)에서 x에 관한 해를 갖지 않는다. 둘째로, 식(3)은 정수 계수 n 의 정수환(ring)에서 x에 관한 해를 갖는다. If f prime factors are generated, then the open coefficient n is the product of f prime factors p 1 , p 2 , .. p f . An unsigned integer n can be represented by two sequences; This sequence represents the restrictions imposed at the beginning of the program on the size of the bits and the number of consecutive most significant bits in one. The choice of prime factors provides the following properties of the coefficient n for each of the m bases g 1 , g 2 , .. g m . In addition, equations (1) and (2) do not have a solution with respect to x in the ring of integer coefficients n. Second, equation (3) has a solution for x in the integer ring of integer coefficients n.


요약하면, 1(mod 4) 에 연관된 소인수들은 상호 독립적으로 선택된다.

In summary, the prime factors associated with 1 (mod 4) are chosen independently of each other.

3(mod 4)에 연관된 인수들이 차차 기수들을 고려하는 반면에, 각 1(mod 4)에 연관된 각각의 소인수는 각 기수들에 의해 지시되는 모든 제한들을 고려해야한다. 1(mod 4)에 연관되는 각각의 소인수는, 즉 pf-e 에서 pf 까지의 p 는 아래의 두개의 단계로 된 시험을 성공적으로 거쳐야 한다. Whereas the arguments associated with 3 (mod 4) take into account the gradual order, each prime factor associated with each 1 (mod 4) must take into account all the restrictions dictated by the respective radix. Each prime factor associated with 1 (mod 4), ie p from p fe to p f , must be successfully tested in two steps:

1) 단계(1)은 g1에서 gm 까지의 m 기수들 각각에 대하여 성공적으로 수행되어야 한다. 1) Step (1) must be performed successfully for each of the m radix from g1 to gm.

후보값 p에 관한 현재 기수 g의 르장드르 기호가 계산된다. 아래의 두가지 경우 중의 오직 하나가 발생한다. 즉 기호가 -1과 같으면, 후보값은 거절된다. 그렇지 않으면(기호가 +1이면), 시험은 단계(1)을 따라서 기수 g가 시험을 통과하도록 계속된다. The genre symbol of the current radix g for the candidate value p is calculated. Only one of the following two cases occurs. In other words, if the sign is equal to -1, the candidate value is rejected. Otherwise (if the symbol is +1), the test continues along step (1) for the radix g to pass the test.

후보값이 m 기수들 모두에게 수용되는 경우, 상기 연산은 단계(2)를 거친다.
If the candidate value is acceptable to all m bases, the operation goes to step (2).

2) 단계(2) 는 G1에서 Gm의 m 공개 값 각각에 대하여 성공적으로 수행되어야 한다. 2) Step (2) must be performed successfully for each of the m public values of Gm in G1.

정수 t가 p-1이 2t에 의해 나누어질 수 있도록, 그러나 2t+1에 의해서는 나누어지지 않도록 계산되고, 그리고 나서 정수 s = (p-1+2t)/2t+1 가 계산되고, 키 <s,p> 를 생성한다. 키 <s,p> 는 결과 r을 얻도록 G = g2 에 적용되고, 즉: r ≡Gs(mod p) 이다. 상기 결과에 따라, 아래의 상태 중 오직 하나의 상태가 발생한다. The integer t is calculated so that p-1 can be divided by 2 t , but not by 2 t + 1 , and then the integer s = (p-1 + 2 t ) / 2 t + 1 is calculated And generate keys <s, p>. The key <s, p> is applied to G = g2 to get the result r, that is: r ≡G s (mod p). According to the result, only one of the following states occurs.

a) r이 g 또는 -g 와 같다면, u = 0이고, 상기 후보값의 시험은 단계(2)에서 아래의 공개 값 G를 통과하도록 계속된다. a) If r is equal to g or -g, then u = 0, and the test of the candidate value continues to pass the public value G below in step (2).

b) 그렇지 않으면, 아래의 알고리즘은 두개의 정수 변수들 - 키 <(p-1)/2t,p> 를 CG(p)의 비 이차 잉여에 적용하는 것에 의해서 얻어지는 정수 b 뿐만아니라, r에 의해 초기화 되는 w 및 2 에서 2t-2 사이 값을 취하는 jj - 을 사용하는 것에 있어서, 양수 u는 1 에서 t-2 까지의 값들 중의 하나를 취하도록 계산된다. b) Otherwise, the algorithm below applies to r as well as the integer b obtained by applying two integer variables-the key <(p-1) / 2 t , p> to the non-secondary surplus of CG (p). In using w and jj − taking a value between 2 and 2 t −2 , the positive u is calculated to take one of the values from 1 to t −2.

1에서 t-2까지 범위의 인덱스ii 에서, 아래의 연산이 반복된다. At index ii in the range 1 to t-2, the following operation is repeated.

즉 w2/G(mod p)가 계산되고 키 <(p-1)/2t,p> 는 결과치가 +1 또는 -1 값을 얻도록 적용된다. (그렇지 않으면, 상기 후보값은 소인수가 아니라는 증거가 된다.) 만약 그 결과가 -1 이면, jj = 2ii가 계산되고 c≡bjj 이고, 그리고나서 w는 wc(mod p)로 치환되며, 그리고나서 다음 인덱스 ii 로 통과한다. 만약 +1 이 얻어지면, 다음 인덱스 ii로 통과한다.
That is, w 2 / G (mod p) is calculated and the key <(p-1) / 2 t , p> is applied so that the result gets a +1 or -1 value. (Otherwise, the candidate value is proof that it is not a prime factor.) If the result is -1, jj = 2 ii is calculated and c≡b jj , then w is replaced by wc (mod p), Then pass to the next index ii. If +1 is obtained, then pass to the next index ii.

알고리즘의 끝에서, 변수 jj의 값은 jj = 2t-u 의 관계에 의해 u를 정의하고; 변수 w 내의 값은 G의 제곱근이고, 즉 g 또는 -g 이다. ( 그렇지 않으면, 상기 후 보값이 소인수가 아니라는 증거이다. ) 두가지 경우가 발생한다. At the end of the algorithm, the value of the variable jj defines u by the relationship jj = 2 tu ; The value in the variable w is the square root of G, ie g or -g. (Otherwise, it is evidence that the candidate value is not a prime factor.) Two cases occur.

■만약 t-u < k 이면, 후보값 p 는 G가 발생하는 브랜치(branch)가 충분히 길지 않기 때문에 거절된다. If t-u <k, the candidate value p is rejected because the branch where G occurs is not long enough.

■만약 t-u ≥k 이면, 후보값의 값은 단계(2)를 따라 다음 공개 값 G로 계속 진행된다. If t-u? K, then the value of the candidate value continues to the next published value G following step (2).

후보값이 모든 m 공개 값에 대해 수용가능하면, 이는 1(mod 4)에 연관된 소인수로서 받아들여 진다.
If the candidate value is acceptable for all m public values, it is taken as a prime factor associated with 1 (mod 4).

관련 값들의 계산Calculation of related values

비밀 콤포넌트(component)들을 얻기 위해, 첫째로 일반적인 케이스를 보기전에 두개의 가장 간단하고 가장 최신의 케이스들을 통해 식(3.a)의 모든 해를 계산하자.To get the secret components, first calculate all the solutions of equation (3.a) through the two simplest and most recent cases before looking at the general case.

3(mod 4)에 연관된 각각의 소인수 pj에서, 키 <(pj+1)/4,pj> 는 임의의 이차 잉여의 이차 제곱근을 주게된다. 이러한 것에서부터, 식(3.a)의 해를 계산하기 위해 방법이 추론된다. 즉, In each prime factor pj associated with 3 (mod 4) , the key <(p j +1) / 4, p j > gives the second square root of any secondary surplus. From this, the method is inferred to calculate the solution of equation (3.a). In other words,

sj ≡((pj+1)/4)k(mod(pj-1)/2); 그리고, Qi,j ≡G i sj(mod pj) s j ≡ ((p j +1) / 4) k (mod (p j −1) / 2); And, Q i, j ≡G i sj (mod p j)

이거나 그렇지 않으면 상기와 같은 해의 인버스(mod pj) 이다. 즉,Or otherwise mod pj of the same year. In other words,

sj ≡(pj-1)/2-((pj+1)/4)k(mod(pj-1)/2); 그리고, Qi,j ≡Gi sj(mod pj) 이다. s j ≡ (p j -1) / 2-((p j +1) / 4) k (mod (p j -1) / 2); And Q i, j ≡G i sj (mod p j ).

CG(p) 에서, 단위원(unity)의 오직 두개의 제곱근(즉 +1 및 -1)이 존재하고; 그러므로 식(3.a)에서의 x의 두개의 해이다. 즉 Qi,j 및 pj- Qi,j가 같은 Gi(mod pj)의 제곱이 된다.
In CG (p) there are only two square roots of unity (ie +1 and -1); Therefore, two solutions of x in equation (3.a). That is, Q i, j and p j -Q i, j are the squares of the same G i (mod p j ).

5(mod 8)에 연관된 각각의 소인수 pj 에서, 키 <(pj+1)/4,pj> 는 임의의 홀수 패리티 랭크 성분의 홀수 패리티 랭크 제곱 근을 주게된다. 이러한 것에서부터, 식(3.a)의 해를 계산하기 위해 방법이 추론된다. 즉, In each prime factor pj associated with 5 (mod 8) , the key <(p j +1) / 4, p j > is given the root root of the odd parity rank of any odd parity rank component. From this, the method is inferred to calculate the solution of equation (3.a). In other words,

sj ≡((pj+3)/8)k(mod(pj-1)/4); 그리고, Qi,j ≡G i sj(mod pj) s j ≡ ((p j +3) / 8) k (mod (p j −1) / 4); And, Q i, j ≡G i sj (mod p j)

이거나 그렇지 않으면 상기와 같은 해의 인버스(mod pj) 이다. 즉Or otherwise mod pj of the same year. In other words

sj ≡(pj-1)/4-((pj+3)/8)k(mod(pj-1)/4); 그리고, Qi,j ≡Gi sj(mod pj) 이다.s j ≡ (p j -1) / 4-((p j +3) / 8) k (mod (p j -1) / 4); And Q i, j ≡G i sj (mod p j ).

CG(p) 에서, 단위원(unity)의 오직 네개의 제곱근이 존재하고; 그러므로 식(3.a)에서의 x의 네개의 해이다. 5(mod 8)에 연관된 p에 관한 2의 르장드르 기호가 -1과 같기 때문에 2(pj-1)/4(mod pj) 는 -1의 제곱근이 된다는 것을 주의해야 한다. 만약 Qi,j 가 하나의 해라면, Qi,j의 (mod pj)와 -1의 제곱근과의 곱과 같이, pj - Qi,j는 다른 해가 된다. In CG (p) there are only four square roots of unity; Therefore, the four solutions of x in equation (3.a). Note that 2 (pj-1) / 4 (mod p j ) is the square root of -1 because the 2nd genre de sign for p associated with 5 (mod 8) is equal to -1. If Q i, j is a solution, then p j -Q i, j is another solution, as is the product of (mod pj) of Q i, j and the square root of -1.

2t+1(mod 2t+1) 과 연관되는 소인수 pj에서, 키 <(pj-1+2t)/2t+1,p j> 는 임의 의 홀수 패리티 랭크 성분의 홀수 패리티 제곱근을 주게된다. 그러므로 식(3.a)의 해를 계산할 수 있게된다. In the prime factor pj associated with 2t + 1 (mod 2t + 1) , the key <(p j -1 + 2 t ) / 2 t + 1 , p j > gives the odd parity square root of any odd parity rank component. . Thus, the solution of equation (3.a) can be calculated.

- 키 <sj,pj>를 생성하기 위해, 첫째로 정수 sj ≡((pj-1+2 t)/2t+1)k(mod(pj-1)/2t)를 계산한다. To generate the key <s j , p j >, firstly the integer s j ≡ ((p j -1 + 2 t ) / 2 t + 1 ) k (mod (p j -1) / 2 t ) Calculate

- 키 <(pj-1+2t)/2t+1,pj> 가 Gi를 gi 또는 -gi로 변환할 때, Gi의 랭크는 CG(p)의 홀수 패리티 값(u = 0)이 된다. 그리고 나서, 키 <sj,pj> 는 Gi를 z 로 변환한다. 즉 이는 식(3.a)의 홀수 패리티 랭크 해가 된다. t 및 k 의 값에 따라, 여전히 하나 또는 그 이상의 브랜치(branch)들에서의 min(2k-1,2t-1)의 다른 해가 존재한다. z2의 브랜치는 다른 해를 끌어낸다: 즉 이는 pj-z 이다 t ≥2 인 경우, z4 의 브랜치는 두개의 다른 해이다: 즉 이는 -1의 두개의 제곱근 각각과 z와의 곱이고, 단위원(unity)의 두개의 원시 네번째 근(primitive fourth roots)들 각각을 말한다. When the key <(p j -1 + 2 t ) / 2 t + 1 , p j > converts G i to g i or -g i , the rank of G i is the odd parity value of CG (p) ( u = 0). Then, the key <s j , p j > converts G i to z. This is the odd parity rank solution of equation (3.a). Depending on the value of t and k, there is still another solution of min (2 k −1,2 t −1) in one or more branches. The branch of z 2 derives another solution: that is p j -z If t ≥2, the branch of z 4 is two different solutions: that is, the product of z square root of -1 and z, Each of the two primitive fourth roots of the unitity.

만약 y가 CG(p)의 비 이차 잉여(non-quadratic residue)인 경우, y(pj-1)/4(mod pj) 는 -1의 제곱근이다. 일반적으로, 1에서 min(k,t) 까지의 각 값들의 i개의 선택에서, z의 2i번째 거듭제곱의 브랜치는 2i-1개의 해를 갖는다: 즉 이들은 단위원(unity)의 2i-1 개의 원시 2i번째 근(primitive fourth roots)들 각각과 z의 (mod pj)의 곱이다. If y is a non-quadratic residue of CG (p), y (pj-1) / 4 (mod pj) is the square root of -1. In general, in the i selection of values from 1 to min (k, t), the branch of the 2 i th power of z has 2 i-1 solutions: that is, 2 i of the unit circle. the product of -1 of raw 2 i-th root (fourth primitive roots) of (mod p j) of each and z.

만약 y가 CG(p)의 비 이차 잉여(non-quadratic residue)인 경우, y의 (pj-1)/2i의 거듭제곱은 c라고 부르는 2i번째 원시 근(primitive fourth roots)이다. 단위원(unity)의 2i-1번째 에서 2i번째 원시 근(primitive fourth roots)은 c의 홀수 패리트 거듭제곱이다: 즉 c, c3(mod pj), c5(mod pj),...,

Figure 112006069098631-pct00006
(mod pj)이다.If y is a CG (p) a secondary non-redundant (non-quadratic residue) of the case, the y (p j -1) / 2 i 2 i -th raw near-power is called the c (fourth primitive roots) of. The 2 i-1 to 2 i primitive fourth roots of the unitity are the odd parit powers of c: c, c 3 (mod pj), c 5 (mod pj), and so on. ..,
Figure 112006069098631-pct00006
(mod pj).

- 키 <(pj-1+2t)/2t+1,pj> 가 Gi를 gi 및 -gi 가 아닌 정수 r로 변환할 때, Gi의 랭크는 CG(p)의 짝수 패리티 값(u > 0)이 된다. 그리고 나서, Gi가 상당히 긴 브랜치에 위치하면, 즉 t ≥k + u 이면, Gi가 위치하는 브랜치에 2k개의 해가 존재한다. 2k 번째의 근을 계산하기 위하여, 상술한 제곱 근 계산 알고리즘을 k 랭크(rank)번 만큼 반복하는 것으로 충분하고, 해 z에 가까운 연속적인 결과의 제곱근을 계산할 수 있게 된다. 이러한 계산은 물론 2k 번째의 근에 직접적으로 접근하도록 최적화될 수 있고 그리고 나서 해 z를 얻기위한 단일 연산에서의 2k 번째의 근의 추정을 조정하는 것이 가능하다. 다른 모든 해를 얻기 위하여, y가 CG(pj)의 비이차 잉여인지가 유의하여야 하고, 그리고나서 y의 (pj-1)/2k 거듭제곱이 d라고 부르는 단위원(unity)의 2k 번째의 원시 근이 된다. 단위원의 2k2k번째 근들은 d의 연속적인 거듭제곱이다: 즉 d, d2(mod pj), d3(mod pj),...,

Figure 112006069098631-pct00007
(mod pj)이고,
Figure 112006069098631-pct00008
(mod pj)가 1과 같다. Gi가 위치한 브랜치에서의 2k 해는 이러한 근들 각각에서 z의 (mod pj)의 곱들이다. The key <(p j -1 + 2 t ) / 2 t + 1, p j> is the conversion to the G i and g i i -g integer r not the rank of G i is CG (p) - An even parity value (u> 0) is obtained. Then, if Gi is located in a fairly long branch, i.e. t> k + u, there are 2 k solutions in the branch where Gi is located. In order to calculate the 2 k th root, it is sufficient to repeat the above-mentioned square root calculation algorithm by k rank times, and the square root of successive results close to solution z can be calculated. This calculation can of course be optimized to directly access the 2 k th root and then it is possible to adjust the 2 k th root estimate in a single operation to obtain the solution z. To get all other solutions, it should be noted that y is the non-secondary surplus of CG (p j ), and then 2k of the unitity of (p j -1) / 2 k powers of y called d. First primitive root. The 2 k 2 k th roots of the unit circle are successive powers of d: d, d 2 (mod pj), d 3 (mod pj), ...,
Figure 112006069098631-pct00007
(mod pj),
Figure 112006069098631-pct00008
(mod pj) is equal to one. The 2 k solution at the branch where G i is located is the product of (mod p j ) of z in each of these roots.

요약하면, 알려진 k,t 및 u를 가지고, 소인수 p 및 기수 g에 대한 콤포넌트(component)를 계산하기 위해, 아래의 방식이 사용된다: 즉,In summary, to calculate the components for prime factors p and base g with known k, t and u, the following scheme is used:

1) 정수가 계산된다: 즉, 키 <s,p> 를 계산하기 위하여 1) An integer is calculated: ie to calculate the key <s, p>

s ≡(p-1+2t)/2t+1)k(mod(p-1)/2t) 를 계산한다. 그리고나서, 키 <s,p> 는 z ≡Gs(mod p)를 얻기 위하여 G에 적용된다. u 값에 따라서, 단계(2) 또는 단계(3)으로 통과하게 된다.Calculate s ≡ (p-1 + 2 t ) / 2 t + 1 ) k (mod (p-1) / 2 t ). Then, the key <s, p> is applied to G to obtain z ≡ G s (mod p). Depending on the u value, it passes to step (2) or step (3).

2) u = 0 이면, z는 식(3.a)의 홀수 패리티 해이다. 여전히 min(2k-1,2t-1)개의 다른 짝수 패리티 랭크 해가 하나 또는 그 이상의 브랜치들 위에 있고, 매우 정확히는 min(k,t) 개의 다른 브랜치들에 있다. 1에서 min(k,t) 까지의 i 범위에서, z의 2i번째의 거듭제곱은 2i-1개의 해를 가지고 있다: 즉, 이들은 각각의 단위원의 2i-12i번째 원시 근(primitive roots of unity)과 z의 (mod p)와의 곱이다. 식 (3.a)의 일반적인 해는 zz로 표시한다. 상기 연산은 단계(4)로 이어진다. 2) If u = 0, then z is the odd parity solution of equation (3.a). There are still min (2 k −1,2 t −1) other even parity rank solutions above one or more branches, and very precisely min (k, t) other branches. In the i range of 1 to min (k, t), the 2 i th power of z has 2 i-1 solutions: that is, they are the 2 i-1 2 i th primitive roots of each unit circle. The product of (primitive roots of unity) and (mod p) of z. The general solution of equation (3.a) is represented by zz. The operation continues with step (4).

3) u > 0 이면, 식(3.a)의 모든 해는 짝수 패리티 해이다. 2k개의 해들이 있고 G가 위치하는 브랜치 내에 모두 존재하고; 즉, t-u ≥k 이다. 해를 계산하기 위하여, 아래의 알고리즘은 - 키 <(p-1)/2t,p> 를 CG(p)의 비 이차 잉여에 적용하는 것에 의해서 얻어지는 정수 b 뿐만아니라, z에 의해 초기화 되는 w 및 2 에서 2t-2 사이 값을 갖는 jj 인 - 두개의 변수들을 사용한다. 3) If u> 0, then all solutions in equation (3.a) are even parity solutions. There are 2 k solutions and all are in the branch where G is located; That is, tu ≥ k. To compute the solution, the algorithm below is initialized by z as well as the integer b obtained by applying the key <(p-1) / 2 t , p> to the non-secondary surplus of CG (p) And jj with a value between 2 and 2 t-2 .

아래의 시퀀스는 k 랭크 횟수만큼 반복된다. The following sequence is repeated by the number of k ranks.

1 에서 t-2 까지의 인덱스 ii 범위에서, 아래의 연산이 반복된다: 즉 w2/G(mod p)가 계산되고 키 <2t-ii-1,p> 는 결과치가 +1 또는 -1 값을 얻도록 적용된다. (그렇지 않으면, 상기 후보값은 소수가 아니라는 증거가 된다.) 만약 그 결과가 -1 이면, jj = 2ii가 계산되고, c≡bjj 이고, 그리고나서 w는 wc(mod p)로 치환되며, 그리고나서 다음 인덱스 ii 로 통과한다. 만약 +1 이 얻어지면, 다음 인덱스 ii로 통과한다. In the range of index ii from 1 to t-2, the following operation is repeated: i.e. w 2 / G (mod p) is calculated and the key <2 t-ii-1 , p> has a result of +1 or -1 Applied to get the value. (Otherwise, the candidate value is proof that it is not a prime number.) If the result is -1, jj = 2 ii is calculated, c≡b jj , and then w is replaced by wc (mod p). , And then pass to the next index ii. If +1 is obtained, then pass to the next index ii.

알고리즘의 끝에서, 변수 w는 za 값을 갖는다. G가 위치하는 브랜치에서의 2k 개의 해는 단위원의 2k번째 근 각각과 za의 (mod p)와의 곱이 된다. 식(3.a)의 일반해는 zz로 표시된다. 상기 연산은 단계(4)로 넘어간다. At the end of the algorithm, the variable w has a za value. The 2 k solutions in the branch where G is located are the product of each of the 2 kth roots of the unit circle and (mod p) of za. The general solution of equation (3.a) is represented by zz. The operation goes to step (4).

4) 알려진 zz와 함께, 성분 값은 그로부터 추론된다: 즉, 식 GQv≡1(mod n)이 사용될 때 zz 계수(modulo) p 의 인버스 값이고, 식 G ≡Qv (mod n)가 사용될 때 zz 값이다. 4) With known zz, the component value is deduced therefrom: that is, the inverse value of the zz modulo p when the equation GQ v ≡1 (mod n) is used, and the equation G ≡Q v (mod n) is used. When the zz value.

주의. 비밀 콤포넌트들 및 비밀 값들을 얻기위한 다양한 방법들이 있다. f 콤포넌트들의 집합이 알려져 있다면, 즉 주어진 기수들의 f 콤포넌트들에서, 차이니스 잉여 기법(Chinese remainder technique)이 그와 일치하는 비밀 값을 계산하기 위하여 사용된다. 주어진 공개 값 G 및 계수 n 에서, 많은 가능한 비밀 값들 Q를 갖는 것이 가능하다는 것을 볼 수 있다. n이 3(mod 4)에 연관되는 두개의 소인수들의 곱일 때, 그들 중 4개가 존재하고; n이 3(mod 4)에 연관되는 세개의 소인수들의 곱일 때, 그들 중 8개가 존재하고; n이 3(mod 4)에 연관되는 두개의 소인수들 및 5(mod 8)에 연관되는 하나의 소인수의 곱일 때, 그들 중 16개가 존재한다. 이러한 다수개의 값들의 사용은 GQ2 를 사용하는 칩카드(chip card)의 전기적인 소비의 분석에 의한 어택(attack)들을 복잡하게 할 수 있다. Caution There are various ways to obtain secret components and secret values. If a set of f components is known, i.e. at f components of a given radix, the Chinese remainder technique is used to calculate the corresponding secret value. It can be seen that at a given publication value G and coefficient n, it is possible to have many possible secret values Q. when n is the product of two prime factors associated with 3 (mod 4), there are 4 of them; when n is the product of three prime factors associated with 3 (mod 4), there are eight of them; When n is the product of two prime factors associated with 3 (mod 4) and one prime factor associated with 5 (mod 8), there are 16 of them. The use of these multiple values can complicate the attacks by analyzing the electrical consumption of the chip card using GQ2.

t가 증가할 때, 프로그램은 점점더 드문 경우들로 복잡하게 된다. 즉, 소수들은 아래와 같은 평균값들로 분배된다: 즉, 두개중의 하나에서 t=1, 넷중의 하나에서 t=2, 여덟 중의 하나에서 t=3 등이다. 추가적으로, m 기수들에 의한 제한들은 후보값들이 점점더 수용할 수 없게 만든다. 경우가 어떠하든, 조합된 모듈리(moduli)는 확실하게 GQ2 기법의 일부를 형성하고; GQ2 계수의 형태는 동적 인증성 및 디지탈 서명 프로토콜(protocol)들에 영향을 준다. As t increases, the program becomes more and more complicated in rare cases. That is, the prime numbers are divided by the following average values: t = 1 in one of the two, t = 2 in one of the four, t = 3 in one of the eight, and so on. In addition, the limitations by the m radix make the candidate values increasingly unacceptable. In any case, the combined moduli certainly form part of the GQ2 technique; The form of the GQ2 coefficients affects dynamic authentication and digital signature protocols .

도 3은 9(mod 16)과 연관된 소인수 p를 가진 사이클 내에서 Gi = gi 2 를 도시 하고, 즉 k ≥3 뿐만아니라 t=3, u=0 이다. FIG. 3 shows G i = g i 2 in a cycle with a prime factor p associated with 9 (mod 16), ie t = 3, u = 0 as well as k ≧ 3.

b ≡

Figure 112001018742456-pct00009
b ≡
Figure 112001018742456-pct00009

b8 ≡1(mod p)b 8 ≡1 (mod p)

b4 ≡-1(mod p)b 4 ≡-1 (mod p)

라는 것을 유의해야 한다. It should be noted that

도 4는 65(mod 128)과 연관된 소인수 p를 가진 사이클 내에서 Gi = gi 2 를 도시하고, 즉 k = 4 및 u = 2 일뿐만아니라 t=6 이다. FIG. 4 shows G i = g i 2 in a cycle with prime factor p associated with 65 (mod 128), ie k = 4 and u = 2 as well as t = 6.

k = 6 , v = 64, m = 3, 세개의 기수:g1 = 3, g2 = 5, g3 = 7, 및 f = 3 를 가진, 즉 세개의 소인수를 가진 계수:3(mod 4)와 연관된 두개 및 5(mod 8)과 연관된 하나를 가진 GQ2 의 키들의 첫번째 조합이 있다. g = 2 는 5(mod 8)에 연관된 소인수와 양립할 수 없다. k = 6, v = 64, m = 3, three bases: g 1 = 3, g 2 = 5, g 3 = 7, and f = 3, that is, a factor with three prime factors: 3 (mod 4 There is a first combination of keys of GQ2 with two associated with) and one associated with 5 (mod 8). g = 2 is not compatible with the prime factors associated with 5 (mod 8).

Figure 112001018742456-pct00010
Figure 112001018742456-pct00010

Figure 112001018742456-pct00011

Figure 112001018742456-pct00011

아래의 것은 5(mod 8) 과 연관된 p3에 관련된 성분의 다른 가능한 값이다.
Below are other possible values of the component related to p3 associated with 5 (mod 8).

아래는 CG(p) 내에서의 -1의 제곱근이다: 즉, c = 2(p3-1)/4(mod p3)=Below is the square root of -1 in CG (p): c = 2 (p3-1) / 4 (mod p 3 ) =

Figure 112001018742456-pct00012

Figure 112001018742456-pct00012

Figure 112001018742456-pct00013
Figure 112001018742456-pct00013

아래는 GQ2 키들의 두번째 세트이고, 이는 k=9, v=512, m=2, 및 두개의 기수들이 g1=2 및 g2=3 , 그리고 f=3 이며, 3(mod 4)에 연관되는 세개의 소인수들을 제공한다. Below is the second set of GQ2 keys, which are k = 9, v = 512, m = 2, and the two radixes g1 = 2 and g2 = 3, and f = 3, three associated with 3 (mod 4) Gives the prime factors of.

Figure 112001018742456-pct00014

Figure 112001018742456-pct00014

본 발명은 GQ2 키의 세트를, 즉 지수 v가 2k와 같은, 모듈리(moduli) n 및 공개 및 비밀 값 G 및 Q 각각의 쌍들을, 생성하는 방법을 기술한다. 이러한 키들의 세트는 엔티티의 인증성, 및/또는 메시지의 무결성 및/또는 인증성을 검증하도록 구성된 방법을 사용한다. The present invention describes a method for generating a set of GQ2 keys, ie, pairs of moduli n and public and secret values G and Q, each with an index v equal to 2k . This set of keys uses a method configured to verify the authenticity of an entity and / or the integrity and / or authenticity of a message.

프랑스 텔레콤, TDF 와 Mathrizk사가 출원하고 발명자는 Louis Guillou 및 Jean-Jacques Quisquater인 본 출원과 동일자로 출원된 출원에서, 엔티티의 인증성, 및/또는 메시지의 무결성 및/또는 인증성을 검증하도록 구성된 방법, 시스템, 및 장치들이 청구되어 있다. 이러한 두개의 출원은 여기에서 참고적으로 구체화된다. In an application filed by French Telecom, TDF and Mathrizk, and filed on the same day as the inventor of the invention, Louis Guillou and Jean-Jacques Quisquater, the method is configured to verify the authenticity of the entity and / or the integrity and / or authenticity of the message. , Systems, and devices are claimed. These two applications are incorporated herein by reference.

Claims (24)

삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 비대칭적인 암호키를 생성하는 시스템에서, 상기 키는 m≥1인 비밀값 Q1,Q2,...,Qm 및 m개 각각의 공개값 G1,G2,...,Gm 을 포함하고, 상기 시스템은:In a system that produces an asymmetric cryptographic key, the key is a secret value Q 1 , Q 2 , ..., Q m and m public values G 1 , G 2 , ..., G m with m≥1. The system includes: 프로세서(processor); 및A processor; And 상기 프로세서가 다음 순서에 따라 실행되도록 하기 위해 실행되는 명령어의 세트를 저장하는 상기 프로세서에 결합된 기억장치를 포함하고, 상기 프로세서가 실행되는 순서는:A storage device coupled to the processor that stores a set of instructions that are executed to cause the processor to be executed in the following order, the order in which the processor is executed: 1보다 큰 정수인 보안 파라미터 k를 선택하는 단계;Selecting a security parameter k that is an integer greater than one; 적어도 두 개의 소인수 p1,p2,...,pf의 곱과 같은 공개 정수이고, 상기 소인수 중 적어도 두 개의 소인수를 p1 과 p2 라고 하면 p1 ≡ 3 mod 4 그리고 p2 ≡ 3 mod 4 와 같이 되는, 계수 n을 검사하는 단계;Is a public integer equal to the product of at least two prime factors p 1 , p 2 , ..., p f , and at least two prime factors of the prime factors p 1 and p 2 are p 1 ≡ 3 mod 4 and p 2 ≡ 3 checking the coefficient n, which becomes equal to mod 4; 각각의 기수 gi(i=1,2,...,m 일 때)는 1보다 큰 정수이고 정수환을 계수 n으로 나눈 2차가 아닌 나머지이며, 상기 기수 중 하나에 대하여 p2가 p1에 상보적인 것과 같은, m 개의 기수 g1,g2,...,gm을 선택하는 단계;Each radix g i (when i = 1,2, ..., m) is an integer greater than 1 and is the remainder of the integer divisor divided by the coefficient n, with p 2 equaling p 1 for one of the radix. Selecting m radix g 1 , g 2 , ..., g m , as complementary; i=1,2,...,m일 때 Gi≡gi 2 mod n 에 의해 상기 공개값 Gi를 계산하는 단계; 및when i = 1,2, ..., m G i ≡g i 2 calculating the public value G i by mod n; And i=1,2,...,m일 때 공개 지수 v는 v = 2k 와 같고 Gi.Qi v ≡1 mod n 또는 Gi ≡Qi v mod n 의 식 중 하나에 의해 상기 비밀값 Qi를 계산하는 단계로 이루어지는 비대칭적인 암호키를 생성하는 시스템.When i = 1,2, ..., m, the open index v is equal to v = 2 k and G i .Q i v ≡1 mod n or G i ≡Q i v A system for generating an asymmetric cryptographic key comprising the step of calculating the secret value Q i by one of the formulas: 제13항에 있어서, The method of claim 13, 상기 시스템은, 그 중에 3 mod 4와 합동인 상기 계수 n의 소인수의 숫자(f-e) (여기에서 e≥0)는 2보다 크며, 3 mod 4와 합동인 상기 소인수 pj+1 (2≤j≤m 일 때)는:The system is characterized in that the number of prime factors (fe) (where e ≧ 0) of the coefficient n congruent with 3 mod 4 is greater than 2, and the prime factors p j + 1 congruent with 3 mod 4 (2 ≦ j When ≤m) 상기 소인수 p1,p2,...,pf에 대한 gj의 프로파일인 Profilej(gj)가 계산되는 단계, 및Calculating Profile j (g j ), which is a profile of g j for the prime factors p 1 , p 2 ,..., P f , and 만일 Profilej(gj)이 플랫(flat)하다면, 이후 상기 소인수 pj+1는 gj에 대하여 pj+1가 p1에 상보적인 것과 같이 선택되고; 그렇지 않으면, 숫자 g는 (j-1)개의 기수 g1,g2,...,gm 및 그들의 모든 승산 조합 중에서 선택되고, Profile(gj)은 Profilej(gj)과 같으며, 이후 pj+1는 Profilej+1(gj)과 Profilej(g)이 같지 않도록 선택되고, 여기에서 3 mod 4와 합동인 상기 마지막 소인수 Pf-e는, f-e≤m인 경우, f-e≤i≤m 이고 그것의 프로파일 Profilef-e-1(gi)이 플랫한 것과 같은 상기 모든 기수 gi에 대하여 Pf-e가 P1에 상보적인 것과 같이 선택되는 단계에 따라 반복적으로 검사되는 것을 특징으로 하는 비대칭적인 암호키를 생성하는 시스템.If Profile j (g j ) is flat, then the prime factor p j + 1 is selected such that p j + 1 is complementary to p 1 for g j ; Otherwise, the number g is selected from (j-1) radix g 1 , g 2 , ..., g m and all their multiplication combinations, where Profile (g j ) is equal to Profile j (g j ), Then p j + 1 is chosen such that Profile j + 1 (g j ) and Profile j (g) are not equal, where the last prime factor P fe congruent with 3 mod 4 is fe ≦ m, where fe ≦ m An asymmetry characterized in that for every radix g i such that m and its profile Profile fe-1 (g i ) is flat, P fe is checked repeatedly according to the selected step as complementary to P 1 System for generating a cryptographic key. 제13항에 있어서, The method of claim 13, 상기 시스템은, 그 중에 1 mod 4 와 합동인 상기 계수 n의 소인수의 숫자 e는 적어도 1과 같고, 그리고 각각의 상기 소인수는 다음 단계에 따라 검사되는데:The system wherein the number e of the prime factors of the coefficient n, congruent with 1 mod 4, is equal to at least 1, and each of the prime factors is examined according to the following steps: p에 대한 각각의 기수 gi(i=1,2,...,m일 때)의 르장드르 기호(Legendre symbol)가 +1과 같도록 소수 후보값 p가 선택되고,The prime candidate value p is selected such that the Legendre symbol of each radix g i for p (when i = 1,2, ..., m) is equal to +1, p-1이 2t에 의해 나누어지고 2t+1에 의해서는 나누어지지 않도록 정수 t가 계산되고,p-1 a is a constant t is calculated so as not to divide by 2 t + 1 is divided by 2 t, 정수 s가 s=(p-1+2t)/2t+1 이 되도록 계산되고,The integer s is calculated such that s = (p-1 + 2 t ) / 2 t + 1 , h가 정수환을 계수 p로 나눈 2차가 아닌 나머지일 때 정수 b는 b≡
Figure 112006069098631-pct00024
mod p 이 되도록 계산되고,
When h is the remainder of the integer not divided by the coefficient p, the integer b is b≡
Figure 112006069098631-pct00024
is calculated to be mod p,
i=1,2,...,m 일 때 정수 m은 ri≡gi 2s 이 되도록 계산되고,When i = 1,2, ..., m the integer m is calculated to be r i ≡g i 2s , 정수 u는 0의 값을 갖도록 초기화되고,The integer u is initialized to have a value of 0, 다음 일련의 단계들은 i가 1의 값을 갖도록 초기화된 경우에 반복적으로 이행되는데:The following series of steps are repeated if i is initialized to have a value of 1: 정수 w는 w=ri의 값을 갖도록 초기화되고,The integer w is initialized to have a value of w = r i , 만일 ri=±gi라면, i의 값은 증가되고 i<m 인 경우 상기 새로운 i의 값에 의한 일련의 단계가 계속되고, 다른 한편으로 i=m 인 경우 상기 후보 소수 값 p는 상기 계수 n의 인수로서 인정되고,If r i = ± g i , the value of i is increased and a series of steps by the new value of i is continued if i <m, on the other hand the candidate fractional value p is i the coefficient is recognized as an argument of n, 만일 ri≠±gi 라면,If r i ≠ ± g i , 정수 jj는 1의 값을 갖도록 초기화되고,The integer jj is initialized to have a value of 1, 다음 일련의 단계들이 정수 jj가 1로 초기화된 경우에 반복적으로 이행되는데:The following series of steps are performed repeatedly if the integer jj is initialized to 1: x≡w2/gi 2 mod p 가 계산되고,x≡w 2 / g i 2 mod p is calculated, y≡
Figure 112006069098631-pct00025
mod p 가 계산되고, 그리고
y≡
Figure 112006069098631-pct00025
mod p is calculated, and
y=+1이라면, 상기 일련의 과정은 현재 ii 값에서 종료되고,If y = + 1, the series of processes ends at the current value of ii, y=-1이라면, jj는 jj=2ii인 값이 할당되고, 상기 숫자 w는 bjj 계수(modulo) p를 곱한 기존 값과 같은 새로운 값이 할당되고, 그리고If y = -1, jj is assigned a value of jj = 2 ii , and the number w is assigned a new value equal to the existing value multiplied by the b jj modulo p, and ii<t-2 인 동안, 상기 ii 값은 증가되고 새로운 반복과정이 새로운 ii 값에 대해 반복되고,while ii <t-2, the ii value is increased and a new iteration is repeated for the new ii value, ii=t-2 이면, 숫자 u의 값은 jj=2t-u 에 따라서 갱신되고, 그리고If ii = t-2, the value of the number u is updated according to jj = 2 tu , and 만일 t-u<k 이면, 상기 후보 소수 값 p는 상기 계수 n의 인수에서 거절당하고,If t-u <k, the candidate fractional value p is rejected in the factor of the coefficient n, 만일 t-u>k 이면, 상기 i의 값은 증가되고 i<m 인 경우 상기 새로운 i의 값에 의한 일련의 단계가 계속되고, 다른 한편으로 i=m 인 경우 상기 후보 소수 값 p는 상기 계수 n의 인수로서 인정되는 것으로 이루어지는 것을 특징으로 하는 비대칭적인 암호키를 생성하는 시스템.If tu> k, the value of i is increased and a series of steps by the new value of i is continued if i <m, on the other hand the candidate fractional value p is i of the coefficient n A system for generating an asymmetric cryptographic key, characterized by consisting of what is recognized as an argument.
제15항에 있어서, The method of claim 15, 상기 시스템은, 그 중에 상기 비밀값 Q1,Q2,...,Qm fㆍm 개의 비밀 요소(component) Qi,j 를 계산하기 위해, 각각의 쌍 (i,j)에 대해 다음의 단계들이 이행되는데:The system includes, among them, the secret values Q 1 , Q 2 ,. In order to compute the f · m secret components Q i, j the following steps are carried out for each pair (i, j): 만일 pj가 3 mod 4와 합동이라면 1과 같도록 그리고 만일 Pj가 1 mod 4와 합동이라면 제15항에 따라 상기 t를 위한 값이 정해지도록 정수 t가 검사되고,The integer t is checked to equal 1 if p j is congruent to 3 mod 4 and to determine the value for t according to claim 15 if P j is congruent to 1 mod 4, 만일 pj가 3 mod 4와 합동이라면 0과 같도록 그리고 만일 Pj가 1 mod 4와 합동이라면 제15항에 따라 상기 u를 위한 값이 정해지도록 정수 u가 검사되고,The integer u is checked so that if p j is congruent with 3 mod 4 and equals 0 and if P j is congruent with 1 mod 4 the integer u is checked to determine the value for u according to claim 15, s=(p-1+2t)/2t+1일 때, z≡Gi s 가 되도록 정수 z의 값이 계산되고, When s = (p-1 + 2 t ) / 2 t + 1 , the value of the integer z is calculated such that z≡G i s , 모든 숫자들 zz가 아래와 같이 고려되는데:All numbers zz are considered as follows: 만일 u=0이면, i가 1 부터 k,t의 최소값(min(k,t)) 사이의 범위를 갖는 값일 때, zz=z와 같이 또는 각각 2ii-1, 2ii 지수승을 하면 1이 되는 z(root of unity)의 계수(modulo) pj의 곱과 같은 zz이고,If u = 0, then i is a value in the range from 1 to the minimum value of k, t (min (k, t)), then the exponential power is equal to zz = z or 2 ii-1 , 2 ii , respectively. Zz equal to the product of the modulo p j of z (root of unity), 만일 u>0이면, za가 제15항에 따른 w에 대해 정해지는 값일 때, 각각 2k, 2k 지수승을 하면 1이 되는 za의 계수(modulo) pj의 곱과 같은 zz이고, 그리고If u> 0, when za is a value determined for w according to claim 15, zz equals the product of the modulo p j of za, which is 1 when 2 k and 2 k exponential powers are respectively, and 각각의 숫자 zz에 대해, 만일 Gi≡Qi v mod n 의 식이 사용되면 요소 Qi,j에 대한 값은 Qi,j가 zz와 같은 값을 갖도록 정해지고, 또는 만일 GiㆍQi v≡1 mod n 의 식이 i값에 대해 사용되면 zz 계수(modulo) pj의 역과 같은 값을 갖도록 정해지는 특징을 갖는 비대칭적인 암호키를 생성하는 시스템.For each of a number zz, ten thousand and one G i v i ≡Q When using the expression mod n value of the element Q i, j is Q i, j is determined so as to have the same value as the zz, or if G i and Q i v A system for generating an asymmetric cryptographic key having a characteristic that is determined to have a value equal to the inverse of the zz modulo pj when an expression of ≡1 mod n is used for the value of i. 비대칭적인 암호키를 생성하기 위한 명령어를 저장하는 컴퓨터로 판독가능한 저장 매체에 있어서, 상기 키는 m≥1인 비밀값 Q1,Q2,...,Qm 및 m개 각각의 공개값 G1,G2,...,Gm 을 포함하고, 프로세서가 다음 순서:A computer-readable storage medium storing instructions for generating an asymmetric cryptographic key, wherein the key is a secret value Q 1 , Q 2 , ..., Q m and m public values G, each of m≥1. 1 , G 2 , ..., G m , with the following order: 1보다 큰 정수인 보안 파라미터 k를 선택하는 단계;Selecting a security parameter k that is an integer greater than one; 적어도 두 개의 소인수 p1,p2,...,pf의 곱과 같은 공개 정수이고, 상기 소인수 중 적어도 두 개의 소인수를 p1 과 p2 라고 하면 p1 ≡ 3 mod 4 그리고 p2 ≡ 3 mod 4 와 같이 되는, 계수 n을 검사하는 단계;Is a public integer equal to the product of at least two prime factors p 1 , p 2 , ..., p f , and at least two prime factors of the prime factors p 1 and p 2 are p 1 ≡ 3 mod 4 and p 2 ≡ 3 checking the coefficient n, which becomes equal to mod 4; 각각의 기수 gi(i=1,2,...,m 일 때)는 1보다 큰 정수이고 정수환을 계수 n으로 나눈 2차가 아닌 나머지이며, 상기 기수 중 하나에 대하여 p2가 p1에 상보적인 것과 같은, m 개의 기수 g1,g2,...,gm을 선택하는 단계;Each radix g i (when i = 1,2, ..., m) is an integer greater than 1 and is the remainder of the integer divisor divided by the coefficient n, with p 2 equaling p 1 for one of the radix. Selecting m radix g 1 , g 2 , ..., g m , as complementary; i=1,2,...,m일 때 Gi≡gi 2 mod n 에 의해 상기 공개값 Gi를 계산하는 단계; 및when i = 1,2, ..., m G i ≡g i 2 calculating the public value G i by mod n; And i=1,2,...,m일 때 공개 지수 v는 v = 2k 와 같고 Gi.Qi v ≡1 mod n 또는 Gi ≡Qi v mod n 의 식 중 하나에 의해 상기 비밀값 Qi를 계산하는 단계의 순서에 따라 실행되도록 하기 위해 실행되는 명령어를 저장하는 컴퓨터로 판독가능한 저장 매체.When i = 1,2, ..., m, the open index v is equal to v = 2 k and G i .Q i v ≡1 mod n or G i ≡Q i v A computer readable storage medium storing instructions executed to be executed in accordance with the order of calculating the secret value Q i by one of the formulas n mod n. 제17항에 있어서,The method of claim 17, 상기 명령어를 저장하는 컴퓨터로 판독가능한 저장 매체는, 그 중에 3 mod 4와 합동인 상기 계수 n의 소인수의 숫자(f-e) (여기에서 e≥0)는 2보다 크며, 3 mod 4와 합동인 상기 소인수 pj+1 (2≤j≤m 일 때)는:A computer-readable storage medium storing the instructions, wherein the number fe (where e≥0) of the prime factor n of the coefficient n, which is congruent with 3 mod 4, is greater than 2 and said congruent with 3 mod 4 The prime factor p j + 1 (when 2≤j≤m) is: 상기 소인수 p1,p2,...,pf에 대한 gj의 프로파일인 Profilej(gj)가 계산되는 단계, 및Calculating Profile j (g j ), which is a profile of g j for the prime factors p 1 , p 2 ,..., P f , and 만일 Profilej(gj)이 플랫(flat)하다면, 이후 상기 소인수 pj+1는 gj에 대하여 pj+1가 p1에 상보적인 것과 같이 선택되고; 그렇지 않으면, 숫자 g는 (j-1)개의 기수 g1,g2,...,gm 및 그들의 모든 승산 조합 중에서 선택되고, Profile(gj)은 Profilej(gj)과 같으며, 이후 pj+1는 Profilej+1(gj)과 Profilej(g)이 같지 않도록 선택되고, 여기에서 3 mod 4와 합동인 상기 마지막 소인수 Pf-e는, f-e≤m인 경우, f-e≤i≤m 이고 그것의 프로파일 Profilef-e-1(gi)이 플랫한 것과 같은 상기 모든 기수 gi에 대하여 Pf-e가 P1에 상보적인 것과 같이 선택되는 단계에 따라 반복적으로 검사되는 것을 특징으로 하는 컴퓨터로 판독가능한 저장 매체.If Profile j (g j ) is flat, then the prime factor p j + 1 is selected such that p j + 1 is complementary to p 1 for g j ; Otherwise, the number g is selected from (j-1) radix g 1 , g 2 , ..., g m and all their multiplication combinations, where Profile (g j ) is equal to Profile j (g j ), Then p j + 1 is chosen such that Profile j + 1 (g j ) and Profile j (g) are not equal, where the last prime factor P fe congruent with 3 mod 4 is fe ≦ m, where fe ≦ m Computer, characterized in that for every said radii g i such that m and its profile Profile fe-1 (g i ) is flat, P fe is checked repeatedly according to the steps selected as complementary to P 1 Readable storage medium. 제17항에 있어서,The method of claim 17, 상기 명령어를 저장하는 컴퓨터로 판독가능한 저장 매체는, 그 중에 1 mod 4 와 합동인 상기 계수 n의 소인수의 숫자 e는 적어도 1과 같고, 그리고 각각의 상기 소인수는 다음 단계에 따라 검사되는데:A computer-readable storage medium storing the instructions, wherein the number e of the prime factors of the coefficient n, congruent with 1 mod 4, is equal to at least 1, and each of the prime factors is examined according to the following steps: p에 대한 각각의 기수 gi(i=1,2,...,m일 때)의 르장드르 기호(Legendre symbol)가 +1과 같도록 소수 후보값 p가 선택되고,The prime candidate value p is selected such that the Legendre symbol of each radix g i for p (when i = 1,2, ..., m) is equal to +1, p-1이 2t에 의해 나누어지고 2t+1에 의해서는 나누어지지 않도록 정수 t가 계산되고,p-1 a is a constant t is calculated so as not to divide by 2 t + 1 is divided by 2 t, 정수 s가 s=(p-1+2t)/2t+1 이 되도록 계산되고,The integer s is calculated such that s = (p-1 + 2 t ) / 2 t + 1 , h가 정수환을 계수 p로 나눈 2차가 아닌 나머지일 때 정수 b는 b≡
Figure 112006069098631-pct00026
mod p 이 되도록 계산되고,
When h is the remainder of the integer not divided by the coefficient p, the integer b is b≡
Figure 112006069098631-pct00026
is calculated to be mod p,
i=1,2,...,m 일 때 정수 m은 ri≡gi 2s 이 되도록 계산되고,When i = 1,2, ..., m the integer m is calculated to be r i ≡g i 2s , 정수 u는 0의 값을 갖도록 초기화되고,The integer u is initialized to have a value of 0, 다음 일련의 단계들은 i가 1의 값을 갖도록 초기화된 경우에 반복적으로 이행되는데:The following series of steps are repeated if i is initialized to have a value of 1: 정수 w는 w=ri의 값을 갖도록 초기화되고,The integer w is initialized to have a value of w = r i , 만일 ri=±gi라면, i의 값은 증가되고 i<m 인 경우 상기 새로운 i의 값에 의한 일련의 단계가 계속되고, 다른 한편으로 i=m 인 경우 상기 후보 소수 값 p는 상기 계수 n의 인수로서 인정되고,If r i = ± g i , the value of i is increased and a series of steps by the new value of i is continued if i <m, on the other hand the candidate fractional value p is i the coefficient is recognized as an argument of n, 만일 ri≠±gi 라면,If r i ≠ ± g i , 정수 jj는 1의 값을 갖도록 초기화되고,The integer jj is initialized to have a value of 1, 다음 일련의 단계들이 정수 jj가 1로 초기화된 경우에 반복적으로 이행되는데:The following series of steps are performed repeatedly if the integer jj is initialized to 1: x≡w2/gi 2 mod p 가 계산되고,x≡w 2 / g i 2 mod p is calculated, y≡
Figure 112006069098631-pct00027
mod p 가 계산되고, 그리고
y≡
Figure 112006069098631-pct00027
mod p is calculated, and
y=+1이라면, 상기 일련의 과정은 현재 ii 값에서 종료되고,If y = + 1, the series of processes ends at the current value of ii, y=-1이라면, jj는 jj=2ii인 값이 할당되고, 상기 숫자 w는 bjj 계수(modulo) p를 곱한 기존 값과 같은 새로운 값이 할당되고, 그리고If y = -1, jj is assigned a value of jj = 2 ii , and the number w is assigned a new value equal to the existing value multiplied by the b jj modulo p, and ii<t-2 인 동안, 상기 ii 값은 증가되고 새로운 반복과정이 새로운 ii 값에 대해 반복되고,while ii <t-2, the ii value is increased and a new iteration is repeated for the new ii value, ii=t-2 이면, 숫자 u의 값은 jj=2t-u 에 따라서 갱신되고, 그리고If ii = t-2, the value of the number u is updated according to jj = 2 tu , and 만일 t-u<k 이면, 상기 후보 소수 값 p는 상기 계수 n의 인수에서 거절당하고,If t-u <k, the candidate fractional value p is rejected in the factor of the coefficient n, 만일 t-u>k 이면, 상기 i의 값은 증가되고 i<m 인 경우 상기 새로운 i의 값에 의한 일련의 단계가 계속되고, 다른 한편으로 i=m 인 경우 상기 후보 소수 값 p는 상기 계수 n의 인수로서 인정되는 것으로 이루어지는 것을 특징으로 하는 컴퓨터로 판독가능한 저장 매체.If tu> k, the value of i is increased and a series of steps by the new value of i is continued if i <m, on the other hand the candidate fractional value p is i of the coefficient n A computer-readable storage medium, consisting of what is accepted as an argument.
제19항에 있어서,The method of claim 19, 상기 명령어를 저장하는 컴퓨터로 판독가능한 저장 매체는, 그 중에 상기 비밀값 Q1,Q2,...,Qm fㆍm 개의 비밀 요소(component) Qi,j 를 계산하기 위해, 각각의 쌍 (i,j)에 대해 다음의 단계들이 이행되는데:A computer readable storage medium storing the instructions includes, among others, the secret values Q 1 , Q 2 ,..., Q m . In order to compute the f · m secret components Q i, j the following steps are carried out for each pair (i, j): 만일 pj가 3 mod 4와 합동이라면 1과 같도록 그리고 만일 Pj가 1 mod 4와 합동이라면 제19항에 따라 상기 t를 위한 값이 정해지도록 정수 t가 검사되고,If ten thousand and one is p j 3 mod 4 and the joint to be equal to 1 and if j If the P 1 mod 4 and the joint so that the value for t the set according to claim 19 wherein t is an integer being examined, 만일 pj가 3 mod 4와 합동이라면 0과 같도록 그리고 만일 Pj가 1 mod 4와 합동이라면 제19항에 따라 상기 u를 위한 값이 정해지도록 정수 u가 검사되고,If p j is congruent with 3 mod 4 then the integer u is checked to be equal to 0 and if P j is congruent with 1 mod 4 so that the value for u is determined according to claim 19, s=(p-1+2t)/2t+1일 때, z≡Gi s 가 되도록 정수 z의 값이 계산되고, When s = (p-1 + 2 t ) / 2 t + 1 , the value of the integer z is calculated such that z≡G i s , 모든 숫자들 zz가 아래와 같이 고려되는데:All numbers zz are considered as follows: 만일 u=0이면, i가 1 부터 k,t의 최소값(min(k,t)) 사이의 범위를 갖는 값일 때, zz=z와 같이 또는 각각 2ii-1, 2ii 지수승을 하면 1이 되는 z(root of unity)의 계수(modulo) pj의 곱과 같은 zz이고,If u = 0, then i is a value in the range from 1 to the minimum value of k, t (min (k, t)), then the exponential power is equal to zz = z or 2 ii-1 , 2 ii , respectively. Zz equal to the product of the modulo p j of z (root of unity), 만일 u>0이면, za가 제19항에 따른 w에 대해 정해지는 값일 때, 각각 2k, 2k 지수승을 하면 1이 되는 za의 계수(modulo) pj의 곱과 같은 zz이고, 그리고If u> 0, when za is a value determined for w according to claim 19, zz equals the product of the modulo p j of za, which is 1 when 2 k and 2 k exponential powers, respectively, and 각각의 숫자 zz에 대해, 만일 Gi≡Qi v mod n 의 식이 사용되면 요소 Qi,j에 대한 값은 Qi,j가 zz와 같은 값을 갖도록 정해지고, 또는 만일 GiㆍQi v≡1 mod n 의 식이 i값에 대해 사용되면 zz 계수(modulo) pj의 역과 같은 값을 갖도록 정해지는 특징을 갖는 컴퓨터로 판독가능한 저장 매체.For each of a number zz, ten thousand and one G i v i ≡Q When using the expression mod n value of the element Q i, j is Q i, j is determined so as to have the same value as the zz, or if G i and Q i v A computer-readable storage medium having a feature that is determined to have a value equal to the inverse of the zz modulo pj when the expression of ≡1 mod n is used for the value i. 비대칭적인 암호키를 생성하기 위한 컴퓨터를 사용한 처리과정에서, 상기 키는 m≥1인 비밀값 Q1,Q2,...,Qm 및 m개 각각의 공개값 G1,G2,...,Gm 을 포함하고, 상기 컴퓨터를 사용한 처리과정은:In a process using a computer to generate an asymmetric cryptographic key, the key is a secret value Q 1 , Q 2 , ..., Q m and m public values G 1 , G 2 ,. The process using a computer comprising .., G m comprises: 프로세서(processor); 및A processor; And 상기 프로세서가 다음 순서에 따라 실행되도록 하기 위해 실행되는 명령어의 세트를 저장하는 상기 프로세서에 결합된 기억장치를 포함하고, 상기 프로세서가 실행되는 순서는:A storage device coupled to the processor that stores a set of instructions that are executed to cause the processor to be executed in the following order, the order in which the processor is executed: 1보다 큰 정수인 보안 파라미터 k를 선택하는 단계;Selecting a security parameter k that is an integer greater than one; 적어도 두 개의 소인수 p1,p2,...,pf의 곱과 같은 공개 정수이고, 상기 소인수 중 적어도 두 개의 소인수를 p1 과 p2 라고 하면 p1 ≡ 3 mod 4 그리고 p2 ≡ 3 mod 4 와 같이 되는, 계수 n을 검사하는 단계;Is a public integer equal to the product of at least two prime factors p 1 , p 2 , ..., p f , and at least two prime factors of the prime factors p 1 and p 2 are p 1 ≡ 3 mod 4 and p 2 ≡ 3 checking the coefficient n, which becomes equal to mod 4; 각각의 기수 gi(i=1,2,...,m 일 때)는 1보다 큰 정수이고 정수환을 계수 n으로 나눈 2차가 아닌 나머지이며, 상기 기수 중 하나에 대하여 p2가 p1에 상보적인 것과 같은, m 개의 기수 g1,g2,...,gm을 선택하는 단계;Each radix g i (when i = 1,2, ..., m) is an integer greater than 1 and is the remainder of the integer divisor divided by the coefficient n, with p 2 equaling p 1 for one of the radix. Selecting m radix g 1 , g 2 , ..., g m , as complementary; i=1,2,...,m일 때 Gi≡gi 2 mod n 에 의해 상기 공개값 Gi를 계산하는 단계; 및when i = 1,2, ..., m G i ≡g i 2 calculating the public value G i by mod n; And i=1,2,...,m일 때 공개 지수 v는 v = 2k 와 같고 Gi.Qi v ≡1 mod n 또는 Gi ≡Qi v mod n 의 식 중 하나에 의해 상기 비밀값 Qi를 계산하는 단계로 이루어지는 컴퓨터를 사용한 처리과정.When i = 1,2, ..., m, the open index v is equal to v = 2 k and G i .Q i v ≡1 mod n or G i Computing the secret value Q i by one of the formulas: ≡Q i v mod n. 제21항에 있어서, The method of claim 21, 상기 컴퓨터를 사용한 처리과정은, 그 중에 3 mod 4와 합동인 상기 계수 n의 소인수의 숫자(f-e) (여기에서 e≥0)는 2보다 크며, 3 mod 4와 합동인 상기 소인수 pj+1 (2≤j≤m 일 때)는:The process using the computer, wherein the number of prime factors (fe) (where e ≧ 0) of the coefficient n congruent with 3 mod 4 is greater than 2, and the prime factors p j + 1 congruent with 3 mod 4 (When 2≤j≤m): 상기 소인수 p1,p2,...,pf에 대한 gj의 프로파일인 Profilej(gj)가 계산되는 단계, 및Calculating Profile j (g j ), which is a profile of g j for the prime factors p 1 , p 2 ,..., P f , and 만일 Profilej(gj)이 플랫(flat)하다면, 이후 상기 소인수 pj+1는 gj에 대하여 pj+1가 p1에 상보적인 것과 같이 선택되고; 그렇지 않으면, 숫자 g는 (j-1)개의 기수 g1,g2,...,gm 및 그들의 모든 승산 조합 중에서 선택되고, Profile(gj)은 Profilej(gj)과 같으며, 이후 pj+1는 Profilej+1(gj)과 Profilej(g)이 같지 않도록 선택되고, 여기에서 3 mod 4와 합동인 상기 마지막 소인수 Pf-e는, f-e≤m인 경우, f-e≤i≤m 이고 그것의 프로파일 Profilef-e-1(gi)이 플랫한 것과 같은 상기 모든 기수 gi에 대하여 Pf-e가 P1에 상보적인 것과 같이 선택되는 단계에 따라 반복적으로 검사되는 것을 특징으로 하는 컴퓨터를 사용한 처리과정.If Profile j (g j ) is flat, then the prime factor p j + 1 is selected such that p j + 1 is complementary to p 1 for g j ; Otherwise, the number g is selected from (j-1) radix g 1 , g 2 , ..., g m and all their multiplication combinations, where Profile (g j ) is equal to Profile j (g j ), Then p j + 1 is chosen such that Profile j + 1 (g j ) and Profile j (g) are not equal, where the last prime factor P fe congruent with 3 mod 4 is fe ≦ m, where fe ≦ m Computer, characterized in that for every said radii g i such that m and its profile Profile fe-1 (g i ) is flat, P fe is checked repeatedly according to the steps selected as complementary to P 1 Processing using 제21항에 있어서, The method of claim 21, 상기 컴퓨터를 사용한 처리과정은, 그 중에 1 mod 4 와 합동인 상기 계수 n의 소인수의 숫자 e는 적어도 1과 같고, 그리고 각각의 상기 소인수는 다음 단계에 따라 검사되는데:The processing using the computer, wherein the number e of the prime factors of the coefficient n, which is congruent with 1 mod 4, is equal to at least 1, and each of the prime factors is examined according to the following steps: p에 대한 각각의 기수 gi(i=1,2,...,m일 때)의 르장드르 기호(Legendre symbol)가 +1과 같도록 소수 후보값 p가 선택되고,The prime candidate value p is selected such that the Legendre symbol of each radix g i for p (when i = 1,2, ..., m) is equal to +1, p-1이 2t에 의해 나누어지고 2t+1에 의해서는 나누어지지 않도록 정수 t가 계산되고,p-1 a is a constant t is calculated so as not to divide by 2 t + 1 is divided by 2 t, 정수 s가 s=(p-1+2t)/2t+1 이 되도록 계산되고,The integer s is calculated such that s = (p-1 + 2 t ) / 2 t + 1 , h가 정수환을 계수 p로 나눈 2차가 아닌 나머지일 때 정수 b는 b≡
Figure 112006069098631-pct00028
mod p 이 되도록 계산되고,
When h is the remainder of the integer not divided by the coefficient p, the integer b is b≡
Figure 112006069098631-pct00028
is calculated to be mod p,
i=1,2,...,m 일 때 정수 m은 ri≡gi 2s 이 되도록 계산되고,When i = 1,2, ..., m the integer m is calculated to be r i ≡g i 2s , 정수 u는 0의 값을 갖도록 초기화되고,The integer u is initialized to have a value of 0, 다음 일련의 단계들은 i가 1의 값을 갖도록 초기화된 경우에 반복적으로 이행되는데:The following series of steps are repeated if i is initialized to have a value of 1: 정수 w는 w=ri의 값을 갖도록 초기화되고,The integer w is initialized to have a value of w = r i , 만일 ri=±gi라면, i의 값은 증가되고 i<m 인 경우 상기 새로운 i의 값에 의한 일련의 단계가 계속되고, 다른 한편으로 i=m 인 경우 상기 후보 소수 값 p는 상기 계수 n의 인수로서 인정되고,If r i = ± g i , the value of i is increased and a series of steps by the new value of i is continued if i <m, on the other hand the candidate fractional value p is i the coefficient is recognized as an argument of n, 만일 ri≠±gi 라면,If r i ≠ ± g i , 정수 jj는 1의 값을 갖도록 초기화되고,The integer jj is initialized to have a value of 1, 다음 일련의 단계들이 정수 jj가 1로 초기화된 경우에 반복적으로 이행되는데:The following series of steps are performed repeatedly if the integer jj is initialized to 1: x≡w2/gi 2 mod p 가 계산되고,x≡w 2 / g i 2 mod p is calculated, y≡
Figure 112006069098631-pct00029
mod p 가 계산되고, 그리고
y≡
Figure 112006069098631-pct00029
mod p is calculated, and
y=+1이라면, 상기 일련의 과정은 현재 ii 값에서 종료되고,If y = + 1, the series of processes ends at the current value of ii, y=-1이라면, jj는 jj=2ii인 값이 할당되고, 상기 숫자 w는 bjj 계수(modulo) p를 곱한 기존 값과 같은 새로운 값이 할당되고, 그리고If y = -1, jj is assigned a value of jj = 2 ii , and the number w is assigned a new value equal to the existing value multiplied by the b jj modulo p, and ii<t-2 인 동안, 상기 ii 값은 증가되고 새로운 반복과정이 새로운 ii 값에 대해 반복되고,while ii <t-2, the ii value is increased and a new iteration is repeated for the new ii value, ii=t-2 이면, 숫자 u의 값은 jj=2t-u 에 따라서 갱신되고, 그리고If ii = t-2, the value of the number u is updated according to jj = 2 tu , and 만일 t-u<k 이면, 상기 후보 소수 값 p는 상기 계수 n의 인수에서 거절당하고,If t-u <k, the candidate fractional value p is rejected in the factor of the coefficient n, 만일 t-u>k 이면, 상기 i의 값은 증가되고 i<m 인 경우 상기 새로운 i의 값에 의한 일련의 단계가 계속되고, 다른 한편으로 i=m 인 경우 상기 후보 소수 값 p는 상기 계수 n의 인수로서 인정되는 것으로 이루어지는 것을 특징으로 하는 컴퓨터를 사용한 처리과정.If tu> k, the value of i is increased and a series of steps by the new value of i is continued if i <m, on the other hand the candidate fractional value p is i of the coefficient n A computer-assisted process, consisting of what is accepted as an argument.
제23항에 있어서, The method of claim 23, wherein 상기 컴퓨터를 사용한 처리과정은, 그 중에 상기 비밀값 Q1,Q2,...,Qm fㆍm 개의 비밀 요소(component) Qi,j 를 계산하기 위해, 각각의 쌍 (i,j)에 대해 다음의 단계들이 이행되는데:The process using the computer includes the secret values Q 1 , Q 2 ,. In order to compute the f · m secret components Q i, j the following steps are carried out for each pair (i, j): 만일 pj가 3 mod 4와 합동이라면 1과 같도록 그리고 만일 Pj가 1 mod 4와 합동이라면 제23항에 따라 상기 t를 위한 값이 정해지도록 정수 t가 검사되고,The integer t is checked so that if p j is congruent with 3 mod 4 and equals 1 and if P j is congruent with 1 mod 4 the integer t is determined so that the value for t is determined according to claim 23, 만일 pj가 3 mod 4와 합동이라면 0과 같도록 그리고 만일 Pj가 1 mod 4와 합동이라면 제23항에 따라 상기 u를 위한 값이 정해지도록 정수 u가 검사되고,If p j is congruent with 3 mod 4 then the integer u is checked to be equal to 0 and if P j is congruent with 1 mod 4 the value for u is determined according to claim 23, s=(p-1+2t)/2t+1일 때, z≡Gi s 가 되도록 정수 z의 값이 계산되고, When s = (p-1 + 2 t ) / 2 t + 1 , the value of the integer z is calculated such that z≡G i s , 모든 숫자들 zz가 아래와 같이 고려되는데:All numbers zz are considered as follows: 만일 u=0이면, i가 1 부터 k,t의 최소값(min(k,t)) 사이의 범위를 갖는 값일 때, zz=z와 같이 또는 각각 2ii-1, 2ii 지수승을 하면 1이 되는 z(root of unity)의 계수(modulo) pj의 곱과 같은 zz이고,If u = 0, then i is a value in the range from 1 to the minimum value of k, t (min (k, t)), then the exponential power is equal to zz = z or 2 ii-1 , 2 ii , respectively. Zz equal to the product of the modulo p j of z (root of unity), 만일 u>0이면, za가 제23항에 따른 w에 대해 정해지는 값일 때, 각각 2k, 2k 지수승을 하면 1이 되는 za의 계수(modulo) pj의 곱과 같은 zz이고, 그리고If u> 0, when za is a value determined for w according to claim 23, zz is equal to the product of the modulo p j of za, which is 1 when 2 k and 2 k exponential powers are respectively, and 각각의 숫자 zz에 대해, 만일 Gi≡Qi v mod n 의 식이 사용되면 요소 Qi,j에 대한 값은 Qi,j가 zz와 같은 값을 갖도록 정해지고, 또는 만일 GiㆍQi v≡1 mod n 의 식이 i값에 대해 사용되면 zz 계수(modulo) pj의 역과 같은 값을 갖도록 정해지는 특징을 갖는 컴퓨터를 사용한 처리과정.For each of a number zz, ten thousand and one G i v i ≡Q When using the expression mod n value of the element Q i, j is Q i, j is determined so as to have the same value as the zz, or if G i and Q i v A process using a computer with a characteristic that if the expression ≡1 mod n is used for the value i, it is determined to have a value equal to the inverse of the modulo pj.
KR1020017009493A 1999-01-27 2000-01-27 Method, system, device for proving the authenticity of an entity and/or the integrity and/or the authenticity of a message using specific prime factors KR100676461B1 (en)

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
FR9901065A FR2788910A1 (en) 1999-01-27 1999-01-27 Banking message authentication technique having private/public word transfer power two relationship connected with authentication unit knowing relation and carrying out confirmation calculations.
FR99/01065 1999-01-27
FR99/03770 1999-03-23
FR9903770A FR2788911A1 (en) 1999-01-27 1999-03-23 Banking message authentication technique having private/public word transfer power two relationship connected with authentication unit knowing relation and carrying out confirmation calculations.
FR9912467A FR2788912B1 (en) 1999-01-27 1999-10-01 METHOD, SYSTEM, DEVICE FOR PROVIDING THE AUTHENTICITY OF AN ENTITY AND / OR THE INTEGRITY AND / OR AUTHENTICITY OF A MESSAGE BY MEANS OF FIRST PARTICULAR FACTORS
FR99/12468 1999-10-01
FR99/12465 1999-10-01
FR9912465A FR2788908B1 (en) 1999-01-27 1999-10-01 METHOD, SYSTEM, DEVICE FOR PROVIDING THE AUTHENTICITY OF AN ENTITY AND / OR THE INTEGRITY AND / OR AUTHENTICITY OF A MESSAGE
FR99/12467 1999-10-01
FR9912468A FR2824974B1 (en) 1999-01-27 1999-10-01 METHOD FOR PROVIDING THE AUTHENTICITY OF AN ENTITY OR THE INTEGRITY OF A MESSAGE BY MEANS OF A PUBLIC EXHIBITOR EQUAL TO A POWER OF TWO.

Publications (2)

Publication Number Publication Date
KR20010108144A KR20010108144A (en) 2001-12-07
KR100676461B1 true KR100676461B1 (en) 2007-01-31

Family

ID=26234789

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020017009492A KR20010108143A (en) 1999-01-27 2000-01-27 Method, system, device for proving the authenticity of an entity and/or the integrity and/or the authenticity of a message
KR1020017009491A KR100676460B1 (en) 1999-01-27 2000-01-27 Method for proving the authenticity of an entity and/or the integrity of a message by means of a public exponent equal to the power of two
KR1020017009493A KR100676461B1 (en) 1999-01-27 2000-01-27 Method, system, device for proving the authenticity of an entity and/or the integrity and/or the authenticity of a message using specific prime factors

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020017009492A KR20010108143A (en) 1999-01-27 2000-01-27 Method, system, device for proving the authenticity of an entity and/or the integrity and/or the authenticity of a message
KR1020017009491A KR100676460B1 (en) 1999-01-27 2000-01-27 Method for proving the authenticity of an entity and/or the integrity of a message by means of a public exponent equal to the power of two

Country Status (2)

Country Link
KR (3) KR20010108143A (en)
FR (4) FR2788911A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2822002B1 (en) * 2001-03-12 2003-06-06 France Telecom CRYPTOGRAPHIC AUTHENTICATION BY EPHEMER MODULES
FR2865590A1 (en) 2004-01-23 2005-07-29 France Telecom Keys establishing method for proving e.g. authenticity of entity, involves determining adjustment parameter such that each public value is of odd row with respect to each prime factor

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2620248B1 (en) * 1987-09-07 1989-11-24 France Etat METHODS OF AUTHENTICATING ACCREDITATIONS OR MESSAGES WITH ZERO KNOWLEDGE AND SIGNATURE OF MESSAGES
EP0374225B1 (en) * 1988-05-19 1993-01-20 Ncr International Inc. Method and device for authentication
EP0381523A3 (en) * 1989-02-02 1993-03-03 Kabushiki Kaisha Toshiba Server-aided computation method and distributed information processing unit
FR2733379B1 (en) * 1995-04-20 1997-06-20 Gemplus Card Int PROCESS FOR GENERATING ELECTRONIC SIGNATURES, ESPECIALLY FOR SMART CARDS
DE69704684T2 (en) * 1996-02-23 2004-07-15 Fuji Xerox Co., Ltd. Device and method for authenticating a user's access rights to resources according to the challenge-response principle

Also Published As

Publication number Publication date
KR20010108142A (en) 2001-12-07
KR100676460B1 (en) 2007-01-31
FR2788912B1 (en) 2002-08-09
KR20010108144A (en) 2001-12-07
KR20010108143A (en) 2001-12-07
FR2824974A1 (en) 2002-11-22
FR2788908B1 (en) 2003-09-26
FR2788912A1 (en) 2000-07-28
FR2788908A1 (en) 2000-07-28
FR2788911A1 (en) 2000-07-28
FR2824974B1 (en) 2004-01-16

Similar Documents

Publication Publication Date Title
Camenisch et al. Efficient protocols for set membership and range proofs
US4759064A (en) Blind unanticipated signature systems
Bos et al. Provably unforgeable signatures
Couteau et al. Removing the strong RSA assumption from arguments over the integers
JP4809310B2 (en) Method, system, device for proving entity authenticity or message integrity
US6212637B1 (en) Method and apparatus for en-bloc verification of plural digital signatures and recording medium with the method recorded thereon
US7346637B2 (en) Polynomial time deterministic method for testing primality of numbers
US7461261B2 (en) Method to generate, verify and deny an undeniable signature
Monnerat et al. Undeniable signatures based on characters: How to sign with one bit
JP4772189B2 (en) Method, system, and apparatus for proving message integrity and / or authenticity using entity authenticity and / or special prime factors
Lim et al. A study on the proposed Korean digital signature algorithm
Cheon et al. Use of sparse and/or complex exponents in batch verification of exponentiations
Kotukh et al. Method of Security Improvement for MST3 Cryptosystem Based on Automorphism Group of Ree Function Field
KR100676461B1 (en) Method, system, device for proving the authenticity of an entity and/or the integrity and/or the authenticity of a message using specific prime factors
Ateniese et al. Leakage-resilient identification schemes from zero-knowledge proofs of storage
Tada A secure multisignature scheme with signing order verifiability
US6978372B1 (en) Verification of correct exponentiation or other operations in cryptographic applications
JP2005513564A (en) Cryptography to distribute the load across multiple entities and their devices
KR100844546B1 (en) Method, system, device for proving the authenticity of an entity or integrity of a message
KR20050016988A (en) Cryptographic method and devices for facilitating calculations during transactions
Di Crescenzo et al. Delegating a Product of Group Exponentiations with Application to Signature Schemes (Submission to Special NutMiC 2019 Issue of JMC).
RU2325767C1 (en) Method of generation and authenticity check of electronic digital signature, which certifies electronic document
JP2004222331A (en) Method for enabling user to check legality of electronic commerce/information service provider
Metzgar RSA cryptosystem: an analysis and python simulator
Sato et al. An efficient method of generating rational points on elliptic curves

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121227

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131227

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141230

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151230

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20161229

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20171228

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20181227

Year of fee payment: 13