KR20140105504A - Sm2 키 교환 프로토콜 기반의 키 협상 방법 및 장치 - Google Patents
Sm2 키 교환 프로토콜 기반의 키 협상 방법 및 장치 Download PDFInfo
- Publication number
- KR20140105504A KR20140105504A KR20147017887A KR20147017887A KR20140105504A KR 20140105504 A KR20140105504 A KR 20140105504A KR 20147017887 A KR20147017887 A KR 20147017887A KR 20147017887 A KR20147017887 A KR 20147017887A KR 20140105504 A KR20140105504 A KR 20140105504A
- Authority
- KR
- South Korea
- Prior art keywords
- value
- parameter
- key
- positive integer
- negotiation
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/3033—Public 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 details relating to pseudo-prime or prime number generation, e.g. primality test
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/24—Key scheduling, i.e. generating round keys or sub-keys for block encryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Computer And Data Communications (AREA)
- Mobile Radio Communication Systems (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 정보 기술 분야에 관한 것으로서 SM2 키 교환 프로토콜 기반의 키 협상 방법 및 장치를 개시한다. 상기 방법에 있어서 협상 양쪽은 모두 부등식 를 성립시키는 X의 값 중의 최소의 양의 정수 값에 따라 매개변수W를 계산하며 상기 매개변수W에 따라 협상 상대방과 키 협상을 수행한다. 먼저 의 로그 값을 계산한 후 올림 연산을 수행하는 방식을 채용하며 매개변수W를 계산하는 방법에 비해 계산량을 효과적으로 감소시키며 알고리즘의 실현 복잡성을 감소시켜 SM2 키 교환 프로토콜 기반의 키 협상 프로세스의 실현 효율을 크게 향상시켜 SM2 키 교환 프로토콜의 공학적인 실현을 최적화한다.
Description
본 출원은, 2011년 11월 30일에 중국 특허청에 출원된 출원 번호 제201110390564.7호, SM2 키 교환 프로토콜 기반의 키 협상 방법 및 장치를 발명 명칭으로 하는 중국 특허 출원의 우선권을 주장하며, 상기 중국 특허 출원의 전체 내용은 본 출원에 참조로서 통합된다.
본 발명은 정보 기술 분야에 관한 것으로서, 보다 상세하게는 SM2 키 교환 프로토콜 기반의 키 협상 방법 및 장치에 관한 것이다.
부가가치 2010 년 12 월에 중국 국가 암호 관리국은 SM2, SM3 암호화 알고리즘을 공개하며 이는 SM2, SM3 암호화 알고리즘이 상용화 단계에 들어가는 것을 표시한다. SM2 키 교환 프로토콜은 SM2 암호화 알고리즘의 하나의 구성 요소로서 키 관리 및 키 협상 기능 분야에 잘 적용된다. SM2 키 교환 프로토콜 공학의 실현 과정에서 매개변수W는 키 교환 프로토콜 내의 하나의 중요한 매개변수로서 매개변수 값의 생성 연산 효율이 전체 키 교환 프로토콜 실현 효율의 결정적인 요인이 된다.
SM2 키 교환 프로토콜의 규정에 따라 기존 키 협상 프로세스는 다음과 같다.
사용자 A가 키 협상 개시자이며 사용자 B가 키 협상 응답자라고 가정하면 사용자 A와 사용자 B가 협상하여 얻은 키 데이터의 길이는 klen 비트이며 사용자 A와 사용자 B가 동일한 타원 곡선 방정식을 사용하며 여기서 상기 타원 곡선 방정식의 타입은 소체 방정식 을 선택할 수 있으며 이차 확대체 방정식 을 선택할 수도 있다.
SM2 키 교환 프로토콜에 규정되는 키 유도 함수는 로 기록되며 그는 하나의 비밀 비트 열에서 키 데이터를 유도하는 역할을 하며 여기서 Z가 입력된 비밀 비트 열이며 정수 klen은 획득될 키 데이터의 비트 길이를 표시하며 그 값이 보다 작아야 되며 길이가 klen인 키 데이터 비트 열을 K로 기록된다. 키 데이터 생성 과정에서 키 유도 함수는 암호화 해시 함수 (예를 들어, SM3 암호화 해시 알고리즘)을 호출해야 하며 일반적으로 암호화 해시 함수는 로 기록되며 암호화 해시 함수의 출력은 길이가 v비트인 해시 값이다.
하기 키 유도 함수 연산 단계를 다음과 같이 설명한다.
(2) 1부터 까지의 i값을 각각 이용하여 순환적으로 하기 단계a 및 단계b를 수행하여 매번의 수행 결과를 각각 , ..... , 로 기록하며, 여기서 는 마지막으로 생성된 의 값의 일부 또는 전부이며;
획득된 키 함수를 기반으로 하여 사용자A 와 사용자B는 동일한 키를 얻기 위해 키 협상을 해야 하며 구체적인 연산 단계는 다음과 같다.
사용자A:
사용자B:
B3: 에서 필드 요소 x2를 추출하며 만약 필드 요소x2가 이차 확대체 데이터이면 우선 그 데이터 유형을 정수로 전환하며, 만약 필드 요소x2가 소체 데이터이면 전환 필요 없이 후속 동작을 직접 진행할 수 있으며; 다음으로 사용자B측의 중간 매개변수 , 를 계산하며;
B5: 가 타원 곡선 방정식을 만족하는지 여부를 검증하며(소체 모드 또는 이차 확대체 모드를 이용하여 양쪽이 같은 타원 곡선 방정식을 채용한다고 사용자A와 사전 약속할 수 있음), 만약 만족하지 않으면 이번 키 협상이 실패한 것으로 확정되며, 만약 만족하면 에서 필드 요소 x1을 추출하며 만약 필드 요소x1이 이차 확대체 데이터이면 우선 그 데이터 유형을 정수로 전환하며 만약 필드 요소x1이 소체 데이터이면 전환 필요 없이 후속 동작을 직접 진행할 수 있으며 사용자B측의 중간 매개변수 , 를 계산하며;
B6: 타원 곡선 점 를 계산하며 여기서 h는 선택된 타원 곡선 매개변수이며 는 사용자A의 공개 키이며, V가 무한 원점(예를 들어 )인지 여부를 판단하며, 만약 그러면 사용자 B의 키 협상이 실패한 것으로 확인되며 그렇지 않으면 필드 요소 , 의 데이터 유형을 비트 열로 전환하며;
선택적으로 B7을 수행한 후 사용자B은 또한 B8을 수행할 수도 있다.
B8: 의 좌표 x1, y1과 의 좌표 x2, y2의 데이터 유형을 모두 비트 열로 전환하며 를 계산하며Hash()를 암호화 해시 함수 로 할 수 있으며 를 연산에 의해 획득된 하나의 해시 값으로 할 수 있다.
사용자A:
A4: 에서 필드 요소 x1을 추출하며 만약 필드 요소x1이 이차 확대체 데이터이면 우선 그 데이터 유형을 정수로 전환하며, 만약 필드 요소x1이 소체 데이터이면 전환 필요 없이 후속 동작을 직접 진행할 수 있으며 중간 매개변수 , 를 계산하며;
A6: 가 타원 곡선 방정식을 만족하는지 여부를 검증하며(사용자B와 약속함), 만약 만족하지 않으면 이번 키 협상이 실패한 것으로 확정되며, 그렇지 않으면 에서 필드 요소 x2를 추출하며 만약 필드 요소x2가 이차 확대체 데이터이면 우선 그 데이터 유형을 정수로 전환하며 만약 필드 요소x2가 소체 데이터이면 전환 필요 없이 후속 동작을 직접 진행할 수 있으며 중간 매개변수 , 를 계산하며;
A7: 타원 곡선 점 를 계산하며 만약U가 무한 원점(예를 들어 , )이면 사용자 A의 키 협상이 실패한 것으로 확인되며 그렇지 않으면 필드 요소 , 의 데이터 유형을 비트 열로 전환하며;
A9: 의 좌표 x1, y1과 의 좌표 x2, y2의 데이터 유형을 모두 비트 열로 전환하며 를 계산하며Hash()를 암호화 해시 함수 로 할 수 있으며 를 연산에 의해 획득된 하나의 해시 값으로 할 수 있으며 이 성립하는지 여부를 검사하며, 만약 성립하면 사용자 B부터 사용자 A에의 키 확인이 성공한 것으로 확정되며 만약 성립하지 않으면 사용자 B부터 사용자 A에의 키 확인이 실패한 것으로 확정되며;
B10: 를 계산하며 이 성립하는지 여부를 검사하며, 만약 성립하면 사용자 A부터 사용자 B에의 키 확인이 성공한 것으로 확정되며 만약 성립하지 않으면 사용자 A부터 사용자 B에의 키 확인이 실패한 것으로 확정된다.
본 발명에 따른 실시예는 SM2 키 교환 프로토콜 기반의 키 협상 방법 및 장치를 제공함으로써 키 협상 프로세스의 실현 복잡성을 낮추며 키 협상 프로세스의 실현 효율을 향상시킨다.
본 발명에 따른 실시예에 의한 구체적인 기술 방안은 다음과 같다.
SM2 키 교환 프로토콜 기반의 키 협상 방법으로서 상기 방법은,
이번 키 협상에 사용되는 타원 곡선 매개변수 차수 n의 값을 확정하는 단계;
상기 차수 n이 2x이하인 경우의 X의 최소의 양의 정수 값을 계산하며 획득된 X의 최소의 양의 정수 값에 따라 매개변수 W의 값을 획득하는 단계; 및
상기 매개변수W의 값에 따라 협상 상대방과 키 협상을 수행하는 단계를 포함한다.
SM2 키 교환 프로토콜 기반의 키 협상 장치로서 상기 장치는,
이번 키 협상에 사용되는 타원 곡선 매개변수 차수 n의 값을 확정하며 상기 차수 n이 2x이하인 경우의 X의 최소의 양의 정수 값을 계산하며 획득된 X의 최소의 양의 정수 값에 따라 매개변수W의 값을 획득하는 제1 제어 모듈; 및
상기 W의 값에 따라 협상 상대방과 키 협상을 수행하는 제2 제어 모듈을 포함한다.
매개변수 생성 장치로서, 상기 장치는,
이번 키 협상에 사용되는 타원 곡선 매개변수 차수 n의 값을 확정하는 확정 유닛; 및
상기 차수 n이 2x 이하인 경우의 X의 최소의 양의 정수 값을 계산하며 획득된 X의 최소의 양의 정수값 에 따라 매개변수 W의 값을 획득하는 계산 유닛을 포함한다.
도1a는 본 발명에 따른 실시예에서 키 협상 장치의 기능 구조 예시도이다.
도1b는 본 발명에 따른 실시예에서 매개변수W 생성 장치의 기능 구조 예시도이다.
도2는 본 발명에 따른 실시예의 키 협상 수행 흐름도이다.
도3은 본 발명에 따른 실시예에서 매개변수W를 생성하는 제1 방법의 흐름도이다.
도4는 본 발명에 따른 실시예에서 매개변수W를 생성하는 제2 방법의 흐름도이다.
도1b는 본 발명에 따른 실시예에서 매개변수W 생성 장치의 기능 구조 예시도이다.
도2는 본 발명에 따른 실시예의 키 협상 수행 흐름도이다.
도3은 본 발명에 따른 실시예에서 매개변수W를 생성하는 제1 방법의 흐름도이다.
도4는 본 발명에 따른 실시예에서 매개변수W를 생성하는 제2 방법의 흐름도이다.
SM2 키 교환 프로토콜 기반의 키 협상 과정에서 키 협상 프로세스의 수행 복잡성을 낮추고 키 협상 프로세스의 실현 효율을 향상시키기 위해 본 발명에 따른 실시예에 있어서 키 협상을 수행하는 양쪽은 를 사용하여 매개변수W를 계산하지 않고 를 만족하는 X의 최소의 양의 정수 값을 구하며 획득된 X의 최소의 양의 정수 값에 따라 매개변수 W의 값을 획득하며(예를 들어 의 연산 결과를 대신하여 X의 최소의 양의 정수 값을 공식 에 대입하여 W의 값을 계산함), 그 다음에 이러한 모드로 계산된 W 값에 따라 상대방과 키 협상을 수행한다.
하기 여전히 사용자A과 사용자B를 예로 들어 도면을 참조하며 본 발명에 따른 바람직한 실시 방식을 상세히 설명한다.
도1a를 참조하면 본 발명에 따른 실시예에서 SM2 키 교환 프로토콜 기반의 키 협상의 양쪽 중 어느 한쪽 (사용자 A 일 수 있고 사용자 B일 수도 있음)에 의해 사용되는 키 협상 장치는 제1 제어 모듈(10)과 제2 제어 모듈(11)을 포함하며, 여기서,
제1 제어 모듈(10)은 이번 키 협상에 사용되는 타원 곡선 매개변수 차수 n의 값을 확정하며 차수 n이 2x이하인 경우의 X의 최소의 양의 정수 값을 계산하며 획득된 X의 최소의 양의 정수 값에 따라 매개변수 W의 값을 획득하며;
제2 제어 모듈(11)은 상기 매개변수W의 값에 따라 협상 상대방과 키 협상을 수행한다.
도1a에 도시된 바와 같이 제2 제어 모듈(11)의 내부는 복수의 소프트웨어로 실현되는 기능 유닛과 하드웨어로 실현되는 기능 유닛으로 세분화될 수 있으며 이러한 기능 유닛의 역할은 후속 실시 방식에서 상세히 설명되며 다른 한편으로 도 1a에 도시된 제2 제어 모듈(11)의 내부의 기능 유닛의 분할 방식은 단지 하나의 예뿐이며 실제적인 응용에서 구체적인 응용 환경에 따라 별도로 계획될 수 있으며 여기서 더 이상 설명하지 않는다.
다른 한편으로 실제적인 응용에서 제1 제어 모듈(10)은 키 협상 장치에 설치된 로직 모듈일 수 있으며 독립적인 동작 기능을 갖는 서브 장치일 수도 있다. 도1b에 도시된 바와 같이 본 발명에 따른 실시예에서 제1 제어 모듈(10)은 확정 유닛(100) 및 계산 유닛(101)을 포함하며, 여기서,
확정 유닛(100)은 이번 키 협상에 사용되는 타원 곡선 매개변수 차수 n의 값을 확정하며;
계산 유닛(101)은 차수 n이 2x 이하인 경우의 X의 최소의 양의 정수 값을 계산하며 획득된 X의 최소의 양의 정수 값에 따라 매개변수 W의 값을 획득한다.
상기 기술 방안을 기반으로 하여 도2에 도시된 바와 같이 본 발명에 따른 실시예에서 SM2 키 협상 양쪽 중 어느 한쪽 (사용자A 일 수 있으며 사용자B일 수도 있음)에 의해 수행되는 구체적인 프로세스는 다음과 같다.
단계 200: 이번 키 협상에 사용되는 타원 곡선 매개변수 차수 n의 값을 확정한다.
일반적으로 차수 n의 값이 미리 설정되며 사용자A와 사용자B는 SM2 키 협상 과정의 시작 단계에 사용될 타원 곡선 방정식을 약속하고 상대방에 자신에 의해 사용된 공개 키(즉 와 )를 송신한다.
단계 210: 확정된 차수 n이 2x이하인 경우의 X의 최소의 양의 정수 값을 계산하며 즉 부등식 를 성립시키는 X의 최소의 양의 정수 값을 확정하며 획득된 X의 최소의 양의 정수 값에 따라 매개변수W의 값을 획득한다.
본 실시예에서 부등식 를 성립시키는 X의 최소의 양의 정수 값을 확정할 경우 수행될 구체적인 동작은 다음과 같으며, 도3 및 도4에 도시된 바와 같이 키 협상 장치는 우선 차수 n의 유효 비트 수m, 즉 상위의 첫 번째 0이 아닌 비트에서 계산되는 차수 n에 포함되는 비트의 총 수를 확정해야 하며; 그 다음에 차수 n의 값과 2m- 1를 비교하여, 즉 n > 성립인지 여부를 판단하여 그렇다면 직접 m의 현재 값을 X의 최소의 양의 정수 값으로 하며, 그렇지 않으면 설정된 스텝 값 (예를 들어, 스텝 값이 1임)을 사용하여 m을 순차적으로 감소하며 상기 부등식이 성립될 때까지 감소할 때마다 n > 성립인지 여부를 판단하여 감소 후의 m의 마지막 값을 X의 최소 양의 정수 값으로 한다.
본 실시예에서 X의 최소의 양의 정수 값을 획득한 후 X의 최소의 양의 정수 값에 따라 매개변수W의 값을 계산할 경우 하기 복수의 방식을 채용할 수 있다.
예를 들어 도3에 도시된 바와 같이 우선 마지막으로 획득된 m의 패리티 (즉 X의 최소의 양의 정수 값의 패리티)를 판단할 수 있으며 만약 m이 홀수이면 m을 제1 기정 매개변수로 나누어 얻은 값의 정수부분만을 보류하여 매개변수 W의 값으로 하며 예를 들어 공식 를 사용하여 매개변수 W의 값을 계산하며 여기서 는 내림 연산이며 m은 X의 최소의 양의 정수이며; 만약 m이 짝수이면 m을 제1 기정 매개변수로 나누어 얻은 값의 정수부분만을 보류한 후 제2 기정 매개변수를 뺀 결과를 매개변수 W 값으로 하며 예를 들어 공식 을 사용하여 매개변수 W의 값을 계산하며 여기서 2가 제1 기정 매개변수이며 1이 제2 기정 매개변수이다.
또한 예를 들어 도4에 도시된 바와 같이 우선 마지막으로 획득된 m의 패리티 (즉 X의 최소의 양의 정수 값의 패리티)를 판단할 수 있으며 만약 m이 홀수이면 m을 일정 자리씩 오른쪽으로 옮긴 결과를 매개변수W의 값으로 하며 예를 들어 공식 를 이용하여 매개변수 W의 값을 계산하며 여기서 >> 는 오른쪽 시프트 연산이며 1 은 오른쪽 시프트의 설정된 자릿수이며 이 m의 현재 값의 최저위(이차 확대체 형태)을 제거하고 최고위에 제로를 채우는 것을 표시하며; 만약 m이 짝수이면 m을 일정 자리씩 오른쪽으로 옮긴 후 제3 기정 매개변수를 뺀 결과를 매개변수W의 값으로 하며 예를 들어 공식 를 이용하여 매개변수W의 값을 계산하며 여기서 첫 번째 1이 오른쪽 시프트의 설정 자릿수이고 두 번째 1이 제3 기정 매개 변수이다.
단계 220: 획득된 매개변수W의 값에 따라 협상 상대방과 키 협상을 수행한다.
도2에 도시된 바와 같이 SM2 키 교환 프로토콜을 실현하는 키 협상 장치는 개시자(사용자 A)일 수 있으며 응답자(사용자 B)일 수도 있으며 여기서 제1 제어 모듈(10)은 매개변수W를 계산하는 연산 모듈이며 키 협상 장치가 제1 제어 모듈(10)을 통해 매개변수 W를 획득한 후 상대방과 키 협상을 수행하는 과정은 다음과 같다.
SM2 키 교환 프로토콜 프로세스가 개시된 후 개시자(사용자 A)와 응답자(사용자 B)는 각각 사용하는 키 협상 장치에 설치된 제1 제어 모듈(10)을 통해 각각 해당 매개변수W를 획득하며;
다음에 사용자 A는 키 협상 장치 내의 제2 제어 모듈(11)을 통해 난수와 타원 곡선 점을 계산하며 여기서 제2 제어 모듈(11)은 하드웨어로 실현될 수 있다. 도1에 도시된 바와 같이 사용자A는 제2 제어 모듈(11) 내의 난수 생성 유닛을 통해 난수 를 생성할 수 있으며 ECC 연산 유닛은 생성된 난수에 따라 타원 곡선 점 을 생성할 수 있으며 동시에 제2 제어 모듈(11)은 상기 키 협상 장치 내의 키 저장 서브 모듈에 저장된 이번 키 협상에 사용되는 개인 키 에 대응되는 공개 키 를 추출하며 로컬에 소프트웨어로 실현되는 통신 인터페이스를 통해 타원 곡선 점 와 공개 키 를 사용자 B에 송신하며;
사용자B에 의해 사용된 키 협상 장치 B가 사용자A로부터 수신한 정보는 주로 상대방의 공개 키 , 상대방의 타원 곡선 점 , 상대방의 사용자 정보 를 포함하며, 동시에 로컬 사용자 정보 , 타원 곡선 여인자 매개변수 h, 협상 키 예상 길이klen를 획득하며;
사용자B는 로컬 제2 제어 모듈(11)을 이용하여 난수와 타원 곡선 점을 계산하며 여기서 제2 제어 모듈(11)은 하드웨어로 실현될 수 있다. 예를 들어 사용자B는 제2 제어 모듈(11) 내의 난수 생성 유닛을 통해 난수 를 생성할 수 있으며 다음에 제2 제어 모듈(11) 내의 ECC 연산 유닛은 생성된 난수에 따라 타원 곡선 점 을 생성할 수 있으며 동시에 제2 제어 모듈(11)은 상기 키 협상 장치 내의 키 저장 유닛에 저장된 이번 키 협상에 사용되는 개인 키 에 대응되는 공개 키 를 추출하며 로컬에 소프트웨어로 실현되는 통신 인터페이스를 통해 타원 곡선 점 와 공개 키 를 사용자 A에 송신하며;
다음에 사용자B는 로컬 제2 제어 모듈(11) 내의 소프트웨어로 실현되는 데이터 유형 전환 유닛을 이용하여 획득된 필드 요소 과 의 데이터 유형을 정수 데이터 유형으로 전환한 후 제2 제어 장치(11) 내의 소프트웨어로 실현되는 매개변수 연산 유닛을 호출하여 획득된 매개변수W에 따라 공식 을 사용하여 각각 매개변수 과 를 계산하며 여기서 는 타원 곡선 점 의 가로 좌표이며 는 타원 곡선 점 의 가로 좌표이며 여기서 본 발명에 따른 실시 예에 의한 방안을 사용하여 생성된 매개변수 W를 사용한다.
다음에 사용자B는 키 협상 장치를 통해 상대방의 공개 키 , 상대방의 타원 곡선 점 , 로컬로 사용되는 타원 곡선 여인자 매개변수h, 매개 변수 , 매개 변수 를 제2 제어 모듈(11) 내의 하드웨어 실현 부분에 송신하며 그 중의 큰 정수 연산 유닛을 호출하여 연산을 완성하며 여기서 개인 키 는 제 2 제어 모듈(11) 내의 하드웨어로 실현되는 키 저장 장치에서 독출되며 관련 연산은 주로 먼저 큰 정수 모듈러 곱셈 연산을 이용하여 를 계산한 후 큰 정수 모듈러 덧셈 연산을 사용하여 를 계산하는 것을 포함하며; 사용자B는 상기 큰 정수 연산 유닛을 계속 호출하여 연산을 완성하며 관련 연산은 주로 큰 정수 곱셈 연산을 포함한다.
다음에 사용자B는 제2 제어 모듈(11) 내의 하드웨어로 실현되는 ECC 연산 유닛을 사용하여 가 타원 곡선 방정식을 만족하는지 여부를 검증하고 연산을 완성하며 관련 연산은 주로 ECC 점 곱셈 연산을 통해 를 계산하며 ECC 점 덧셈 연산을 통해 를 계산한 후 다시 ECC 점 곱셈 연산을 통해 를 계산하는 것을 포함한다.
사용자B는 키 협상 장치 내의 제 2 제어 모듈(11)을 통해 가 타원 곡선 방정식을 만족하는지 여부의 검증 결과 및 타원 곡선 점 를 소프트웨어 실현 부분에 송신한다. 만약 가 타원 곡선 방정식을 만족하지 않거나 또는 가 타원 곡선의 무한 원점이면 연산을 종료하며; 그렇지 않으면 사용자B는 제2 제어 모듈(11) 내의 소프트웨어로 실현되는 데이터 유형 전환 유닛을 통해 타원 곡선 점 의 가로 좌표 와 세로 좌표 의 데이터 유형을 비트 열 데이터 유형으로 전환하며 사용자B는 제2 제어 모듈(11) 내의 소프트웨어로 실현되는 키 파생 유닛을 통해 사용자B의 로컬 협상 키 를 계산하며 지금까지 사용자B는 키 협상이 성공한다고 묵인할 수 있다.
물론 선택적으로 사용자B는 또한 제2 제어 모듈(11) 내의 소프트웨어로 실현되는 데이터 유형 전환 유닛을 통해 타원 곡선 점 의 가로 좌표 와 세로 좌표 , 타원 곡선 점 의 가로 좌표 와 세로 좌표 의 데이터 유형을 비트 열 데이터 유형으로 전환한 후 제2 제어 모듈(11) 내의 소프트웨어로 실현되는 암호화 해시 계산 유닛을 통해 다음과 같은 검증 정보를 계산한다.
개시자A에 속하는 키 협상 장치는 사용자B에 의해 송신된 정보를 수신하며 사용자B의 공개 키, 사용자B의 타원 곡선 점 , 사용자B의 사용자 정보 를 획득하며 로컬 사용자 정보 타원 곡선 여인자 매개변수h 및 협상 키 예상 길이klen을 획득한 후 사용자B와 동일한 프로세스를 사용하여 를 계산하며
지금까지 개시자는 키 협상이 성공한다고 묵인할 수도 있다.
지금까지 SM2 키 교환 프로토콜에 제정된 SM2 키 협상 프로세스가 완전히 종료된다.
요약해서 말하면 본 발명에 따른 실시예에 있어서 협상 양쪽은 모두 부등식 를 성립시키는 X의 값 중의 최소의 양의 정수 값에 따라 매개변수W를 계산하며 상기 매개변수W에 따라 협상 상대방과 SM2 키 교환 프로토콜 기반의 키 협상을 수행한다. 여기서 매개변수W의 계산 과정은 실제 협상 프로세스를 시작하기 전에 수행될 수 있거나 또는 실제 협상 프로세스를 시작한 후에 수행될 수 있으며 모두 동일한 효과를 획득할 수 있다. 먼저 의 로그 값을 계산한 후 올림 연산을 수행하는 방식을 채용하며 매개변수W를 계산하는 방법에 비해 계산량을 효과적으로 감소시키며 알고리즘의 실현 복잡성을 감소시켜 SM2 키 교환 프로토콜 기반의 키 협상 프로세스의 실현 효율을 크게 향상시켜 SM2 키 교환 프로토콜의 공학적인 실현을 최적화한다.
해당 분야의 통상의 지식을 가진 자라면 본 발명에 따른 실시예는 방법, 시스템 또는 컴퓨터 프로그램 제품으로서 제공될 수 있다는 점은 자명한 것이다. 따라서, 본 발명은 완전 하드웨어적인 실시예, 완전 소프트웨어적인 실시예 또는 소프트웨어 및 하드웨어 결합 실시예의 형식을 채용할 수 있다. 또한, 본 발명은 컴퓨터 사용 가능 프로그램 코드가 포함되는 컴퓨터 사용 가능 저장 매체(디스크 메모리, CD-ROM, 광학 메모리 등이 포함되지만 이에 제한되지 않음) 상에서 실행되는 하나 또는 복수의 컴퓨터 프로그램 제품의 형식을 채용할 수 있다.
본 발명은 본 발명에 따른 실시예에 의한 방법, 장치(시스템) 및 컴퓨터 프로그램 제품의 흐름도 및/또는 블록도를 참조하여 설명된다. 컴퓨터 프로그램 지령을 통해 흐름도 및/또는 블록도의 각 절차 및/블록과 흐름도 및/또는 블록도의 절차 및/또는 블록의 결합을 실현할 수 있음을 이해해야 한다. 이러한 컴퓨터 프로그램 지령을 범용 컴퓨터, 전용 컴퓨터, 삽입식 프로세서 또는 기타 프로그래밍 가능한 데이터 처리 장치의 프로세서에 제공하여 하나의 머신을 생성함으로써, 컴퓨터 또는 기타 프로그래밍 가능한 데이터 처리 장치의 프로세서에 의해 실행되는 지령을 통해, 흐름도의 하나 또는 복수의 절차 및/또는 블록도의 하나 또는 복수의 블록에서 지정되는 기능을 구현하기 위한 장치를 생성할 수 있다.
이러한 컴퓨터 프로그램 지령은 또한, 컴퓨터 또는 기타 프로그래밍 가능한 데이터 처리 장치를 특정된 방식으로 작동하도록 가이드하는 컴퓨터 독출 가능한 메모리에 저장됨으로써 해당 컴퓨터 독출 가능한 메모리 내에 저장된 지령을 통해 지령 장치를 포함하는 제조품을 생성할 수 있으며, 해당 지령 장치는 흐름도의 하나 또는 복수의 절차 및/또는 블록도의 하나 또는 복수의 블록에서 지정된 기능을 구현한다.
이러한 컴퓨터 프로그램 지령은 또한, 컴퓨터 또는 기타 프로그래밍 가능한 데이터 처리 장치에 장착함으로써 컴퓨터 또는 기타 프로그래밍 가능한 장치상에서 일련의 조작 단계를 실행하여 컴퓨터적으로 구현되는 처리를 생성할 수 있으며, 따라서 컴퓨터 또는 기타 프로그래밍 가능한 장치상에서 실행되는 지령은 흐름도의 하나 또는 복수의 절차 및/또는 블록도의 하나 또는 복수의 블록에서 지정된 기능을 구현하기 위한 단계를 제공한다.
비록 본 발명의 바람직한 실시예를 설명하였지만, 해당 분야의 통상의 기술자라면 기본적인 창조성 개념만 알게 된다면 이러한 실시예에 대해 다른 변경과 수정을 수행할 수 있다. 따라서, 첨부되는 청구범위는 바람직한 실시예 및 본 발명의 범위에 속하는 모든 변경과 변형을 포함하는 것으로 해석되어야 할 것이다.
보다시피, 해당 기술 분야의 통상의 지식을 가진 자라면, 본 발명에 따른 실시예의 사상과 범위를 벗어나지 않는 전제하에서 본 발명에 따른 실시예에 대한 여러 가지 변경과 변형을 수행할 수 있다. 따라서, 본 발명에 따른 실시예에 대한 이러한 변경과 변형도 본 발명의 특허청구범위 및 그와 균등한 기술의 범위 내에 속한다면 본 발명에도 이러한 변경과 변형이 포함되어야 할 것이다.
Claims (16)
- 이번 키 협상에 사용되는 타원 곡선 매개변수 차수 n의 값을 확정하는 단계;
상기 차수 n이 2x 이하인 경우의 X의 최소의 양의 정수 값을 계산하며 획득된 X의 최소의 양의 정수 값에 따라 매개변수 W의 값을 획득하는 단계; 및
상기 매개변수W의 값에 따라 협상 상대방과 키 협상을 수행하는 단계를 포함하는
것을 특징으로 하는 SM2 키 교환 프로토콜 기반의 키 협상 방법.
- 제1항에 있어서,
상기 차수 n이 2x이하인 경우의X의 최소의 양의 정수 값을 계산하는 단계는,
상기 차수 n의 유효 비트 수m를 획득하는 단계;
차수 n의 값이 2m-1의 값보다 큰지 여부를 판단하여 크면 직접 m의 현재 값을 상기 X의 최소의 양의 정수 값으로 하며, 크지 않으면 설정된 스텝 값을 사용하여 m을 순차적으로 감소하며 차수 n의 값이 2m-1의 값보다 클 때까지 감소할 때마다 차수 n의 값과 2m-1의 값을 비교하여 m의 마지막 값을 상기 X의 최소 양의 정수 값으로 하는 단계를 포함하는
것을 특징으로 하는 SM2 키 교환 프로토콜 기반의 키 협상 방법.
- 제2항에 있어서,
획득된 X의 최소의 양의 정수 값에 따라 매개변수W의 값을 획득하는 단계는,
X의 최소의 양의 정수 값이 홀수인지 또는 짝수인지를 판단하며 만약 홀수이면 X의 최소의 양의 정수 값을 제1 기정 매개변수로 나누어 얻은 값의 정수부분만을 보류하여 매개변수 W의 값으로 하며; 만약 짝수이면 X의 최소의 양의 정수 값을 제1 기정 매개변수로 나누어 얻은 값의 정수부분만을 보류한 후 제2 기정 매개변수를 뺀 결과를 매개변수 W 값으로 하는 단계를 포함하는
것을 특징으로 하는 SM2 키 교환 프로토콜 기반의 키 협상 방법. - 제2항에 있어서,
획득된 X의 최소의 양의 정수 값에 따라 매개변수W의 값을 획득하는 단계는,
X의 최소의 양의 정수 값이 홀수인지 또는 짝수인지를 판단하며 만약 홀수이면 X의 최소의 양의 정수 값을 일정 자리씩 오른쪽으로 옮긴 결과를 매개변수W의 값으로 하며; 만약 짝수이면 X의 최소의 양의 정수 값을 일정 자리씩 오른쪽으로 옮긴 후 제3 기정 매개변수를 뺀 결과를 매개변수W의 값으로 하는 단계를 포함하는
것을 특징으로 하는 SM2 키 교환 프로토콜 기반의 키 협상 방법. - 제1항 내지 제4항 중 어느 한 항에 있어서,
상기 W의 값에 따라 협상 상대방과 키 협상을 수행하는 단계는,
협상 상대방에 의해 송신된 상대방의 공개 키 , 상대방의 타원 곡선 점 , 상대방의 사용자 정보 를 수신하며 로컬 사용자 정보 , 로컬 개인 키 , 로컬에 생성된 난수 , 로컬에 생성된 타원 곡선 점 , 로컬 타원 곡선 여인자 매개변수 h 및 협상 키 예상 길이klen를 획득하는 단계;
이미 획득된 매개변수W에 근거하여 타원 곡선 점 의 가로 좌표 및 타원 곡선 점 의 가로 좌표 각각에 따라 SM2 키 교환 프로토콜에 규정된 방식을 이용하여 해당 매개변수 과 를 생성하는 단계;
로컬 타원 곡선 여인자 매개변수 h, 로컬 개인 키 , 상기 매개변수 과 , 상대방의 공개 키 , 상대방의 타원 곡선 점 , 로컬에 생성된 난수 에 따라SM2 키 교환 프로토콜에 규정된 방식을 이용하여 좌표 값이 인 타원 곡선 점V를 생성하는 단계;
타원 곡선 점V의 가로 좌표 와 세로 좌표 , 상대방의 사용자 정보 로컬 사용자 정보 및 협상 키 예상 길이 klen에 따라 SM2 키 교환 프로토콜에 규정된 방식을 이용하여 로컬 협상 키 를 생성하는 단계를 포함하는
것을 특징으로 하는 SM2 키 교환 프로토콜 기반의 키 협상 방법. - 제5항에 있어서,
로컬 협상 키 를 생성한 후,
협상 상대방과의 키 협상이 성공한다고 묵인하는 단계를 포함하거나 또는
상기 타원 곡선 점의 가로 좌표 와 세로 좌표 , 타원 곡선 점 의 가로 좌표 와 세로 좌표 , 타원 곡선 점 의 가로 좌표 와 세로 좌표 , 상대방의 사용자 정보 ,로컬 사용자 정보 에 따라 SM2 키 교환 프로토콜에 규정된 방식을 이용하여 검증 정보 및 검증 정보 를 계산하며 검증 정보 를 협상 상대방에 송신하며 협상 상대방으로 하여금 검증 정보 를 수신한 후 동일한 방식을 사용하여 검증 정보 및 검증 정보 를 생성하며 와 가 같은 것으로 확정될 경우 로컬에서 협상 상대방에의 키 협상이 성공하는 것으로 확인하도록 하며, 협상 상대방에 의해 송신된 검증 정보 를 수신하며 와 가 같은 것으로 확인될 경우 협상 상대방에서 로컬에의 키 협상이 성공하는 것으로 확인하는 단계를 포함하는
것을 특징으로 하는 SM2 키 교환 프로토콜 기반의 키 협상 방법. - 이번 키 협상에 사용되는 타원 곡선 매개변수 차수 n의 값을 확정하며 상기 차수 n이 2x이하인 경우의 X의 최소의 양의 정수 값을 계산하며 획득된 X의 최소의 양의 정수 값에 따라 매개변수W의 값을 획득하는 제1 제어 모듈; 및
상기 매개변수W의 값에 따라 협상 상대방과 키 협상을 수행하는 제2 제어 모듈을 포함하는
것을 특징으로 하는 SM2 키 교환 프로토콜 기반의 키 협상 장치. - 제7항에 있어서,
상기 제1 제어 모듈은 상기 차수 n이 2x이하인 경우의X의 최소의 양의 정수 값을 계산할 경우 상기 차수 n의 유효 비트 수m를 획득하며 차수 n의 값이 2m-1의 값보다 큰지 여부를 판단하여 그렇다면 직접 m의 현재 값을 상기 X의 최소의 양의 정수 값으로 하며, 그렇지 않으면 설정된 스텝 값을 사용하여 m을 순차적으로 감소하며 차수 n의 값이 2m-1의 값보다 클 때까지 감소할 때마다 차수 n의 값과 2m-1의 값을 비교하여 m의 마지막 값을 상기 X의 최소 양의 정수 값으로 하는
것을 특징으로 하는 SM2 키 교환 프로토콜 기반의 키 협상 장치. - 제8항에 있어서,
상기 제1 제어 모듈이 획득된 X의 최소의 양의 정수 값에 따라 매개변수W의 값을 획득할 경우 X의 최소의 양의 정수 값이 홀수인지 또는 짝수인지를 판단하며 만약 홀수이면 X의 최소의 양의 정수 값을 제1 기정 매개변수로 나누어 얻은 값의 정수부분만을 보류하여 매개변수 W의 값으로 하며; 만약 짝수이면 X의 최소의 양의 정수 값을 제1 기정 매개변수로 나누어 얻은 값의 정수부분만을 보류한 후 제2 기정 매개변수를 뺀 결과를 매개변수 W 값으로 하는
것을 특징으로 하는 SM2 키 교환 프로토콜 기반의 키 협상 장치. - 제8항에 있어서,
상기 제1 제어 모듈이 획득된 X의 최소의 양의 정수 값에 따라 매개변수W의 값을 획득할 경우 X의 최소의 양의 정수 값이 홀수인지 또는 짝수인지를 판단하며 만약 홀수이면 X의 최소의 양의 정수 값을 일정 자리씩 오른쪽으로 옮긴 결과를 매개변수W의 값으로 하며; 만약 짝수이면 X의 최소의 양의 정수 값을 일정 자리씩 오른쪽으로 옮긴 후 제3 기정 매개변수를 뺀 결과를 매개변수W의 값으로 하는
것을 특징으로 하는 SM2 키 교환 프로토콜 기반의 키 협상 장치. - 제8항 내지 제10항 중 어느 한 항에 있어서,
상기 제2 제어 모듈이 상기 W의 값에 따라 협상 상대방과 키 협상을 수행할 경우 하기 동작을 수행하며,
협상 상대방에 의해 송신된 상대방의 공개 키 , 상대방의 타원 곡선 점 , 상대방의 사용자 정보 를 수신하며 로컬 사용자 정보 , 로컬 개인 키 , 로컬에 생성된 난수 , 로컬에 생성된 타원 곡선 점 , 로컬 타원 곡선 여인자 매개변수 h 및 협상 키 예상 길이 klen를 획득하며;
이미 획득된 매개변수W에 근거하여 타원 곡선 점 의 가로 좌표 및 타원 곡선 점 의 가로 좌표 각각에 따라 SM2 키 교환 프로토콜에 규정된 방식을 이용하여 해당 매개변수 과 를 생성하며;
로컬 타원 곡선 여인자 매개변수 h, 로컬 개인 키 , 상기 매개변수 과 , 상대방의 공개 키 , 상대방의 타원 곡선 점 , 로컬에 생성된 난수 에 따라 SM2 키 교환 프로토콜에 규정된 방식을 이용하여 좌표 값이 인 타원 곡선 점V를 생성하며;
타원 곡선 점V의 가로 좌표 와 세로 좌표 , 상대방의 사용자 정보 , 로컬 사용자 정보 및 협상 키 예상 길이 klen에 따라 SM2 키 교환 프로토콜에 규정된 방식을 이용하여 로컬 협상 키 를 생성하는
것을 특징으로 하는 SM2 키 교환 프로토콜 기반의 키 협상 장치. - 제 11항에 있어서,
상기 제 제어 모듈은 로컬 협상 키 를 생성한 후, 협상 상대방과의 키 협상이 성공한다고 묵인하거나 또는 상기 타원 곡선 점의 가로 좌표 와 세로 좌표 , 타원 곡선 점 의 가로 좌표 와 세로 좌표 , 타원 곡선 점 의 가로 좌표 와 세로 좌표 , 상대방의 사용자 정보 , 로컬 사용자 정보 에 따라 SM2 키 교환 프로토콜에 규정된 방식을 이용하여 검증 정보 및 검증 정보 를 계산하며 검증 정보 를 협상 상대방에 송신하며 협상 상대방으로 하여금 검증 정보 를 수신한 후 동일한 방식을 사용하여 검증 정보 및 검증 정보 를 생성하며 와 가 같은 것으로 확정될 경우 로컬에서 협상 상대방에의 키 협상이 성공하는 것으로 확인하도록 하며, 협상 상대방에 의해 송신된 검증 정보 를 수신하며 와 가 같은 것으로 확인될 경우 협상 상대방에서 로컬에의 키 협상이 성공하는 것으로 확인하는
것을 특징으로 하는 SM2 키 교환 프로토콜 기반의 키 협상 장치. - 이번 키 협상에 사용되는 타원 곡선 매개변수 차수 n의 값을 확정하는 확정 유닛; 및
상기 차수 n이 2x 이하인 경우의 X의 최소의 양의 정수 값을 계산하며 획득된 X의 최소의 양의 정수 값에 따라 매개변수 W의 값을 획득하는 계산 유닛을 포함하는
것을 특징으로 하는 매개변수 생성 장치. - 제 13항에 있어서,
상기 계산 유닛은 상기 차수 n이 2x이하인 경우의 X의 최소의 양의 정수 값을 계산할 경우 상기 차수 n의 유효 비트 수m를 획득하며 차수 n의 값이 2m-1의 값보다 큰지 여부를 판단하여 그렇다면 직접 m의 현재 값을 상기 X의 최소의 양의 정수 값으로 하며, 그렇지 않으면 설정된 스텝 값을 사용하여 m을 순차적으로 감소하며 차수 n의 값이 2m-1의 값보다 클 때까지 감소할 때마다 차수 n의 값과 2m-1의 값을 비교하여 m의 마지막 값을 상기 X의 최소 양의 정수 값으로 하는
것을 특징으로 하는 매개변수 생성 장치. - 제13항에 있어서,
상기 계산 유닛은 획득된 X의 최소의 양의 정수 값에 따라 매개변수W의 값을 획득할 경우 X의 최소의 양의 정수 값이 홀수인지 또는 짝수인지를 판단하며 만약 홀수이면 X의 최소의 양의 정수 값을 제1 기정 매개변수로 나누어 얻은 값의 정수부분만을 보류하여 매개변수 W의 값으로 하며; 만약 짝수이면 X의 최소의 양의 정수 값을 제1 기정 매개변수로 나누어 얻은 값의 정수부분만을 보류한 후 제2 기정 매개변수를 뺀 결과를 매개변수 W 값으로 하는
것을 특징으로 하는 매개변수 생성 장치. - 제 1항에 있어서,
상기 계산 유닛은 획득된 X의 최소의 양의 정수 값에 따라 매개변수W의 값을 획득할 경우 X의 최소의 양의 정수 값이 홀수인지 또는 짝수인지를 판단하며 만약 홀수이면 X의 최소의 양의 정수 값을 일정 자리씩 오른쪽으로 옮긴 결과를 매개변수W의 값으로 하며; 만약 짝수이면 X의 최소의 양의 정수 값을 일정 자리씩 오른쪽으로 옮긴 후 제3 기정 매개변수를 뺀 결과를 매개변수W의 값으로 하는
것을 특징으로 하는 매개변수 생성 장치.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110390564.7A CN102412971B (zh) | 2011-11-30 | 2011-11-30 | 基于sm2密钥交换协议的密钥协商方法及装置 |
CN201110390564.7 | 2011-11-30 | ||
PCT/CN2012/085233 WO2013078970A1 (zh) | 2011-11-30 | 2012-11-26 | 基于sm2密钥交换协议的密钥协商方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140105504A true KR20140105504A (ko) | 2014-09-01 |
KR101617561B1 KR101617561B1 (ko) | 2016-05-02 |
Family
ID=45914836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020147017887A KR101617561B1 (ko) | 2011-11-30 | 2012-11-26 | Sm2 키 교환 프로토콜 기반의 키 협상 방법 및 장치 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9313026B2 (ko) |
EP (1) | EP2787682B1 (ko) |
JP (1) | JP6014678B2 (ko) |
KR (1) | KR101617561B1 (ko) |
CN (1) | CN102412971B (ko) |
WO (1) | WO2013078970A1 (ko) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102412971B (zh) * | 2011-11-30 | 2015-04-29 | 西安西电捷通无线网络通信股份有限公司 | 基于sm2密钥交换协议的密钥协商方法及装置 |
WO2015062239A1 (zh) * | 2013-11-04 | 2015-05-07 | 华为技术有限公司 | 密钥协商处理方法和装置 |
CN104702566B (zh) * | 2013-12-06 | 2021-08-06 | 苏州海博智能系统有限公司 | 一种虚拟设备的授权使用方法及装置 |
US10503510B2 (en) | 2013-12-27 | 2019-12-10 | Intel Corporation | SM3 hash function message expansion processors, methods, systems, and instructions |
WO2015184991A1 (en) * | 2014-06-04 | 2015-12-10 | Jintai Ding | Improvements on cryptographic systems using pairing with errors |
US9317719B2 (en) | 2014-09-04 | 2016-04-19 | Intel Corporation | SM3 hash algorithm acceleration processors, methods, systems, and instructions |
US9658854B2 (en) | 2014-09-26 | 2017-05-23 | Intel Corporation | Instructions and logic to provide SIMD SM3 cryptographic hashing functionality |
EP3373505A1 (en) * | 2017-03-06 | 2018-09-12 | Koninklijke Philips N.V. | Device and method for sharing a matrix for use in a cryptographic protocol |
CN107579811A (zh) * | 2017-07-28 | 2018-01-12 | 广州星海集成电路基地有限公司 | 一种基于sm3密码杂凑算法的硬件优化方法 |
CN107689867B (zh) * | 2017-09-08 | 2019-12-10 | 晋商博创(北京)科技有限公司 | 一种在开放环境下的密钥保护方法和系统 |
CN107896147B (zh) * | 2017-12-07 | 2020-07-28 | 福建联迪商用设备有限公司 | 一种基于国密算法协商临时会话密钥的方法及其系统 |
CN108566375A (zh) * | 2018-03-12 | 2018-09-21 | 深圳壹账通智能科技有限公司 | 基于区块链的多端间消息通信的方法、终端及存储介质 |
CN109547209B (zh) * | 2018-11-19 | 2020-09-08 | 北京大学 | 一种两方sm2数字签名生成方法 |
CN110730184B (zh) * | 2019-10-22 | 2021-11-05 | 江苏先安科技有限公司 | 一种基于国密sm2算法的新型招投标加解密方法 |
CN111147250B (zh) * | 2019-12-18 | 2022-08-02 | 北京江南天安科技有限公司 | 一种数字签名方法、装置、发送端、接收端及系统 |
CN111555879B (zh) * | 2020-07-13 | 2021-01-05 | 南京凯瑞得信息科技有限公司 | 一种卫星通信网管信道报文加解密方法及系统 |
CN111953489A (zh) * | 2020-08-31 | 2020-11-17 | 中国电力科学研究院有限公司 | 基于sm2算法的发电单元采集业务的密钥交换设备及方法 |
CN112529313B (zh) * | 2020-12-17 | 2022-12-09 | 中国航空综合技术研究所 | 基于协商策略的智能人机工程设计优化方法 |
CN112688784B (zh) * | 2020-12-23 | 2023-04-11 | 中科美络科技股份有限公司 | 一种数字签名、验证方法、装置及系统 |
CN113660087B (zh) * | 2021-07-06 | 2023-09-26 | 浙江传媒学院 | 一种基于有限域的sm9标识密码算法硬件实现系统 |
CN113612799B (zh) * | 2021-08-25 | 2022-11-18 | 中国银行股份有限公司 | 一种基于sm2算法的区块链哈希加密方法及装置 |
CN114070561A (zh) * | 2022-01-17 | 2022-02-18 | 工业信息安全(四川)创新中心有限公司 | 一种基于sm2算法的零知识证明方法和系统 |
CN114338047A (zh) * | 2022-03-08 | 2022-04-12 | 科大天工智能装备技术(天津)有限公司 | 基于国密的区块链工业数据加密方法、装置及存储介质 |
CN115174086B (zh) * | 2022-07-11 | 2023-06-27 | 三未信安科技股份有限公司 | 基于sm2椭圆曲线的二分之一概率密钥协商方法 |
CN115499832B (zh) * | 2022-11-14 | 2023-01-17 | 济南职业学院 | 一种工业无线通信安全方法 |
CN116032490B (zh) * | 2023-01-09 | 2023-10-03 | 郑州轻工业大学 | 一种基于改进SM2算法的Fabric区块链构建方法 |
CN117436043A (zh) * | 2023-12-20 | 2024-01-23 | 鼎铉商用密码测评技术(深圳)有限公司 | 待执行文件的来源验证方法、设备以及可读存储介质 |
CN117811730A (zh) * | 2023-12-29 | 2024-04-02 | 北京天融信网络安全技术有限公司 | 国密密钥协商方法、装置、计算设备及可读存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2542556C (en) | 2005-06-03 | 2014-09-16 | Tata Consultancy Services Limited | An authentication system executing an elliptic curve digital signature cryptographic process |
CN100414492C (zh) | 2005-11-04 | 2008-08-27 | 北京浦奥得数码技术有限公司 | 一种椭圆曲线密码系统及实现方法 |
CN101291214B (zh) * | 2007-04-19 | 2011-08-10 | 华为技术有限公司 | 一种生成组密钥的方法、系统和设备 |
CN102318260B (zh) | 2008-12-16 | 2016-04-20 | 塞尔蒂卡姆公司 | 密钥协商协议的加速 |
CN102111681B (zh) * | 2009-12-24 | 2012-12-12 | 航天信息股份有限公司 | 一种用于数字电视广播条件接收系统的密钥系统 |
CN102111266B (zh) * | 2009-12-28 | 2014-01-15 | 航天信息股份有限公司 | 基于椭圆曲线的组密钥产生方法 |
CN102412971B (zh) | 2011-11-30 | 2015-04-29 | 西安西电捷通无线网络通信股份有限公司 | 基于sm2密钥交换协议的密钥协商方法及装置 |
-
2011
- 2011-11-30 CN CN201110390564.7A patent/CN102412971B/zh active Active
-
2012
- 2012-11-26 JP JP2014543759A patent/JP6014678B2/ja active Active
- 2012-11-26 WO PCT/CN2012/085233 patent/WO2013078970A1/zh active Application Filing
- 2012-11-26 US US14/361,750 patent/US9313026B2/en active Active
- 2012-11-26 KR KR1020147017887A patent/KR101617561B1/ko active IP Right Grant
- 2012-11-26 EP EP12852494.9A patent/EP2787682B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP2787682A4 (en) | 2015-09-30 |
US20150124970A1 (en) | 2015-05-07 |
CN102412971B (zh) | 2015-04-29 |
EP2787682B1 (en) | 2018-09-05 |
US9313026B2 (en) | 2016-04-12 |
JP2015500582A (ja) | 2015-01-05 |
JP6014678B2 (ja) | 2016-10-25 |
KR101617561B1 (ko) | 2016-05-02 |
EP2787682A1 (en) | 2014-10-08 |
CN102412971A (zh) | 2012-04-11 |
WO2013078970A1 (zh) | 2013-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101617561B1 (ko) | Sm2 키 교환 프로토콜 기반의 키 협상 방법 및 장치 | |
JP6720424B1 (ja) | 鍵共有デバイス及び方法 | |
CN103427997B (zh) | 一种生成数字签名的方法及装置 | |
JP2012212164A (ja) | デジタル署名と公開鍵の促進された検証 | |
KR101594553B1 (ko) | 암호화 키를 생성하는 방법, 이를 위한 네트워크 및 컴퓨터 프로그램 | |
US20230318815A1 (en) | Method and system for key agreement utilizing semigroups | |
KR101768605B1 (ko) | 전송 메시지에 대한 부인 방지가 가능한 데이터 전송 장치 및 방법 | |
CN111010277A (zh) | 密钥交换方法、装置和存储介质、计算装置 | |
WO2024078347A1 (zh) | 加速设备、计算系统及加速方法 | |
US9054877B2 (en) | Data expansion using an approximate method | |
JP6834771B2 (ja) | 通信装置および通信方法 | |
US7167559B2 (en) | Information security device, exponentiation device, modular exponentiation device, and elliptic curve exponentiation device | |
CN109600225B (zh) | 一种密钥交换方法、装置和存储介质 | |
JP2000293507A (ja) | 有限体演算における表現データ生成装置および方法 | |
CN114650135A (zh) | 一种软硬件协同的sm2椭圆曲线密码算法实现方法 | |
JP5964759B2 (ja) | 計算システム | |
TWI694349B (zh) | 防止記憶體傾印的門檻式簽章系統及其方法 | |
CN113595730B (zh) | 一种用于工程中生成ecc曲线的处理方法和装置 | |
TW202236822A (zh) | 分層確定性錢包的門檻式簽章系統及其方法 | |
CN117394995A (zh) | 一种无证书的密钥协商方法、系统、设备及介质 | |
JP2011061306A (ja) | 情報共有システム、方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |