KR20050101003A - Modular exponentiation operation method - Google Patents

Modular exponentiation operation method Download PDF

Info

Publication number
KR20050101003A
KR20050101003A KR1020040026262A KR20040026262A KR20050101003A KR 20050101003 A KR20050101003 A KR 20050101003A KR 1020040026262 A KR1020040026262 A KR 1020040026262A KR 20040026262 A KR20040026262 A KR 20040026262A KR 20050101003 A KR20050101003 A KR 20050101003A
Authority
KR
South Korea
Prior art keywords
size
scan window
maximum size
key
window
Prior art date
Application number
KR1020040026262A
Other languages
Korean (ko)
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
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020040026262A priority Critical patent/KR20050101003A/en
Publication of KR20050101003A publication Critical patent/KR20050101003A/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/50Constructional details
    • H04N23/55Optical parts specially adapted for electronic image sensors; Mounting thereof
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B7/00Mountings, adjusting means, or light-tight connections, for optical elements
    • G02B7/02Mountings, adjusting means, or light-tight connections, for optical elements for lenses
    • G02B7/04Mountings, adjusting means, or light-tight connections, for optical elements for lenses with mechanism for focusing or varying magnification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/50Constructional details
    • H04N23/51Housings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K5/00Casings, cabinets or drawers for electric apparatus
    • H05K5/02Details
    • H05K5/03Covers
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/20Modifications to facilitate cooling, ventilating, or heating

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Thermal Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Optics & Photonics (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명의 모듈러 멱승 연산 방법은, 스캔 윈도우의 최대 크기를 설정하고, 설정된 최대 크기 범위 내에서 난수를 발생하고, 발생된 난수로써 상기 스캔 윈도우의 크기를 설정한다. 이와 같은 본 발명은 멱승 연산 과정에서 윈도우의 크기가 수시로 변경되기 때문에 외부 공격으로부터 데이터가 보호될 수 있다. The modular power calculation method of the present invention sets the maximum size of the scan window, generates a random number within the set maximum size range, and sets the size of the scan window as the generated random number. In the present invention as described above, since the size of the window is changed frequently in the multiplication operation, data may be protected from an external attack.

Description

모듈러 멱승 연산 방법{MODULAR EXPONENTIATION OPERATION METHOD}Modular power calculation method {MODULAR EXPONENTIATION OPERATION METHOD}

본 발명은 데이타 보안을 위한 암호화(cryptography) 시스템에 관한 것으로서, 특히 암호화시스템에서의 모듈러 곱셈연산을 위한 지수 계산 방법에 관한 것이다. BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a cryptography system for data security, and more particularly to a method for calculating exponents for modular multiplication in an encryption system.

컴퓨터 네트워크 또는 유무선통신을 통하여 각종 데이타를 주고받는 정보통신 환경에서는 데이타의 보안성을 유지하기 위한 암호화 시스템의 중요성이 날로 커지고 있다. 특히, 전자결제 또는 인증시스템에서는 부호화(encrytion) 및 복호화(decryption) 기술을 적용하여 보안성을 확보하는 것이 필수적이다. 암호화 기술은 크게 비밀키(대칭키 또는 공통키; secret key, symmetric key, private key, common key) 방식과 공개키(비대칭키; public key, asymmetric key) 방식으로 분류할 수 있다.In an information communication environment in which various data are exchanged through a computer network or wired or wireless communication, the importance of an encryption system for maintaining data security is increasing day by day. In particular, in electronic payment or authentication systems, it is essential to secure security by applying encoding and decryption techniques. Encryption techniques can be largely classified into a secret key (symmetric key or common key; secret key, symmetric key, private key, common key) method and public key (asymmetric key; public key, asymmetric key).

비밀키 방식은 미합중국 상무성의 국립표준국(NBS)에 의한 DES(Data Encryption System) 암호 알고리즘이 대표적인 예이며, 그 외에 구 소련의 GOST(GOvernment STandard), 스위스의 IDEA(International Data Encryption Algorithm) 등이 있다. 비밀키 암호화 방식에서는 정보교환 당사자간에 동일한 비밀키를 공유하여야 하므로 별도의 안전한 채널이 필요하고 특히 여러 사람과의 정보교환시에는 한 사용자가 많은 비밀키 채널을 유지 및 관리하여야 한다는 단점이 있다. The secret key method is the DES (Data Encryption System) encryption algorithm by the US Department of Commerce's National Standards Bureau (NBS), and the former Soviet Union's GOST (Government STandard) and Switzerland's International Data Encryption Algorithm (IDEA) have. In the secret key encryption method, since the same secret key must be shared between the information exchange parties, a separate secure channel is required, and in particular, when a user exchanges information with several people, one user must maintain and manage many secret key channels.

반면에, 공개키 암호화 방식은 암호화하는 키와 복호화하는 키가 서로 다르기 때문에 둘 중 하나를 알더라도 그 에 대응하는 키를 알기 어렵도록 하는 시스템이다. 공개키 암호화 방식에서는, 하나의 비밀키와 다른 하나의 공개키를 사용하여 정보를 스크램블(scramble)/디스크램블(descramble)한다. 공개키 암호화 방식은, 키를 공유하기 위한 별도의 채널이 필요치 않아 키 관리가 수월하고 비밀키 방식에 비해 보안성은 향상되지만, 두가지의 서로 다른 키를 생성하고 이를 통하여 정보를 복원하기 위한 수학적인 연산과정이 복잡하여 고속처리에 제한이 있는 것으로 알려져 있다.On the other hand, public key cryptography is a system that makes it difficult to know the corresponding key even if one of them is known because the key to encrypt and the key to decrypt are different. In public key cryptography, one secret key and another public key are used to scramble / descramble information. Public key cryptography is easier to manage keys because it does not require a separate channel for sharing keys and improves security compared to the private key method, but mathematical operation to generate two different keys and restore information through them. It is known that there is a limitation in the high speed processing due to the complicated process.

공개키 암호화 알고리즘은, 1976년에 Diffie와 Helman에 의해 최초로 제안된 이래, 현재는 RSA(R.L.Rivest, A.Shamir, and L.Adelman; "A method for obtaining digital signatures and public-key cryptosyatems"; Commun. ACM, Vol.21, pp.120-126, Feb. 1978, 또는 미합중국 특허 4,405,829) 알고리즘이 대표적인 방식으로 알려져 있다. 이 RSA방식은 다른 종류의 공개키 암호화 시스템인 Diffie-Hellman 방식 또는 DSA(Digital Signature Algorithm) 방식과 마찬가지로 모듈러 곱셈(modular multiplication)을 기본연산으로 하고 있다. Public key cryptographic algorithms, since they were first proposed by Diffie and Helman in 1976, are now RSA (RLRivest, A.Shamir, and L. Adelman; "A method for obtaining digital signatures and public-key cryptosyatems"; Commun ACM, Vol. 21, pp. 120-126, Feb. 1978, or US Pat. No. 4,405,829) algorithms are known as representative methods. This RSA method uses modular multiplication as a basic operation like Diffie-Hellman method or Digital Signature Algorithm (DSA) method, which is another kind of public key encryption system.

RSA 알고리즘은 특히 1024비트 이상의 큰 정수(integer)를 기반으로 한 모듈로 연산에 의해 수행되며, 큰 정수 계수(modulus)의 소인수 분해가 매우 어려움에 그 안전성의 근거를 두고 있다.The RSA algorithm is especially performed by modulo operations based on large integers of more than 1024 bits and is based on the safety of the prime factorization of large integer coefficients.

RSA 암/복호화 알고리즘은 모듈러 멱승 연산(modular exponentiation operation)을 기본 연산으로 사용하고 있다. 평문(plaintext) M를 암호문(ciphertext) C로 암호화(encryption)하기 위하여 두개의 양의 정수로 구성된 공개키 e(암호화지수 또는 암호화키) 및 N(계수;modulus)을 이용하여 연산식 C = Me mod N에 의해 암호문 C를 생성한다. 암호문 C를 평문 M'로 복호화(decryption)함에 있어서는 비밀키 d(복호화지수)를 이용하여 연산식 M' = Cd mod N(C를 d번 곱한 값을 N으로 나눈 나머지를 취함)에 의해 평문 M'를 구한다. 즉, 앨리스(Alice)가 밥(Bob)에게 암호화된 메세지를 보내기 위해서는, 모든 사람들에게 공개되어 있는 밥의 공개키 e로써 메세지를 암호화한 뒤 공개채널(unsecure channel)을 통하여 밥에게 메세지(암호문 C)를 보낸다. 그러면, 밥은 자신만이 알고 있는 비밀키 d를 사용해서 암호화된 메세지를 복호화해서 원래의 메세지(평문 M')를 읽게 된다.The RSA encryption / decryption algorithm uses a modular exponentiation operation as the default operation. Equation C = M using public keys e (encryption index or encryption key) and N (modulus) consisting of two positive integers to encrypt plaintext M into ciphertext C Generate ciphertext C by e mod N In decryption of the ciphertext C into the plaintext M ', the plaintext is obtained by using the secret key d (decryption index) by the formula M' = C d mod N (the remainder of C multiplied by d times N divided by N). Find M ' That is, in order for Alice to send an encrypted message to Bob, she encrypts the message with Bob's public key e, which is open to everyone, and then sends the message to Bob via an unsecure channel (password C). Send) Bob then reads the original message (plain text M ') by decrypting the encrypted message using only the private key d.

암/복호화를 위한 키를 선택하기 위해서는, 우선 두개의 매우 큰 소수(prime number) p 및 q를 임의로 선택하여 M = p×q를 계산하고, gcd[D, (p-1)(q-1)] = 1을 만족하는 수를 복호화키 d로 한다. 암호화 키 e는 e×d = 1 mod [(p-1)(q-1)]을 만족하는 암호화키 e를 구한다. To select a key for encryption / decryption, first select two very large prime numbers p and q to calculate M = p × q, gcd [D, (p-1) (q-1 )] = 1 is the decryption key d. The encryption key e obtains an encryption key e that satisfies e × d = 1 mod [(p-1) (q-1)].

RSA의 가장 기본적인 연산 원리인 이진 연산(binary method)은 반복 제곱 및 곱셈(repeated square and multiple) 연산을 통해 멱승 연산을 수행하는 알고리즘이다. 이는 n을 2진수로 나타내어 그 최상위 자리의 1에 대해 g라 두고, 이 값을 반복적으로 제곱하면서 해당 비트가 1인 경우 g를 곱해준다. 수학식 1은 이진 연산 알고리즘을 나타낸다.Binary method, the most basic operation principle of RSA, is an algorithm that performs a power operation through repeated square and multiple operations. It expresses n as a binary number, g for 1 of its most significant digit, and squares this value repeatedly, multiplying by g if the corresponding bit is 1. Equation 1 shows a binary algorithm.

Binary_Exp(g, n)Binary_Exp (g, n)

A:=g;A: = g;

for i=k-2 to 0 by -1for i = k-2 to 0 by -1

A := A * A;A: = A * A;

if ni = 1 thenif n i = 1 then

A := A* g;A: = A * g;

return A;return A;

수학식 1에서 n은 2진수로서 n=(nk-1, nk-2, …, n1, n0)2 이고, nk-1는 1이다.In Equation 1, n is a binary number, n = (n k-1 , n k-2 ,..., N 1 , n 0 ) 2 , and n k-1 is 1.

이진 연산에서 지수가 k비트인 경우 처음 계산을 제외한 k-1번째 제곱 계산과 비트가 1일 때 제곱 횟수인 WH<1>(n)-1번의 곱셈 과정이 필요하다. 일반적으로 멱승 연산에서 WH(n)을 미리 알 수 없고, 또한 0과 1이 비트에 나타날 확률이 1/2이므로, 해밍 웨이트(Hamming weight)는 약 (log2n)/2이다. 이진 연산에는 최대 2k-2, 평균 (3/2)*(k-1)회의 곱셈이 필요하다. 그리고, 이진 연산에는 중간 계싼값인 A만 저장할 공간만 필요하다. 그러나, 지수를 매 비트마다 모두 스캐닝(scanning)해야 하므로 연산 속도가 느리다는 단점이 있다.In the binary operation, if the exponent is k bits, the k-1th square calculation except for the first calculation and W H <1> (n) -1 multiplication processes, when the bit is 1, are required. In general, the Hamming weight is about (log 2 n) / 2 because WH (n) is not known beforehand in the power operation and the probability that 0 and 1 appear in the bit is 1/2. Binary operations require up to 2k-2, average (3/2) * (k-1) multiplications. The binary operation requires only space to store only the intermediate value A. However, since the exponent must be scanned every bit, the computational speed is slow.

이와 같이 느린 연산 속도를 개선하기 위해 슬라이딩 윈도우 연산 방법(sliding window method)이 제안되었다. 슬라이딩 윈도우 연산 방법과 이진 연산 방법은 지수 비트들에 대한 스캔 방법이 다르다. 즉, 이진 연산 방법은 비트를 하나씩 스캔하지만 슬라이딩 윈도우 연산 방법은 한 번에 미리 설정한 윈도우 크기 내에서 가변적인 비트들을 스캔할 수 있다. 또한, 계산 속도를 향상시키기 위해 미리 멱승한 값들을 저장할 메모리들이 추가적으로 더 필요하다.In order to improve the slow operation speed, a sliding window method has been proposed. The sliding window calculation method and the binary calculation method are different from the scan method for exponential bits. That is, the binary arithmetic method scans bits one by one, but the sliding window arithmetic method can scan bits that are variable within a preset window size at a time. In addition, additional memories are needed to store pre-constant values to improve computation speed.

수학식 2는 슬라이딩 윈도우 연산 방법의 알고리즘을 보여주고 있다.Equation 2 shows an algorithm of a sliding window calculation method.

Input: M, e, nInput: M, e, n

Output: C= Me mod nOutput: C = M e mod n

1. Calculate and save Mw, which results in1.Calculate and save M w , which results in

w = 2, 3, …, maximum window w = 2, 3,... , maximum window

2. Divide e into variable sized windows Fi(within maximum window)2 Divide e into variable sized windows Fi (within maximum window)

The length of Fi is L(Fi) for i = 0, 1, 2, …, p-1   The length of Fi is L (Fi) for i = 0, 1, 2,... , p-1

3. C := MFk-1 mod n 3.C : = M Fk-1 mod n

4. for k=p-2 down to 04.for k = p-2 down to 0

4a. C := C2L(Fi) mod n4a. C: = C 2L (Fi) mod n

4b. If Fi 0, then C := C * MFi (mod n)4b. If Fi 0, then C: = C * M Fi (mod n)

5. Return C5. Return C

수학식 2의 슬라이딩 윈도우 연산 알고리즘은 Centin Kaya Koc, High-Speed RSA Implemnation 1994, pp16에 개시되어 있다.The sliding window calculation algorithm of Equation 2 is disclosed in Centin Kaya Koc, High-Speed RSA Implemnation 1994, pp16.

RSA 연산 중 멱승 계산은 공개키 및 개인키의 각 비트에 따라서 연산 과정이 다르다. 즉, 키의 비트가 '1'일 때와 '0'일 때 연산 과정이 다르므로, 연산 시간 차가 발생한다. 그러므로, 외부에서 간단한 전력 분석(simple power analysis) 또는 차동 전력 분석(differential power analysis) 등을 통해 RSA 연산을 모니터링하여 내부 동작 정보를 획득할 수 있다. 이는 보안을 중요시 하는 시스템에 치명적일 수 있다.In RSA operation, the power calculation differs depending on the bits of the public and private keys. That is, the operation time is different when the bit of the key is '1' and when the bit is '0'. Therefore, the internal operation information may be obtained by monitoring the RSA operation through simple power analysis or differential power analysis. This can be fatal to a system where security is a concern.

따라서 본 발명의 목적은 보안이 향상된 모듈러 멱승 연산 방법을 제공하는데 있다.Accordingly, an object of the present invention is to provide a modular power calculation method with improved security.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 일 특징에 의하면, 모듈러 멱승 연산 방법은: 스캔 윈도우의 최대 크기를 설정하는 단계, 그리고 상기 설정된 최대 크기 범위 내에서 임의의 값을 상기 스캔 윈도우의 크기를 설정하는 단계를 포함한다.According to one aspect of the present invention for achieving the object as described above, the modular power operation method includes: setting the maximum size of the scan window, and any value within the set maximum size range of the size of the scan window It includes the step of setting.

바람직한 실시예에 있어서, 상기 설정된 최대 크기 내 가능한 지수 비트 조합들에 대한 멱승을 계산하는 단계를 더 포함한다.In a preferred embodiment, the method further comprises calculating a power of one of the possible exponential bit combinations within the set maximum magnitude.

이 실시예에 있어서, 상기 연산 방법은 상기 설정된 스캔 윈도우의 크기에 대응하는 지수 비트들에 대한 계산된 멱승값으로부터 모듈러 지수 계산을 수행하는 단계를 더 포함한다.In this embodiment, the calculation method further comprises performing a modular exponential calculation from the calculated power of the exponent bits for the exponent bits corresponding to the size of the set scan window.

본 발명의 다른 특징에 의하면, 모듈러 멱승 연산 방법은: 스캔 윈도우의 최대 크기를 설정하는 단계와, 상기 설정된 최대 크기 내 가능한 지수 비트 조합들에 대한 멱승을 계산하는 단계와, 상기 설정된 최대 크기 범위 내에서 난수를 발생하는 단계, 그리고 상기 발생된 난수로써 상기 스캔 윈도우의 크기를 설정하는 단계를 포함한다.According to another aspect of the present invention, a modular power calculation method comprises: setting a maximum size of a scan window, calculating a power for possible exponential bit combinations within the set maximum size, and within the set maximum size range Generating a random number at and setting the size of the scan window using the generated random number.

바람직한 실시예에 있어서, 상기 연산 방법은 상기 설정된 스캔 윈도우의 크기에 대응하는 지수 비트들에 대한 계산된 멱승값으로부터 모듈러 지수 계산을 수행하는 단계를 더 포함한다.In a preferred embodiment, the calculation method further comprises performing a modular exponential calculation from the calculated power of the exponent bits corresponding to the size of the set scan window.

(실시예)(Example)

이하 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 발명의 바람직한 실시예에 따른 모듈러 멱승 연산 방법은 VLM(Variable Length Window)로서, 지수 비트들을 최상위비트(MSB)에서 최하위 비트(LSB) 방향으로 스캐닝하되, \스캐닝 윈도우의 크기를 스마트 카드 내의 하드웨어 난수 발생기를 이용하여 다양하게 변경할 수 있다.Modular power calculation method according to a preferred embodiment of the present invention is a variable length window (VLM), which scans exponent bits from the most significant bit (MSB) to the least significant bit (LSB), but the size of the \ scan window to the hardware in the smart card Various changes can be made using the random number generator.

이하 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 바람직한 실시예에 따른 모듈러 멱승 연산 방법을 보여주는 플로우차트이다.1 is a flowchart showing a modular power calculation method according to a preferred embodiment of the present invention.

도 1을 참조하면, 단계 S10에서, 스캔 윈도우의 최대 크기를 설정한다. 즉, n비트 지수 중 최대 몇 비트 씩 스캔할 것인 지를 설정한다.Referring to FIG. 1, in step S10, the maximum size of a scan window is set. That is, it sets up to how many bits of the n-bit exponent to scan.

단계 S20에서, 스캔 윈도우의 설정된 최대 크기 내 가능한 지수 비트 조합들에 대한 멱승을 계산한다. 예컨대, 스캔 윈도우의 설정된 최대 크기가 3비트이면, 000, 001, …, 111 각각에 대한 멱승을 계산한다. 멱승값들은 메모리에 저장된다. 예컨대, 8 개의 멱승값들은 서로 다른 메모리들에 저장될 수 있다.In step S20, the power of the possible exponential bit combinations within the set maximum size of the scan window is calculated. For example, if the set maximum size of the scan window is 3 bits, 000, 001,... Calculate the power of each of the two points. Power values are stored in memory. For example, eight powers may be stored in different memories.

단계 S30에서, 설정된 최대 크기 내 임의의 값이 스캔 윈도우 크기로 설정된다. 본 발명의 바람직한 실시예에서 임의의 값은 난수(random number) 발생에 의해 구해진다. 난수 값은 설정된 최대 크기와 같거나 작은 값이다.In step S30, any value within the set maximum size is set to the scan window size. In a preferred embodiment of the present invention, any value is obtained by random number generation. The random number is equal to or less than the set maximum size.

단계 S40에서, 설정된 스캔 윈도우의 크기의 지수 비트들에 대한 계산된 멱승값으로부터 모듈러 지수를 계산한다. 앞서, 단계 S20에서, 스캔 윈도우 최대 크기 내 가능한 지수 비트 조합들에 대한 멱승값들이 이미 계산되어서 메모리에 저장된 상태이다. 그러므로, 지수 비트들 중 스캔 윈도우 크기에 해당하는 지수 비트들에 대응하는 멱승값을 메모리로부터 독출해서 모듈러 지수를 계산한다.In step S40, the modular exponent is calculated from the calculated power of the exponent bits of the size of the set scan window. Earlier, in step S20, power values for the possible exponential bit combinations within the scan window maximum size are already calculated and stored in the memory. Therefore, the modular exponent is calculated by reading a power value corresponding to the exponent bits corresponding to the scan window size among the exponent bits from the memory.

단계 S50에서, 지수 비트들에 대한 스캔이 완료되었다면 모듈러 지수 계산은 종료되고, 아직 스캔되지 않은 지수 비트가 존재하면 그 제어는 단계 S30으로 리턴한다.In step S50, the modular exponential calculation is terminated if the scan for the exponent bits is completed, and if there is an exponent bit that has not yet been scanned, the control returns to step S30.

예를 들어, 지수값이 11101001101010000000112이고, 발생된 난수가 3, 3, 2,1, 2, 1, 3, 3, 3 및 2이면, 지수값의 최상위비트부터 111, 010, 00, 1, 10, 1, 010, 000, 000 및 11로 순차적으로 스캐닝된다.For example, if the exponent value is 1110100110101000000011 2 and the random number generated is 3, 3, 2,1, 2, 1, 3, 3, 3, and 2, the most significant bit of the exponent value is 111, 010, 00, 1, 10, 1, 010, 000, 000 and 11 are sequentially scanned.

예시적인 바람직한 실시예들을 이용하여 본 발명을 설명하였지만, 본 발명의 범위는 개시된 실시예들에 한정되지 않는다는 것이 잘 이해될 것이다. 오히려, 본 발명의 범위에는 다양한 변형 예들 및 그 유사한 구성들이 모두 포함될 수 있도록 하려는 것이다. 따라서, 청구범위는 그러한 변형 예들 및 그 유사한 구성들 모두를 포함하는 것으로 가능한 폭넓게 해석되어야 한다.While the invention has been described using exemplary preferred embodiments, it will be understood that the scope of the invention is not limited to the disclosed embodiments. Rather, the scope of the present invention is intended to include all of the various modifications and similar configurations. Accordingly, the claims should be construed as broadly as possible to cover all such modifications and similar constructions.

이와 같은 본 발명에 의하면, 멱승 연산 과정에서 윈도우의 크기가 수시로 변경되기 때문에 외부 공격으로부터 데이터가 보호될 수 있다. 즉, 보안성이 향상된다.According to the present invention as described above, since the size of the window is changed at any time in the power multiplication process, data can be protected from an external attack. That is, security is improved.

도 1은 본 발명의 바람직한 실시예에 따른 모듈러 멱승 연산 방법을 보여주는 플로우차트이다.1 is a flowchart showing a modular power calculation method according to a preferred embodiment of the present invention.

Claims (6)

스캔 윈도우의 최대 크기를 설정하는 단계; 그리고Setting a maximum size of the scan window; And 상기 설정된 최대 크기 범위 내에서 임의의 값을 상기 스캔 윈도우의 크기를 설정하는 단계를 포함하는 모듈러 멱승 연산 방법.And setting a size of the scan window to any value within the set maximum size range. 제 1 항에 있어서,The method of claim 1, 상기 설정된 최대 크기 내 가능한 지수 비트 조합들에 대한 멱승을 계산하는 단계를 더 포함하는 모듈러 멱승 연산 방법.And calculating a power for a possible exponential bit combination within the set maximum size. 제 2 항에 있어서,The method of claim 2, 상기 설정된 스캔 윈도우의 크기에 대응하는 지수 비트들에 대한 계산된 멱승값으로부터 모듈러 지수 계산을 수행하는 단계를 더 포함하는 모듈러 멱승 연산 방법.And performing a modular exponent calculation from the calculated power value for exponent bits corresponding to the size of the set scan window. 제 1 항에 있어서,The method of claim 1, 상기 스캔 윈도우의 크기로 설정되는 상기 임의의 값은 상기 설정된 최대 크기와 같거나 또는 작은 모듈러 멱승 연산 방법.And the random value set to the size of the scan window is less than or equal to the set maximum size. 스캔 윈도우의 최대 크기를 설정하는 단계와;Setting a maximum size of the scan window; 상기 설정된 최대 크기 내 가능한 지수 비트 조합들에 대한 멱승을 계산하는 단계와;Calculating powers for possible exponential bit combinations within the set maximum magnitude; 상기 설정된 최대 크기 범위 내에서 난수를 발생하는 단계; 그리고Generating a random number within the set maximum size range; And 상기 발생된 난수로써 상기 스캔 윈도우의 크기를 설정하는 단계를 포함하는 모듈러 멱승 연산 방법.And setting the size of the scan window as the generated random number. 제 5 항에 있어서,The method of claim 5, 상기 설정된 스캔 윈도우의 크기에 대응하는 지수 비트들에 대한 계산된 멱승값으로부터 모듈러 지수 계산을 수행하는 단계를 더 포함하는 모듈러 멱승 연산 방법.And performing a modular exponent calculation from the calculated power value for exponent bits corresponding to the size of the set scan window.
KR1020040026262A 2004-04-16 2004-04-16 Modular exponentiation operation method KR20050101003A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040026262A KR20050101003A (en) 2004-04-16 2004-04-16 Modular exponentiation operation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040026262A KR20050101003A (en) 2004-04-16 2004-04-16 Modular exponentiation operation method

Publications (1)

Publication Number Publication Date
KR20050101003A true KR20050101003A (en) 2005-10-20

Family

ID=37279629

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040026262A KR20050101003A (en) 2004-04-16 2004-04-16 Modular exponentiation operation method

Country Status (1)

Country Link
KR (1) KR20050101003A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101472800B1 (en) * 2007-06-28 2014-12-15 삼성전자주식회사 Altering the size of windows in public key cryptographic computations
KR20220068105A (en) 2020-11-18 2022-05-25 고려대학교 산학협력단 Method for modular multiplication

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101472800B1 (en) * 2007-06-28 2014-12-15 삼성전자주식회사 Altering the size of windows in public key cryptographic computations
KR20220068105A (en) 2020-11-18 2022-05-25 고려대학교 산학협력단 Method for modular multiplication

Similar Documents

Publication Publication Date Title
Liu et al. An efficient privacy-preserving outsourced calculation toolkit with multiple keys
Agrawal et al. Elliptic curve cryptography with hill cipher generation for secure text cryptosystem
WO2013021360A1 (en) Encryption and decryption method
Khatarkar et al. A survey and performance analysis of various RSA based encryption techniques
Patil et al. Big data privacy using fully homomorphic non-deterministic encryption
Raghunandan et al. Comparative analysis of encryption and decryption techniques using mersenne prime numbers and phony modulus to avoid factorization attack of RSA
Liu et al. Image Encryption Technology Based on Fractional Two‐Dimensional Triangle Function Combination Discrete Chaotic Map Coupled with Menezes‐Vanstone Elliptic Curve Cryptosystem
Al-Kaabi Methods toward enhancing RSA algorithm: a survey
Raghunandan et al. Key generation and security analysis of text cryptography using cubic power of Pell's equation
Ordonez et al. Modified El Gamal algorithm for multiple senders and single receiver encryption
Saeed et al. Improved cloud storage security of using three layers cryptography algorithms
Rui et al. A k-RSA algorithm
CN110798313B (en) Secret dynamic sharing-based collaborative generation method and system for number containing secret
JP3402441B2 (en) Public key encryption device, public key encryption / decryption device, and decryption program recording medium
Mahmoud Development of Matrix Cipher Modifications and Key Exchange Protocol
Thangavel et al. Improved secure RSA cryptosystem for data confidentiality in cloud
CN110912673B (en) Additive homomorphic encryption and decryption method with double decryption mechanisms
Kumar et al. Implementation of modified RSA cryptosystem for data encryption and decryption based on n prime number and bit stuffing
Priyatharsan et al. A new elliptic curve cryptographic system over the finite fields
KR20050101003A (en) Modular exponentiation operation method
Ganpati et al. A Survey of Different Public-Key Cryptosystems
CN115001741B (en) Data encryption method and related components
Hazzazi et al. Asymmetric Key Cryptosystem for Image Encryption by Elliptic Curve over Galois Field GF (2 n).
WO2018011825A1 (en) Encryption and decryption of messages
Bashir et al. Cryptanalysis and improvement of an encryption scheme that uses elliptic curves over finite fields

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid