KR20050028720A - Authentication using human memorable password and public key cryptsystem - Google Patents

Authentication using human memorable password and public key cryptsystem Download PDF

Info

Publication number
KR20050028720A
KR20050028720A KR1020030065235A KR20030065235A KR20050028720A KR 20050028720 A KR20050028720 A KR 20050028720A KR 1020030065235 A KR1020030065235 A KR 1020030065235A KR 20030065235 A KR20030065235 A KR 20030065235A KR 20050028720 A KR20050028720 A KR 20050028720A
Authority
KR
South Korea
Prior art keywords
function
secret information
user
result
secret
Prior art date
Application number
KR1020030065235A
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 KR1020030065235A priority Critical patent/KR20050028720A/en
Publication of KR20050028720A publication Critical patent/KR20050028720A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates

Abstract

An authentication technology using a human memorable password and a public key encryption system on communication environment is provided to offer security against diverse attacks by encrypting the password inputted from a user through the public key encryption system, while processing the human memorable password. A device-B generates a public/private key of the public key encryption system, opens the public key, and stores the private key. When the user inputs the password for registration, the device-B represents the private key. After mapping information for representing the password to other information, the device-B stores mapped information to a storage. When the user inputs the password in order to access the device-B(210), a device-A represents the password. After mapping the information representing the password to other value, the device-A encrypts the mapped information with the public key of the device-B and transmits an encryption result to the device-B(240). The device-B judges whether the user inputs the right password by comparing the result decrypting the information received from the device-A through the private key with the information stored in the storage.

Description

사람이 기억할 수 있는 비밀정보와 공개 키 암호 시스템을 이용한 인증 기술{Authentication using human memorable password and public key cryptsystem} Authentication using human memorable password and public key cryptsystem}

인증은 시스템 접근자가 인가된 사용자 인가를 확인하는 것으로 현실 속에서 인증 시스템에 의해 구체화된다. 인증 시스템의 예로는 암호 기술 기반 인증 시스템과 생체 인식 시스템이 있다. 본 발명은 공개 키 암호 시스템을 이용하는 암호 기술 기반 인증 시스템과 관련이 있다. Authentication is embodied by the authentication system in reality as the system accessor confirms the authorized user authorization. Examples of authentication systems include cryptographic technology based authentication systems and biometric systems. The present invention relates to a cryptographic technology based authentication system using a public key cryptosystem.

암호 기술 기반 인증 시스템은 사용자가 기억하고 있는 비밀정보를 처리하는 패스워드 시스템과 통상적으로 매체에 저장되어 있는 비밀정보를 처리하는 도전-응답 기반 시스템 및 영지식-기반 시스템이 있다. 현실속에서 도전-응답 방식은 사용자가 기억하기 어려운 비밀정보를 저장하고 있는 매체를 사용하는 방식으로 이용되고 있으며, 영 지식 기반 방식은 비효율성으로 인해 현실속에서 거의 사용되지 않고 있다. 본 발명은 패스워드 시스템과 관련이 있다.The cryptographic technology based authentication system includes a password system for processing secret information stored by a user and a challenge-response based system and a zero knowledge-based system for processing secret information stored in a medium. In reality, the challenge-response method is used as a medium that stores secret information that is difficult for the user to remember, and the Young Knowledge-based method is rarely used in reality due to inefficiency. The present invention relates to a password system.

패스워드 시스템은 패스워드를 처리하지 않고 기억장치에 저장하는 경우와 해쉬 함수나 대칭 키 블록 암호 알고리즘과 같은 암호 알고리즘을 이용하여 패스워드를 처리한 결과를 기억장치에 저장하는 경우로 구분된다. 본 발명은 암호 알고리즘을 이용하여 패스워드를 처리한 결과를 기억장치에 저장하는 경우와 관련이 있다. The password system is divided into a case of storing a password in a storage device without processing the password and a case of storing a password processing result in a storage device using a cryptographic algorithm such as a hash function or a symmetric key block cryptographic algorithm. The present invention relates to a case where a result of processing a password using an encryption algorithm is stored in a storage device.

한편 암호 알고리즘을 이용하여 패스워드를 처리하는 현재까지의 인증 기술은 인증 기술에 대한 오프라인 추측 공격과 패스워드 파일 컴프로마이즈, 도총을 포함한 다양한 공격들로부터 안전하지 않다는 사실이 알려져 있다. On the other hand, it is known that authentication techniques to date that use password algorithms are not safe from various attacks including off-line speculative attacks, authentication of password files, and guns.

본 발명에 의한 인증 기술은 사용자가 기억 가능한 비밀정보를 처리하면서도 다양한 공격들로부터 안전한 인증 기술을 제시하는데 목적이 있다. 이때, 사용자가 입력한 비밀정보는 공개 키 암호 시스템을 이용하여 암호화된다. The authentication technique according to the present invention has an object of presenting a secure authentication technique from various attacks while processing secret information that can be stored by the user. At this time, the secret information entered by the user is encrypted using a public key cryptosystem.

사용자가 노출되지 않기를 바라는 정보를 비밀정보라 하자. 이러한 비밀정보의 예로는 패스워드와 비밀번호가 있다. 본 발명에 의한 사용자 인증 암호 기술이 사용되는 환경은 사용자에게 비밀정보 입력이 가능하도록 하는 장치와 사용자가 올바른 비밀정보를 입력하였는지를 판단하는 장치 및 정보 전송 통로가 있다. 본 발명에서는 편의상 사용자에게 비밀정보를 입력 가능하도록 하는 장치를 장치 A라 하고, 사용자가 올바른 비밀정보를 입력하였는지를 판단하는 장치를 장치 B라 한다. 여기에서, 장치 A와 장치 B가 반드시 다를 필요는 없다.Let's say that the information you do not want your users to see is confidential. Examples of such secret information are passwords and passwords. The environment in which the user authentication encryption technology according to the present invention is used includes a device for enabling secret information input to a user, a device for determining whether the user has input correct secret information, and an information transmission path. In the present invention, a device for allowing the user to input secret information for convenience is called device A, and a device for determining whether the user inputs correct secret information is called device B. Here, device A and device B do not necessarily need to be different.

본 발명에 의한 사용자 인증 암호 기술은 (1) 장치 B가 공개 키 암호 시스템의 공개 키와 비밀 키를 생성하여 공개 키를 공개하고 비밀 키는 저장하는 과정과 (2) 사용자가 등록하기 위하여 비밀정보를 입력하였을 때, 장치 B가 비밀정보를 표현하는 과정, (3) 장치 B에서 비밀정보를 표현하는 정보를 다른 정보로 사한 후 사상된 정보를 기억 장치에 저장하는 과정, (4) 사용자가 장치 B에 접근하기 위하여 비밀정보를 입력하였을 때, 장치 A에서 비밀정보를 표현하는 과정, (5) 장치 A에서 비밀정보를 표현한 정보를 다른 값으로 사상한 후 사상된 정보를 장치 B의 공개 키를 이용하여 암호화한 후 암호화된 결과를 장치 B에 전송하는 과정, (6) 장치 B가 장치 A로부터 수신한 정보를 비밀키를 이용하여 복호화한 결과와 기억장치에 저장되어 있는 정보를 비교하여 사용자가 올바른 비밀정보를 입력하였는가를 판단하는 처리과정을 포함하고 있다. 과정 (5)에서 장치 A는 반드시 비밀정보를 표현한 정보를 다른 값으로 사상하지는 않는다.According to the present invention, a user authentication encryption technique includes (1) a process in which a device B generates a public key and a secret key of a public key cryptosystem, discloses the public key and stores the secret key, and (2) secret information for the user to register. When the device is input, the device B expresses the secret information, (3) the device B uses the information representing the secret information as another information, and stores the mapped information in the storage device, and (4) the user When the secret information is entered to access B, the process of expressing the secret information in the device A, (5) mapping the information representing the secret information in the device A to a different value and then maps the mapped information to the public key of the device B. Transmitting the encrypted result to the device B after encrypting using the same; (6) comparing the result of the device B decrypting the information received from the device A using the secret key with the information stored in the storage device. The user includes a process for determining the entity type the correct secret. In step (5), the device A does not necessarily map the information representing the secret information to another value.

사용자의 비밀정보를 P라 하자. Let P's secret information.

장치 B는 결정되어 있는 공개 키 암호 시스템의 공개 키와 비밀 키를 생성한 후 공개 키를 공개하고 비밀 키를 기억장치에 저장한다. 여기에서는 RSA와 타원 곡선 암호 시스템을 포함한 알려진 모든 공개 키 암호 시스템이 사용 가능하다.Device B generates a public key and a secret key of the determined public key cryptosystem, then publishes the public key and stores the secret key in storage. Here all known public key cryptosystems can be used, including RSA and elliptic curve cryptosystems.

도 1은 사용자가 등록하기 위하여 P를 입력하였을 때, 장치 B에서 P를 처리하는 과정을 나타낸 것이다. 도 2를 참고하여, 사용자가 P를 입력하면 장치 B에서 비밀정보표현함수 2와 비밀정보처리함수 2가 순차로 동작하며, 비밀정보처리함수 2의 결과를 포함한 정보가 기억장치에 등록(저장)된다.1 illustrates a process of processing P in device B when a user inputs P to register. Referring to FIG. 2, when the user inputs P, the secret information expression function 2 and the secret information processing function 2 are sequentially operated in the device B, and information including the result of the secret information processing function 2 is registered (stored) in the storage device. do.

사용자가 P'를 입력하였을 때, 사용자가 P'=P인 P'를 입력하였는지를 판단하기 위한 처리과정은 장치 A에서 수행되는 처리과정과 장치 B에서 수행되는 처리과정으로 구분된다.When the user inputs P ', processing for determining whether the user inputs P' with P '= P is divided into processing performed in device A and processing performed in device B.

도 2는 사용자가 P'를 입력하였을 때, 사용자가 P'=P인 P'를 입력하였는지를 판단하기 위한 과정 중에서 장치 A에서의 처리과정을 나타내고 있다. 도 2를 참고하여, 사용자가 P'를 입력하면 장치 A에서 비밀정보표현함수 1과 비밀정보처리함수 1이 순차로 동작하며, 비밀정보처리함수 1의 결과 또는 비밀정보처리함수 1의 결과를 포함한 정보가 장치 B의 공개 키에 의해 암호화되어 장치 B에 전송된다. FIG. 2 illustrates a process of the device A in a process for determining whether the user inputs P 'when P' = P when the user inputs P '. Referring to FIG. 2, when the user inputs P ', the secret information expression function 1 and the secret information processing function 1 are sequentially operated in the device A, and include the result of the secret information processing function 1 or the result of the secret information processing function 1. The information is encrypted by the device B's public key and transmitted to device B.

도 3은 사용자가 P'를 입력하였을 때, 사용자가 P'=P인 P'를 입력하였는지를 판단하기 위한 과정 중에서 장치 B에서의 처리과정을 나타내고 있다. 도 3을 참고하여, 장치 B에서 동작하는 비밀정보비교함수는 장치 A로부터 암호화된 정보를 복호화하고 복호화된 정보를 포함한 장치 A로부터 수신한 정보와 장치 B에 저장되어 있는 정보를 이용하여 사용자가 P=P'인 P'를 입력하였는가를 판단한다. 판단의 결과는 사용자가 P'=P인 P'를 입력한 경우에만 시스템 접근을 허락하는 것이다.FIG. 3 illustrates a process of the device B in the process of determining whether the user inputs P 'when P' = P when the user inputs P '. Referring to FIG. 3, the secret information comparison function operating on the device B decrypts the encrypted information from the device A and uses the information received from the device A including the decrypted information and the information stored in the device B. It is determined whether or not P 'is input. The result of the decision is to allow system access only when the user enters P 'with P' = P.

이제, 사용자가 등록하기 위하여 P를 입력하였을 때, 장치 B에서 비밀정보표현함수 2와 비밀정보처리함수 2가 어떻게 동작하는가를 기술하고자 한다. Now, when the user inputs P to register, the secret information expression function 2 and the secret information processing function 2 in the device B will be described.

비밀정보표현함수 2를 F2로 나타내자. 그러면, F2는 P를 표현할 수 있는 다양한 가지 수 중에서 하나를 선택하여 P를 표현한다. 예를 들어, F2가 P=X1-X2를 만족하는 (X1, X2) 쌍으로 P를 표현한다고 할 때, F2는 (X1, X2) 쌍의 무한 가지 중에서 한 쌍을 선택하여 P를 표현한다.Let secret information expression function 2 be F 2 . Then, F 2 expresses P by selecting one of various numbers that can express P. For example, suppose that F 2 represents P as a (X 1 , X 2 ) pair that satisfies P = X 1 -X 2 , and F 2 is one of the infinite branches of the (X 1 , X 2 ) pair. Choose to express P.

이러한 F2의 입력과 출력은 다음과 같이 일반화할 수 있다. F2의 입력은 P와 연산자 집합 및 피연산자 집합의 부분집합이며, F2의 출력은 피연산자 집합의 부분집합이다. 여기에서, F2의 입력인 피연산자 집합의 부분집합과 출력인 피연산자 집합의 부분집합의 합집합은 피연산자 집합이다. 예를 들어, F2가 P=X1-X2를 만족하는 (X1, X2) 쌍으로 P를 표현한다고 할 때, F2의 입력은 P와 연산자 집합 {-} 및 피연산자 집합 {X1, X2}의 부분집합인 공집합이며 F2의 출력은 피연산자 집합의 부분집합인 {X1, X2}이다. 여기에서, F2의 입력인 피연산자 집합의 부분집합인 공집합과 출력인 피연산자 집합 {X1, X2}의 부분집합 {X1, X2}의 합집합은 피연산자 집합인 {X1, X2}이다.These inputs and outputs of F 2 can be generalized as follows. The input of F 2 is a subset of P and a set of operators and operands, and the output of F 2 is a subset of the set of operands. Here, the union of the subset of the operand set that is the input of F 2 and the subset of the operand set that is the output is an operand set. For example, suppose that F 2 represents P as a (X 1 , X 2 ) pair that satisfies P = X 1 -X 2 , and the input of F 2 is P and the operator set {-} and the operand set {X 1 , X 2 } is an empty set and the output of F 2 is {X 1 , X 2 }, which is a subset of the set of operands. Here, in a subset of the F of the operand set input of a second empty set and the output operand set union of {X 1, X 2} subset {X 1, X 2} of the the {X 1, X 2} operand set to be.

