KR20090122025A - Encryption and decryption scheme based on elliptic curve - Google Patents

Encryption and decryption scheme based on elliptic curve Download PDF

Info

Publication number
KR20090122025A
KR20090122025A KR1020080048220A KR20080048220A KR20090122025A KR 20090122025 A KR20090122025 A KR 20090122025A KR 1020080048220 A KR1020080048220 A KR 1020080048220A KR 20080048220 A KR20080048220 A KR 20080048220A KR 20090122025 A KR20090122025 A KR 20090122025A
Authority
KR
South Korea
Prior art keywords
elliptic curve
encryption
data
tag
transmitted
Prior art date
Application number
KR1020080048220A
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 KR1020080048220A priority Critical patent/KR20090122025A/en
Publication of KR20090122025A publication Critical patent/KR20090122025A/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
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)

Abstract

PURPOSE: An encryption and decryption scheme based on an elliptic curve are provided to reduce a load of internal calculation by using 10 bits parameter instead of more than 160 bits. CONSTITUTION: In an encryption and decryption scheme based on an elliptic curve, an arbitrary coordinate G, P parameter on an elliptic curve is generated by substituting a predetermined 10 bits parameter(S10). Public keys of a tag and public keys of a reader are transmitted to the other communication device(S20). The same cryptographic key C1 and C2 are generated by multiplying random number with the received public keys(S30). Transmission data is encrypted by a second step by using a cryptographic key C1 and C2(S40). The encrypted data is transmitted to the other communication device processing an authentication process(S50). The transmitted data is encrypted(S60).

Description

타원곡선기반의 암호화 및 복호화 방법{Encryption and Decryption Scheme Based on Elliptic Curve} Encryption and Decryption Scheme Based on Elliptic Curve

본 발명은 유비쿼터스 환경에서 안전한 데이터 전송을 위한 타원곡선기반의 RFID 시스템의 암호화 방법에 관한 것으로서, 더욱 상세하게는 RFID 태그 정보를 공격자에게 노출시키지 않고 안전하게 전달하기 위해 RFID 태그에서 전달할 데이터를 암호화하고 상기 암호화된 데이터를 전송받은 측에서 복호화를 수행하여 원래의 데이터를 복원해내는 타원곡선기반의 암호화 및 복호화 방법에 관한 것이다.The present invention relates to an encryption method of an elliptic curve-based RFID system for secure data transmission in a ubiquitous environment, and more particularly, encrypts data to be transmitted from an RFID tag to securely deliver the RFID tag information without exposing the RFID tag information to an attacker. The present invention relates to an elliptic curve-based encryption and decryption method for recovering original data by performing decryption on the side of receiving encrypted data.

유비쿼터스 서비스 기반이 되는 기술 중 사물에 대한 식별을 제공하는 기술은 아주 중요한 요소가 되며, 현재까지 주로 사용되는 사물 식별 기술은 바코드 시스템과 센서 기술, 각 기술의 단점을 보완한 RFID(Radio Frequency Identification) 등이 있다. RFID 기술은 기존의 바코드 시스템이나 자기 식별 장치와 달리 비접촉 방식을 이용하므로 사용자 편의성을 향상시키고 대량 식별이 가능하며 고가 센서 장비와는 달리 태그의 대량 생산과 저렴한 가격 경쟁력 등 장점 을 가지고 있어 유비쿼터스 환경에 최적화된 사물 식별 기술로 각광받고 있다. Among technologies based on ubiquitous service, technology that provides identification of things becomes a very important factor, and object identification technology mainly used to date is barcode system, sensor technology, and radio frequency identification (RFID) that compensates for the shortcomings of each technology. Etc. Unlike conventional barcode systems or self-identifying devices, RFID technology uses a non-contact method, which improves user convenience and enables mass identification. Unlike high-priced sensor equipment, RFID technology has advantages such as mass production of tags and low price competitiveness. It is being spotlighted as an optimized object identification technology.

그러나 RFID 태그 자원인 메모리 사이즈와 전원 등의 자원에 제약이 있기 때문에 종래의 RFID 시스템들은 일반적으로 암호 알고리즘을 적용하지 않아 정보 유출로 인한 개인정보 침해의 우려가 있고, 개인정보를 다루는 특수 목적 서비스의 등장이 불가피한 시점에서 이러한 보안문제는 큰 손실을 야기할 수 있다. However, since there are limitations on resources such as memory size and power, which are RFID tag resources, conventional RFID systems generally do not apply cryptographic algorithms, which may cause infringement of personal information due to information leakage. At a time when emergence is inevitable, these security problems can cause significant losses.

이러한 종래 기술의 문제를 해결하기 위해서 태그와 리더 간의 통신 내용 자체를 보호하기 위한 도청 방지 기법이 필요함은 물론, 제한적 자원을 가진 태그 내에 보안기능을 구현하기 위해 경량화된 암호화 기능과 프로토콜이 요구되는 실정이다. In order to solve the problems of the prior art, a wiretap prevention technique for protecting the communication content between the tag and the reader is required, and lightweight encryption and a protocol are required to implement a security function in a tag having limited resources. to be.

더욱이 RFID 보안 기법에서 요구되는 조건은 태그와 리더 간의 양방향 데이터 전송, 보안 기법 구현 시 태그의 제한적인 자원과 최소로 한정된 메모리 공간의 사용, 실시간 상호작용을 위한 빠른 처리 속도문제 개선이 요구된다. 최근 이러한 조건을 만족하기 위해 경량화된 보안 프로토콜의 연구가 진행되고 있으나 실제 구현상의 메모리 제한 문제나 보안의 강도면에서 문제점이 있다. Furthermore, the conditions required for RFID security schemes require bidirectional data transmission between tags and readers, the limited resources and minimum memory space used when implementing the security schemes, and the fast processing speed for real-time interaction. Recently, researches on lightweight security protocols have been conducted to satisfy these conditions. However, there are problems in terms of memory limitation and security of the implementation.

본 발명은 상기 문제점을 해소하기 위하여 안출된 것으로서, 본 발명의 목적은 태그-리더 구간의 데이터 전송을 10비트 파라미터를 이용한 타원곡선기반 암호화(ECC, Elliptic Curve Crytosystem) 프로토콜을 적용하여 전송 데이터량을 경량화하고 태그-리더 사이의 연산의 부하를 줄이고, 두 번 암호화하여 암호화 강도를 증가시킴으로써 안전한 데이터 전송을 위한 타원곡선기반의 재 암호화 방법을 제안하는데 그 목적이 있다.The present invention has been made to solve the above problems, and an object of the present invention is to apply an elliptic curve-based encryption (ECC) protocol using a 10-bit parameter to transmit data in a tag-reader interval. The purpose of this paper is to propose an elliptic curve-based re-encryption method for secure data transmission by reducing the weight, reducing the load between tag-readers, and increasing the encryption strength by encrypting twice.

상기의 과제를 해결하기 위하여, 본 발명은 유한체 GF(p)상에 체의 표수 p를 소수로 사용하는 타원곡선

Figure 112008036880401-PAT00002
연산자가 양 통신기기에 설치되고, 임의로 생성되어 미리 설정된 파라미터 a, b, p가 상기 타원곡선에 입력되어 타원곡선상의 임의의 두 점인 파라미터 G, P를 생성하는 단계와 상기 파라미터 G, P 좌표값에 각 통신기기에서 생성하여 설정된 난수를 상기 타원곡선 연산자를 이용하여 스칼라 곱하여 2개의 공개키를 생성하는 단계와 인증절차의 상대 통신기기로부터 전송받은 2개의 공개키에 자기 통신기기에 설정된 난수를 상기 타원곡선 연산자를 이용하여 스칼라 곱하여 두 개의 암호키 C1, C2를 생성하는 단계와 상기 양 통신기기 중 송신 통신기기는 전송할 데이터를 C1에 의하여 암호화한 후, C2 에 의하여 재 암호화하는 단계 및 수신 통신기기는 C1, C2의 역원인 복호키를 상기 타원곡선 연산자를 이용하여 생성하고, 상기 복호키를 사용하여 수신 데이터를 복호화하는 단계를 포함하는 것을 특징으로 한다.In order to solve the above problems, the present invention is an elliptic curve using a small number of sieves p on the fin body GF (p)
Figure 112008036880401-PAT00002
Operators are installed in both communication devices, and randomly generated preset parameters a, b, and p are input to the elliptic curve to generate parameters G and P, which are two arbitrary points on the elliptic curve, and the parameter G and P coordinate values. Generating two public keys by scalar multiplying the random number generated and set in each communication device using the elliptic curve operator and writing the random numbers set in the own communication device to the two public keys received from the counterpart communication device in the authentication procedure. Generating two encryption keys C1 and C2 by scalar multiplying using an elliptic curve operator and transmitting data between the two communication devices by encrypting the data to be transmitted by C1 and then re-encrypting by C2 and the receiving communication device. Generates a decryption key, which is an inverse of C1, C2, using the elliptic curve operator, and receives the received data using the decryption key. Characterized in that it comprises the step of decoding.

이상 설명한 바와 같이, 본 발명은 종래의 ECC 암호화 기술에 주로 160비트 이상의 파라미터를 사용하였던 것을 10비트 파라미터를 사용하여 정보를 암호화하여 태그-리더 구간의 인증절차를 처리하도록 함으로써 패시브(Passive) 소자인 태그의 저전력, 제한된 메모리 사이즈 등을 활용할 수 있으며, 태그 내부 연산의 부하를 줄여 빠른 연산속도를 확보할 수 있고, 데이터를 2단계로 암호화하여 전송함으로써 암호화된 데이터를 1회 복호화하여서는 정보가 유출되지 않도록 암호화 강도를 높인 효과가 있다. As described above, the present invention is a passive device by processing the authentication process of the tag-reader interval by encrypting information using 10-bit parameters, which is mainly used with 160-bit or more parameters in the conventional ECC encryption technology. Low power of tag, limited memory size, etc. can be utilized, and fast operation speed can be secured by reducing the load of internal tag operations, and data is encrypted in two steps so that information cannot be leaked by decrypting encrypted data once. It has the effect of increasing the encryption strength.

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

