본문 바로가기

Library/Cryptography

Blom key pre-distribution scheme

Blom의 키 사전 분배는, 믿을 만한 키 발급 기관인 TA가 적절한 중간값(함수)를 가입자들에게 제공하여 각각의 쌍이 서로의 대칭키를 만들어 낼 수 있도록 도와주는 시스템이다. TA는 가입자들이 가입 당시에 제시한 개인 공개값을 TA가 정한 적당한 함수로 계산하여 그 결과를 갖자에게 안전한 채널로 제공한다. 가입자들은 암호통신을 할 상대방의 공개값으로 다시 한번 더 계산하면 대칭키를 만들어 낸다.

n명의 네트워크 사용자에서 출발해보자. p ≥ n을 만족하는 Prime Number p를 선택하고, 네트워크 사용자들은 모두 이 p를 알고 있다. 이 프로토콜은 다음과 같은 과정을 거친다.

1. 각각의 네트워크 사용자 U는 각각의 공개키 rU (mod p)를 안전한 채널을 통해 할당 받는다.

2. Trent는 공개되지 않는 a, b, c (mod p)를 선택한다.

3. 각각의 사용자 U에 대해서, Trent는 다음을 계산한다.
aU = a + b(rU) (mod p), bU = b + c(rU)
그리고 이것은 안전한 채널을 통해 U에게 전달된다.

4. 각각의 사용자 U는 다항식 gU(x) = aU + bU(x)을 형성하게 된다.

5. Alice가 Bob에게 어떤 메세지를 보내고 싶다고 할 때, Alice는 K(AB) = gA(rB)를 계산하고, Bob은 K(BA) = gB(rA)를 계산한다.

6. K(AB) = K(BA)라면 키가 안전하다는 것을 확인하고 이 대칭키를 사용한다.


이 시스템은 아주 편리하고 효과적이지만, 일정한 수 이상의 가입자가 공모하면 다른 가입자들의 키를 알아낼 수 있는 단점도 있다.


Reference
Wade Trappe, Lawrence Washington, Introduction to Cryptography with Coding Theory, Second Edition, PEARSON Education

최병문, 이영환(2007), 암호의 세계, 경문사