비밀정보 P와 연산자 집합 F2O, 피연산자 집합의 부분집합 F2P를 입력으로 하여 피연산자 부분집합 F2Q를 출력하는 F2를 F2(P, F2O, F2P)=F2Q로 나타낸다. 여기에서, F2O에 있는 연산자가 적용되는 순서 및 연산자에 대한 피연산자는 장치 A와 B 사이에 미리 결정되어 있다. 예를 들어, F2(P, {+, mod}, {N})={X1, X2}일 때, X1+X2를 수행한 후 (X1+X2) mod N을 수행한다는 것이 장치 A와 장치 B 사이에 미리 결정되어 있다. X mod Y에서 mod는 X를 Y로 나눈 나머지를 결과 값으로 취하는 연산자이다.The secret information P and a set of operators F 2 O, F 2 and outputting a set of operand part F 2 Q to the input the portion of the operand set set F 2 P F 2 (P, F 2 O, F 2 P) = F 2 It is represented by Q. Here, the order in which the operators in F 2 O are applied and the operands for the operators are predetermined between devices A and B. For example, when F 2 (P, {+, mod}, {N}) = {X 1 , X 2 }, perform X 1 + X 2 and then perform (X 1 + X 2 ) mod N It is predetermined between the device A and the device B. In X mod Y, mod is the operator that takes the remainder of X divided by Y as the result.

F2의 바람직한 실시 예로서, F2Q가 {P}가 아닌 경우에 F2Q의 적어도 한 원소는 랜덤하게 추출한 수이다.In a preferred embodiment of the F 2, F 2 of the at least one element Q when Q is F 2 rather than {P} is a number extracted at random.

F2의 바람직한 실시 예로서, F2(P, Ø, Ø )={P}이다.In a preferred embodiment of the F 2, F 2 (P, Ø, Ø) = a {P}.

F2의 바람직한 실시 예로서, F2(P, {+}, Ø )={X21, X22}이다. 여기에서 X2는 음의 정수일 수 있다.In a preferred embodiment of the F 2, F 2 is the (P, {+}, Ø ) = {X 21, X 22}. Here, X 2 may be a negative integer.

F2의 바람직한 실시 예로서, F2(P, {+, mod}, {N})={X21, X22}이다.F In a preferred embodiment of a 2, a F 2 (P, {+, mod} , {N}) = {X 21, X 22}.

F2의 바람직한 실시 예로서, F2(P, {+, mod}, Ø )={X21, X22, N}이다.F In a preferred embodiment of a 2, a F 2 (P, {+, mod} , Ø) = {X 21, X 22, N}.

F2의 바람직한 실시 예로서, F2(P, {}, Ø )={X21, X22}이다.In a preferred embodiment of the F 2, F 2 (P, { }, Ø) = {X 21 , X 22 }.

F2의 바람직한 실시 예로서, F2(P, {}, Ø )={X21, X22}이다. 여기에서 는 배타적 논리곱을 나타낸다.In a preferred embodiment of the F 2, F 2 (P, { }, Ø) = {X 21 , X 22 }. From here Denotes an exclusive logical product.

비밀정보처리함수 2를 G2로 나타내자. 그러면, G2는 F2Q의 부분집합에 있는 원소들을(를) 다른 값으로 사상하는 함수이거나 F2Q의 부분집합에 있는 원소를 이용하여 어떤 값을 다른 값으로 사상하는 함수이거나 F2Q의 부분집합에 있는 원소를 다른 값으로 사상한 값을 이용하여 어떤 값을 다른 값으로 사상하는 함수 중 한 함수이다.Let secret information processing function 2 be G 2 . Then, G 2 is the element in the subset of the F 2 Q (a) or a function which maps to a different value by the elements present in a subset of the F 2 Q or a function which maps a value to a different value F 2 Q A function that maps a value to another value by mapping the elements in the subset of to other values.

F2Q의 부분집합 G2I에 있는 원소들을 다른 값으로 사상하는 G2를 G2(G2I)=G2O로 나타내고, F2Q의 부분집합에 있는 원소 G2I를 이용하여 어떤 값 W를 다른 값으로 사상하는 G2를 G2(G2I, W)=G2O로 나타내며, F2Q의 부분집합에 있는 원소 G2I를 다른 값 M(G2I)으로 사상한 값을 이용하여 어떤 값 W를 다른 값으로 사상하는 함수를 G2(M(G2I), W)=G2O로 나타낸다.The elements in a subset of the F 2 Q G 2 I represents G 2 which maps to a different value in G 2 (G 2 I) = G 2 O, using the element G 2 I in a subset of the F 2 Q G 2 , which maps one value W to another, is represented by G 2 (G 2 I, W) = G 2 O, and the element G 2 I in the subset of F 2 Q is converted to another value M (G 2 I). A function of mapping a value W to another value using the mapped value is represented by G 2 (M (G 2 I), W) = G 2 O.

G2(G2I)의 바람직한 실시 예로서, G2O=G2I이다.In a preferred embodiment of G 2 (G 2 I), G 2 O = G 2 I.

G2(G2I)의 바람직한 실시 예로서, G2는 트랩도어 일방향 함수이다.As a preferred embodiment of G 2 (G 2 I), G 2 is a trapdoor one-way function.

G2가 트랩도어 일방향 함수인 경우의 바람직한 실시 예로서, X1∈F2Q에 대하여 G2O={X1 2 mod M}이다. 여기에서, M은 홀수인 두 솟수의 곱이다.As a preferred embodiment when G 2 is a trapdoor unidirectional function, G 2 O = {X 1 2 mod M} for X 1 ∈F 2 Q. Where M is the product of two odd numbers.

G2(G2I)의 바람직한 실시 예로서, G2는 일방향 해쉬 함수이다.As a preferred embodiment of G 2 (G 2 I), G 2 is a one-way hash function.

G2가 일방향 해쉬 함수인 경우의 바람직한 실시 예로서, X1∈F2Q에 대하여 G2O={H(X1)}이다. 여기에서, H는 해쉬 함수를 나타낸다.As a preferred embodiment when G 2 is a one-way hash function, G 2 O = {H (X 1 )} for X 1 ∈F 2 Q. Where H represents a hash function.

G2(G2I, W)의 바람직한 실시 예로서, G2는 G2I를 키로서 사용하여 W를 암호화하는 대칭 키 블록 암호 알고리즘이다.As a preferred embodiment of G 2 (G 2 I, W), G 2 is a symmetric key block cryptographic algorithm that encrypts W using G 2 I as a key.

G2가 대칭 키 블록 암호 알고리즘인 경우의 바람직한 실시 예로서, X1∈F2Q에 대하여 G2O={E(X1, W)}이다. E(X1, S)에서 E는 X1을 키로 하여 비트스트링 W를 암호화하는 대칭 키 블록 암호 알고리즘을 나타낸다.As a preferred embodiment when G 2 is a symmetric key block cryptographic algorithm, G 2 O = {E (X 1 , W)} for X 1 ∈F 2 Q. In E (X 1 , S), E represents a symmetric key block cryptographic algorithm that encrypts the bitstring W with X 1 as the key.