도 1은 본 발명의 일실시예에 따른 타원곡선기반의 암호화 및 복호화 방법의 흐름도로서, 상기 타원곡선기반의 암호화 및 복호화 방법은 다음과 같은 단계로 이루어진다.1 is a flowchart of an elliptic curve based encryption and decryption method according to an embodiment of the present invention. The elliptic curve based encryption and decryption method includes the following steps.

태그 및 리더에는 유한체 상에서 10비트 파라미터를 생성하는 타원곡선

Figure 112008036880401-PAT00003
연산자가 양 통신기기에 설치되어 실행되고, 임의로 생성되어 미리 설정된 a, b, p의 10비트 파라미터 값을 대입하여 타원곡선상의 임의의 좌표값 G, P 파라미터를 생성하는 단계(S10)와, 상기 타원곡선상의 좌표값 G, P에 태그 및 리더의 난수 c, k를 각각 스칼라 곱하여 태그의 공개키 cG, cP 및 리더의 공개키 kG, kP를 생성하여 상대 통신기기로 전달하는 단계(S20)와, 상기 전송받은 공개키에 난수를 곱하여 동일한 암호키 C1=ckG, C2=ckP를 생성하는 단계(S30) 및 암호키 C1, C2를 이용하여 전송할 데이터를 2단계로 암호화하는 단계(S40)로 이루어져 암호화 과정을 수행한다.Tags and readers have elliptic curves that generate 10-bit parameters on finite bodies.
Figure 112008036880401-PAT00003
An operator is installed and executed in both communication devices, and generates arbitrary coordinate values G and P parameters on an elliptic curve by substituting randomly generated 10-bit parameter values of a, b, and p (S10); (S20) generating a public key cG, cP and a reader public key kG, kP of the tag by scalar multiplying the coordinate values G and P of the elliptic curve by the tag and the reader's random numbers c and k (S20); And multiplying the received public key by a random number to generate the same encryption key C1 = ckG, C2 = ckP (S30) and encrypting data to be transmitted using encryption keys C1 and C2 in two steps (S40). Perform the encryption process.

또한, 상기 암호화 과정 이후에, 상기 암호화된 데이터를 인증절차를 처리하는 상대 측 통신기기로 전송하는 단계(S50) 및 상기 전송된 암호화된 데이터를 복호화하는 단계(S60)를 더 포함하여 원래의 데이터가 복원된다. In addition, after the encryption process, further comprising the step (S50) of transmitting the encrypted data to the counterpart communication device that processes the authentication procedure and the step of decrypting the transmitted encrypted data (S60) Is restored.

상기 각 단계에 대하여 도 2에 도시된 타원곡선기반의 암호화 및 복호화 방법의 단계별 처리과정을 보다 상세하게 설명하도록 한다. Each step will be described in more detail with respect to the step-by-step processing of the elliptic curve-based encryption and decryption method shown in FIG.

먼저, 태그 및 리더에는 유한체 상에서 10비트 파라미터를 생성하는 타원곡선

Figure 112008036880401-PAT00004
연산자가 설치되어 실행되고, 임의로 생성되어 미리 설정된 a, b의 10비트 파라미터, 3보다 큰 소수인 10비트 파라미터 p가 상기 타원곡선에 입력되어 타원곡선상의 임의의 좌표값인 파라미터 G, P가 생성하는 단 계(S10)는 태그 및 리더에서 유한체상의 타원곡선에 적용되는 파라미터 a, b, p, G, P를 공유하도록 프로그램 설치 시 동기화가 이루어지며, 상기 태그 및 리더에는 임의로 생성되어 미리 설정된 파라미터 a, b, p, G, P가 저장되고, 양 통신기기에 동일한 파라미터가 저장된다. First, tags and readers have elliptic curves that generate 10-bit parameters on finite bodies.
Figure 112008036880401-PAT00004
Operators are installed and executed, randomly generated 10-bit parameters of a and b, 10-bit parameter p, which is a prime number greater than 3, are input to the elliptic curve to generate parameters G and P, which are arbitrary coordinate values on the elliptic curve. The step (S10) is synchronized when the program is installed to share the parameters a, b, p, G, P applied to the elliptic curve on the tag and the reader, and the tag and the reader are randomly generated and set in advance The parameters a, b, p, G, P are stored, and the same parameters are stored in both communication devices.

설명의 편의를 위하여 단순화된 예를 들어보면, 임의로 생성되어 미리 설정된 파라미터 a, b, p가 주어지면 타원곡선상의 점의 좌표를 구할 수 있으며, 표수 p=5, a=1, b=1인 경우 타원곡선 위의 좌표를 구하면, (x, y)의 좌표는 (0,1) , (0, 4) , (2, 1) , (2, 4) , (3, 1) , (3, 4) , (4, 2) , (4, 3)와 같은 점들이 생성된다. 상기 생성된 점들은 한 개의 x값에 대하여 2개의 y값을 가지며 서로 역원인 관계가 성립된다. For simplicity, for convenience of explanation, given the parameters a, b, and p, which are randomly generated and preset, the coordinates of the points on the elliptic curve can be obtained, and the number p = 5, a = 1, b = 1 If you find the coordinates on the elliptic curve, the coordinates of (x, y) are (0,1), (0, 4), (2, 1), (2, 4), (3, 1), (3, 4) points such as (4, 2) and (4, 3) are generated. The generated points have two y-values for one x-value and an inverse relationship is established with each other.

즉, G좌표가 (0, 1)이면 G의 역원의 좌표는 (0, 4)가 된다. That is, if the G coordinate is (0, 1), the coordinate of the inverse circle of G is (0, 4).

이와 같이 생성된 점들 중에서, 미리 설치된 프로그램에 의해 G좌표와 P좌표가 결정되며, 태그와 리더에는 동일한 G좌표 및 P좌표가 저장된다. Among the points generated as described above, G coordinates and P coordinates are determined by a pre-installed program, and the same G coordinates and P coordinates are stored in the tag and the reader.

예컨대, 태그와 리더 모두 G좌표는 (0, 1) , P좌표는 (4, 3)를 공유하도록 프로그램 설치시 동기화된다. For example, both tags and readers are synchronized at program installation so that G coordinates share (0, 1) and P coordinates share (4, 3).

다음으로, 상기 타원곡선상의 좌표값 G, P에 태그의 난수 c 및 리더의 난수 k를 각각 스칼라 곱하여 태그의 공개키 cG, cP 및 리더의 공개키 kG, kP를 생성한다. Next, the coordinate values G and P on the elliptic curve are scalarly multiplied by the tag's random number c and the reader's random number k to generate the tag's public key cG, cP and the reader's public key kG and kP.

일반적으로, 태그와 리더는 각각 다른 난수값 c와 k를 갖으며, 태그와 리더의 공개키 값은 서로 다른 좌표값이 된다. 상기 생성된 공개키는 인증절차 및 데이 터를 전달할 상대 측 통신기기로 전달되고(S20), 태그 및 리더는 상기 전송받은 공개키와 상기 공개키를 전송받은 측 통신기기의 난수를 스칼라 곱하여 동일한 암호키 C1=c·kG, C2=c·kP를 생성한다(S30). In general, the tag and the reader have different random values c and k, and the public key values of the tag and the reader are different coordinate values. The generated public key is transmitted to the counterpart communication device to which the authentication procedure and data are transmitted (S20), and the tag and the reader scalar multiply the random number of the received public key and the communication device receiving the public key to obtain the same cipher. Generate a key C1 = c · kG and C2 = c · kP (S30).

(단, c, k는 난수이고, k≥1, c≥n-1, 위수 n=p+1-t,

Figure 112008036880401-PAT00005
≤t≤
Figure 112008036880401-PAT00006
)(Where c and k are random numbers, k≥1, c≥n-1, order n = p + 1-t,
Figure 112008036880401-PAT00005
≤t≤
Figure 112008036880401-PAT00006
)

타원곡선상에서의 스칼라 곱은 타원곡선상에서의 덧셈 연산을 곱해진 계수만큼 수행하는 것으로서, 3P=P+P+P와 동일하다. The scalar product on the elliptic curve is to perform the addition operation on the elliptic curve by the multiplied coefficient, which is equal to 3P = P + P + P.

상기 타원곡선상의 덧셈연산은 아래 [수학식 1]과 [수학식 2]에 의해서 (X3, Y3)가 계산된다. The addition operation on the elliptic curve (X 3 , Y 3 ) is calculated by Equation 1 and Equation 2 below.

Figure 112008036880401-PAT00007
Figure 112008036880401-PAT00007

Figure 112008036880401-PAT00008
Figure 112008036880401-PAT00008

Figure 112008036880401-PAT00009
Figure 112008036880401-PAT00009

Figure 112008036880401-PAT00010
Figure 112008036880401-PAT00010

Figure 112008036880401-PAT00011
Figure 112008036880401-PAT00011

Figure 112008036880401-PAT00012
Figure 112008036880401-PAT00012

Figure 112008036880401-PAT00013
Figure 112008036880401-PAT00013

Figure 112008036880401-PAT00014
Figure 112008036880401-PAT00014

예컨대, G의 좌표값이 (0, 1)이고 난수 k=3인 경우 3·(0, 1)=(0, 1)+(0, 1)+(0, 1)로 타원곡선상의 덧셈연산으로 표현할 수 있고, (0, 1)+(0, 1)의 계산은 [수학식 2]가 적용된다. For example, if the coordinate value of G is (0, 1) and the random number k = 3, the addition operation on the elliptic curve is performed as 3 · (0, 1) = (0, 1) + (0, 1) + (0, 1). Equation (2) is applied to the calculation of (0, 1) + (0, 1).

Figure 112008036880401-PAT00015
이고, 유클리드 알고리즘을 이용하여 역원을 구해서 k값을 구하면, "/" 연산을 "*"연산으로 전환하여 계산할 수 있다.
Figure 112008036880401-PAT00015
By calculating the inverse by using the Euclidean algorithm to obtain the k value, it can be calculated by converting the "/" operation to the "*" operation.

따라서 2x=1 mod 5 , x=3 mod 5 이므로 역원은 3이 되고, k=3을 [수학식 2]에 대입하면 x3=9 mod 5 = 4 , y3=-13 mod 5 = 2 가 되며 (0, 1)+(0, 1)=(4, 2)로 계산된다. Therefore, 2x = 1 mod 5, x = 3 mod 5, so the inverse is 3, and substituting k = 3 into Equation 2 gives x 3 = 9 mod 5 = 4 and y 3 = -13 mod 5 = 2 And (0, 1) + (0, 1) = (4, 2).

마찬가지 방법으로 (4, 2)+(0, 1)을 [수학식 1]에 대입하여 계산하면, 아래와 같다. In the same manner, when (4, 2) + (0, 1) is substituted into [Equation 1], it is as follows.

3·(0, 1)= (0, 1)+(0, 1)+(0,1)= (4, 2)+(0, 1)=(2, 1) 3 (0, 1) = (0, 1) + (0, 1) + (0, 1) = (4, 2) + (0, 1) = (2, 1)

마찬가지 방법으로 타원곡선상의 G(0, 1)과 P(4, 3) 좌표와 난수 k=3, c=5를 스칼라 곱하여 공개키를 생성하면 아래와 같다. In the same way, the public key is generated by scalar multiplying the G (0, 1) and P (4, 3) coordinates on the elliptic curve with the random numbers k = 3 and c = 5.

태그의 공개키; cG=5·(0, 1)=(3, 1) , cP=5·(4, 3)=(0, 4)The public key of the tag; cG = 5 · (0, 1) = (3, 1), cP = 5 · (4, 3) = (0, 4)

리더의 공개키; kG=3·(0, 1)=(2, 1) , kP=3·(4, 3)=(2, 1)The public key of the reader; kG = 3 · (0, 1) = (2, 1), kP = 3 · (4, 3) = (2, 1)

상기 타원곡선 연산자를 이용한 스칼라 곱은 고속 연산을 위해 Binary NAF(Non-Adjacent Form) 방법에 의하여 계산할 수 있다. The scalar product using the elliptic curve operator can be calculated by a Binary Non-Adjacent Form (NAF) method for high speed computation.

상기 태그 또는 리더로부터 전송된 상대 측 공개키를 이용하여 암호키 C1, C2를 생성하여 전송할 데이터를 암호화한다. Encryption data C1 and C2 are generated using the public key transmitted from the tag or the reader to encrypt data to be transmitted.

상기 리더의 암호키는 C1= k·cG , C2=k·cP 이고, 태그의 암호키는 C1=c·kG, C2=c·kP로 동일하다. 즉, 전송된 공개키에 난수를 스칼라 곱하여 계산하면 C1=(2, 4)이고, C2=(2, 4)로 계산된다.The encryption key of the reader is C1 = k · cG, C2 = k · cP, and the encryption key of the tag is the same as C1 = c · kG, C2 = c · kP. In other words, when the transmitted public key is multiplied by a random number and calculated, C1 = (2, 4) and C2 = (2, 4).

상기 암호키 C1, C2를 이용하여 전송할 데이터를 2단계로 암호화하는 단계(S40)는 10비트 파라미터를 이용하여 데이터를 암호화함으로써 저전력, 제한된 메모리를 갖는 태그의 컴퓨팅 능력을 활용할 수 있고, 160비트를 사용하는 암호화 방법에 비해 정보 유출 가능성이 높은 점을 고려하여 전송할 데이터를 두 개의 암호키를 사용하여 2단계로 암호화한다. Encrypting data to be transmitted using the encryption keys C1 and C2 in two steps (S40) encrypts the data using a 10-bit parameter to utilize the computing power of a tag having a low power and limited memory, and uses 160 bits. In consideration of the possibility of information leakage compared to the encryption method used, the data to be transmitted is encrypted in two steps using two encryption keys.

예를 들어, 전송할 데이터 M=(3, 1)이고, 암호키 C1=(2, 4) , C2=(2, 4)이므로 M을 1단계 암호화하면, M'=M+C1=(3, 1)+(2, 4)=(4, 2)이 되고, 2단계 암호화하면, M"=M'+C2=(4, 2)+(2, 4)=(0, 4)가 된다. For example, if the data to be transmitted is M = (3, 1) and the encryption keys C1 = (2, 4) and C2 = (2, 4), M is encrypted in one step, and M '= M + C1 = (3, 1) + (2, 4) = (4, 2), and two-step encryption yields M "= M '+ C2 = (4, 2) + (2, 4) = (0, 4).

상기 전송할 데이터 M을 10비트 파라미터로 나타내면 00011 00001(2) 이고, 2단계 암호화된 데이터를 10비트 파라미터로 전송할 경우, 00000 00100(2) 된다.If the data M to be transmitted is represented by a 10-bit parameter, it is 00011 00001 (2) , and when transmitting two-level encrypted data as a 10-bit parameter, 00000 00100 (2) do.

상기 10비트 파라미터의 2단계 암호화 과정은 ECC 알고리즘을 이용한 작은 키의 연산 속도가 빠른 점을 활용하여 통신속도에 영향을 주지 않고, 1회의 복호화만으로는 원래의 데이터를 복원할 수가 없도록 보완 효율을 향상시킴으로써 제 3자에 의한 정보 누출을 방지하는 효과가 있다.The two-step encryption process of the 10-bit parameter utilizes the fast operation speed of the small key using the ECC algorithm, thereby improving the complementary efficiency so that the original data cannot be restored by only one decryption without affecting the communication speed. There is an effect of preventing information leakage by a third party.

또한, 상기 암호화 과정 이후에, 상기 암호화된 데이터를 인증절차를 처리하는 상대 측 통신기기로 전송하는 단계(S50) 및 상기 전송된 암호화된 데이터를 복호화하는 단계(S60)를 더 포함하여 원래의 데이터가 복원된다. In addition, after the encryption process, further comprising the step (S50) of transmitting the encrypted data to the counterpart communication device that processes the authentication procedure and the step of decrypting the transmitted encrypted data (S60) Is restored.

상기 태그로부터 전송된 암호화된 데이터를 복호화하기 위해서는 리더에서 복호키를 생성해야 하며, 상기 복호키는 2개의 암호키의 역원에 해당되는 2개의 타원곡선상의 좌표가 된다. 따라서, 복호키 생성은 타원곡선상의 역원을 구하는 방법에 의하며, 상기 암호키 생성과정에서 알 수 있듯이, 리더와 태그는 암호키를 공유하므로 2단계로 암호화된 데이터를 복원할 수 있다. In order to decrypt the encrypted data transmitted from the tag, a decryption key must be generated by a reader, and the decryption key is coordinates on two elliptic curves corresponding to inverses of two encryption keys. Therefore, the decryption key generation is based on a method of obtaining an inverse of an elliptic curve. As can be seen in the encryption key generation process, since the reader and the tag share the encryption key, the encrypted data can be restored in two steps.

상기 암호키 C1, C2에 대한 복호키 C1', C2'는 암호키(2, 4)의 역원인 (2, 1)로 동일하다. 다만, 일반적인 경우 암호키 C1, C2는 동일한 키가 아니며, C1, C2가 다른 경우에는 복호키도 달라지게 된다. The decryption keys C1 'and C2' for the encryption keys C1 and C2 are the same as (2, 1), which is the inverse of the encryption keys 2 and 4. However, in general, the encryption keys C1 and C2 are not the same key, and when C1 and C2 are different, the decryption key is also different.

따라서, 상기 복화화는 암호화된 메시지 M" 및 복호키 C2(2, 1)의 타원곡선상의 덧셈 연산을 수행하여 M'를 얻고 다시 복호키 C1(2, 1)과 타원곡선상의 덧셈 연산을 수행하여 원래의 데이터 M을 복원할 수 있다. Therefore, the decoding performs an addition operation on the elliptic curve of the encrypted message M "and the decryption key C2 (2, 1) to obtain M ', and then performs an addition operation on the elliptic curve with the decryption key C1 (2, 1). The original data M can be restored.

즉, 전송받은 암호화된 데이터 00000 00100(2) 를 복호화하여 원래의 데이터 00011 00001(2) 를 복원하기 위해서는 2개의 복호키 C1'와 C2'가 필요하며, 아래와 같이 2단계 복호화 과정을 거쳐야 한다. That is, two decryption keys C1 'and C2' are required to decrypt the transmitted encrypted data 00000 00100 (2) and restore the original data 00011 00001 (2) .

M"(0, 4)+C2'(2, 1)=M'(4, 2)M "(0, 4) + C2 '(2, 1) = M' (4, 2)

M'(4, 2)+C1'(2, 1)=M(3, 1) M '(4, 2) + C1' (2, 1) = M (3, 1)

상기 2단계 복호화 과정을 거쳐 복원된 데이터 M을 10비트 파라미터로 나타내면 00011 00001(2) 가 되며, 태그로부터 전송된 데이터와 일치한다. If the data M recovered through the two-step decoding process is represented by a 10-bit parameter, it becomes 00011 00001 (2) , which coincides with the data transmitted from the tag.

도 3은 병원 무인접수 및 진료시스템으로 태그로부터 환자의 개인정보가 리더로 전송되고, 상기 환자의 개인정보가 다시 서버로 전송되어 진찰접수가 이루어지는 과정을 도시한 것이다.3 is a diagram illustrating a process in which patient personal information is transmitted to a reader from a tag to a hospital unattended reception and medical treatment system, and the patient personal information is transmitted to a server again to receive a medical examination.

