1 |
1
소수 t에 기초하여 정의된 정수 집합 의 원소들로 이루어진 N(이때, N= n2, n은 2 이상의 정수)차원의 정수 벡터인 비밀 키, 랜덤 비트열 및 암호화 카운터에 기초하여, 각각 상기 정수 집합 의 원소들로 이루어진 N차원의 정수 벡터인 r(이때, r은 r≥3인 자연수)개의 라운드 키를 생성하는 단계;초기 벡터 및 상기 r개의 라운드 키 중 첫 번째 라운드 키 RK1에 대해 상기 소수 t를 법(modulus)으로 한 모듈로 덧셈 연산을 수행하여 첫 번째 라운드 출력 벡터 x1를 생성하는 단계; 및상기 r개의 라운드 키 중 두 번째 내지 r번째 라운드 키, 하나 이상의 제1 라운드 함수 및 제2 라운드 함수를 이용하여 상기 첫 번째 라운드 출력 벡터 x1로부터 상기 정수 집합 의 원소들로 이루어진 N차원의 정수 벡터인 키 스트림(key stream)을 생성하는 단계를 포함하는, 키 스트림 생성 방법
|
2 |
2
청구항 1에 있어서,상기 하나 이상의 제1 라운드 함수는, 순차적으로 수행되며, 각각 j(이때, j는 1≤j≤r-1인 자연수)번째 라운드 출력 벡터 xj와 상기 r개의 라운드 키 중 j+1번째 라운드 키 RKj+1를 이용하여 j+1번째 라운드 출력 벡터 xj+1를 생성하고, 상기 제2 라운드 함수는, 상기 하나 이상의 제1 라운드 함수 중 마지막으로 수행된 제1 라운드 함수에 의해 생성된 r-1번째 라운드 출력 벡터 xr-1 및 상기 r개의 라운드 키 중 r번째 라운드 키 RKr를 이용하여 상기 키 스트림을 생성하는, 키 스트림 생성 방법
|
3 |
3
청구항 2에 있어서,상기 하나 이상의 제1 라운드 함수는 각각, 상기 j번째 라운드 출력 벡터 xj에 대한 선형 변환(linear transform)을 수행하여 상기 정수 집합 의 원소들로 이루어진 N차원의 정수 벡터인 벡터 yj를 생성하는 선형 레이어(linear layer);상기 벡터 yj에 대해 비선형 변환(nonlinear transform)을 수행하여 상기 정수 집합 의 원소들로 이루어진 N차원의 정수 벡터인 벡터 zj를 생성하는 비선형 레이어(nonlinear layer); 및상기 벡터 zj와 상기 j+1번째 라운드 키 RKj+1에 대해 상기 소수 t를 법으로 한 모듈로 덧셈 연산을 수행하여 상기 j+1번째 라운드 출력 벡터 xj+1를 생성하는 덧셈 레이어를 포함하는, 키 스트림 생성 방법
|
4 |
4
청구항 3에 있어서,상기 선형 레이어는, 상기 정수 집합 의 원소들로 이루어진 사전 정의된 n×n 크기의 제1 행렬 및 상기 제1 행렬의 전치 행렬(transposed matrix)인 제2 행렬을 이용하여 상기 선형 변환을 수행하는, 키 스트림 생성 방법
|
5 |
5
청구항 4에 있어서,상기 선형 레이어는, 상기 j번째 라운드 출력 벡터 xj를 n×n 크기의 행렬 Xj로 변환하고, 상기 행렬 Xj, 상기 제1 행렬 및 상기 제2 행렬에 대해 상기 소수 t를 법으로 한 모듈로 곱셈을 수행하여 n×n 크기의 행렬 Yj를 생성하고,상기 행렬 Yj를 상기 벡터 yj로 변환하는, 키 스트림 생성 방법
|
6 |
6
청구항 5에 있어서,상기 선형 레이어는, 아래의 수학식 1[수학식 1](이때, A는 상기 제1 행렬, B는 상기 제2 행렬)을 이용하여 상기 행렬 Yj를 생성하는, 키 스트림 생성 방법
|
7 |
7
청구항 3에 있어서,상기 비선형 레이어는, m(이때, m은 m≥2인 자연수)차 다항식 성분을 가진 비선형 함수를 이용하여 상기 비선형 변환을 수행하는, 키 스트림 생성 방법
|
8 |
8
청구항 2에 있어서,상기 제2 라운드 함수는, 상기 r-1번째 라운드 출력 벡터 xr-1에 대한 선형 변환(linear transform)을 수행하여 상기 정수 집합 의 원소들로 이루어진 N차원의 정수 벡터인 벡터 yr-1를 생성하는 제1 선형 레이어(linear layer);상기 벡터 yr-1에 대해 비선형 변환(nonlinear transform)을 수행하여 상기 정수 집합 의 원소들로 이루어진 N차원의 정수 벡터인 벡터 zr-1를 생성하는 비선형 레이어(nonlinear layer); 상기 벡터 zr-1에 대한 선형 변환을 수행하여 상기 정수 집합 의 원소들로 이루어진 N차원의 정수 벡터인 벡터 s를 생성하는 제2 선형 레이어; 및상기 벡터 s와 상기 r번째 라운드 키 RKr에 대해 상기 소수 t를 법으로 한 모듈로 덧셈 연산을 수행하여 상기 키 스트림을 생성하는 덧셈 레이어를 포함하는, 키 스트림 생성 방법
|
9 |
9
청구항 8에 있어서,상기 제1 선형 레이어 및 상기 제2 선형 레이어는 각각, 상기 정수 집합 의 원소들로 이루어진 사전 정의된 n×n 크기의 제1 행렬 및 상기 제1 행렬의 전치 행렬(transposed matrix)인 제2 행렬을 이용하여 상기 선형 변환을 수행하는, 키 스트림 생성 방법
|
10 |
10
청구항 9에 있어서,상기 제1 선형 레이어는, 상기 r-1번째 라운드 출력 벡터 xr-1를 n×n 크기의 행렬 Xr-1로 변환하고, 상기 행렬 Xr-1, 상기 제1 행렬 및 상기 제2 행렬에 대해 상기 소수 t를 법으로 한 모듈로 곱셈을 수행하여 n×n 크기의 행렬 Yr-1을 생성하고,상기 행렬 Yr-1를 상기 벡터 yr-1로 변환하고, 상기 제2 선형 레이어는, 상기 벡터 zr-1를 n×n 크기의 행렬 Zr-1로 변환하고, 상기 행렬 Zr-1, 상기 제1 행렬 및 상기 제2 행렬에 대해 상기 소수 t를 법으로 한 모듈로 곱셈을 수행하여 n×n 크기의 행렬 S을 생성하고,상기 행렬 S를 상기 벡터 s로 변환하는, 키 스트림 생성 방법
|
11 |
11
청구항 10에 있어서,상기 제1 선형 레이어는, 아래의 수학식 2[수학식 2](이때, A는 상기 제1 행렬, B는 상기 제2 행렬)를 이용하여 상기 행렬 Yr-1를 생성하고,상기 제2 선형 레이어는, 아래의 수학식 3[수학식 3](이때, A는 상기 제1 행렬, B는 상기 제2 행렬)을 이용하여 상기 행렬 S를 생성하는, 키 스트림 생성 방법
|
12 |
12
청구항 8에 있어서,상기 비선형 레이어는, m(이때, m은 m≥2인 자연수)차 다항식 성분을 가진 비선형 함수를 이용하여 상기 비선형 변환을 수행하는, 키 스트림 생성 방법
|
13 |
13
청구항 1에 있어서,상기 라운드 키를 생성하는 단계는,상기 랜덤 비트열 및 상기 암호화 카운터에 기초하여 시드(seed) 비트열을 생성하는 단계;사전 정의된 생성 함수를 이용하여 상기 시드 비트열로부터 각각 상기 정수 집합 의 원소들로 이루어진 N차원의 정수 벡터인 r개의 벡터를 생성하는 단계; 상기 r개의 벡터 각각과 상기 비밀 키에 대해 상기 소수 t를 법으로 한 모듈로 곱셈 연산을 수행하여 상기 r개의 라운드 키를 생성하는 단계를 포함하는, 키 스트림 생성 방법
|
14 |
14
청구항 13에 있어서,상기 r개의 라운드 키를 생성하는 단계는,아래의 수학식 4[수학식 4](이때, RKi는 상기 r개의 라운드 키 중 i번째 라운트 키, k는 상기 비밀 키, rci는 상기 r개의 벡터 중 i번째 벡터, i는 1≤i≤r인 자연수, 는 두 벡터 사이의 성분별 곱(elementwise product))를 이용하여 상기 r개의 라운드 키를 생성하는, 키 스트림 생성 방법
|
15 |
15
하나 이상의 명령어를 저장하는 메모리; 및상기 하나 이상의 명령어를 실행하는 하나 이상의 프로세서를 포함하고,상기 하나 이상의 프로세서는,소수 t에 기초하여 정의된 정수 집합 의 원소들로 이루어진 N(이때, N= n2, n은 2 이상의 정수)차원의 정수 벡터인 비밀 키, 랜덤 비트열 및 암호화 카운터에 기초하여, 각각 상기 정수 집합 의 원소들로 이루어진 N차원의 정수 벡터인 r(이때, r은 r≥3인 자연수)개의 라운드 키를 생성하고,초기 벡터 및 상기 r개의 라운드 키 중 첫 번째 라운드 키 RK1에 대해 상기 소수 t를 법(modulus)으로 한 모듈로 덧셈 연산을 수행하여 첫 번째 라운드 출력 벡터 x1를 생성하고,상기 r개의 라운드 키 중 두 번째 내지 r번째 라운드 키, 하나 이상의 제1 라운드 함수 및 제2 라운드 함수를 이용하여 상기 첫 번째 라운드 출력 벡터 x1로부터 상기 정수 집합 의 원소들로 이루어진 N차원의 정수 벡터인 키 스트림(key stream)을 생성하는, 키 스트림 생성 장치
|
16 |
16
청구항 15에 있어서,상기 하나 이상의 제1 라운드 함수는, 순차적으로 수행되며, 각각 j(이때, j는 1≤j≤r-1인 자연수)번째 라운드 출력 벡터 xj와 상기 r개의 라운드 키 중 j+1번째 라운드 키 RKj+1를 이용하여 j+1번째 라운드 출력 벡터 xj+1를 생성하고, 상기 제2 라운드 함수는, 상기 하나 이상의 제1 라운드 함수 중 마지막으로 수행된 제1 라운드 함수에 의해 생성된 r-1번째 라운드 출력 벡터 xr-1 및 상기 r개의 라운드 키 중 r번째 라운드 키 RKr를 이용하여 상기 키 스트림을 생성하는, 키 스트림 생성 장치
|
17 |
17
청구항 16에 있어서,상기 하나 이상의 제1 라운드 함수는 각각, 상기 j번째 라운드 출력 벡터 xj에 대한 선형 변환(linear transform)을 수행하여 상기 정수 집합 의 원소들로 이루어진 N차원의 정수 벡터인 벡터 yj를 생성하는 선형 레이어(linear layer);상기 벡터 yj에 대해 비선형 변환(nonlinear transform)을 수행하여 상기 정수 집합 의 원소들로 이루어진 N차원의 정수 벡터인 벡터 zj를 생성하는 비선형 레이어(nonlinear layer); 및상기 벡터 zj와 상기 j+1번째 라운드 키 RKj+1에 대해 상기 소수 t를 법으로 한 모듈로 덧셈 연산을 수행하여 상기 j+1번째 라운드 출력 벡터 xj+1를 생성하는 덧셈 레이어를 포함하는, 키 스트림 생성 장치
|
18 |
18
청구항 17에 있어서,상기 선형 레이어는, 상기 정수 집합 의 원소들로 이루어진 사전 정의된 n×n 크기의 제1 행렬 및 상기 제1 행렬의 전치 행렬(transposed matrix)인 제2 행렬을 이용하여 상기 선형 변환을 수행하는, 키 스트림 생성 장치
|
19 |
19
청구항 18에 있어서,상기 선형 레이어는, 상기 j번째 라운드 출력 벡터 xj를 n×n 크기의 행렬 Xj로 변환하고, 상기 행렬 Xj, 상기 제1 행렬 및 상기 제2 행렬에 대해 상기 소수 t를 법으로 한 모듈로 곱셈을 수행하여 n×n 크기의 행렬 Yj를 생성하고,상기 행렬 Yj를 상기 벡터 yj로 변환하는, 키 스트림 생성 장치
|
20 |
20
청구항 19에 있어서,상기 선형 레이어는, 아래의 수학식 1[수학식 1](이때, A는 상기 제1 행렬, B는 상기 제2 행렬)을 이용하여 상기 행렬 Yj를 생성하는, 키 스트림 생성 장치
|
21 |
21
청구항 17에 있어서,상기 비선형 레이어는, m(이때, m은 m≥2인 자연수)차 다항식 성분을 가진 비선형 함수를 이용하여 상기 비선형 변환을 수행하는, 키 스트림 생성 장치
|
22 |
22
청구항 16에 있어서,상기 제2 라운드 함수는, 상기 r-1번째 라운드 출력 벡터 xr-1에 대한 선형 변환(linear transform)을 수행하여 상기 정수 집합 의 원소들로 이루어진 N차원의 정수 벡터인 벡터 yr-1를 생성하는 제1 선형 레이어(linear layer);상기 벡터 yr-1에 대해 비선형 변환(nonlinear transform)을 수행하여 상기 정수 집합 의 원소들로 이루어진 N차원의 정수 벡터인 벡터 zr-1를 생성하는 비선형 레이어(nonlinear layer); 상기 벡터 zr-1에 대한 선형 변환을 수행하여 상기 정수 집합 의 원소들로 이루어진 N차원의 정수 벡터인 벡터 s를 생성하는 제2 선형 레이어; 및상기 벡터 s와 상기 r번째 라운드 키 RKr에 대해 상기 소수 t를 법으로 한 모듈로 덧셈 연산을 수행하여 상기 키 스트림을 생성하는 덧셈 레이어를 포함하는, 키 스트림 생성 장치
|
23 |
23
청구항 22에 있어서,상기 제1 선형 레이어 및 상기 제2 선형 레이어는 각각, 상기 정수 집합 의 원소들로 이루어진 사전 정의된 n×n 크기의 제1 행렬 및 상기 제1 행렬의 전치 행렬(transposed matrix)인 제2 행렬을 이용하여 상기 선형 변환을 수행하는, 키 스트림 생성 장치
|
24 |
24
청구항 23에 있어서,상기 제1 선형 레이어는, 상기 r-1번째 라운드 출력 벡터 xr-1를 n×n 크기의 행렬 Xr-1로 변환하고, 상기 행렬 Xr-1, 상기 제1 행렬 및 상기 제2 행렬에 대해 상기 소수 t를 법으로 한 모듈로 곱셈을 수행하여 n×n 크기의 행렬 Yr-1을 생성하고,상기 행렬 Yr-1를 상기 벡터 yr-1로 변환하고, 상기 제2 선형 레이어는, 상기 벡터 zr-1를 n×n 크기의 행렬 Zr-1로 변환하고, 상기 행렬 Zr-1, 상기 제1 행렬 및 상기 제2 행렬에 대해 상기 소수 t를 법으로 한 모듈로 곱셈을 수행하여 n×n 크기의 행렬 S을 생성하고,상기 행렬 S를 상기 벡터 s로 변환하는, 키 스트림 생성 장치
|
25 |
25
청구항 24에 있어서,상기 제1 선형 레이어는, 아래의 수학식 2[수학식 2](이때, A는 상기 제1 행렬, B는 상기 제2 행렬)를 이용하여 상기 행렬 Yr-1를 생성하고,상기 제2 선형 레이어는, 아래의 수학식 3[수학식 3](이때, A는 상기 제1 행렬, B는 상기 제2 행렬)을 이용하여 상기 행렬 S를 생성하는, 키 스트림 생성 장치
|
26 |
26
청구항 22에 있어서,상기 비선형 레이어는, m(이때, m은 m≥2인 자연수)차 다항식 성분을 가진 비선형 함수를 이용하여 상기 비선형 변환을 수행하는, 키 스트림 생성 장치
|
27 |
27
청구항 15에 있어서,상기 하나 이상의 프로세서는,상기 랜덤 비트열 및 상기 암호화 카운터에 기초하여 시드(seed) 비트열을 생성하고,사전 정의된 생성 함수를 이용하여 상기 시드 비트열로부터 각각 상기 정수 집합 의 원소들로 이루어진 N차원의 정수 벡터인 r개의 벡터를 생성하고,상기 r개의 벡터 각각과 상기 비밀 키에 대해 상기 소수 t를 법으로 한 모듈로 곱셈 연산을 수행하여 상기 r개의 라운드 키를 생성하는, 키 스트림 생성 장치
|
28 |
28
청구항 27에 있어서,상기 하나 이상의 프로세서는,아래의 수학식 4[수학식 4](이때, RKi는 상기 r개의 라운드 키 중 i번째 라운트 키, k는 상기 비밀 키, rci는 상기 r개의 벡터 중 i번째 벡터, i는 1≤i≤r인 자연수, 는 두 벡터 사이의 성분별 곱(elementwise product))를 이용하여 상기 r개의 라운드 키를 생성하는, 키 스트림 생성 장치
|