G2(M(G2I), W)의 바람직한 실시 예로서, G2는 M(G2I)를 키로서 사용하여 W를 암호화하는 대칭 키 블록 암호 알고리즘이다.As a preferred embodiment of G 2 (M (G 2 I), W), G 2 is a symmetric key block cryptographic algorithm that encrypts W using M (G 2 I) as a key.

G2가 대칭 키 블록 암호 알고리즘인 경우의 바람직한 실시 예로서, M은 트랩도어 일방향 함수이다.As a preferred embodiment when G 2 is a symmetric key block cryptographic algorithm, M is a trapdoor one-way function.

G2가 대칭 키 블록 암호 알고리즘인 경우의 바람직한 실시 예로서, X1∈F2Q에 대하여 G2O={E(X1, W)}이다. E(X1, S)에서 E는 M(X1)을 키로 하여 비트스트링 W를 암호화하는 대칭 키 블록 암호 알고리즘을 나타낸다.As a preferred embodiment when G 2 is a symmetric key block cryptographic algorithm, G 2 O = {E (X 1 , W)} for X 1 ∈F 2 Q. In E (X 1 , S), E represents a symmetric key block cryptographic algorithm that encrypts the bitstring W with M (X 1 ) as the key.

이제 장치 B의 기억장치에 저장되는 정보에 대해 기술하고자 한다. 편의상 장치 B의 기억장치에 저장되는 정보들을 집합으로 나타내면 장치 B의 기억장치에는 {G2O, F2Q-G2I}가 저장된다.Now, the information stored in the storage of the device B will be described. For convenience, when the information stored in the storage device of the device B is represented as a set, the storage device of the device B stores {G 2 O, F 2 QG 2 I}.

사용자가 P'를 입력하였을 때 장치 B에서 P=P'인가를 결정하기 이전 단계로서 장치 A에서 비밀정보표현함수 1과 비밀정보처리함수 1이 어떻게 동작하며 어떠한 정보가 장치 B의 공개키에 의하여 암호화되는와 장치 A에서 장치 B로 전송되는 정보에 대해 기술하고자 한다.When the user inputs P ', before the device B determines whether P = P', how the secret information presentation function 1 and secret information processing function 1 operate in the device A and what information is determined by the public key of the device B. We will describe the information that is encrypted and transmitted from device A to device B.

비밀정보표현함수 1을 F1으로 나타내자. 그러면, F1은 P를 표현할 수 있는 다양한 가지 수 중에서 하나를 선택하여 P를 표현한다. 예를 들어, F1이 P=X1-X2를 만족하는 (X1, X2) 쌍으로 P를 표현한다고 할 때, F1은 (X1, X2) 쌍의 무한 가지 중에서 한 쌍을 선택하여 P를 표현한다.Let's represent the secret expression function 1 as F 1 . Then, F 1 represents P by selecting one of various numbers that can represent P. For example, suppose that F 1 represents P as a (X 1 , X 2 ) pair that satisfies P = X 1 -X 2 , and F 1 is one of the infinite branches of the (X 1 , X 2 ) pair. Choose to express P.

이러한 F1의 입력과 출력은 다음과 같이 일반화할 수 있다. F1의 입력은 P와 연산자 집합 및 피연산자 집합의 부분집합이며, F1의 출력은 피연산자 집합의 부분집합이다. 여기에서, F1의 입력인 피연산자 집합의 부분집합과 출력인 피연산자 집합의 부분집합의 합집합은 피연산자 집합이다. 예를 들어, F1이 P=X1-X2를 만족하는 (X1, X2) 쌍으로 P를 표현한다고 할 때, F1의 입력은 P와 연산자 집합 {-} 및 피연산자 집합 {X1, X2}의 부분집합인 공집합이며 F1의 출력은 피연산자 집합의 부분집합인 {X1, X2}이다. 여기에서, F1의 입력인 피연산자 집합의 부분집합인 공집합과 출력인 피연산자 집합 {X1, X2}의 부분집합 {X1, X2}의 합집합은 피연산자 집합인 {X1, X2}이다.The input and output of F 1 can be generalized as follows. The input of F 1 is a subset of P and the operator and operand sets, and the output of F 1 is a subset of the operand sets. Here, the union of the subset of the operand set that is the input of F 1 and the subset of the operand set that is the output is an operand set. For example, suppose that F 1 represents P as a (X 1 , X 2 ) pair that satisfies P = X 1 -X 2 , and the input of F 1 is P and the operator set {-} and the operand set {X 1 , X 2 } is an empty set and the output of F 1 is {X 1 , X 2 }, which is a subset of the set of operands. Here, in the F input of a subset of the operand set of the first empty and the output operand set {X 1, X 2} The union of the subset of {X 1, X 2} is the {X 1, X 2} operand set to be.

비밀정보 P와 연산자 집합 F1O, 피연산자 집합의 부분집합 F1P를 입력으로 하여 피연산자 부분집합 F1Q를 출력하는 F1을 F1(P, F1O, F1P)=F1Q로 나타낸다. 여기에서, F1O에 있는 연산자가 적용되는 순서 및 연산자에 대한 피연산자는 장치 A와 B 사이에 미리 결정되어 있다. 예를 들어, F1(P, {+, mod}, {N})={X1, X2}일 때, X1+X2를 수행한 후 (X1+X2) mod N을 수행한다는 것이 장치 A와 장치 B 사이에 미리 결정되어 있다.The secret information P and a set of operators F 1 O, F 1 which outputs a set of operand portions F 1 Q using as input a part of the operand set set F 1 P F 1 (P, F 1 O, F 1 P) = F 1 It is represented by Q. Here, the order in which the operators in F 1 O are applied and the operands for the operators are predetermined between the devices A and B. For example, when F 1 (P, {+, mod}, {N}) = {X 1 , X 2 }, perform X 1 + X 2 and then perform (X 1 + X 2 ) mod N It is predetermined between the device A and the device B.

F1의 바람직한 실시 예로서, F1Q가 {P}가 아닌 경우에 F1Q의 적어도 한 원소는 랜덤하게 추출한 수이다.In a preferred embodiment of the F 1, F 1 Q is at least one element of F 1 Q for non-{P} is a number extracted at random.

F1의 바람직한 실시 예로서, F1(P, Ø , Ø )={P}이다.In a preferred embodiment of the F 1, F 1 (P, Ø, Ø) = a {P}.

F1의 바람직한 실시 예로서, F1(P, {+}, Ø )={X11, X12}이다. 여기에서 X12는 음의 정수일 Ø수 있다.In a preferred embodiment of the F 1, F 1 is (P, {+}, Ø ) = {X 11, X 12}. Where X 12 can be a negative integer.

F1의 바람직한 실시 예로서, F1(P, {+, mod}, {N})={X11, X12}이다.In a preferred embodiment of the F 1, F 1 is (P, {+, mod} , {N}) = {X 11, X 12}.

F1의 바람직한 실시 예로서, F1(P, {+, mod}, Ø )={X11, X12, N}이다.In a preferred embodiment of the F 1, F 1 is (P, {+, mod} , Ø) = {X 11, X 12, N}.

