KR100460764B1 - 암호화 하드웨어 구현을 위한 파이프라인 모듈러 연산 장치 - Google Patents

암호화 하드웨어 구현을 위한 파이프라인 모듈러 연산 장치 Download PDF

Info

Publication number
KR100460764B1
KR100460764B1 KR10-2000-0029689A KR20000029689A KR100460764B1 KR 100460764 B1 KR100460764 B1 KR 100460764B1 KR 20000029689 A KR20000029689 A KR 20000029689A KR 100460764 B1 KR100460764 B1 KR 100460764B1
Authority
KR
South Korea
Prior art keywords
output
pipeline
receiving
exclusive
adder
Prior art date
Application number
KR10-2000-0029689A
Other languages
English (en)
Other versions
KR20010108780A (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 KR10-2000-0029689A priority Critical patent/KR100460764B1/ko
Publication of KR20010108780A publication Critical patent/KR20010108780A/ko
Application granted granted Critical
Publication of KR100460764B1 publication Critical patent/KR100460764B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/727Modulo N arithmetic, with N being either (2**n)-1,2**n or (2**n)+1, e.g. mod 3, mod 4 or mod 5
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Advance Control (AREA)

Abstract

본 발명은 암호화에 적용되는 모듈러 연산 장치에 관한 것으로, 모듈러 곱셈 연산을 계산함에 있어서, 고속처리가 가능하면서도 회로 면적을 최소화할 수 있는 모듈러 연산 장치를 제공하는데 그 목적이 있다. 이를 위하여 본 발명은 RSA 방식의 암호화를 수행하는 암호화 장치에 있어서, 곱셈기로부터 b 비트의 출력과 피승수를 입력받는 제1배타적 논리곱 연산부; 상기 곱셈기의 출력을 왼쪽으로 b 비트만큼 쉬프트하는 제1쉬프트부; 상기 배타적 논리곱 연산부의 출력을 입려받는 제1파이프라인; 모듈러스의 계수와 제5파이프라인의 출력을 입력받는 제2배타적 논리곱 연산부; 상기 제2배타적 논리곱 연산부의 출력을 입력받는 제2파이프라인; 상기 제2파이프라인의 출력에 대하여 보수화 연산을 수행하는 보수화 수단; 상기 제1파이프라인과 상기 보수화 수단과 제3파이프라인의 출력을 입력받아 덧셈 연산을 하기 위한 덧셈 연산기; 상기 덧셈 연산기의 출력을 입력받는 제4파이프라인; 상기 제4파이프라인의 출력을 입력받아 파이프라인을 수행한 값을 저장하기 위한 축적기; 상기 축적기의 출력을 입력받는 제3파이프라인; 상기 축적기의 출력을 왼쪽으로 b 비트만큼 쉬프트하기 위한 제2쉬프트부 및 제5파이프라인; 상기 제4파이프라인의 출력을 n으로 나누어 분배하기 위한 분배기; 및 상기 분배기(240)의 출력을 입력받는 제5파이프라인(250)을 포함하여 이루어진다.

Description

암호화 하드웨어 구현을 위한 파이프라인 모듈러 연산 장치{Pipeline modulo operation device for realizing encryption hardware}
본 발명은 암호화 장치에 관한 것으로, 특히 RSA 방식의 암호화 장치 중 암호화에 적용되는 회로 규모가 작은 고속의 모듈러 연산 장치에 관한 것이다.
일반적으로 암호화 기술은 다양한 분야에서 활용가능한데 최근에는 특히 인터넷의 활성화에 따라 통신상의 필수 기술로 부각되고 있다. 이러한 암호화 기술 중 주요한 방법의 하나가 RSA 방식의 암호화다. RAS는 1978년 Rivest, Shamir, Adleman이 발표한 논문에서 제안된 시스템을 말하며, 발표자의 머리 문자를 연결한 것이다. RSA 방식의 암호화는 독자적인 암호화 뿐만이 아니라 DES 암호화 등과 결합하여 네트워크 상의 암호화에도 널리 쓰이고 있다.
RSA 알고리즘에서는 암호화 키와 복호키로 각각 2 개의 양의 정수가 사용된다. 즉 메시지(M)을 암호화하기 위해 두 개의 양의 정수로 구성된 암호화 키(e,n)을 이용하여 메시지(M)을 e승한 값 Me를 계산한 후 n으로 나누어 나머지를 구한 값이 암호문(c)이 된다. 복호화는 복호키(d,n)을 이용하여 암호문 c를 d번 곱한 후 n으로 나누게 되면 원래의 메시지 M이 된다. 이와 같이 메시지 M을 구하기 위한 가장 중요한 연산중의 하나가 모듈러 곱셈이다.
그러나 이러한 모듈러 연산 방법을 하드웨어로 구현할 때 임계 경로의 지연으로 인한 연산 속도가 문제가 된다. 그리고 모듈러 곱셈 장치가 차지하는 면적이 크다는 문제점이 발생하게 된다.
본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위하여 안출된 것으로써, 모듈러 곱셈 연산을 계산함에 있어서, 고속처리가 가능하면서도 회로 면적을 최소화할 수 있는 모듈러 연산 장치를 제공하는데 그 목적이 있다.
도1은 본 발명의 모듈러 연산장치의 블럭도,
도2는 상기 덧셈 연산기의 구조를 나타내는 블럭도.
* 도면의 주요 부분에 대한 부호의 설명 *
100 : 곱셈기 140 : 제1배타적 논리합 연산부
150 : 제1파이프라인 180 : 보수화 수단
190 : 덧셈 연산기 240 : 분배기
상기 목적을 달성하기 위하여 본 발명의 모듈러 연산 장치는 RSA 방식의 암호화를 수행하는 암호화 장치에 있어서, 곱셈기로부터 b 비트의 출력과 피승수를 입력받는 제1배타적 논리곱 연산부; 상기 곱셈기의 출력을 왼쪽으로 b 비트만큼 쉬프트하는 제1쉬프트부; 상기 배타적 논리곱 연산부의 출력을 입력받는 제1파이프라인; 모듈러스의 계수와 제5파이프라인의 출력을 입력받는 제2배타적 논리곱 연산부; 상기 제2배타적 논리곱 연산부의 출력을 입력받는 제2파이프라인; 상기 제2파이프라인의 출력에 대하여 보수화 연산을 수행하는 보수화 수단; 상기 제1파이프라인과 상기 보수화 수단과 제3파이프라인의 출력을 입력받아 덧셈 연산을 하기 위한 덧셈 연산기; 상기 덧셈 연산기의 출력을 입력받는 제4파이프라인; 상기 제4파이프라인의 출력을 입력받아 파이프라인을 수행한 값을 저장하기 위한 축적기; 상기 축적기의 출력을 입력받는 제3파이프라인; 상기 축적기의 출력을 왼쪽으로 b 비트만큼 쉬프트하기 위한 제2쉬프트부 및 제5파이프라인; 상기 제4파이프라인의 출력을 n으로 나누어 분배하기 위한 분배기; 및 상기 분배기(240)의 출력을 입력받는 제5파이프라인(250)을 포함하여 이루어진다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부한 도면을 참조하여 설명하기로 한다.
도1은 본 발명의 모듈러 연산장치의 블럭도이다.
상기 도1을 참조하면, 본 발명의 모듈러 연산장치는 곱셈기(100)로부터 b 비트의 출력과 피승수(110)을 입력받는 제1배타적 논리곱 연산부(140)와, 상기 곱셈기의 출력을 왼쪽으로 b 비트만큼 쉬프트하는 제1쉬프트부와, 상기 배타적 논리곱 연산부(140)의 출력을 입려받는 제1파이프라인(150)과, 모듈러스(120)의 계수와 제5파이프라인(250)의 출력을 입력받는 제2배타적 논리곱 연산부(160)와, 상기 제2배타적 논리곱 연산부(160)의 출력을 입력받는 제2파이프라인(170)과, 상기 제2파이프라인의 출력에 대하여 보수화 연산을 수행하는 보수화 수단(180)과, 상기 제1파이프라인(150)과 상기 보수화 수단(180)과 제3파이프라인의 출력을 입력받아 덧셈 연산을 하기 위한 덧셈 연산기(190)와, 상기 덧셈 연산기(190)의 출력을 입력받는 제4파이프라인(200)과, 상기 제4파이프라인(200)의 출력을 입력받아 파이프라인을 수행한 값을 저장하기 위한 축적기(210)와, 상기 축적기(210)의 출력을 입력받는 제3파이프라인(230)과, 상기 축적기(210)의 출력을 왼쪽으로 b 비트만큼 쉬프트하기 위한 제2쉬프트부 및 제5파이프라인(220)과, 상기 제4파이프라인의 출력을 n으로 나누어 분배하기 위한 분배기(240)와, 상기 분배기(240)의 출력을 입력받는 제5파이프라인(250)을 구비한다.
본 발명에서 구현하고자 하는모듈러(Modulo) 곱셈 연산을 살펴보면 다음과 같다. 우선 다음의 곱셈 P'를 정의하면 다음 수학식1과 같다.
P' = A × B = A × Bi × 2i = (A × Bi) × 2i
= 2(...2(2(0 + A × Bk-1) + A × Bk-2) + ...) + A × B0
위의 연산식은 쉬프트-애드(shift-add) 곱셈 알고리즘을 필요로 한다. 또한 매 단계마다의 부분곱 모듈로(modulo) n은 다음 표1과 같이 구할 수 있다.
1. P := 02. for i = 0 to k-12a. P := 2P + A × Bj2b. P := P mod n3. return P
결국, P = AB(mod n) 의 주요 연산을 차지하는 부분은 내부 곱인 P := 2b× P + A × Bi - Q × n 을 구하는 것이다. 여기서 2b를 라딕스(radix)라고 하자. 또한 P는 부분 내부곱이고, Bi는 라딕스(radix) 2b의 B의 i번째 숫자이다. Q는 모듈러(modelo) n을 줄이기 위하여 부분곱 P로부터 모듈로(modulo) n을 뺀 숫자이다. Q는 부분곱으로 현재 부분 곱인 P를 n으로 나누어 구할 수 있다.
라딕스(radix) 2 곱셈기의 속도를 극복하기 위해서는 하이-라딕스(High-radix)방식을 사용하도록 한다. 하이-라딕스(High-radix) 연산은 클럭 사이클은 적지만, 사이클 타임과 보다 많은 면적을 필요로 한다.
라딕스(radix) 2 방식에서는 앤드 게이트 어레이(AND gate array)를 이용하여 부분곱을 생성할 수 있다. 하이-라딕스(High-radix) 방식에서의 부분 곱 계산은 보다 복잡할 수 있다. 하지만, 부분곱의 계산을 위한 방법은 파이프라인 방식을 이용하여 사이클 타임을 많이 증가시키지 않을 수 있다.
도2는 상기 덧셈 연산기의 구조를 나타내는 블럭도이다.
상기 도2를 참조하면, 본 발명의 덧셈 연산기는 Ai, Bi, Mi를 가산하여합(S'i) 및 캐리(Ci+1)을 발생하는 제1덧셈기(200)와, 상기 제1덧셈기(200)의 출력을 입력받는 제2파이프라인(210)과, 선택신호에 따라 상기 제2파이프라인(210)을 통하여 입력되는 신호들을 선택하여 출력하는 입력선택기(220)와, 상기 입력선택기(220)의 출력을 입력받는 제3파이프라인(230)과, 상기 제3파이프라인(230)의 출력을 가산하는 제2덧셈기(240)와, 제어신호에 따라 상기 제2덧셈기(240)의 출력의 차단 여부를 결정하는 출력 생성기(250)와, 상기 제2덧셈기(240)의 캐리 발생 여부에 따라 선택신호와 제어신호를 발생하는 제어부(260)를 구비한다.
먼저 제1덧셈기(200)은 3입력(Ai, Bi, Mi)에 대한 가산 연산을 수행하여 다음 수학식2와 같이 캐리와 그 합을 구한다.
Ci+1 = Ai·Bi + Ai·Mi + Bi·Mi
S'i = AiBiMi
여기서는 배타적 논리합 연산을 나타내고, ·는 논리곱 연산을 의미한다.
이어서, 입력선택기(220)는 선택신호에 따라 상기 제2파이프라인(210)의 출력(Si, Ci+1) 또는 외부의 입력(S", Ni)중 하나를 선택 출력한다.
이어서, 상기 제2덧셈기(240)은 상기 제3파이프라인(230)의 출력을 가산하고, 그 가산 결과로서의 최종 캐리(C"i+1)와 합(S"i)를 각각 출력한다.
이어서, 상기 출력생성기(250)은 상기 제어기(260)로부터의 제어신호에 따라 상기 제2덧셈기(240)의 출력을 스위칭하는 역할을 수행한다. 즉 상기제2덧셈기(240)의 출력을 최종 출력으로 그대로 출력하거나, 혹은 차단한다. 이때 상기 제1 및 제2덧셈기(200, 240)는 고속 연산을 위해 캐리 세이브 가산기(carry save adder)를 이용하는 것이 바람직하다.
이어서, 상기 제어기(260)는 회로 구성의 재이용을 위해 상기 제2덧셈기(240)의 가산 결과로서 출력되는 최종 캐리(C"i+1)를 입력받아, 만약 캐리가 발생된 경우라면 즉, C"i+1이 논리 하이이면 상기 입력선택기(220)가 상기 제2파이프라인(210)의 출력을 선택 출력하도록 선택신호를 발생하고, 또한 출력생성기(250)에 제어신호를 발생하여 상기 제2덧셈기(240)의 출력을 차단한다. 반대로 C"i+1이 논리 로우이면 상기 입력선택기(220)에 제어신호를 선택신호를 발생하여 상기 제2파이프라인(210)의 출력을 선택 출력하도록 하고, 상기 출력생성기(250)에 제어신호를 발생하여 최종 출력으로서 상기 제2덧셈기(240)의 출력을 그대로 출력하도록 제어한다.
본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
상기와 같이 본 발명은 파이프라인을 이용함으로써 고속 연산이 가능하며 효율적인 하드웨어 구성이 가능하게 되어 실시간 하드웨어 구현시 면적 및 속도의 상관관계가 조화된 칩을 개발할 수 있다.

Claims (2)

  1. RSA 방식의 암호화를 수행하는 암호화 장치에 있어서,
    곱셈기로부터 b 비트의 출력과 피승수를 입력받는 제1배타적 논리곱 연산부;
    상기 곱셈기의 출력을 왼쪽으로 b 비트만큼 쉬프트하는 제1쉬프트부;
    상기 배타적 논리곱 연산부의 출력을 입력받는 제1파이프라인;
    모듈러스의 계수와 제5파이프라인의 출력을 입력받는 제2배타적 논리곱 연산부;
    상기 제2배타적 논리곱 연산부의 출력을 입력받는 제2파이프라인;
    상기 제2파이프라인의 출력에 대하여 보수화 연산을 수행하는 보수화 수단;
    상기 제1파이프라인과 상기 보수화 수단과 제3파이프라인의 출력을 입력받아 덧셈 연산을 하기 위한 덧셈 연산기;
    상기 덧셈 연산기의 출력을 입력받는 제4파이프라인;
    상기 제4파이프라인의 출력을 입력받아 파이프라인을 수행한 값을 저장하기 위한 축적기;
    상기 축적기의 출력을 입력받는 제3파이프라인;
    상기 축적기의 출력을 왼쪽으로 b 비트만큼 쉬프트하기 위한 제2쉬프트부 및 제5파이프라인;
    상기 제4파이프라인의 출력을 n으로 나누어 분배하기 위한 분배기; 및
    상기 분배기(240)의 출력을 입력받는 제5파이프라인(250)
    을 포함하여 이루어진 모듈러 연산 장치.
  2. 제 1 항에 있어서,
    덧셈 연산기는,
    입력(Ai, Bi, Mi)을 가산하여 합(S'i) 및 캐리(Ci+1)을 발생하는 제1덧셈기;
    상기 제1덧셈기의 출력을 입력받는 제2파이프라인;
    선택신호에 따라 상기 제2파이프라인을 통하여 입력되는 신호들을 선택하여 출력하는 입력선택기;
    상기 입력선택기의 출력을 입력받는 제3파이프라인;
    상기 제3파이프라인의 출력을 가산하는 제2덧셈기;
    제어신호에 따라 상기 제2덧셈기의 출력의 차단 여부를 결정하는 출력 생성기; 및
    상기 제2덧셈기의 캐리 발생 여부에 따라 선택신호와 제어신호를 발생하는 제어부
    를 포함하여 이루어진 모듈러 연산 장치.
KR10-2000-0029689A 2000-05-31 2000-05-31 암호화 하드웨어 구현을 위한 파이프라인 모듈러 연산 장치 KR100460764B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2000-0029689A KR100460764B1 (ko) 2000-05-31 2000-05-31 암호화 하드웨어 구현을 위한 파이프라인 모듈러 연산 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0029689A KR100460764B1 (ko) 2000-05-31 2000-05-31 암호화 하드웨어 구현을 위한 파이프라인 모듈러 연산 장치

Publications (2)

Publication Number Publication Date
KR20010108780A KR20010108780A (ko) 2001-12-08
KR100460764B1 true KR100460764B1 (ko) 2004-12-09

Family

ID=45855002

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0029689A KR100460764B1 (ko) 2000-05-31 2000-05-31 암호화 하드웨어 구현을 위한 파이프라인 모듈러 연산 장치

Country Status (1)

Country Link
KR (1) KR100460764B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100901280B1 (ko) 2006-12-07 2009-06-09 한국전자통신연구원 모듈러 3 연산 장치 및 방법
KR101321221B1 (ko) * 2013-05-23 2013-10-22 목포대학교산학협력단 암호용 모듈러 곱셈 장치 및 그 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0309037A1 (fr) * 1987-09-25 1989-03-29 Laboratoires D'electronique Philips Multiplieur pipeline série
US5313530A (en) * 1991-03-05 1994-05-17 Canon Kabushiki Kaisha Calculating apparatus and method of encrypting/decrypting communication data by using the same
KR20000000770A (ko) * 1998-06-03 2000-01-15 정선종 모듈러 곱셈장치
US6061706A (en) * 1997-10-10 2000-05-09 United Microelectronics Corp. Systolic linear-array modular multiplier with pipeline processing elements

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0309037A1 (fr) * 1987-09-25 1989-03-29 Laboratoires D'electronique Philips Multiplieur pipeline série
US5313530A (en) * 1991-03-05 1994-05-17 Canon Kabushiki Kaisha Calculating apparatus and method of encrypting/decrypting communication data by using the same
US6061706A (en) * 1997-10-10 2000-05-09 United Microelectronics Corp. Systolic linear-array modular multiplier with pipeline processing elements
KR20000000770A (ko) * 1998-06-03 2000-01-15 정선종 모듈러 곱셈장치

Also Published As

Publication number Publication date
KR20010108780A (ko) 2001-12-08

Similar Documents

Publication Publication Date Title
US7277540B1 (en) Arithmetic method and apparatus and crypto processing apparatus for performing multiple types of cryptography
US7694045B2 (en) Methods and apparatus for pipeline processing of encryption data
Amanor et al. Efficient hardware architectures for modular multiplication on FPGAs
Grossschadl The Chinese remainder theorem and its application in a high-speed RSA crypto chip
US7024560B2 (en) Power-residue calculating unit using Montgomery algorithm
US5121429A (en) Digital signal processing
Koppermann et al. X25519 hardware implementation for low-latency applications
US7240204B1 (en) Scalable and unified multiplication methods and apparatus
KR20040060445A (ko) 4-2 컴프레서를 이용한 몽고메리 모듈러 승산기 및 그승산 방법
US7552163B2 (en) Montgomery modular multiplier and method thereof
Hasan Double-basis multiplicative inversion over GF (2/sup m/)
Batina et al. Montgomery in practice: How to do it more efficiently in hardware
KR100460764B1 (ko) 암호화 하드웨어 구현을 위한 파이프라인 모듈러 연산 장치
O'Rourke et al. Achieving NTRU with Montgomery multiplication
Mahapatra et al. RSA cryptosystem with modified Montgomery modular multiplier
KR100481586B1 (ko) 모듈러 곱셈 장치
KR100413947B1 (ko) 모듈라 지수승 연산 방식을 이용한 rsa 암호 장치
KR100946256B1 (ko) 다정도 캐리 세이브 가산기를 이용한 듀얼필드상의확장성있는 몽고매리 곱셈기
EP1480119A1 (en) Montgomery modular multiplier and method thereof
KR20000000770A (ko) 모듈러 곱셈장치
KR100297110B1 (ko) 모듈러곱셈기
TWI403952B (zh) A large integer modulus index chip structure for signature cryptography
Shirase et al. An architecture for elliptic curve cryptograph computation
US7471789B2 (en) Encryption circuit achieving higher operation speed
JP3137599B2 (ja) BのC乗のnを法とした剰余を計算する回路

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee