Abstract
The times of multiplication for encryption and decryption of cryptosystem is primarily determined by implementation efficiency of the modular exponentiation of $a^b$(mod m). The most frequently used among standard modular exponentiation methods is a standard binary method, of which n-ary($2{\leq}n{\leq}6$) is most popular. The n-ary($1{\leq}n{\leq}6$) is a square-and-multiply method which partitions $b=b_kb_{k-1}{\cdots}b_1b_{0(2)}$ into n fixed bits from right to left and squares n times and multiplies bit values. This paper proposes a variable-length partition algorithm that partitions $b_{k-1}{\cdots}b_1b_{0(2)}$ from left to right. The proposed algorithm has proved to reduce the multiplication frequency of the fixed-length partition n-ary method.
암호학의 암호 생성과 해독의 곱셈 횟수는 대부분 $a^b$(mod m) 모듈러 지수연산의 효율적 구현여부로 결정된다. 표준 모듈러 지수연산법으로는 1-ary법인 이진법이 있으며, n-ary($2{\leq}n{\leq}6$)법이 많이 적용되고 있다. n-ary($1{\leq}n{\leq}6$)법은 $b=b_kb_{k-1}{\cdots}b_1b_{0(2)}$에 대해 R-L 방향으로 n비트로 고정된 분할을 하고, n회 제곱과 비트값 곱셈을 수행하는 제곱-곱셉법이다. 본 논문에서는 $b_{k-1}{\cdots}b_1b_{0(2)}$에 대해 L-R 방향으로 가변길이로 분할하는 방법을 적용한다. 또한, 개변길이의 제곱과 곱셈 또는 나눗셈을 적용한다. 제안된 가변길이 분할법은 고정길이 분할법인 n-ary법에 비해 곱셈 수행횟수를 감소시킬 수 있었다.