F1의 바람직한 실시 예로서, F1(P, {}, Ø )={X11, X12}이다.In a preferred embodiment of the F 1, F 1 (P, { }, Ø) = {X 11 , X 12 }.

F1의 바람직한 실시 예로서, F1(P, {}, Ø )={X11, X12}이다.In a preferred embodiment of the F 1, F 1 (P, { }, Ø) = {X 11 , X 12 }.

비밀정보처리함수 1을 G2로 나타내자. 그러면, G1은 F1Q의 부분집합에 있는 원소들을(를) 다른 값으로 사상하는 함수이거나 F1Q의 부분집합에 있는 원소를 이용하여 어떤 값을 다른 값으로 사상하는 함수이거나 F1Q의 부분집합에 있는 원소를 다른 값으로 사상한 값을 이용하여 어떤 값을 다른 값으로 사상하는 함수이거나 F1Q의 부분집합에 있는 원소와 어떤 값에 연산을 취한 결과를 다른 값으로 사상하는 함수 중 한 함수이다.Let secret information processing function 1 be represented by G 2 . Then, G 1 has the elements in the subset of the F 1 Q (a) or a function which maps to a different value by the elements present in a subset of the F 1 Q or a function which maps a value to a different value F 1 Q A function that maps one value to another using a value that maps elements in a subset of to a different value, or maps the result of an operation on an element and a value in a subset of F 1 Q to a different value. Is a function.

F1Q의 부분집합 G1I에 있는 원소들을(를) 다른 값 G1O로 사상하는 G1을 G1(G1I)=G1O로 나타내고, F1Q의 부분집합 G1I에 있는 원소와 어떤 값 W에 연산을 취한 결과를 다른 값으로 사상하는 G1을 G1(G1I⊙W)=G1O로 나타내고, F1Q의 부분집합 G1I에 있는 원소를 이용하여 어떤 값 W를 다른 값으로 사상하는 G1을 G1(G1I, W)=G1O로 나타내며, F1Q의 부분집합 G1I에 있는 원소를 다른 값으로 사상한 값을 이용하여 어떤 값 W를 다른 값으로 사상하는 G1을 G1(M(G1I), W)=G1O로 나타낸다.Represents a G 1 which maps the elements in a subset of the F 1 Q G 1 I (a) to another value G 1 O in G 1 (G 1 I) = G 1 O, F subset of the 1 Q G 1 I the G 1 which maps the results taken in the operation element and a certain value W to a different value in the indicated by G 1 (G 1 I⊙W) = G 1 O, the elements present in a subset of the F 1 G 1 Q I G 1 , which maps one value W to another, is represented by G 1 (G 1 I, W) = G 1 O and maps the elements in subset G 1 I of F 1 Q to other values. G 1 , which maps one value W to another, is represented by G 1 (M (G 1 I), W) = G 1 O.

G1(G1I)의 바람직한 실시 예로서, G1O=G1I이다.In a preferred embodiment of G 1 (G 1 I), G 1 O = G 1 I.

G1(G1I)의 바람직한 실시 예로서, G1은 트랩도어 일방향 함수이다.As a preferred embodiment of G 1 (G 1 I), G 1 is a trapdoor one-way function.

G1(G1I)에서 G1이 트랩도어 일방향 함수인 경우의 바람직한 실시 예로서, X1∈F1Q에 대하여 G1O={X1 2 mod M}이다. 여기에서, M은 홀수인 두 솟수의 곱이다.As a preferred embodiment when G 1 in G 1 (G 1 I) is a trapdoor unidirectional function, G 1 O = {X 1 2 mod M} for X 1 ∈F 1 Q. Where M is the product of two odd numbers.

G1(G1I⊙W)의 바람직한 실시 예로서, ⊙는 +이고 G1은 트랩도어 일방향 함수이다.As a preferred embodiment of G 1 (G 1 IW), ⊙ is + and G 1 is a trapdoor one-way function.

G1(G1I⊙W)에서 ⊙는 +이고 G1은 트랩도어 일방향 함수인 경우의 바람직한 실시 예로서, X1∈F1Q에 대하여 G1O={(X1+W)2 mod M}이다.In the case of G 1 (G 1 IW), where ⊙ is + and G 1 is a trapdoor unidirectional function, G 1 O = {(X 1 + W) 2 mod for X 1 ∈F 1 Q M}.

G1(G1I⊙W)에서 W의 바람직한 실시 예로서, W는 타임스탬프이거나 난수이거나 사용자의 이전 시스템 접근에서 사용한 W 값에 고정된 값을 더한 결과를 새로운 W로 하는 값이다.As a preferred embodiment of W in G 1 (G 1 IW), W is a timestamp, a random number, or a value that adds a fixed value to the value of W used in the user's previous system approach to be the new W.

G1(G1I)의 바람직한 실시 예로서, G1은 일방향 해쉬 함수이다.As a preferred embodiment of G 1 (G 1 I), G 1 is a one-way hash function.

G1이 일방향 해쉬 함수인 경우의 바람직한 실시 예로서, X1∈F1Q에 대하여 G1O={H(X1)}이다.As a preferred embodiment when G 1 is a one-way hash function, G 1 O = {H (X 1 )} for X 1 ∈F 1 Q.

G1(G1I, W)의 바람직한 실시 예로서, G1은 F1Q의 부분집합에 있는 원소를 이용하여 W를 다른 값으로 사상하는 대칭 키 블록 암호 알고리즘이다.As a preferred embodiment of G 1 (G 1 I, W), G 1 is a symmetric key block cryptographic algorithm that maps W to different values using elements in a subset of F 1 Q.

G1이 대칭 키 블록 암호 알고리즘인 경우의 바람직한 실시 예로서, X1∈F1Q에 대하여 G1O={E(X1, W)}이다. E(X1, W)에서 E는 X1을 키로 하여 비트스트링 W를 암호화하는 대칭 키 블록 암호 알고리즘을 나타낸다.As a preferred embodiment when G 1 is a symmetric key block cryptographic algorithm, G 1 O = {E (X 1 , W)} for X 1 ∈F 1 Q. In E (X 1 , W), E represents a symmetric key block cryptographic algorithm that encrypts the bitstring W with X 1 as the key.

G1(M(G1I), W)의 바람직한 실시 예로서, M은 트랩도어 일방향 함수이며 G1은 M(G1I)을 이용하여 W를 다른 값으로 사상하는 대칭 키 블록 암호 알고리즘이다.As a preferred embodiment of G 1 (M (G 1 I), W), M is a trapdoor one-way function and G 1 is a symmetric key block cryptographic algorithm that maps W to another value using M (G 1 I). .

G1(M(G1I), W)에서 G1이 대칭 키 블록 암호 알고리즘인 경우의 바람직한 실시 예로서, X1∈F1Q에 대하여 M은 X1을 X1 2 mod M으로 사상한다. 여기에서, M은 홀수인 두 솟수의 곱이다.As a preferred embodiment when G 1 is a symmetric key block cryptographic algorithm in G 1 (M (G 1 I), W), for X 1 ∈ F 1 Q, M maps X 1 to X 1 2 mod M . Where M is the product of two odd numbers.

