Abstract:
본 발명은 스마트카드에서 요구되는 암/복호화를 하드웨어적인 처리와 소프트웨어적인 처리를 통해 같이 구현함으로써 암/복호화 처리에 소요되는 시간의 감소 및 보안성 확보를 동시에 도모할 수 있는 스마트카드에서의 암호화 방법에 관한 것이다. 개시되는 암호화 방법은 (a)공개키 암호화에 요구되는 키(key) 값의 업데이트와 사용자 고유 정보를 입력하기 위한 외부 인터페이스 및 상기 암호화의 구현을 위한 암/복호화 알고리즘을 소프트웨어적인 처리로 구현하는 단계; 및 (b)상기 암호화 알고리즘에 포함된 모듈로 승산 연산(modulo multiplication operation)은 하드웨어적인 처리로 구현하는 단계를 포함한다. 본 발명은 소프트웨어적인 처리가 요구되며 아울러 소프트웨어적인 처리만으로도 성능(속도)에 지장이 없고 하드웨어적인 처리와는 무관한 키 값의 업데이트(저장) 및 암/복호화 알고리즘은 소프트웨어적인 처리로 구현하고, 성능(속도)과 직접 관련되고 소프트웨어적인 처리와는 무관한 모듈로 승산 연산은 하드웨어적인 처리로 구현하여 두 처리 간 핸드셰이킹(handshaking)을 통해 스마트카드에 있어서의 암/복호화 모듈을 구현하기 때문에 스마트카드에 있어서의 중요한 두 요소인 보안성 확보와 속도(성능)의 향상을 동시에 도모할 수 있는 이점을 갖는다.
Abstract:
The present invention relates to an encryption method in a smart card, which can ensure security and reduce time required for processing encryption/decryption by implementing both encryption and decryption through hardware-like process and software-like process. The disclosed encryption method includes the steps of (a) implementing, in a software-like process, an encryption/decryption algorithm for implementation of the encryption and an external interface so as to input user unique information and update a key value required for public key encryption; and (b) implementing, in a hardware-like process, a modulo multiplication operation contained in the encryption algorithm. The system of the present invention implements, in a software-like process, key value update (storing) and encryption/decryption algorithm, which are not related to hardware-like process and require a software-like process and do not influence performance (speed) while implementing, in a hardware-like process, the modulo multiplication operation which is directly related to performance (speed) and is unrelated to software-like process, thereby implementing an encryption/decryption module in a smart card through handshaking between the two processes. Therefore, two critical factors in the smart card of ensuring security and increasing speed (performance), can be achieved.
Abstract:
PURPOSE: A method for protecting information from power electricity analysis attack and error injection attack using CRT-RSA(Chinese Reminder Theorem-Rivest Shamir Adleman) is provided to protect the information by implementing a modular exponential algorithm in the CRT-RSA in order to achieve high speed calculation as being strong in the power electricity analysis attack and the error injection attack. CONSTITUTION: A method for protecting information from power electricity analysis attack and error injection attack using CRT-RSA uses a CRT-RSA modular exponential algorithm using p of 1 bit length and q of 1 bit length which are prime numbers satisfying rN=pq. Protection target information m, two prime numbers p and q, dp(=d mo(p-1)), dq(= d mod (q-1)), Ip(= p-1 mod q), Tp, Tq and Tlp are inputted, and r is randomly selected(100). R is smaller than p and q. A first data pair(S'p,Sp,p') is generated using m, dp, p, r and Tp. A second data pair(S'q,Sq,q') is generated using m,dq,q,r and Tq(120). K1 and K2 are calculated(130). K1 is obtained by modular calculation of the multiplication of Sp and S'q by 2I-1. K2 is obtained by modular calculation of the multiplication of S'p and Sq by 2I-1. A first middle value S1 of encoded information(S) of m is calculated using S'p and S'q, and a second middle value S2 of S is calculated using Sp and Sq(140). A value calculated using I, K1 and K2 is stored in a register(C1)(150). A value calculated using C1, m, S1, k2 and N is stored in a register(C2)(160). A recalculated value using p', q' and k1 is compared with the value stored in the register(C1)(170). S is generated by using C2, S2, C1, k1 and k2(190). [Reference numerals] (110) Receive necessary values(m,p,q,d_p,d_q,I_p,T_p,T_q,T_ip) for deriving information(S) encoding a protection target information m and select a random value r; (115) Generate d'_p randomizing a secret key index d_p and d'_q randomizing a secret key index d_q; (120) Generate a first data pair(S'_p,S_p,p') and a second data pair(S'_q,S_q,q'); (130) Calculate K1 and K2; (140) Calculate a first middle value S_1 and a second middle value S_2 for obtaining S; (150) Generate a value to be inputted to a register(C1); (160) Generate a value to be inputted to a register(C2); (170) Regenerate a value inputted to the register(C1); (180) Generate a value S'; (190) Generate a value S; (AA) Start; (BB) End
Abstract:
PURPOSE: An integrated cryptographic apparatus for providing confidentiality and integrity and a method thereof are provided to not only confidentiality but also integrity by integrating a block cipher and a hash function. CONSTITUTION: A hash function(200) providing integrity uses the calculation of a 32-bit word unit. A message preprocessing unit(210) changes a bit string of an arbitrary length into a 32-bit word line. A message compression part(220) successively compresses a message word changed into a 32-bit word unit through the message preprocessing unit by using a state update function. A hash value extracting unit(230) outputs a hash value having a hash length necessary to a user.
Abstract:
PURPOSE: An operation apparatus and a method thereof for ECC(Elliptic Curve Cryptography) are provided to reduce the number of operations and increase performance speed based on converted scalar multiplication. CONSTITUTION: Scalar multiplication about a point on an elliptic curve is set up through a first coordinate axis(310). The preset scalar multiplication is converted into a square form(320). The scalar multiplication of a square form is transformed into the form of a projective coordinate(330). The coordinate value about the first coordinate axis is calculated by using the scalar multiplication(340).
Abstract:
본 발명의 일 실시 예에 따른 디지털 서명 장치는 N=pq를 만족하는 서로 다른 두 소수인 비밀키 p와 q, 오일러의 totient 함수 을 이용하는 CRT-RSA 모듈러 지수승 알고리즘을 이용한 디지털 서명 장치에 있어서, 인증된 수신자에게 전송하고자 하는 메시지 m, 서로 다른 두 소수 p와 q, 비밀키 d, d를 p-1로 모듈러 연산한 d p , d를 q-1로 모듈러 연산한 d q , p와 q의 합인 T 1 을 수신하고, 제1 정수 k 및 제2 정수 r을 랜덤하게 선택하는 초기화부; 초기화부의 값들을 이용하여 제1 데이터 쌍 , 제2 데이터 쌍 , 서명 연산자를 연산하는 지수승 연산부; 제1 데이터 쌍의 와 제2 데이터 쌍의 를 입력값으로 중국인의 나머지 정리를 이용하여 제1 중간값 를 산출하고, 제1 데이터 쌍의 와 제2 데이터 쌍의 를 입력값으로 중국인의 나머지 정리를 이용하여 제2 중간값 를 산출하는 중간값 연산부; 의 비트열 길이와 N의 비트열 길이에 따라 결정된 제로 비트 생성 인자 , 의 보수 , p 및 q'를 이용하여 중간 연산자 를 연산하는 중간 연산자 연산부; 와 의 논리곱 연산을 수행하여 제1 중간값을 갱신하는 제1 중간값 갱신부; 를 로 나눈값과 제2 중간값을 논리곱 연산을 수행하여 제2 중간값을 갱신하는 제2 중간값 갱신부; 및 서명 연산자를 에 곱하여 최종 서명값을 생성하는 서명값 생성부를 포함한다.
Abstract:
PURPOSE: A cube root calculation method is provided to effectively calculate a cube root by reducing a hemming weight which determines the efficiency of the cubic root calculation. CONSTITUTION: An SPB(Shifted Polynomial Basis) creation unit(100) creates polynomial based on SPB. A cubic root creation unit(110) creates a cube root formula for the polynomial. A shift base determination unit(120) determines the x^-r of the SPB in order to exclude a subtraction from the cube root formula. A cube root calculation unit(130) calculates the cube root by using the x^-r.
Abstract:
오류주입 공격에 안전한 피아트 샤미르 개인 식별 장치, 방법 및 그 기록 매체가 개시된다. 본 발명의 일 실시 예에 따른 오류주입 공격에 안전한 피아트 샤미르 개인 식별 장치는 비밀키 과 비밀값 T A 를 저장하는 메모리부; 랜덤값 r을 이용하여 x = r 2 mod N 을 연산하고 상기 서명 요청자에 전송하는 약정값 전송부; 상기 서명 요청자에서 정수 l 이하의 자연수로 이루어진 집합 중 랜덤하게 선택된 부분 집합 S를 수신하는 대응값 수신부; 및 상기 비밀값 T A 및 상기 부분 집합 S의 원소를 이용하여 반응값을 연산하고 상기 서명 요청자에 전송하는 반응값 전송부를 포함한다.
Abstract:
데이터를 64비트로 나눈 블록을 16라운드 페이스텔(feistel)형 공통키 블록 암호 처리를 실행하는 암호 처리 방법을 개시한다. 상기 방법은 64비트의 평문에 초기 치환을 수행하는 단계, 마스터 키를 패리티 드롭하여 생성된 암호화 키(cipher key)를 비트 왼쪽 순환(left shift) 및 압축치환(compression permutation)을 거쳐 제1 내지 제15 라운드 키를 생성하고 상기 비트 왼쪽 순환, 레지스터의 오류 주입 및 압축치환을 통해 제16 라운드 키를 생성하는 단계, 상기 초기 치환이 수행된 64비트의 평문을 두 개의 32비트로 나누어 왼쪽 레지스터 및 오른쪽 레지스터에 저장한 후, 제1 내지 제16 라운드를 통해 상기 제1 내지 제16 라운드 키를 이용한 암호화 연산을 통해 수행하는 단계, 및 상기 제1 내지 제16 라운드의 암호화 연산을 통해 생성된 비트들에 대해 상기 초기 치환의 역과정을 수행하는 단계를 포함한다. 상기 방법은 16라운드 키 생성과정에서 오류를 주입하여 오류 주입 가능 범위를 넓히고 적은 오류를 주입하여 마스터 키를 획득할 수 있다.