상기 무인접수 및 진료시스템은 정기적으로 진찰을 요하는 환자를 대상으로 밴드형 액티브(Active) 태그를 부착하고 리더기가 설치된 출입문 등을 통과하면, 태그로부터 환자의 개인 정보가 리더기로 전송되면서 자동으로 진찰접수가 이루어지는 시스템으로, 상기 개인정보 전송시 암호화가 이루어지지 않을 경우 정보 누출의 문제가 있다. The unmanned reception and treatment system attaches a band-type active tag to a patient who needs regular medical examination and passes through a door installed with a reader, and the patient's personal information is automatically transferred from the tag to the reader. As a system in which reception is made, there is a problem of information leakage when encryption is not performed during the transmission of the personal information.

따라서, 본 발명을 적용하여 태그-리더 구간에서 태그로부터 전송할 데이터를 암호화하면, 저전력, 저메모리 등 자원의 한계를 갖는 태그의 컴퓨팅 능력을 활 용할 수 있고, 10비트의 작은 키를 이용한 ECC 알고리즘을 적용함으로써 처리속도를 개선하고, 전송할 데이터를 2단계로 암호화하여 개인정보 누출을 방지할 수 있다. Therefore, by applying the present invention to encrypt the data to be transmitted from the tag in the tag-reader interval, it is possible to utilize the computing power of the tag having a resource limitation, such as low power, low memory, and using an ECC algorithm using a 10-bit small key By applying it, the processing speed can be improved, and data to be transmitted can be encrypted in two steps to prevent personal information leakage.

또한, 리더-서버 구간에서는 종래의 160비트 암호화 과정을 이용하여 데이터를 암호화함으로써, 암호화 강도를 높일 수 있다.In addition, in the reader-server section, the encryption strength can be increased by encrypting data using a conventional 160-bit encryption process.

이상 설명한 자연수들은 계산의 편의를 위해 작은 자연수로 실시예를 들은 것일뿐, 본 발명의 인자 a,b, p, G, P 는 10비트 파라미터를 사용한다.The natural numbers described above are merely examples of small natural numbers for convenience of calculation, and the factors a, b, p, G, and P of the present invention use 10-bit parameters.

아울러, 상기한 RFID 암호화, 복호화 방법은 RFID가 포함된 유사한 제품군을 갖는 물류창고, 국방장비, 위치파악 시스템에 적용되는 것이 바람직하다.In addition, the RFID encryption, decryption method is preferably applied to a warehouse, defense equipment, location system having a similar product containing RFID.

이상에서 설명한 바와 같이, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.As described above, those skilled in the art will understand that the present invention can be implemented in other specific forms without changing the technical spirit or essential features.

그러므로 이상에 기술한 연산은 단지 예시적인 것이며 한정적인 것이 아니므로, 본 발명의 범위는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다. Therefore, the above-described calculations are merely exemplary and not limiting, and the scope of the present invention is represented by the following claims, and all changes or modifications derived from the meanings and ranges of the claims and their equivalent concepts. Should be construed as being included in the scope of the present invention.

도 1은 본 발명에 따른 타원곡선기반의 암호화 및 복호화 방법의 흐름도이다.1 is a flowchart of an elliptic curve-based encryption and decryption method according to the present invention.

도 2는 본 발명에 따른 타원곡선기반의 암호화 및 복호화 방법의 단계별 처리과정을 도시한 것이다. 2 illustrates a step-by-step process of the encryption and decryption method based on an elliptic curve according to the present invention.

도 3은 본 발명에 따른 타원곡선기반의 암호화 및 복호화 방법이 적용되는 병원무인접수 및 진료시스템을 도시한 것이다. 3 illustrates an unmanned hospital reception and medical treatment system to which an elliptic curve-based encryption and decryption method according to the present invention is applied.

Claims (3)