G1(M(G1I), W)에서 G1이 대칭 키 블록 암호 알고리즘인 경우의 바람직한 실시 예로서, X1∈F1Q에 대하여 G1O={E(M(X1), W)}이다. E(M(X1), W)에서 E는 M(X1)을 키로 하여 비트스트링 W를 암호화하는 대칭 키 블록 암호 알고리즘을 나타낸다. G 1 (M (G 1 I ), W) G 1 is a symmetric key block as a preferred embodiment in the case where the encryption algorithm, X 1 ∈F G 1 O = {E (M (X 1) with respect to 1 Q in, W)}. In E (M (X 1 ), W), E represents a symmetric key block cryptographic algorithm that encrypts the bitstring W with M (X 1 ) as the key.

이제 장치 A에서 장치 B로 전송하는 정보(들)에 대해 기술하고자 한다. 편의상 장치 A에서 장치 B로 전송되는 정보(들)를 집합으로 나타낸다. F1Q의 부분집합 G1I에 있는 원소와 어떤 값 W에 연산을 취한 결과를 다른 값으로 사상하는 G1을 G1(G1I⊙W)=G1O로 나타내고, F1Q의 부분집합 G1I에 있는 원소를 이용하여 어떤 값 W를 다른 값으로 사상하는 G1을 G1(G1I, W)=G1O로 나타내며, F1Q의 부분집합 G1I에 있는 원소를 다른 값으로 사상한 값을 이용하여 어떤 값 W를 다른 값으로 사상하는 G1을 G1(M(G1I), W)=G1O로 나타낸다.The information (s) transmitted from device A to device B will now be described. For convenience, the information (s) transmitted from the device A to the device B are represented as a set. Shows a result taken by the operation for the elements with which the value W in the subset of Q F 1 G 1 to G I 1 which maps to a different value in G 1 (G 1 I⊙W) G 1 = O, in the F 1 Q subset with elements in the G 1 I represents a G 1 which maps any value W to a different value in G 1 (G 1 I, W) = G 1 O, with a subset of the F 1 Q G 1 I G 1 (M (G 1 I), W) = G 1 O is represented by G 1 which maps a value W to another value by using an element mapped to another value.

그러면 장치 A는 장치 B의 공개 키를 이용하여 G1O에 속해 있는 각각의 값을 암호화하거나 G1O에 속해 있는 값들 중에서 일부의 값을 암호화하고 다른 일부의 값은 암호화하지 않는다.Device A then encrypts each value belonging to G 1 O using the public key of device B, or encrypts some of the values belonging to G 1 O and does not encrypt others.

장치 A는 G1O에 속해 있는 값들을 암호화한 결과와 G1O에 속해 있는 일부 값이 암호화되지 않은 경우에 암호화되지 않은 값들을 장치 B에 전송한다.Device A transmits a non-encrypted value, if some of the values belonging to the result and the G 1 O encrypted values belonging to G 1 O that is not encrypted to the device B.

이제 사용자가 P'를 입력하였을 때, 장치 B의 비밀정보비교함수에서 사용자가 P=P'인 P'를 입력하였는가를 결정하는 방법에 대하여 기술하고자 한다.Now, when the user inputs P ', a method of determining whether the user inputs P' with P = P 'in the secret information comparison function of the device B will be described.

비밀정보비교함수는 먼저 암호화된 정보를 복호화한다. 비밀정보비교함수는 G2O와 장치 A로부터 수신한 정보 J를 이용하여 사용자가 P=P'인 P를 입력하였는가를 결정한다. 이때 비밀정보비교함수가 {G1O, F1Q-G1I}와 G2O 또는 {G1O, W, F1Q-G1I}와 G2O를 이용하여 사용자가 P=P'인인 P'를 입력하였는가를 결정하기 위해서는 {G1O, F1Q-G1I}와 G2O가 비교가능하고 {G1O, W, F1Q-G1I}와 G2O가 비교가능하여야 한다. 여기에서 비교가능이라 함은 비밀정보비교함수가 P=P'인인 P'를 입력하였는가를 결정할 수 있음을 의미한다. 예를 들어, F2(P, Ø , Ø )={P}이고 G2I=P이며 G2O=G2I이고 G1I=P이며 G1(M(G1I), W)에서 M은 P를 P2 mod M으로 사상하는 함수이고 G1은 M(G1I)을 키로서 사용하여 W를 암호화하는 대칭 키 블록 암호 알고리즘이라 하고 W가 비트스트링 S와 S의 해쉬 값 H(S)를 접합한 결과라 하고 G1(M(G1I), W) 결과가 장치 A에서 장치 B로 전송된다고 하자. 그러면 비밀정보비교함수는 기억장치에 저장되어 있는 P를 이용하여 대칭 키 블록 암호 알고리즘의 키인 P2 mod M을 계산한 후 G1(M(G1I), W)을 복호화한다. 그리고 복호화된 결과인 W가 비트스트링 S와 S의 해쉬 값 H(S)를 접합한 결과인가를 확인한 후 W가 비트스트링 S와 S의 해쉬 값 H(S)를 접합한 결과인 경우에 한하여 사용자가 P=P'인 P'를 입력하였다고 결정 가능하므로 {G1O, F1Q-G1I}와 G2O는 비교가능하다.The secret information comparison function first decrypts the encrypted information. The secret information comparison function uses the information J received from G 2 O and the device A to determine whether the user inputs P with P = P ′. At this time, the secret information comparison function is performed by using {G 1 O, F 1 QG 1 I} and G 2 O or {G 1 O, W, F 1 QG 1 I} and G 2 O In order to determine ', {G 1 O, F 1 QG 1 I} and G 2 O must be comparable and {G 1 O, W, F 1 QG 1 I} and G 2 O must be comparable. Here, comparable means that the secret information comparison function can determine whether P 'is input, where P = P'. For example, F 2 (P, Ø, Ø) = {P}, G 2 I = P, G 2 O = G 2 I, G 1 I = P, G 1 (M (G 1 I), W) Where M is a function that maps P to P 2 mod M and G 1 is a symmetric key block cryptographic algorithm that encrypts W using M (G 1 I) as the key and W is the hash value H of the bitstrings S and S Assume that (S) is the result of splicing and that the results of G 1 (M (G 1 I), W) are transferred from device A to device B. Then, the secret information comparison function calculates P 2 mod M, which is a key of the symmetric key block cryptographic algorithm, using P stored in the memory, and then decrypts G 1 (M (G 1 I), W). After confirming that the decoded result W is the result of concatenating the hash values H (S) of the bitstrings S and S, the user is limited to the case where W is the result of concatenating the hash values H (S) of the bitstrings S and S. Can be determined to input P 'with P = P', so that {G 1 O, F 1 QG 1 I} and G 2 O are comparable.

비밀정보비교함수는 비교가능한 {G1O, F1Q-G1I}와 G2O 또는 {G1O, W, F1Q-G1I}와 G2O를 이용하여 사용자가 P=P'인 P'를 입력하였는가를 결정한다.The secret information comparison function uses the comparable {G 1 O, F 1 QG 1 I} and G 2 O or {G 1 O, W, F 1 QG 1 I} and G 2 O Determine whether P 'is entered.

