1 |
1
임의의 양의 정수 X의 모듈로(modulo) N 연산 방법에 있어서,상기 X를 이진수로 변환하는 단계;상기 양의 정수 N이 2의 n승에 1을 더하거나 뺀 값에 2의 m승을 곱한 값과 같도록 양의 정수 m, n을 계산하는 단계; 및상기 m, n 값에 따라 가변 되는 비트 단위별로 구분하여, 상기 변환된 X의 이진수를 연산하는 단계;를 포함하는 모듈로(modulo) N 연산 방법
|
2 |
2
제 1항에 있어서,상기 변환된 X의 이진수의 전체 비트는,n 비트 단위가 r(r은 양의 정수)개 이고, 최하위 비트가 m 비트로 이루어지는 모듈로(modulo) N 연산 방법
|
3 |
3
제 2항에 있어서,상기 변환된 X의 이진수를 연산하는 단계는,상기 각각의 n 비트 단위별로 상위 비트를 추가한 수정 n 비트 단위를 계산하는 단계;상기 수정 n 비트 단위의 값을 멀티플렉서와 가산기를 이용하여 최종 n 비트를 계산하는 단계; 및상기 최종 n 비트에 상기 m 비트를 최하위 비트로 추가하여 이진 모듈로(modulo) 연산 값을 생성하는 단계;를 포함하는 모듈로(modulo) N 연산 방법
|
4 |
4
제 3항에 있어서,상기 최종 n 비트를 계산하는 단계는,각 n 비트 단위의 값이 2의 n승에 1을 더하거나 뺀 값보다 작은 경우에는 상기 n 비트 단위의 값을 제 1 비트 단위 값으로 출력하고, 큰 경우에는 상기 n 비트 단위의 값에 2의 n승에 1을 더하거나 뺀 값을 빼어 제 1 비트 단위 값으로 출력하는 단계; 및상기 제 1 비트 단위가 복수 개인 경우, 상기 출력된 제 1 비트 단위 값 각각을 더하여 제 2 비트 단위를 계산하는 단계;를 포함하는 모듈로(modulo) N 연산 방법
|
5 |
5
제 4항에 있어서,상기 최종 n 비트를 계산하는 단계는,상기 제 2 비트 단위가 최종 n 비트일 때까지 상기 단계를 반복하는 모듈로(modulo) N 연산 방법
|
6 |
6
임의의 양의 정수 X를 이진수로 변환하는 이진수 변환부;모듈로(modulo)인 양의 정수 N이 2의 n승에 1을 더하거나 뺀 값에 2의 m승을 곱한 값과 같도록 양의 정수 m, n을 계산하는 변수 계산부; 및상기 m, n 값에 따라 가변 되는 비트 단위별로 상기 변환된 X의 이진수를 연산하는 비트 단위 연산부;를 포함하는 모듈로(modulo) N 연산 장치
|
7 |
7
제 6항에 있어서,상기 이진수 변환부에 의해 변환된 X의 이진수의 전체 비트는,n 비트 단위가 r(r은 양의 정수)개 이고, 최하위 비트가 m 비트로 이루어지는 모듈로(modulo) N 연산 장치
|
8 |
8
제 7항에 있어서,상기 X의 비트 단위 연산부는,상기 n 비트 단위에 상위 비트를 추가한 수정 n 비트 단위를 계산하는 수정 n 비트 단위 계산부;상기 수정 n 비트 단위의 값을 멀티플렉서와 가산기를 이용하여 최종 n 비트를 계산하는 최종 n 비트 계산부; 및상기 최종 n 비트 계산부에 의해 계산된 최종 n 비트에 m 비트를 최하위 비트로 추가하는 비트 결합부;를 포함하는 모듈로(modulo) N 연산 장치
|
9 |
9
제 8항에 있어서,상기 최종 n 비트 계산부는,각 n 비트 단위의 값이 2의 n승에 1을 더하거나 뺀 값보다 작은 경우에는 상기 n 비트 단위의 값을 제 1 비트 단위 값으로 출력하고, 큰 경우에는 상기 n 비트 단위의 값에 2의 n승에 1을 더하거나 뺀 값을 빼어 제 1 비트 단위 값으로 출력하는 제 1 비트 단위 계산부; 및상기 제 1 비트 단위가 복수 개인 경우, 상기 출력된 제 1 비트 단위 값 각각을 더하여 제 2 비트 단위를 계산하는 제 2 비트 단위 계산부;를 포함하는 모듈로(modulo) N 연산 장치
|
10 |
10
제 9항에 있어서,상기 비트 결합부는,상기 제 2 비트 단위가 최종 n 비트가 될 때까지 상기 계산을 반복하는 모듈로(modulo) N 연산 장치
|