1
/
의
6
PayPal, credit cards. Download editable-PDF and invoice in 1 second!
GM/T 0003.3-2012 영어 PDF (GMT0003.3-2012)
GM/T 0003.3-2012 영어 PDF (GMT0003.3-2012)
정가
$145.00 USD
정가
할인가
$145.00 USD
단가
/
단위
배송료는 결제 시 계산됩니다.
픽업 사용 가능 여부를 로드할 수 없습니다.
배송: 3초. 실제 PDF + 송장을 다운로드하세요.
1분 안에 견적을 받아보세요: GM/T 0003.3-2012를 클릭하세요
역사적 버전: GM/T 0003.3-2012
True-PDF 미리보기 (비어 있으면 다시 로드/스크롤)
GM/T 0003.3-2012: 타원 곡선 기반 공개 키 암호화 알고리즘 SM2 - 3부: 키 교환 프로토콜
GM/T 0003.3-2012
지엠
암호화 산업 표준
중화인민공화국의
ICS 35.040
리터 80
파일 번호 36828-2012
SM2 기반 공개키 암호화 알고리즘
타원 곡선 - 3부. 키 교환 프로토콜
발행일 2012년 3월 21일
2012년 3월 21일에 구현됨
발행처. 국가 암호 관리국
목차
서문 ... 3
1 범위 ... 4
2 규범적 참조 ... 4
3 용어 및 정의 ... 4
4개의 기호 ... 5
5 알고리즘 매개변수 및 보조 함수... 7
5.1 일반 규칙 ... 7
5.2 타원곡선의 시스템 매개변수 ... 7
5.3 사용자 키 쌍 ... 7
5.4 보조 기능... 7
5.4.1 일반 ... 7
5.4.2 암호화 해시 함수 ... 7
5.4.3 주요 파생 함수 ... 8
5.4.4 난수 생성기 ... 8
5.5 사용자의 기타 정보 ... 8
6 키 교환 프로토콜 및 프로세스 ... 9
6.1 키 교환 프로토콜 ... 9
6.2 키 교환 프로토콜의 과정 ... 11
부록 A (정보) 키 교환 및 검증의 예... 12
A.1 일반 요구 사항 ... 12
A.2 Fp의 타원곡선의 키 교환 프로토콜... 12
A.3 F2m의 타원곡선의 키 교환 프로토콜 ... 16
SM2 기반 공개키 암호화 알고리즘
타원 곡선 - 3부. 키 교환 프로토콜
1 범위
GM/T 0003의 이 부분은 공개 키의 키 교환 프로토콜을 지정합니다.
타원 곡선을 기반으로 하는 암호화 알고리즘 SM2와 예제를 제공합니다.
및 키 교환 프로세스.
이 부분은 상업용 암호화 응용 프로그램의 키 교환에 적용됩니다.
두 가지 또는 선택적으로 세 가지를 사용하여 양측의 의사소통을 만족시킬 수 있습니다.
메시지 전달 프로세스를 통해 공유 비밀 키를 계산하고 획득합니다.
(세션 키)는 양측이 결정합니다. 한편, 이 부분은 또한 다음을 제공할 수 있습니다.
제품의 표준 위치 및 표준화 참조
보안제품 제조업체의 신뢰성을 높이기 위한 기술
보안 제품의 상호 운용성.
2 규범적 참조
다음 참조 문서는 이 문서의 적용에 필수적입니다.
문서. 날짜가 있는 참조의 경우, 날짜가 있는 에디션만 이 문서에 적용됩니다.
날짜가 없는 참조, 참조 문서의 최신 버전(모든 참조 문서 포함)
이 문서에는 개정 사항이 적용됩니다.
GM/T 0003.1-2012, 타원 기반 공개 키 암호화 알고리즘 SM2
곡선 - 1부. 일반
3 용어 및 정의
본 문서의 목적상 다음과 같은 용어와 정의가 적용됩니다.
3.1
A에서 B로의 키 확인
사용자 A가 특정 비밀 키를 가지고 있다는 것을 사용자 B에게 확신시키는 보장
3.2
키 유도 함수
K, KA, KB. 키 교환 프로토콜에서 합의된 공유 비밀 키.
KDF(). 키 파생 함수.
modn. 모듈로 n 연산. 예: 23 mod 7 = 2.
n. 기준점 G의 순서(n은 #E(Fq)의 소인수임).
O. 타원 곡선상의 무한대점 또는 영점이라고 하는 특별한 점 하나
타원곡선의 덧셈군의 항등원입니다.
PA. 사용자 A의 공개 키.
PB. 사용자 B의 공개 키.
q. 유한체 Fq의 원소의 개수.
rA. 키 교환에서 사용자 A가 생성한 임시 키의 값.
rB. 키 교환에서 사용자 B가 생성한 임시 키의 값입니다.
. x와 y의 연결입니다. 여기서 x와 y는 비트 문자열이나 바이트 문자열이 될 수 있습니다.
ZA. 사용자 A의 식별자를 구별하는 것과 관련된 해시 값, 일부 시스템
타원 곡선의 매개변수와 사용자 A의 공개 키.
ZB. 사용자 B의 식별자를 구별하기 위한 해시 값, 일부 시스템
타원 곡선의 매개변수와 사용자 B의 공개 키.
#E(Fq). E(Fq) 위의 점의 개수를 타원 곡선 E(Fq)의 차수라고 한다.
[k]P. 타원 곡선 상의 점 P의 k 점 곱셈, 즉,
여기서 k는 양의 정수입니다.
[x, y]. x보다 크거나 같고, x보다 작거나 같은 정수의 집합입니다.
와이.
. 천장 함수는 x보다 크거나 같은 최소 정수입니다. 예를 들어,
. x보다 작거나 같은 최대 정수인 하단 함수입니다. 예를 들어,
숫자 k
5.4.3 키 파생 함수
키 파생 함수의 역할은 공유된 비밀 비트 문자열에서 키 데이터를 파생하는 것입니다.
키 합의 프로세스 동안 키 파생 기능은 공유된 키에 작용합니다.
세션 키를 생성하기 위해 키 교환에서 얻은 비밀 비트 문자열
또는 추가 암호화에 필요한 주요 데이터입니다.
키 파생 함수는 암호화 해시 함수를 호출해야 합니다.
암호화 해시 함수를 Hv()로 하면 출력 길이는 정확히 해시입니다.
v 비트의 값.
주요 파생 함수 KDF(Z, klen).
입력. 비트 문자열 Z, 정수 klen(획득할 키 데이터의 비트 길이를 나타냄)
여기서 값은 (232 - 1)v)보다 작아야 합니다.
출력. klen 길이를 가진 키 데이터 비트 문자열 K를 출력합니다.
a) 32비트 카운터를 초기화합니다.
b) i에 대해 1부터 .까지 수행합니다.
b.1) 계산;
나.2) ;
c) klen/v가 정수인 경우,
그렇지 않으면, 가장 왼쪽의 비트가 ;가 되도록 하자.
d) .
5.4.4 난수 생성기
이 부분에서는 국가가 승인한 난수 생성기의 사용을 명시합니다.
암호학 관리.
5.5 사용자의 기타 정보
사용자 A는 entlenA 비트 길이를 갖는 구별 식별자 IDA를 갖고 있습니다.
정수 entlenA에서 변환된 2바이트인 ENTLA; 그리고 사용자 B는
entlenB 길이를 갖는 구별 식별자 IDB, ENTLB를 2바이트로 표시
정수 entlenB에서 변환됨. 타원 곡선 키 교환 프로토콜에서 지정됨
이 부분에서는 키 계약에 있는 양측 A와 B가 모두 암호화를 사용해야 합니다.
해시 함수를 사용하여 사용자 A의 해시 값 ZA와 사용자 B의 해시 값 ZB를 얻습니다.
B6. 타원 곡선 점을 계산합니다. V가 에 있는 점이라면
무한대이면 B 합의가 실패합니다. 그렇지 않으면 xV와 yV의 데이터 유형을 비트로 변환합니다.
GM/T 0003.1-2012의 4.2.6 및 4.2.5에 제시된 방법에 따른 문자열;
B7. 계산하다;
B8. (선택사항) RA, x1, y1 좌표의 데이터 유형을 변환하고,
4.2.6에 주어진 방법에 따라 RB, x2 및 y2의 좌표를 비트 문자열로 변환합니다.
및 GM/T 0003.1-2012의 4.2.5를 계산합니다.
B9. RB(및 SB, 선택 사항)를 사용자 A에게 보냅니다.
사용자 A.
A4. RA에서 필드 요소 x1을 가져와서 x1의 데이터 유형을 정수로 변환합니다.
GM/T 0003.1-2012의 4.2.8에 주어진 방법에 따라 계산합니다.
A5. 계산하다;
A6. RB가 타원 곡선 방정식을 만족하는지 확인하십시오. 만족하지 않으면
동의가 실패합니다. 그렇지 않으면 RB에서 필드 요소 x2를 가져와 x2의 데이터 유형을 다음으로 변환합니다.
GM/T 0003.1-2012의 4.2.8에 주어진 방법에 따른 정수를 계산합니다.
A7. 타원 곡선 점을 계산합니다. U가 에 있는 점이라면
무한대이면 A 계약이 실패합니다. 그렇지 않으면 xU와 yU의 데이터 유형을 비트로 변환합니다.
GM/T 0003.1-2012의 4.2.6 및 4.2.5에 제시된 방법에 따른 문자열;
A8. 계산하다;
A9. (선택사항) RA, x1, y1 좌표의 데이터 유형을 변환하고,
4.2.6에 주어진 방법에 따라 RB, x2 및 y2의 좌표를 비트 문자열로 변환합니다.
및 GM/T 0003.1-2012의 4.2.5를 계산합니다.
, S1 = 인지 확인하세요.
SB는 참입니다. 참이 아니면 B에서 A로 가는 키는 실패로 확인됩니다.
A10. (선택 사항) 계산,
그리고 SA를 사용자 B에게 보냅니다.
사용자 B.
B10. (선택 사항) 계산,
그리고 S2 = SA가 참인지 확인합니다. 참이 아니면 A에서 B로 가는 키는 ...
1분 안에 견적을 받아보세요: GM/T 0003.3-2012를 클릭하세요
역사적 버전: GM/T 0003.3-2012
True-PDF 미리보기 (비어 있으면 다시 로드/스크롤)
GM/T 0003.3-2012: 타원 곡선 기반 공개 키 암호화 알고리즘 SM2 - 3부: 키 교환 프로토콜
GM/T 0003.3-2012
지엠
암호화 산업 표준
중화인민공화국의
ICS 35.040
리터 80
파일 번호 36828-2012
SM2 기반 공개키 암호화 알고리즘
타원 곡선 - 3부. 키 교환 프로토콜
발행일 2012년 3월 21일
2012년 3월 21일에 구현됨
발행처. 국가 암호 관리국
목차
서문 ... 3
1 범위 ... 4
2 규범적 참조 ... 4
3 용어 및 정의 ... 4
4개의 기호 ... 5
5 알고리즘 매개변수 및 보조 함수... 7
5.1 일반 규칙 ... 7
5.2 타원곡선의 시스템 매개변수 ... 7
5.3 사용자 키 쌍 ... 7
5.4 보조 기능... 7
5.4.1 일반 ... 7
5.4.2 암호화 해시 함수 ... 7
5.4.3 주요 파생 함수 ... 8
5.4.4 난수 생성기 ... 8
5.5 사용자의 기타 정보 ... 8
6 키 교환 프로토콜 및 프로세스 ... 9
6.1 키 교환 프로토콜 ... 9
6.2 키 교환 프로토콜의 과정 ... 11
부록 A (정보) 키 교환 및 검증의 예... 12
A.1 일반 요구 사항 ... 12
A.2 Fp의 타원곡선의 키 교환 프로토콜... 12
A.3 F2m의 타원곡선의 키 교환 프로토콜 ... 16
SM2 기반 공개키 암호화 알고리즘
타원 곡선 - 3부. 키 교환 프로토콜
1 범위
GM/T 0003의 이 부분은 공개 키의 키 교환 프로토콜을 지정합니다.
타원 곡선을 기반으로 하는 암호화 알고리즘 SM2와 예제를 제공합니다.
및 키 교환 프로세스.
이 부분은 상업용 암호화 응용 프로그램의 키 교환에 적용됩니다.
두 가지 또는 선택적으로 세 가지를 사용하여 양측의 의사소통을 만족시킬 수 있습니다.
메시지 전달 프로세스를 통해 공유 비밀 키를 계산하고 획득합니다.
(세션 키)는 양측이 결정합니다. 한편, 이 부분은 또한 다음을 제공할 수 있습니다.
제품의 표준 위치 및 표준화 참조
보안제품 제조업체의 신뢰성을 높이기 위한 기술
보안 제품의 상호 운용성.
2 규범적 참조
다음 참조 문서는 이 문서의 적용에 필수적입니다.
문서. 날짜가 있는 참조의 경우, 날짜가 있는 에디션만 이 문서에 적용됩니다.
날짜가 없는 참조, 참조 문서의 최신 버전(모든 참조 문서 포함)
이 문서에는 개정 사항이 적용됩니다.
GM/T 0003.1-2012, 타원 기반 공개 키 암호화 알고리즘 SM2
곡선 - 1부. 일반
3 용어 및 정의
본 문서의 목적상 다음과 같은 용어와 정의가 적용됩니다.
3.1
A에서 B로의 키 확인
사용자 A가 특정 비밀 키를 가지고 있다는 것을 사용자 B에게 확신시키는 보장
3.2
키 유도 함수
K, KA, KB. 키 교환 프로토콜에서 합의된 공유 비밀 키.
KDF(). 키 파생 함수.
modn. 모듈로 n 연산. 예: 23 mod 7 = 2.
n. 기준점 G의 순서(n은 #E(Fq)의 소인수임).
O. 타원 곡선상의 무한대점 또는 영점이라고 하는 특별한 점 하나
타원곡선의 덧셈군의 항등원입니다.
PA. 사용자 A의 공개 키.
PB. 사용자 B의 공개 키.
q. 유한체 Fq의 원소의 개수.
rA. 키 교환에서 사용자 A가 생성한 임시 키의 값.
rB. 키 교환에서 사용자 B가 생성한 임시 키의 값입니다.
. x와 y의 연결입니다. 여기서 x와 y는 비트 문자열이나 바이트 문자열이 될 수 있습니다.
ZA. 사용자 A의 식별자를 구별하는 것과 관련된 해시 값, 일부 시스템
타원 곡선의 매개변수와 사용자 A의 공개 키.
ZB. 사용자 B의 식별자를 구별하기 위한 해시 값, 일부 시스템
타원 곡선의 매개변수와 사용자 B의 공개 키.
#E(Fq). E(Fq) 위의 점의 개수를 타원 곡선 E(Fq)의 차수라고 한다.
[k]P. 타원 곡선 상의 점 P의 k 점 곱셈, 즉,
여기서 k는 양의 정수입니다.
[x, y]. x보다 크거나 같고, x보다 작거나 같은 정수의 집합입니다.
와이.
. 천장 함수는 x보다 크거나 같은 최소 정수입니다. 예를 들어,
. x보다 작거나 같은 최대 정수인 하단 함수입니다. 예를 들어,
숫자 k
5.4.3 키 파생 함수
키 파생 함수의 역할은 공유된 비밀 비트 문자열에서 키 데이터를 파생하는 것입니다.
키 합의 프로세스 동안 키 파생 기능은 공유된 키에 작용합니다.
세션 키를 생성하기 위해 키 교환에서 얻은 비밀 비트 문자열
또는 추가 암호화에 필요한 주요 데이터입니다.
키 파생 함수는 암호화 해시 함수를 호출해야 합니다.
암호화 해시 함수를 Hv()로 하면 출력 길이는 정확히 해시입니다.
v 비트의 값.
주요 파생 함수 KDF(Z, klen).
입력. 비트 문자열 Z, 정수 klen(획득할 키 데이터의 비트 길이를 나타냄)
여기서 값은 (232 - 1)v)보다 작아야 합니다.
출력. klen 길이를 가진 키 데이터 비트 문자열 K를 출력합니다.
a) 32비트 카운터를 초기화합니다.
b) i에 대해 1부터 .까지 수행합니다.
b.1) 계산;
나.2) ;
c) klen/v가 정수인 경우,
그렇지 않으면, 가장 왼쪽의 비트가 ;가 되도록 하자.
d) .
5.4.4 난수 생성기
이 부분에서는 국가가 승인한 난수 생성기의 사용을 명시합니다.
암호학 관리.
5.5 사용자의 기타 정보
사용자 A는 entlenA 비트 길이를 갖는 구별 식별자 IDA를 갖고 있습니다.
정수 entlenA에서 변환된 2바이트인 ENTLA; 그리고 사용자 B는
entlenB 길이를 갖는 구별 식별자 IDB, ENTLB를 2바이트로 표시
정수 entlenB에서 변환됨. 타원 곡선 키 교환 프로토콜에서 지정됨
이 부분에서는 키 계약에 있는 양측 A와 B가 모두 암호화를 사용해야 합니다.
해시 함수를 사용하여 사용자 A의 해시 값 ZA와 사용자 B의 해시 값 ZB를 얻습니다.
B6. 타원 곡선 점을 계산합니다. V가 에 있는 점이라면
무한대이면 B 합의가 실패합니다. 그렇지 않으면 xV와 yV의 데이터 유형을 비트로 변환합니다.
GM/T 0003.1-2012의 4.2.6 및 4.2.5에 제시된 방법에 따른 문자열;
B7. 계산하다;
B8. (선택사항) RA, x1, y1 좌표의 데이터 유형을 변환하고,
4.2.6에 주어진 방법에 따라 RB, x2 및 y2의 좌표를 비트 문자열로 변환합니다.
및 GM/T 0003.1-2012의 4.2.5를 계산합니다.
B9. RB(및 SB, 선택 사항)를 사용자 A에게 보냅니다.
사용자 A.
A4. RA에서 필드 요소 x1을 가져와서 x1의 데이터 유형을 정수로 변환합니다.
GM/T 0003.1-2012의 4.2.8에 주어진 방법에 따라 계산합니다.
A5. 계산하다;
A6. RB가 타원 곡선 방정식을 만족하는지 확인하십시오. 만족하지 않으면
동의가 실패합니다. 그렇지 않으면 RB에서 필드 요소 x2를 가져와 x2의 데이터 유형을 다음으로 변환합니다.
GM/T 0003.1-2012의 4.2.8에 주어진 방법에 따른 정수를 계산합니다.
A7. 타원 곡선 점을 계산합니다. U가 에 있는 점이라면
무한대이면 A 계약이 실패합니다. 그렇지 않으면 xU와 yU의 데이터 유형을 비트로 변환합니다.
GM/T 0003.1-2012의 4.2.6 및 4.2.5에 제시된 방법에 따른 문자열;
A8. 계산하다;
A9. (선택사항) RA, x1, y1 좌표의 데이터 유형을 변환하고,
4.2.6에 주어진 방법에 따라 RB, x2 및 y2의 좌표를 비트 문자열로 변환합니다.
및 GM/T 0003.1-2012의 4.2.5를 계산합니다.
, S1 = 인지 확인하세요.
SB는 참입니다. 참이 아니면 B에서 A로 가는 키는 실패로 확인됩니다.
A10. (선택 사항) 계산,
그리고 SA를 사용자 B에게 보냅니다.
사용자 B.
B10. (선택 사항) 계산,
그리고 S2 = SA가 참인지 확인합니다. 참이 아니면 A에서 B로 가는 키는 ...
공유하다





