KR101621388B1 - 래티스에서의 아이디 기반 브로드캐스트 방법 - Google Patents

래티스에서의 아이디 기반 브로드캐스트 방법 Download PDF

Info

Publication number
KR101621388B1
KR101621388B1 KR1020140000873A KR20140000873A KR101621388B1 KR 101621388 B1 KR101621388 B1 KR 101621388B1 KR 1020140000873 A KR1020140000873 A KR 1020140000873A KR 20140000873 A KR20140000873 A KR 20140000873A KR 101621388 B1 KR101621388 B1 KR 101621388B1
Authority
KR
South Korea
Prior art keywords
matrix
key
base
secret key
user
Prior art date
Application number
KR1020140000873A
Other languages
English (en)
Other versions
KR20150081168A (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 KR1020140000873A priority Critical patent/KR101621388B1/ko
Publication of KR20150081168A publication Critical patent/KR20150081168A/ko
Application granted granted Critical
Publication of KR101621388B1 publication Critical patent/KR101621388B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B5/00Apparatus for jumping
    • A63B5/11Trampolines
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/0054Features for injury prevention on an apparatus, e.g. shock absorbers
    • A63B2071/0063Shock absorbers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/0054Features for injury prevention on an apparatus, e.g. shock absorbers
    • A63B2071/009Protective housings covering the working parts of the apparatus

Landscapes

  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명의 일 실시예에 따른 래티스에서의 아이디 기반 브로드캐스트 방법은 균일 분포를 가지는 랜덤 행렬 A0 및 해시 함수 H를 공개키로 설정하고, 상기 랜덤 행렬 A0에 대응되는 기저 B0를 비밀키로 설정하는 키 설정 단계; 상기 키 설정 단계에서 설정된 상기 공개키 및 상기 비밀키에 기초하여 사용자의 아이디(ID)에 대응되는 비밀키를 생성하고, 상기 생성된 비밀키를 상기 사용자에게 전송하는 키 분배 단계; 및 상기 공개키 및 상기 비밀키와 임의의 난수들을 이용하여 평문의 문자열 데이터를 암호화하여 암호문을 생성하고, 상기 생성된 암호문을 상기 평문 전송을 요청한 참여자에게 브로드캐스트 하는 암호화 단계를 포함한다.

Description

래티스에서의 아이디 기반 브로드캐스트 방법{IDENTITY- BASED BROADCAST METHOD FROM LATTICES}
본 발명의 실시예들은 래티스에서의 브로드캐스트 방법에 관한 것으로, 더욱 상세하게는 사용자의 공개키를 난수 형태가 아닌 아이디 형태로 구성하여 공개키 저장을 위한 공간을 효율적으로 관리할 수 있도록 하는 래티스에서의 아이디 기반 브로드캐스트 방법에 관한 것이다.
브로드캐스트 방법은 다수의 정당한 사용자에게 동일한 정보를 정확하고 안전하게 분배하는 환경에서 유용하게 사용될 수 있다. 이에 대한 가장 대표적인 환경은 케이블 TV이며, 이 환경에서 정당한 사용자는 비용을 지불하며, 서비스 제공자는 비용이 지불된 정당한 사용자에게만 컨텐츠를 제공한다. 이러한 기능을 요구하는 환경에 브로드캐스트 방법은 매우 유용하다.
브로드캐스트 방법은 1997년 이후 다수의 학자들로부터 연구되기 시작하였으며, 기본적으로 이것은 의미론적 안전성을 만족해야 한다. 즉, 정당한 사용자만이 정보를 얻어볼 수 있어야 하며, 그렇지 않은 사용자는 정보를 얻어낼 수 없어야 한다. 추가적으로, 정당한 사용자들은 모두 동일한 정보를 획득해야만 한다. 이를 복호화 일관성이라고 한다.
래티스에서의 설계는 지수 연산 등이 요구되지 않아 매우 효율적이며, 양자 컴퓨팅 환경에도 안전할 정도로 안전성이 매우 높다. 이러한 연구의 흐름으로 의미론적 안전성과 복호화 일관성을 두루 만족하는 래티스에서의 브로드캐스트 방법은 공개키가 난수 형태로 존재하며, 이에 따라 공개키의 크기가 매우 크다. 공개키를 난수 형태가 아니라 이메일(e-mail) 주소와 같은 간단한 아이디(ID) 형태로 바꿀 수만 있다면, 공간적인 절약 측면에서 매우 도움이 되며, 따라서 이러한 설계는 반드시 필요하다.
본 발명의 일 실시예는 래티스에서 사용자의 공개키를 난수 형태가 아닌 아이디 형태로 구성함으로써 의미론적 안전성 및 복호화 일관성을 만족할 뿐만 아니라 공개키 저장을 위한 공간을 효율적으로 관리할 수 있는 래티스에서의 아이디 기반 브로드캐스트 방법을 제공한다.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 래티스에서의 아이디 기반 브로드캐스트 방법은 균일 분포를 가지는 랜덤 행렬 A0 및 해시 함수 H를 공개키로 설정하고, 상기 랜덤 행렬 A0에 대응되는 기저 B0를 비밀키로 설정하는 키 설정 단계; 상기 키 설정 단계에서 설정된 상기 공개키 및 상기 비밀키에 기초하여 사용자의 아이디(ID)에 대응되는 비밀키를 생성하고, 상기 생성된 비밀키를 상기 사용자에게 전송하는 키 분배 단계; 및 상기 공개키 및 상기 비밀키와 임의의 난수들을 이용하여 평문의 문자열 데이터를 암호화하여 암호문을 생성하고, 상기 생성된 암호문을 상기 평문 전송을 요청한 참여자에게 브로드캐스트 하는 암호화 단계를 포함한다.
상기 키 설정 단계는 보안 파라미터 n, 차원 m=O(n log q), 양의 정수 q를 입력 파라미터로 하는 기저 생성 알고리즘를 이용하여, -q/2~q/2 범위 내의 랜덤 값을 행렬 값으로 가지는 n*m 행렬 각각을 상기 랜덤 행렬 A0 및 상기 기저 B0로서 생성하는 단계; 상기 기저 생성 알고리즘의 입력 파라미터를 이용하여 상기 해시 함수 H를 생성하는 단계; 및 상기 랜덤 행렬 A0 및 상기 해시 함수 H를 상기 공개키로 설정하고, 상기 기저 B0를 비밀키로 설정하는 단계를 포함할 수 있다.
상기 해시 함수 H는 0과 1로 이루어진 문자열을 행렬 값으로 가지는 n*m 행렬을 만드는 함수일 수 있다.
상기 키 분배 단계는 상기 해시 함수 H를 이용하여 상기 사용자의 아이디에 대한 행렬 A'를 생성하는 단계; 상기 랜덤 행렬 A0와 상기 아이디에 대한 행렬 A'의 논리합 행렬
Figure 112014000748468-pat00001
(A0|A')에 대응하는 기저
Figure 112014000748468-pat00002
를 상기 비밀키로서 생성하는 단계; 및 상기 생성된 비밀키
Figure 112014000748468-pat00003
를 상기 사용자에게 전송하는 단계를 포함할 수 있다.
상기 기저
Figure 112014000748468-pat00004
를 상기 비밀키로서 생성하는 단계는 상기 논리합 행렬
Figure 112014000748468-pat00005
및 상기 기저 B0를 입력 파라미터로 하는 기저 확장 알고리즘을 이용하여 상기 논리합 행렬
Figure 112014000748468-pat00006
에 대응하는 상기 기저 B0를 상기 비밀키로서 생성하는 단계를 포함할 수 있다.
상기 생성된 비밀키
Figure 112016029546074-pat00085
를 상기 사용자에게 전송하는 단계는 상기 사용자, 및 상기 공개키 및 비밀키를 생성하는 주체인 키 생성 센터 간에 보안 채널을 형성하는 단계; 및 상기 보안 채널을 통해 상기 비밀키
Figure 112016029546074-pat00086
를 상기 사용자에게 전송하는 단계를 포함할 수 있다.
상기 암호화 단계는 상기 평문 전송을 요청한 참여자의 집합을 아이디를 기반으로 하여 구성하는 단계; 상기 공개키를 이용하여 상기 참여자의 집합에 대한 행렬 A를 생성하는 단계; 상기 행렬 A의 전치 행렬
Figure 112016029546074-pat00087
, 행렬 난수 및 가우시안 난수를 이용하여 상기 암호문을 생성하는 단계; 및 상기 생성된 암호문을 상기 참여자의 집합에게 브로드캐스트 하는 단계를 포함하고, 상기 행렬 A는 -q/2~q/2 범위 내의 랜덤 값을 행렬 값으로 가지는 n*k 행렬(상기 k는 2fm이고, 상기 f는 상기 참여자 집합의 크기)일 수 있다.
본 발명의 일 실시예에 따른 래티스에서의 아이디 기반 브로드캐스트 방법은 상기 사용자의 아이디에 대응되는 비밀키를 이용하여 상기 암호문으로부터 상기 평문의 문자열 데이터를 복호화하는 복호화 단계를 더 포함할 수 있다.
상기 복호화 단계는 상기 평문 전송을 요청한 참여자의 집합에 대한 행렬 A에 대응되는 기저 B를 생성하는 단계; 상기 기저 B와 상기 암호문을 곱셈 연산하는 단계; 및 상기 곱셈 연산의 결과에 상기 기저 B의 역행렬 B-1을 곱셈 연산하여 상기 암호문으로부터 상기 평문의 문자열 데이터를 복호화하는 단계를 포함할 수 있다.
상기 참여자의 집합에 대한 행렬 A에 대응되는 기저 B를 생성하는 단계는 상기 행렬 A 및 비밀키
Figure 112014000748468-pat00009
Figure 112014000748468-pat00010
를 입력 파라미터로 하는 기저 확장 알고리즘을 이용하여 상기 행렬 A에 대응하는 상기 기저 B를 상기 사용자의 아이디에 대응되는 비밀키로서 생성하는 단계를 포함할 수 있다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 첨부 도면들에 포함되어 있다.
본 발명의 일 실시예에 따르면, 래티스에서 난수 형태인 공개키를 아이디 형태로 변경하여 설계함으로써 의미론적 안전성 및 복호화 일관성을 만족할 뿐만 아니라 공개키 저장을 위한 공간을 효율적으로 관리할 수 있다.
따라서, 본 발명의 일 실시예에 따르면 케이블 TV 환경 등 다수의 정당한 사용자가 안전하고 정확하게 정보를 제공받아야만 하는 환경에서 유용하게 사용될 수 있다.
도 1은 본 발명의 일 실시예에 따른 래티스에서의 아이디 기반 브로드캐스트 방법을 수행하는 동작 주체들(참여자)의 네트워크 구성을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 래티스에서의 아이디 기반 브로드캐스트 방법을 설명하기 위해 도시한 흐름도이다.
도 3은 도 2의 키 설정 단계를 상세히 설명하기 위해 도시한 흐름도이다.
도 4는 도 2의 키 분배 단계를 상세히 설명하기 위해 도시한 흐름도이다.
도 5는 도 2의 암호화 단계를 상세히 설명하기 위해 도시한 흐름도이다.
도 6은 도 2의 복호화 단계를 상세히 설명하기 위해 도시한 흐름도이다.
본 발명의 이점 및/또는 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다.
본 발명에서 제안하는 방법을 설계하기 위해 기저 생성 알고리즘과 기저 확장 알고리즘을 사용한다. 상기 두 가지 알고리즘들에서 사용되는 파라미터들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 사용이 가능하다. 이러한 알고리즘들의 간략한 설명은 다음과 같다.
먼저, 상기 기저 생성 알고리즘
Figure 112014000748468-pat00011
은 보안 파라미터
Figure 112014000748468-pat00012
, 차원
Figure 112014000748468-pat00013
, 양의 정수
Figure 112014000748468-pat00014
를 입력받아서 균일한 분포를 가지는 랜덤 행렬
Figure 112014000748468-pat00015
와 이에 대응되는 기저
Figure 112014000748468-pat00016
를 생성하는 알고리즘이다. 여기서
Figure 112014000748468-pat00017
는 역행렬이 존재하며, 길이는 짧다.
다음으로, 상기 기저 확장 알고리즘
Figure 112014000748468-pat00018
는 균일한 분포를 가지는 랜덤 행렬
Figure 112014000748468-pat00019
와 이에 대응되는 기저
Figure 112014000748468-pat00020
, 그리고 균일한 분포를 가지는 또 다른 랜덤 행렬
Figure 112014000748468-pat00021
을 입력받아서
Figure 112014000748468-pat00022
에 대응되는 기저
Figure 112014000748468-pat00023
를 생성하는 알고리즘이다.
본 발명의 일 실시예에 따른 래티스에서의 아이디 기반 브로드캐스트 방법은 위에 설명한 기저 생성 알고리즘과 기저 확장 알고리즘을 사용하며, 세 가지 타입의 참여자가 다음과 같이 존재한다.
도 1은 본 발명의 일 실시예에 따른 래티스에서의 아이디 기반 브로드캐스트 방법을 수행하는 동작 주체들(참여자)의 네트워크 구성을 도시한 도면이다.
도 1에 도시된 바와 같이, 상기 세 가지 타입의 참여자(100)는 키를 생성해서 분배하는 역할을 수행하는 키 생성 센터(KGC)(110), 서비스 제공자(120), 그리고 다수의 사용자들(130)을 포함하여 구성된다. 여기서, 적용하는 환경에 따라서 상기 키 생성 센터(110)와 상기 서비스 제공자(120)는 동일한 참여자가 역할을 수행할 수도 있다. 이들(110, 120)은 키 설정 단계, 키 분배 단계, 암호화 단계 그리고 복호화 단계를 통해 k비트 문자열 데이터
Figure 112016029546074-pat00088
를 브로드캐스트한다. 여기서 k=2fm이다.
이하에서는 첨부된 도면을 참조하여 본 발명의 실시예들을 더욱 구체적으로 설명한다.
도 2는 본 발명의 일 실시예에 따른 래티스에서의 아이디 기반 브로드캐스트 방법을 설명하기 위해 도시한 흐름도이다.
도 1 및 도 2를 참조하면, 본 발명의 일 실시예에 따른 래티스에서의 아이디 기반 브로드캐스트 방법은 키 설정 단계(210), 키 분배 단계(220), 암호화 단계(230), 및 복호화 단계(240)를 포함하여 구성될 수 있다.
먼저, 상기 키 설정 단계(210)에서, 상기 키 생성 센터(110)는 균일 분포를 가지는 랜덤 행렬 A0 및 해시 함수 H를 공개키로 설정하고, 상기 랜덤 행렬 A0에 대응되는 기저 B0를 비밀키로 설정한다.
여기서, 상기 랜덤 행렬 A0 및 상기 랜덤 행렬 A0에 대응되는 기저 B0는 상기 기저 생성 알고리즘을 이용하여 생성될 수 있으며, 상기 해시 함수 H는 상기 기저 생성 알고리즘의 입력 파라미터를 이용하여 생성될 수 있다.
즉, 상기 키 생성 센터(110)는 상기 기저 생성 알고리즘
Figure 112014000748468-pat00026
을 수행하여
Figure 112014000748468-pat00027
를 생성하고, 해시함수
Figure 112014000748468-pat00028
를 선택한다. 상기 키 생성 센터(110)의 공개키는
Figure 112014000748468-pat00029
이고, 비밀키는
Figure 112014000748468-pat00030
이다.
상기 키 설정 단계(210)에 대해서는 도 3을 참조하여 후술하기로 한다.
다음으로, 상기 키 분배 단계(220)에서, 상기 키 생성 센터(110)는 상기 키 설정 단계(210)에서 설정된 상기 공개키 및 상기 비밀키에 기초하여 사용자(130)의 아이디(ID)에 대응되는 비밀키를 생성하고, 상기 생성된 비밀키를 상기 사용자(130)에게 전송한다.
여기서, 상기 사용자(130)의 아이디에 대응되는 비밀키는 상기 기저 확장 알고리즘을 이용하여 생성될 수 있다. 상기 키 생성 센터(110)는 상기 생성된 비밀키를 안전한 채널을 통해 상기 사용자(130)에게 전송할 수 있다.
즉, 상기 키 생성 센터(110)는 i번째 사용자의 ID
Figure 112014000748468-pat00031
를 입력으로 받아서
Figure 112014000748468-pat00032
를 계산한다. 그리고, 상기 키 생성 센터(110)는 상기 기저 확장 알고리즘
Figure 112014000748468-pat00033
을 수행하여
Figure 112014000748468-pat00034
를 생성한다. 그러면, i번째 사용자(130)의 ID
Figure 112014000748468-pat00035
에 대응되는 비밀키는
Figure 112014000748468-pat00036
이며, 상기 키 생성 센터(110)는 이 비밀키를 안전한 보안 채널(secure channel)을 통해 i번째 사용자(130)에게 전송한다.
상기 키 분배 단계(220)에 대한 자세한 설명은 도 4를 참조하여 후술하기로 한다.
다음으로, 상기 암호화 단계(230)에서, 상기 서비스 제공자(120)는 상기 공개키 및 상기 키 분배 단계에서 생성된 비밀키와 임의의 난수들을 이용하여 평문의 문자열 데이터를 암호화하여 암호문을 생성하고, 상기 생성된 암호문을 상기 평문 전송을 요청한 참여자에게 브로드캐스트 한다.
여기서, 상기 평문 전송을 요청한 참여자는 자신이 정당하다고 판단하는 사용자(130)들의 집합을 의미한다.
즉, 상기 서비스 제공자(120)는 자신이 정당하다고 판단하는 사용자들의 집합을 구성한다. 이를
Figure 112016029546074-pat00089
이라 나타낸다. 그리고, 상기 서비스 제공자(120)가 선택한 k비트 문자열 데이터를
Figure 112016029546074-pat00090
라고 한다. 상기 서비스 제공자(120)는
Figure 112016029546074-pat00106
를 계산하고,
Figure 112016029546074-pat00092
를 계산해서 정당하다고 판단하는 사용자들에게 모두 전송한다. 여기서
Figure 112016029546074-pat00093
이고,
Figure 112016029546074-pat00094
는 k차원 에러 벡터이다.
상기 암호화 단계(230)에 대해서는 도 5를 참조하여 뒤에서 자세히 살펴보기로 한다.
다음으로, 상기 복호화 단계(240)에서, 상기 사용자(130)는 상기 사용자(130)의 아이디에 대응되는 비밀키를 이용하여 상기 암호문으로부터 상기 평문의 문자열 데이터를 복호화한다.
여기서, 상기 평문의 문자열 데이터에 대한 복호화를 위해 상기 기저 확장 알고리즘이 사용될 수 있다.
즉, i번째 정당한 사용자(130)는 자신의 아이디
Figure 112014000748468-pat00043
에 대응되는 비밀키
Figure 112014000748468-pat00044
를 사용하여 상기 서비스 제공자(120)로부터 받은 암호문(c)으로부터 평문의 문자열 데이터(d)를 복호화한다.
이를 위해, 먼저 상기 사용자(130)는 상기 기저 확장 알고리즘
Figure 112016029546074-pat00095
를 수행하여
Figure 112016029546074-pat00107
에 대응되는 기저
Figure 112016029546074-pat00097
를 계산한다. 그리고, 상기 사용자(130)는
Figure 112016029546074-pat00098
를 계산한 다음에
Figure 112016029546074-pat00099
를 계산하여 상기 서비스 제공자(120)가 선택한 k비트 문자열 데이터 d를 복호화한다.
상기 복호화 단계(240)에 대한 자세한 설명은 도 6을 참조하여 후술하기로 한다.
이와 같이, 본 발명의 일 실시예에서는 래티스에서 난수 형태인 공개키를 아이디 형태로 변경하여 설계함으로써 의미론적 안전성 및 복호화 일관성을 만족할 뿐만 아니라 공개키 저장을 위한 공간을 효율적으로 관리할 수 있다. 따라서, 케이블 TV 환경 등 다수의 정당한 사용자가 안전하고 정확하게 정보를 제공받아야만 하는 환경에서 유용하게 사용될 수 있다.
도 3은 도 2의 키 설정 단계(210)를 상세히 설명하기 위해 도시한 흐름도이다.
도 1 및 도 3을 참조하면, 단계(310)에서 상기 키 생성 센터(110)는 보안 파라미터 n, 차원 m=O(n log q), 양의 정수 q를 입력 파라미터로 하는 기저 생성 알고리즘를 이용하여, -q/2~q/2 범위 내의 랜덤 값을 행렬 값으로 가지는 n*m 행렬 각각을 상기 랜덤 행렬 A0 및 상기 기저 B0로서 생성한다.
다음으로, 단계(320)에서 상기 키 생성 센터(110)는 상기 기저 생성 알고리즘의 입력 파라미터를 이용하여 상기 해시 함수 H를 생성한다(
Figure 112014000748468-pat00050
).
다음으로, 단계(330)에서 상기 키 생성 센터(110)는 상기 랜덤 행렬 A0 및 상기 해시 함수 H를 상기 공개키로 설정한다(
Figure 112014000748468-pat00051
).
여기서, 상기 해시 함수 H는 0과 1로 이루어진 문자열을 행렬 값으로 가지는 n*m 행렬을 만드는 함수일 수 있다. 다만, 상기 해시 함수 H는 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 사용 가능하다.
다음으로, 단계(340)에서 상기 키 생성 센터(110)는 상기 기저 B0를 비밀키로 설정한다(
Figure 112014000748468-pat00052
).
도 4는 도 2의 키 분배 단계(220)를 상세히 설명하기 위해 도시한 흐름도이다.
도 1 및 도 4를 참조하면, 단계(410)에서 상기 키 생성 센터(110)는 상기 해시 함수 H를 이용하여 상기 사용자의 아이디에 대한 행렬 A'를 생성한다(
Figure 112014000748468-pat00053
).
다음으로, 단계(420)에서 상기 키 생성 센터(110)는 상기 랜덤 행렬 A0와 상기 아이디에 대한 행렬 A'의 논리합 행렬
Figure 112014000748468-pat00054
(A0|A')에 대응하는 기저
Figure 112014000748468-pat00055
를 상기 비밀키로서 생성한다.
이를 위해, 상기 키 생성 센터(110)는 상기 논리합 행렬
Figure 112014000748468-pat00056
및 상기 기저 B0를 입력 파라미터로 하는 기저 확장 알고리즘을 이용할 수 있다. 즉, 상기 키 생성 센터(110)는 상기 기저 확장 알고리즘을 이용하여 상기 논리합 행렬
Figure 112014000748468-pat00057
에 대응하는 상기 기저 B0를 상기 비밀키로서 생성할 수 있다. 따라서, i번째 사용자의 아이디
Figure 112014000748468-pat00058
에 대응되는 비밀키는
Figure 112014000748468-pat00059
이 된다.
다음으로, 단계(430)에서 상기 키 생성 센터(110)는 상기 생성된 비밀키
Figure 112014000748468-pat00060
를 상기 사용자에게 전송한다.
이때, 상기 키 생성 센터(110)는 안전한 데이터 전송을 위해 상기 사용자(130)와 보안 채널을 형성할 수 있다. 상기 키 생성 센터(110)는 상기 보안 채널을 통해 상기 비밀키 Bi를 상기 사용자(130)에게 전송할 수 있다.
도 5는 도 2의 암호화 단계(230)를 상세히 설명하기 위해 도시한 흐름도이다.
도 1 및 도 5를 참조하면, 단계(510)에서 상기 서비스 제공자(120)는 상기 평문 전송을 요청한 참여자의 집합을 아이디를 기반으로 하여 구성한다. 상기 집합은 L={ID1,...,IDf}로 나타낼 수 있으며, 이때 상기 f는 상기 평문 전송을 요청한 참여자의 수, 즉 상기 집합의 크기를 나타낼 수 있다.
다음으로, 단계(520)에서 상기 서비스 제공자(120)는 상기 공개키를 이용하여 상기 참여자의 집합에 대한 행렬 A를 생성한다. 여기서, 상기 행렬 A는 -q/2~q/2 범위 내의 랜덤 값을 행렬 값으로 가지는 n*k 행렬(상기 k는 2fm)일 수 있다(
Figure 112016029546074-pat00108
).
다음으로, 단계(530)에서 상기 서비스 제공자(120)는 상기 행렬 A의 전치 행렬
Figure 112014000748468-pat00062
, 행렬 난수(s) 및 가우시안 난수(x)를 이용하여 상기 암호문(c)을 생성한다(
Figure 112014000748468-pat00063
,
Figure 112014000748468-pat00064
,
Figure 112014000748468-pat00065
는 k차원 에러 벡터).
다음으로, 단계(540)에서 상기 서비스 제공자(120)는 상기 생성된 암호문을 상기 참여자의 집합에게 브로드캐스트 한다.
도 6은 도 2의 복호화 단계(240)를 상세히 설명하기 위해 도시한 흐름도이다.
도 1 및 도 6을 참조하면, 단계(610)에서 상기 사용자(130)는 상기 평문 전송을 요청한 참여자의 집합에 대한 행렬 A에 대응되는 기저 B를 생성한다(행렬
Figure 112016029546074-pat00109
, 기저
Figure 112016029546074-pat00102
).
이때, 상기 사용자(130)는 상기 행렬 A 및 비밀키
Figure 112014000748468-pat00068
를 입력 파라미터로 하는 기저 확장 알고리즘을 이용하여 상기 행렬 A에 대응하는 상기 기저 B를 상기 사용자(130)의 아이디에 대응되는 비밀키로서 생성한다.
다음으로, 단계(620)에서 상기 사용자(130)는 상기 기저 B와 상기 암호문을 곱셈 연산한다(e=Bc(modq)).
다음으로, 단계(630)에서 상기 사용자(130)는 상기 곱셈 연산의 결과에 상기 기저 B의 역행렬 B-1을 곱셈 연산하여 상기 암호문(c)으로부터 상기 평문(d)의 문자열 데이터를 복호화한다(
Figure 112014000748468-pat00069
).
본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
지금까지 본 발명에 따른 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서는 여러 가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허 청구의 범위뿐 아니라 이 특허 청구의 범위와 균등한 것들에 의해 정해져야 한다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.
110: 키 생성 센터(KGC)
120: 서비스 제공자
130: 사용자

Claims (10)

  1. 균일 분포를 가지는 랜덤 행렬 A0 및 해시 함수 H를 공개키로 설정하고, 상기 랜덤 행렬 A0에 대응되는 기저 B0를 비밀키로 설정하는 키 설정 단계;
    상기 키 설정 단계에서 설정된 상기 공개키 및 상기 비밀키에 기초하여 사용자의 아이디(ID)에 대응되는 비밀키를 생성하고, 상기 생성된 비밀키를 상기 사용자에게 전송하는 키 분배 단계; 및
    상기 공개키 및 상기 키 분배 단계에서 생성된 비밀키와 임의의 난수들을 이용하여 평문의 문자열 데이터를 암호화하여 암호문을 생성하고, 상기 생성된 암호문을 상기 평문의 전송을 요청한 참여자에게 브로드캐스트 하는 암호화 단계
    를 포함하고,
    상기 키 설정 단계는
    보안 파라미터 n, 차원 m=O(n log q), 양의 정수 q를 입력 파라미터로 하는 기저 생성 알고리즘를 이용하여, -q/2~q/2 범위 내의 랜덤 값을 행렬 값으로 가지는 n*m 행렬 각각을 상기 랜덤 행렬 A0 및 상기 기저 B0로서 생성하는 단계;
    상기 기저 생성 알고리즘의 입력 파라미터를 이용하여 상기 해시 함수 H를 생성하는 단계; 및
    상기 랜덤 행렬 A0 및 상기 해시 함수 H를 상기 공개키로 설정하고, 상기 기저 B0를 비밀키로 설정하는 단계
    를 포함하는 것을 특징으로 하는 래티스에서의 아이디 기반 브로드캐스트 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 해시 함수 H는
    0과 1로 이루어진 문자열을 행렬 값으로 가지는 n*m 행렬을 만드는 함수인 것을 특징으로 하는 래티스에서의 아이디 기반 브로드캐스트 방법.
  4. 제1항에 있어서,
    상기 키 분배 단계는
    상기 해시 함수 H를 이용하여 상기 사용자의 아이디에 대한 행렬 A'를 생성하는 단계;
    상기 랜덤 행렬 A0와 상기 아이디에 대한 행렬 A'의 논리합 행렬
    Figure 112014000748468-pat00070
    (A0|A')에 대응하는 기저
    Figure 112014000748468-pat00071
    를 상기 비밀키로서 생성하는 단계; 및
    상기 생성된 비밀키
    Figure 112014000748468-pat00072
    를 상기 사용자에게 전송하는 단계
    를 포함하는 것을 특징으로 하는 래티스에서의 아이디 기반 브로드캐스트 방법.
  5. 제4항에 있어서,
    상기 기저
    Figure 112014000748468-pat00073
    를 상기 비밀키로서 생성하는 단계는
    상기 논리합 행렬
    Figure 112014000748468-pat00074
    및 상기 기저 B0를 입력 파라미터로 하는 기저 확장 알고리즘을 이용하여 상기 논리합 행렬
    Figure 112014000748468-pat00075
    에 대응하는 상기 기저 B0를 상기 비밀키로서 생성하는 단계
    를 포함하는 것을 특징으로 하는 래티스에서의 아이디 기반 브로드캐스트 방법.
  6. 제4항에 있어서,
    상기 생성된 비밀키
    Figure 112016029546074-pat00103
    를 상기 사용자에게 전송하는 단계는
    상기 사용자, 및 상기 공개키 및 비밀키를 생성하는 주체인 키 생성 센터 간에 보안 채널을 형성하는 단계; 및
    상기 보안 채널을 통해 상기 비밀키
    Figure 112016029546074-pat00104
    를 상기 사용자에게 전송하는 단계
    를 포함하는 것을 특징으로 하는 래티스에서의 아이디 기반 브로드캐스트 방법.
  7. 제1항에 있어서,
    상기 암호화 단계는
    상기 평문의 전송을 요청한 참여자의 집합을 아이디를 기반으로 하여 구성하는 단계;
    상기 공개키를 이용하여 상기 참여자의 집합에 대한 행렬 A를 생성하는 단계;
    상기 행렬 A의 전치 행렬
    Figure 112016029546074-pat00105
    , 행렬 난수 및 가우시안 난수를 이용하여 상기 암호문을 생성하는 단계; 및
    상기 생성된 암호문을 상기 참여자의 집합에게 브로드캐스트 하는 단계
    를 포함하고,
    상기 행렬 A는
    -q/2~q/2 범위 내의 랜덤 값을 행렬 값으로 가지는 n*k 행렬(상기 k는 2fm이고, 상기 f는 상기 참여자 집합의 크기)인 것을 특징으로 하는 래티스에서의 아이디 기반 브로드캐스트 방법.
  8. 제1항에 있어서,
    상기 사용자의 아이디에 대응되는 비밀키를 이용하여 상기 암호문으로부터 상기 평문의 문자열 데이터를 복호화하는 복호화 단계
    를 더 포함하는 것을 특징으로 하는 래티스에서의 아이디 기반 브로드캐스트 방법.
  9. 제8항에 있어서,
    상기 복호화 단계는
    상기 평문의 전송을 요청한 참여자의 집합에 대한 행렬 A에 대응되는 기저 B를 생성하는 단계;
    상기 기저 B와 상기 암호문을 곱셈 연산하는 단계; 및
    상기 곱셈 연산의 결과에 상기 기저 B의 역행렬 B-1을 곱셈 연산하여 상기 암호문으로부터 상기 평문의 문자열 데이터를 복호화하는 단계
    를 포함하는 것을 특징으로 하는 래티스에서의 아이디 기반 브로드캐스트 방법.
  10. 제9항에 있어서,
    상기 참여자의 집합에 대한 행렬 A에 대응되는 기저 B를 생성하는 단계는
    상기 행렬 A 및 비밀키
    Figure 112014000748468-pat00078
    를 입력 파라미터로 하는 기저 확장 알고리즘을 이용하여 상기 행렬 A에 대응하는 상기 기저 B를 상기 사용자의 아이디에 대응되는 비밀키로서 생성하는 단계
    를 포함하는 것을 특징으로 하는 래티스에서의 아이디 기반 브로드캐스트 방법.
KR1020140000873A 2014-01-03 2014-01-03 래티스에서의 아이디 기반 브로드캐스트 방법 KR101621388B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140000873A KR101621388B1 (ko) 2014-01-03 2014-01-03 래티스에서의 아이디 기반 브로드캐스트 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140000873A KR101621388B1 (ko) 2014-01-03 2014-01-03 래티스에서의 아이디 기반 브로드캐스트 방법

Publications (2)

Publication Number Publication Date
KR20150081168A KR20150081168A (ko) 2015-07-13
KR101621388B1 true KR101621388B1 (ko) 2016-05-17

Family

ID=53792967

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140000873A KR101621388B1 (ko) 2014-01-03 2014-01-03 래티스에서의 아이디 기반 브로드캐스트 방법

Country Status (1)

Country Link
KR (1) KR101621388B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021061833A1 (en) * 2019-09-26 2021-04-01 Visa International Service Association Lattice based signatures with uniform secrets

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101905689B1 (ko) 2016-11-18 2018-12-05 서울대학교산학협력단 공개키를 이용하여 암호화하는 연산 장치 및 그 암호화 방법
WO2018093203A1 (ko) * 2016-11-18 2018-05-24 서울대학교산학협력단 공개키를 이용하여 암호화하는 연산 장치 및 그 암호화 방법
KR102432356B1 (ko) * 2017-03-23 2022-08-16 삼성에스디에스 주식회사 키 생성 장치 및 방법, 암호화 장치 및 방법
KR102418016B1 (ko) * 2019-11-28 2022-07-07 서울대학교산학협력단 래티스를 기반으로 하는 신원 기반 암호화 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001053738A (ja) 1999-08-06 2001-02-23 Murata Mach Ltd 秘密鍵生成方法,暗号化方法及び暗号通信方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001053738A (ja) 1999-08-06 2001-02-23 Murata Mach Ltd 秘密鍵生成方法,暗号化方法及び暗号通信方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021061833A1 (en) * 2019-09-26 2021-04-01 Visa International Service Association Lattice based signatures with uniform secrets
US11784825B2 (en) 2019-09-26 2023-10-10 Visa International Service Association Lattice based signatures with uniform secrets

Also Published As

Publication number Publication date
KR20150081168A (ko) 2015-07-13

Similar Documents

Publication Publication Date Title
US9379891B2 (en) Method and system for ID-based encryption and decryption
US9426131B2 (en) Server apparatus and program to re-encrypt ciphertext data
CN108347404B (zh) 一种身份认证方法及装置
KR101621388B1 (ko) 래티스에서의 아이디 기반 브로드캐스트 방법
KR102432356B1 (ko) 키 생성 장치 및 방법, 암호화 장치 및 방법
Bali et al. Lightweight authentication for MQTT to improve the security of IoT communication
US9059838B2 (en) Encryption algorithm with randomized buffer
CN103607278A (zh) 一种安全的数据云存储方法
CN104735070A (zh) 一种通用的异构加密云间的数据共享方法
US11528127B2 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
JP2020532177A (ja) データの高度なセキュリティ、高速暗号化および、伝送のためのコンピュータ実装システムおよび方法
CN112787822B (zh) 一种大属性集下的基于sm9的属性加密方法及系统
KR101695361B1 (ko) 페어링 연산 및 비밀키를 이용한 술어 암호화 방법
KR101790948B1 (ko) Drm 서비스 제공 장치 및 방법, drm 서비스를 이용한 콘텐츠 재생 장치 및 방법
KR101793528B1 (ko) 무인증서 공개키 암호 시스템
Xue-Zhou Network data encryption strategy for cloud computing
Kumar Advanced RSA cryptographic algorithm for improving data security
CN108429717B (zh) 一种身份认证方法及装置
CN113874857A (zh) 用于最优信息理论安全的加密密钥管理的方法和设备
KR20200131688A (ko) 비밀키 생성 장치 및 방법, 연산키 생성 장치 및 방법
Charru et al. Improved Cryptography Algorithm to Enhanced Data Security
Zaidan et al. New Comprehensive Study to Assess Comparatively the QKD, XKMS, KDM in the PKI encryption algorithms
Basavarajegowda et al. Enhanced CP-ABE with RSA for Secure and Revocable Data Transmission of Big Data in Cloud.
JP2014017763A (ja) 暗号更新システム、暗号更新要求装置、暗号更新装置、復号装置、暗号更新方法、および、コンピュータ・プログラム
Sukhodolskiy et al. Analysis of Secure Protocols аnd Authentication Methods for Messaging

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant