반응형

mod 59
암호알고리즘 : mod59 에서 곱셈
개인키 : 4,15
공개키 : 4*15 mod 59 = 1
KR,KU = (4, 15) = d, o
원문 : biro (2,9,18,15)
      2*4, 9*4, 18*4, 15*4 = (8, 36, 13, 1)
서명문 : hJma
       8*15, 36*15, 13*15, 1*15
원문 : 2, 9, 18, 15 = biro


mod n
1 2 3 4 5 6 7 8 9 ... n-1
a b c d e f g h i ...

공개키 : 문자로 뭔지
서명문 : asbbsdfgWdasWZZ

mod53
개인키 : 6,9
공개키 : 6*9 mod 53 = 1
KR,KU = (6,9) = f, i
원문 : (49 5 3 1 14 14 15 20 1 12 23 1 25 19 2 21 9 12  4 20 8 5 6 21 20 21 18 5 6 15 18
15 21 18 25 15 21 20 8 2 21 20 23 5 3 1 14  2 21 9 12 4 15 21 18 25 15 21 20 8 6 15 18
20 8 5 6 21 20 21 18 5) * 6(개인키)
-> 294 30 18 6 84 84 90 120 6 72 138 6 150 114 12 126 54 72 24 120 48 30 36 126 120 126 108 30 36 90 108
90 126 108 150 90 126 120 48 12 126 120 138 30 18 6 84 12 126 54 72 24 90 126 108 150 90 126 120 48 36 90 108
120 48 30 36 126 120 126 108 30
-> 29 30 18 6 31 31 37 14 6 19 32 6 44 8 12 20 1 19 24 14 48 30 36 20 14 20 2 30 36 37 2
37 20 2 44 37 20 14 48 12 20 14 32 30 18 6 52 12 20 1 19 24 37 20 2 44 37 20 14 48 36 37 2
14 48 30 36 20 14 20 2 30
서명문 : CDrfEEKnfsFfRhltasxnVDJtntbDJKbKtbRKtnVltnFDrfZltasxKtbRKtnVJK2nVDJtntbD

We cannot always build the future for our youth
but we can build our youth for the future

4. 키 관리

KDC를 이용한 비밀키 분배
세션키는 사용한뒤 바로 파기한다.
KDC에 의존하는 시스템

A(클라이언트)가 KDC에게 B(서버)에게 접속 할 수있는
세션키를 A와 B에게


1. 클라이언트A가 키분배 센터에게 자신의 식별정보(ID(A))를 등록하고 자신의 마스터키를 받는다. 
2. 키분배 센터는 클라이언트A에게서버B를 식별할수 있는 세션키와 ID(B)와 T를 준다. 서버B에게 클라이언트A와 같은 세션키와 클라이언트A의 ID(A), T를 준다.
3. 클라이언트A는 서버B에게 세션키와 자신의ID와 같이 배정받은 T를 알려준다.
4. 서버B는 클라이언트A에게서 온 정보를 확인하고 맞으면 클라이언트A에게 세션키와 자신의ID와 T에 약속한
계산을 붙여서 보내 준다.

클라이언트 A와 서버 B는 KDC에서 분배한 마스터 키를 1개씩 소유하고 있다.
클라이언트 A는 KDC에게 자신의 식별정보 ID(A)와 함께 B와 통신 할 수 있게 세션키를 요청한다.
KDC는 A에게 세션키와B의 식별정보와 난수를 A의 마스터키로 암호화하여 전달하고
B에게도 똑같이 세션키와 A의 식별정보와 난수를 B의 마스터키로 암호화하여 전달한다.
A는 받은 정보를 마스터키로 복호화하고 자신의 식별정보와 난수를 세션키로 암호화하여 B에게 전송한다.
B는 세션키로 A의 난수와 A의 식별정보를 통해 A의 신원을 확인한다.
B는 자신의 식별정보와 난수(T+1)를 연산하여 세션키로 암호화하여 A에게 전송한다.
A는 난수(T+1)에 연산된것을 확인하여 B의 신원을 확인한다.

통신이 종료되면 발급된 세션키는 폐기되고
다시 통신하려면 세션키를 KDC에게 요청한다.
각 사용자 A, B는 KDC에서 분배한 마스터 키 1개씩 소유하고 있다.
 구조에 대한 설명은 아래와 같다.
Request || ID(A), A, B는 발신자 A는 응답자 B와 통신하기위해 KDC에 Request 보낸다. 요청에는 자신의 신원정보 ID(A)와 B와 통신할 세션키를 요청한다. (*세션키=비밀키)
 
2.Eka[SK, ID(B), T]
- KDC는 발신자 A에게 B와 통신할 세션키, B의 신원정보 ID(B), 난수(T)를 응답한다. 
- 응답시 KDC는 A의 마스터키로 암호화해 A에게 보낸다. (KDC는 A, B의 마스터키를 가지고 있다.)
 
2. Ekb[SK, ID(A), T]
- KDC는 발신자 B에게 세션키와 A의 신원정보 ID(A), 난수(T)를 B의 마스터 키로 암호화해서 보낸다.
 
3. Esk[ID(A), T]
- A가 자신의 신원정보 ID(A)와 난수 (T)를 세션키로 암호화해서 B에게 전송한다.
- B는 A의 난수(T)와 A의 신원정보 ID(A)를 통해 A의 신원을 확인한다.
 
4. Esk[ID(B), T+1]
- B는 자신의 신원정보 ID(B)와 난수(T+1)를 연산하여 세션키로 암호화해 A에게 전송한다.
- A는 난수(T+1)에 연산된 것을 확인해 B의 신원을 확인한다.
 
통신 종료
- 통신이 종료되면 발급받은 세션키는 폐기된다.
- 다시 통신하려면 세션키를 KDC에 요청한다.

반응형

'암호학' 카테고리의 다른 글

세션키 분배  (0) 2022.12.27
1. 암호의 개념과 고전  (0) 2022.12.08
2. 비밀키  (0) 2022.12.08

+ Recent posts