1 |
1
컴퓨팅 장치에 의해 수행되는 방법에 있어서,일방향 함수의 입력 비트열을 확장 행렬에 입력하여 제1 중간 비트열을 산출하는 단계;상기 제1 중간 비트열을 소정 개수의 비트열로 분할하고, 상기 분할된 소정 개수의 비트열 각각을 S-box(Substitution-box)에 입력하여 제2 중간 비트열을 산출하는 단계; 및상기 제2 중간 비트열을 축소 행렬에 입력하여 상기 일방향 함수의 출력 비트열을 출력하는 단계를 포함하는,영지식 증명 친화적인 일방향 함수를 이용한 연산 방법
|
2 |
2
제1 항에 있어서,상기 일방향 함수의 입력 비트열 및 출력 비트열의 길이는 N(단, N은 자연수)이고, 상기 제1 중간 비트열 및 상기 제2 중간 비트열의 길이는 M(단, M은 자연수)이되, M은 N의 배수이고,상기 S-box에 입력되는 비트열의 길이는 L(단, L은 자연수)이되, L은 M의 약수인,영지식 증명 친화적인 일방향 함수를 이용한 연산 방법
|
3 |
3
제1 항에 있어서,상기 S-box는 K개(단, K는 1이상의 자연수)의 서브 S-box를 포함하고,상기 제2 중간 비트열을 산출하는 단계는,상기 제1 중간 비트열을 K개의 비트열로 분할하는 단계; 및상기 분할된 K개의 비트열 각각을 상기 서브 S-box에 입력하는 단계를 포함하는,영지식 증명 친화적인 일방향 함수를 이용한 연산 방법
|
4 |
4
제3 항에 있어서,상기 서브 S-box는 유한체 상에서의 다항 연산을 수행하는 비선형 함수인,영지식 증명 친화적인 일방향 함수를 이용한 연산 방법
|
5 |
5
제2 항에 있어서,상기 확장 행렬은 MxN 크기를 가지는 바이너리 행렬이고,상기 축소 행렬은 NxM 크기를 가지는 바이너리 행렬인,영지식 증명 친화적인 일방향 함수를 이용한 연산 방법
|
6 |
6
제5 항에 있어서,상기 확장 행렬을 생성하는 단계를 더 포함하고,상기 확장 행렬을 생성하는 단계는,상기 확장 행렬의 제1 번째 행 또는 제1 번째 열을 랜덤 값으로 구성하는 단계; 및상기 제1 번째 행 또는 제1 번째 열에 대한 순환 시프트(circular shift)를 통해 상기 확장 행렬의 나머지 행 또는 나머지 열을 구성하는 단계를 포함하는,영지식 증명 친화적인 일방향 함수를 이용한 연산 방법
|
7 |
7
제5 항에 있어서,상기 축소 행렬을 생성하는 단계를 더 포함하고,상기 축소 행렬을 생성하는 단계는,상기 축소 행렬의 제1 번째 행 또는 제1 번째 열을 랜덤 값으로 구성하는 단계; 및상기 제1 번째 행 또는 상기 제1 번째 열에 대한 순환 시프트(circular shift)를 통해 상기 축소 행렬의 나머지 행 또는 나머지 열을 구성하는 단계를 포함하는,영지식 증명 친화적인 일방향 함수를 이용한 연산 방법
|
8 |
8
제5 항에 있어서,상기 확장 행렬 및 상기 축소 행렬의 전체 행 또는 전체 열을 랜덤 값으로 구성하는 단계를 더 포함하는,영지식 증명 친화적인 일방향 함수를 이용한 연산 방법
|
9 |
9
제1 항에 있어서,상기 일방향 함수는 단일 라운드로 구성되는,영지식 증명 친화적인 일방향 함수를 이용한 연산 방법
|
10 |
10
제1 항에 있어서,상기 일방향 함수의 상기 입력 비트열과 상기 출력 비트열을 이용하여 영지식 증명 기반의 전자서명을 수행하는 단계를 더 포함하는,영지식 증명 친화적인 일방향 함수를 이용한 연산 방법
|
11 |
11
제10 항에 있어서,상기 일방향 함수의 상기 입력 비트열과 상기 출력 비트열을 이용하여 영지식 증명 기반의 전자서명을 수행하는 단계는,상기 입력 비트열과 상기 출력 비트열을 각각 상기 전자서명의 비밀키와 공개키로 설정하는 단계; 및상기 비밀키와 상기 공개키를 상기 영지식 증명을 위한 증명(prove) 함수에 입력하여, 상기 전자서명을 위한 서명 데이터를 생성하는 단계를 포함하는,영지식 증명 친화적인 일방향 함수를 이용한 연산 방법
|
12 |
12
컴퓨터로 하여금 제1 항 내지 제11 항 중 어느 한 항의 방법을 수행하도록 하는 컴퓨터 프로그램이 저장된, 컴퓨터 판독 가능한 비일시적 기록 매체
|
13 |
13
컴퓨팅 장치에 있어서,하나 이상의 프로세서;상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리; 및상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되,상기 컴퓨터 프로그램은,일방향 함수의 입력 비트열을 확장 행렬에 입력하여 제1 중간 비트열을 산출하는 동작, 상기 제1 중간 비트열을 소정 개수의 비트열로 분할하고, 상기 분할된 소정 개수의 비트열 각각을 S-box(Substitution-box)에 입력하여 제2 중간 비트열을 산출하는 동작, 및상기 제2 중간 비트열을 축소 행렬에 입력하여 상기 일방향 함수의 출력 비트열을 출력하는 동작을 수행하기 위한 인스트럭션을 포함하는,컴퓨팅 장치
|
14 |
14
제13 항에 있어서,상기 일방향 함수의 입력 비트열 및 출력 비트열의 길이는 N(단, N은 자연수)이고, 상기 제1 중간 비트열 및 상기 제2 중간 비트열의 길이는 M(단, M은 자연수)이되, M은 N의 배수이고,상기 S-box에 입력되는 비트열의 길이는 L(단, L은 자연수)이되, L은 M의 약수인,컴퓨팅 장치
|
15 |
15
제13 항에 있어서,상기 S-box는 K개(단, K는 1이상의 자연수)의 서브 S-box를 포함하고,상기 제2 중간 비트열을 산출하는 동작은,상기 제1 중간 비트열을 K개의 비트열로 분할하는 동작; 및상기 분할된 K개의 비트열 각각을 상기 서브 S-box에 입력하는 동작을 포함하는,컴퓨팅 장치
|
16 |
16
제15 항에 있어서,상기 서브 S-box는 유한체 상에서의 다항 연산을 수행하는 비선형 함수인,컴퓨팅 장치
|
17 |
17
제14 항에 있어서,상기 확장 행렬은 MxN 크기를 가지는 바이너리 행렬이고,상기 축소 행렬은 NxM 크기를 가지는 바이너리 행렬인,영지식 증명 친화적인 일방향 함수를 이용한 연산 방법
|
18 |
18
제13 항에 있어서,상기 컴퓨터 프로그램은,상기 일방향 함수의 상기 입력 비트열과 상기 출력 비트열을 이용하여 영지식 증명 기반의 전자서명을 수행하는 동작을 수행하기 위한 인스트럭션을 더 포함하고,상기 영지식 증명 기반의 전자서명을 수행하는 동작은,상기 입력 비트열과 상기 출력 비트열을 각각 상기 전자서명의 비밀키와 공개키로 설정하는 동작, 및상기 비밀키와 상기 공개키를 상기 영지식 증명을 위한 증명(prove) 함수에 입력하여, 상기 전자서명을 위한 서명 데이터를 생성하는 동작을 포함하는,컴퓨팅 장치
|