본 발명은 사용자가 기억 가능한 비밀정보와 공개 키 암호 시스템을 이용하여 다양한 인증 기술에 대한 공격으로부터 안전한 인증 기술을 제공한다. The present invention provides an authentication technique that is secured from attacks against various authentication techniques using a user-rememberable secret information and a public key cryptosystem.

도 1은 사용자가 등록하기 위하여 비밀정보를 입력하였을 때 동작하는 함수들과 함수들의 동작 순서를 나타낸 도면;1 is a diagram showing functions and an operation sequence of functions when a user inputs secret information to register;

도 2는 사용자가 올바른 비밀정보를 입력하였는가를 결정하기 전에 이용되는 함수들과 함수들의 동작순서를 나타낸 도면;2 is a diagram illustrating the functions used and the operation order of the functions used before determining whether the user has entered the correct secret information;

도 3은 사용자가 올바른 비밀정보를 입력하였는가를 결정하는 함수와 함수의 입력 정보를 나타낸 도면3 is a diagram illustrating a function for determining whether a user inputs correct secret information and input information of a function

Claims (21)

사용자가 비밀정보를 등록하고자 입력하였을 때, 비밀정보를 표현하는 다양한 가지 수 중에서 하나를 선택하여 비밀정보를 표현하는 비밀정보표현함수; 비밀정보표현함수의 결과를 집합으로 간주하였을 때 비밀정보표현함수의 결과인 집합의 부분집합에 있는 원소들을(를) 다른 값으로 사상하는 함수이거나 비밀정보표현함수의 결과인 집합의 부분집합에 있는 원소를 이용하여 어떤 값을 다른 값으로 사상하는 함수이거나 비밀정보표현함수의 결과인 집합의 부분집합에 있는 원소를 다른 값으로 사상한 값을 이용하여 어떤 값을 다른 값으로 사상하는 함수 중 하나의 함수인 비밀정보처리함수를 포함하고, 사용자가 인가된 사용자인가를 판단하는 과정에서 비밀정보를 표현하는 다양한 가지 수 중에서 하나를 선택하여 비밀정보를 표현하는 비밀정보표현함수; 비밀정보표현함수의 결과를 집합으로 간주하였을 때 비밀정보표현함수의 결과인 집합의 부분집합에 있는 원소들을(를) 다른 값으로 사상하는 함수이거나 비밀정보표현함수의 결과인 집합의 부분집합에 있는 원소를 이용하여 어떤 값을 다른 값으로 사상하는 함수이거나 비밀정보표현함수의 결과인 집합의 부분집합에 있는 원소를 다른 값으로 사상한 값을 이용하여 어떤 값을 다른 값으로 사상하는 함수 중 하나의 함수인 비밀정보처리함수; 및 사용자가 비밀정보를 등록하기 위하여 입력하였을 때의 비밀정보처리함수의 결과와 사용자가 인가된 사용자인가를 판단하기 위한 시점에서 비밀정보처리함수의 결과를 비교하는 비밀정보비교함수를 포함하고 있는 사용자 인증 암호 기술. A secret information expression function for expressing secret information by selecting one of various kinds of secret information when the user inputs to register secret information; Considering the result of the secret expression function as a set, a function that maps elements in the subset of the set that is the result of the secret expression function to another value or a subset of the set that is the result of the secret expression function. A function that maps one value to another by using an element to map one value to another, or a value that maps an element in a subset of the set that is the result of the secret expression to another. A secret information expression function including a secret information processing function, which is a function, and expresses secret information by selecting one of various kinds of secret information in the process of determining whether the user is an authorized user; Considering the result of the secret expression function as a set, a function that maps elements in the subset of the set that is the result of the secret expression function to another value or a subset of the set that is the result of the secret expression function. A function that maps a value to another using an element or maps a value to another using a value that maps an element in the subset of the set that is the result of the secret expression to another. Secret information processing function; And a secret information comparison function that compares the result of the secret information processing function when the user inputs to register the secret information with the result of the secret information processing function at the time of determining whether the user is an authorized user. Authentication password technology. 제 1항에 있어서, 비밀정보표현함수가 사용자의 비밀정보를 정수들의 더하기로 표현하는 사용자 인증 암호 기술.2. The user authentication cryptography technique of claim 1, wherein said secret information expressing function represents a user's secret information as a sum of integers. 제 1항에 있어서, 비밀정보표현함수가 사용자의 비밀정보를 정수들의 덧셈 결과에 mod 연산을 하여 표현하는 사용자 인증 암호 기술. 2. The user authentication cryptography technique of claim 1, wherein the secret information expression function modifies the secret information of the user on the result of the addition of the integers. 제 1항에 있어서, 비밀정보표현함수가 사용자의 비밀정보를 비트스트링들의 논리합 또는 논리곱 중의 하나에 의해 표현하는 사용자 인증 암호 기술.2. The user authentication cryptography technique of claim 1, wherein the secret information expressing function represents the secret information of the user by one of the logical sum or logical product of the bitstrings. 제 2항 또는 제 3항 또는 제 4항 또는 제 5항 중 어느 한 항에 있어서, 적어도 한 정수를 랜덤하게 선택하는 사용자 인증 암호 기술.6. A user authentication cryptographic technique according to any one of claims 2 or 3 or 4 or 5, wherein at least one integer is selected at random. 제 1항에 있어서, 비밀정보처리함수는 트랩도어 일방향 함수인 사용자 인증 암호 기술.2. The user authentication cryptography technique of claim 1, wherein the secret information processing function is a trapdoor one-way function. 제 6항에 있어서, 비밀정보표현함수의 결과인 집합에 있는 한 원소 X1에 대하여 트랩도어 일방향 함수가 X1을 X1 2 mod M (M은 홀수인 두 솟수의 곱)으로 사상하는 사용자 인증 암호 기술.7. The user authentication of claim 6, wherein a trapdoor one-way function maps X 1 to X 1 2 mod M (M is the product of two odd numbers) for an element X 1 in the set that is the result of the secret expression function. Password technology. 제 1항에 있어서, 비밀정보처리함수는 일방향 해쉬 함수인 사용자 인증 암호 기술.2. The user authentication cryptography technique of claim 1, wherein the secret information processing function is a one-way hash function. 제 8항에 있어서, 비밀정보표현함수의 결과인 집합에 있는 한 원소 X1에 대하여 해쉬 함수 H가 X1을 H(X1)으로 사상하는 사용자 인증 암호 기술.9. A user cryptographic description as recited in claim 8, wherein the hash function H maps X 1 to H (X 1 ) for an element X 1 in the set that is the result of said secret information presentation function. 제 1항에 있어서, 비밀정보처리함수가 대칭 키 블록 암호 알고리즘인 사용자 인증 암호 기술.2. The user authentication cryptography technique of claim 1, wherein the secret information processing function is a symmetric key block cryptographic algorithm. 제 10항에 있어서, 비밀정보표현함수의 결과인 집합에 있는 한 원소 X1에 대하여 대칭 키 블록 암호 알고리즘이 X1을 키로 사용하여 비트스트링을 암호화하는 사용자 인증 암호 기술.11. A user authentication cryptography technique as recited in claim 10, wherein the symmetric key block cryptographic algorithm encrypts the bitstring using X 1 as the key for one element X 1 in the set that is the result of the secret information function. 제 10항에 있어서, 비밀정보표현함수의 결과인 집합에 있는 한 원소 X1에 대하여 X1이 X2로 사상되고 대칭 키 블록 암호 알고리즘이 X2를 키로 사용하여 비트스트링을 암호화하는 사용자 인증 암호 기술.The method of claim 10, wherein the secret information X 1 with respect to the element X 1 in the resulting set of representations function is mapped to the X 2 symmetric key block cipher algorithm, a user authentication password to encrypt the bit string by using the X 2 km Technology. 제 1항에 있어서, 비밀정보표현함수의 결과인 집합에 있는 한 원소 X1에 대하여 X1에 다른 값을 더한 결과를 트랩도어 일방향 함수에 의해 다른 값으로 사상하는 비밀정보처리함수를 포함하는 사용자 인증 암호 기술.2. A user according to claim 1, comprising a secret processing function which maps the result of adding X 1 to another element X 1 in the set which is the result of the secret information function to another value by a trapdoor one-way function. Authentication password technology. 제 13항에 있어서, 트랩도어 일방향 함수가 X1+W를 (X1+W)2 mod M (M은 홀수인 두 솟수의 곱)으로 사상하는 사용자 인증 암호 기술.15. The user authentication cryptographic technique of claim 13, wherein the trapdoor one-way function maps X 1 + W to (X 1 + W) 2 mod M (M is the product of two odd numbers). 제 13항에 있어서, X1에 더해지는 값이 타임스탬프이거나 난수이거나 사용자의 이전 시스템 접근에서 사용한 값에 고정된 값을 더한 결과를 새로운 값인 사용자 인증 암호 기술.14. The user authentication password technique of claim 13, wherein the value added to X 1 is a timestamp or random number or a result of adding a fixed value to the value used in the user's previous system access. 제 1항에 있어서, 비밀정보비교함수는 인가된 사용자를 결정하는 과정에서 비밀정보처리함수 결과 값과 비밀정보표현함수의 결과 값 중에서 비밀정보처리함수에서 이용되는 값이 아닌 값을 입력으로 하는 사용자 인증 암호 기술.2. The user of claim 1, wherein the secret information comparison function inputs a value other than the value used in the secret information processing function among the result values of the secret information processing function and the secret information expression function in the process of determining the authorized user. Authentication password technology. 제 1항에 있어서, 비밀정보비교함수는 인가된 사용자를 결정하는 과정에서 비밀정보처리함수 결과 값과 비밀정보표현함수의 결과 값 중에서 비밀정보처리함수에서 이용되는 값이 아닌 값을 입력으로 하는 사용자 인증 암호 기술.2. The user of claim 1, wherein the secret information comparison function inputs a value other than the value used in the secret information processing function among the result values of the secret information processing function and the secret information expression function in the process of determining the authorized user. Authentication password technology. 제 1항에 있어서, 비밀정보비교함수는 비밀정보표현함수에 의한 값이나 비밀정보처리함수에 의해 처리된 결과가 아닌 값을 입력으로 하는 사용자 인증 암호 기술.2. The user authentication encryption technique according to claim 1, wherein the secret information comparison function is a value which is not a value by the secret information expression function or a result processed by the secret information processing function. 제 1항에 있어서, 비밀정보처리함수의 결과 전체 또는 일부 중 어느 하나를 공개 키 암호 시스템을 이용하여 암호화하는 과정을 추가로 포함하는 사용자 인증 암호 기술.2. The user authentication cryptography technique of claim 1, further comprising encrypting any or all of the results of the secret information processing function using a public key cryptosystem. 제 1항에 있어서, 비밀정보비교함수가 기억장치에 있는 비밀 키를 이용하여 수신한 암호문을 복호화하는 부분을 추가로 포함하는 사용자 인증 암호 기술.The user authentication encryption technique of claim 1, wherein the secret information comparison function further includes a portion for decrypting the received cipher text using the secret key in the storage device. 제 19항 또는 제 20항 중 어느 한 항에 있어서, 암호문을 사용하거나 암호문을 복호화하기 위한 것 중의 하나를 위하여 RSA, 타원 곡선 암호 시스템, ElGamal, RABIN 중 어느 한 공개 키 암호 시스템을 이용하는 사용자 인증.21. A user authentication as claimed in any of claims 19 or 20, using a public key cryptographic system of any one of RSA, elliptic curve cryptographic system, ElGamal, RABIN for either cipher text or for decryption of cipher text.
KR1020030065235A 2003-09-19 2003-09-19 Authentication using human memorable password and public key cryptsystem KR20050028720A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030065235A KR20050028720A (en) 2003-09-19 2003-09-19 Authentication using human memorable password and public key cryptsystem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030065235A KR20050028720A (en) 2003-09-19 2003-09-19 Authentication using human memorable password and public key cryptsystem