유한체 GF(p)상에 체의 표수 p를 소수로 사용하는 타원곡선
Figure 112008036880401-PAT00016
연산자가 양 통신기기에 설치되고, 임의로 생성되어 미리 설정된 파라미터 a, b, p가 상기 타원곡선에 입력되어 타원곡선상의 임의의 두 점인 파라미터 G, P를 생성하는 단계;
Elliptic curve using prime number p of sieve on finite field GF (p)
Figure 112008036880401-PAT00016
An operator is installed in both communication devices, and arbitrarily generated and preset parameters a, b and p are input to the elliptic curve to generate parameters G and P which are two arbitrary points on the elliptic curve;
상기 파라미터 G, P 좌표값에 각 통신기기에서 생성하여 설정된 난수를 상기 타원곡선 연산자를 이용하여 스칼라 곱하여 2개의 공개키를 생성하는 단계;Generating two public keys by scalar multiplying the parameter G, P coordinate values generated by each communication device using the elliptic curve operator; 인증절차의 상대 통신기기로부터 전송받은 2개의 공개키에 자기 통신기기에 설정된 난수를 상기 타원곡선 연산자를 이용하여 스칼라 곱하여 두 개의 암호키 C1, C2를 생성하는 단계; Generating two cryptographic keys C1 and C2 by scalar multiplying two public keys received from the counterpart communication device of the authentication procedure by using the elliptic curve operator; 상기 양 통신기기 중 송신 통신기기는 전송할 데이터를 C1에 의하여 암호화한 후, C2에 의하여 재 암호화하는 단계; 및The transmitting communication device of both communication devices encrypts data to be transmitted by C1 and then re-encrypts by C2; And 수신 통신기기는 C1, C2의 역원인 복호키를 상기 타원곡선 연산자를 이용하여 생성하고, 상기 복호키를 사용하여 수신 데이터를 복호화하는 단계를 포함하는 것을 특징으로 하는 타원곡선기반의 암호화 및 복호화 방법.The receiving communication device comprises generating a decryption key, which is an inverse of C1, C2, using the elliptic curve operator, and decrypting the received data using the decryption key. .
제 1항에 있어서, The method of claim 1, 상기 양 통신기기는 RFID 태그와 리더인 것을 특징으로 하는 타원곡선기반의 암호화 및 복호화 방법.Elliptic curve-based encryption and decryption method characterized in that the two communication devices are RFID tags and readers. 제 1항에 있어서,The method of claim 1, 각 파라미터와 난수는 10비트인 것을 특징으로 하는 타원곡선기반의 암호화 및 복호화 방법.Elliptic curve-based encryption and decryption method, characterized in that each parameter and random number is 10 bits.
KR1020080048220A 2008-05-23 2008-05-23 Encryption and decryption scheme based on elliptic curve KR20090122025A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080048220A KR20090122025A (en) 2008-05-23 2008-05-23 Encryption and decryption scheme based on elliptic curve

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080048220A KR20090122025A (en) 2008-05-23 2008-05-23 Encryption and decryption scheme based on elliptic curve

Publications (1)

Publication Number Publication Date
KR20090122025A true KR20090122025A (en) 2009-11-26

Family

ID=41604872

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080048220A KR20090122025A (en) 2008-05-23 2008-05-23 Encryption and decryption scheme based on elliptic curve

Country Status (1)

Country Link
KR (1) KR20090122025A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111339546A (en) * 2020-03-20 2020-06-26 苏州链原信息科技有限公司 Method for generating data tag, electronic device and computer storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111339546A (en) * 2020-03-20 2020-06-26 苏州链原信息科技有限公司 Method for generating data tag, electronic device and computer storage medium
CN111339546B (en) * 2020-03-20 2023-12-01 苏州链原信息科技有限公司 Method for generating data tag, electronic device and computer storage medium

Similar Documents

Publication Publication Date Title
US9172529B2 (en) Hybrid encryption schemes
JP5779434B2 (en) Security device and security system
WO2012172469A1 (en) Public key cryptography with reduced computational load
CN105306194A (en) Multiple encryption method and multiple encryption system for encrypting file and/or communication protocol
US20100005307A1 (en) Secure approach to send data from one system to another
CN113726725A (en) Data encryption and decryption method and device, electronic equipment and storage medium
CN113890731A (en) Key management method, key management device, electronic equipment and storage medium
Kahla et al. Asymmetric image encryption based on twin message fusion
Ullah et al. Types of lightweight cryptographies in current developments for resource constrained machine type communication devices: Challenges and opportunities
Barukab et al. Secure communication using symmetric and asymmetric cryptographic techniques
EP2571192A1 (en) Hybrid encryption schemes
JP6397921B2 (en) Operator lifting in cryptographic algorithms
WO2016124469A1 (en) System and method for performing block cipher cryptography by implementing a mixer function that includes a substitution-box and a linear transformation using a lookup-table
Sundaresan et al. Secure ownership transfer in multi-tag/multi-owner passive RFID systems
KR20090122025A (en) Encryption and decryption scheme based on elliptic curve
Nagaraj et al. Image security using ECC approach
KR102067065B1 (en) A matrix-vector multiplication apparatus based on message randomization which is safe for power analysis and electromagnetic analysis, and an encryption apparatus and method using the same
JP2005167635A (en) Apparatus, and data transmission reception method
Bali Comparative study of private and public key cryptography algorithms: A survey
Khalaf et al. Attacking the application of three-pass protocol in Hill-Cipher
Vijayalakshmi et al. ARO_EDGE: a technique to ensure data security in Internet of Things (IoT)
US20240137213A1 (en) Method for Arranging a Shared Cryptographic Key and Method for Encrypted Communication, Computer Program Product and Device
US20240235824A9 (en) Method for Arranging a Shared Cryptographic Key and Method for Encrypted Communication, Computer Program Product and Device
KR101517911B1 (en) ECC based method for medical data
Singh A Note on Symmetric Key Cryptosystems

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application