Publications (1)

Publication Number Publication Date
KR20050028720A true KR20050028720A (en) 2005-03-23

Family

ID=37385616

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030065235A KR20050028720A (en) 2003-09-19 2003-09-19 Authentication using human memorable password and public key cryptsystem

Country Status (1)

Country Link
KR (1) KR20050028720A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100957121B1 (en) * 2008-02-22 2010-05-13 성균관대학교산학협력단 Key distribution method and authentication server

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100957121B1 (en) * 2008-02-22 2010-05-13 성균관대학교산학협력단 Key distribution method and authentication server

Similar Documents

Publication Publication Date Title
Kiss et al. Private set intersection for unequal set sizes with mobile applications
US7516321B2 (en) Method, system and device for enabling delegation of authority and access control methods based on delegated authority
US8139766B2 (en) Pseudo public key encryption
US7711113B2 (en) ID-based signature, encryption system and encryption method
KR101389100B1 (en) A method and apparatus to provide authentication and privacy with low complexity devices
KR100259179B1 (en) Process of communication cryptograph
US6477254B1 (en) Network system using a threshold secret sharing method
JP6363032B2 (en) Key change direction control system and key change direction control method
US20050005121A1 (en) Cryptographic method and apparatus
US20050005100A1 (en) Cryptographic method and system
JPH08510365A (en) Method and apparatus for data encryption
CN112119609A (en) Method and system for communicating secrets
JP3794457B2 (en) Data encryption / decryption method
Terec et al. DNA security using symmetric and asymmetric cryptography
CN116830523A (en) threshold key exchange
US11336425B1 (en) Cryptographic machines characterized by a Finite Lab-Transform (FLT)
JP5171787B2 (en) Sign-encryption system and sign-encryption generation method
KR102284877B1 (en) Efficient functional encryption for set intersection
Altarawneh A strong combination of cryptographic techniques to secure cloud-hosted data
KR20050028720A (en) Authentication using human memorable password and public key cryptsystem
EP3637670A1 (en) Method and system for executing a cryptography scheme
US11824979B1 (en) System and method of securing a server using elliptic curve cryptography
Hellwig et al. Blockchain Cryptography: Part 1
CN102474413A (en) Private key compression
Srinadh et al. Data Security And Recovery Approach Using Elliptic Curve Cryptography

Legal Events

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