맞춤기술찾기

이전대상기술

모듈러 연산 장치 및 방법, 그리고 이를 이용한 RSA암호 연산 시스템

  • 기술번호 : KST2015088491
  • 담당센터 : 대전기술혁신센터
  • 전화번호 : 042-610-2279
요약, Int. CL, CPC, 출원번호/일자, 출원인, 등록번호/일자, 공개번호/일자, 공고번호/일자, 국제출원번호/일자, 국제공개번호/일자, 우선권정보, 법적상태, 심사진행상태, 심판사항, 구분, 원출원번호/일자, 관련 출원번호, 기술이전 희망, 심사청구여부/일자, 심사청구항수의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 서지정보 표입니다.
요약 모듈러 연산 장치 및 방법, 그리고 RSA 암호 연산 시스템이 개시된다. 제1데이터 선택기는 외부로부터 입력되는 n비트의 제1데이터로부터 순차적으로 1비트의 데이터인 제1비트값을 추출하여 출력한다. 제1캐리저장 덧셈기는 추출된 제1비트값에 대응하여 외부로부터 입력되는 모듈러값과 n비트의 제2데이터를 제1비트값과 기저장되어 있는 제2비트값에 따라 합산하여 제1합을 출력하고, 합산과정에서 발생하는 캐리를 상위 비트쪽으로 1비트 이동시켜 제1캐리를 출력한다. 제2캐리저장 덧셈기는 제1합, 제1캐리, 및 제1연산값을 합산하여 산출한 합 및 캐리를 각각 하위 비트쪽으로 1비트 이동시킨 제2합 및 제2캐리를 출력한다. 제1 및 제2레지스터는 각각 n비트의 크기를 가지며, 하위 n/2비트에 제2합 및 제2캐리를 저장한다. 제2데이터는 최초의 제1합 연산과정의 수행시에는 외부로부터 입력되는 n비트의 데이터이고 이후의 제1합 연산과정의 수행시에는 제2레지스터에 저장되어 있는 n비트의 데이터이다. 또한, 제2연산값은 제1레지스터에 저장되어 있는 n비트의 데이터이다. 이로써, 시스템 클럭의 상승 모서리와 하강 모서리를 모두 데이터 처리에 사용할 수 있어 낮은 동작 주파수를 갖는 시스템에서 별도의 주파수 증가 장치를 사용하지 않고 효율적으로 RSA 암호 연산을 수행할 수 있다.
Int. CL G06Q 20/38 (2008.03) G06F 7/552 (2006.01)
CPC G06F 7/50(2013.01) G06F 7/50(2013.01) G06F 7/50(2013.01)
출원번호/일자 1020020066100 (2002.10.29)
출원인 한국전자통신연구원
등록번호/일자 10-0484487-0000 (2005.04.12)
공개번호/일자 10-2004-0037555 (2004.05.07) 문서열기
공고번호/일자 (20050420) 문서열기
국제출원번호/일자
국제공개번호/일자
우선권정보
법적상태 소멸
심사진행상태 수리
심판사항
구분
원출원번호/일자
관련 출원번호
심사청구여부/일자 Y (2002.10.29)
심사청구항수 18

출원인

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 출원인 표입니다.
번호 이름 국적 주소
1 한국전자통신연구원 대한민국 대전광역시 유성구

발명자

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 발명자 표입니다.
번호 이름 국적 주소
1 김무섭 대한민국 대전광역시유성구
2 최용제 대한민국 광주광역시북구
3 김호원 대한민국 대전광역시유성구
4 류희수 대한민국 대전광역시유성구
5 정교일 대한민국 대전광역시유성구

대리인

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 대리인 표입니다.
번호 이름 국적 주소
1 이영필 대한민국 서울 강남구 언주로 **길 **, *층, **층, **층, **층(도곡동, 대림아크로텔)(리앤목특허법인)
2 이해영 대한민국 서울 강남구 언주로 **길 **, *층, **층, **층, **층(도곡동, 대림아크로텔)(리앤목특허법인)

최종권리자

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 최종권리자 표입니다.
번호 이름 국적 주소
1 한국전자통신연구원 대한민국 대전광역시 유성구
번호, 서류명, 접수/발송일자, 처리상태, 접수/발송일자의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 행정처리 표입니다.
번호 서류명 접수/발송일자 처리상태 접수/발송번호
1 특허출원서
Patent Application
2002.10.29 수리 (Accepted) 1-1-2002-0356163-99
2 선행기술조사의뢰서
Request for Prior Art Search
2004.06.09 수리 (Accepted) 9-1-9999-9999999-89
3 선행기술조사보고서
Report of Prior Art Search
2004.07.14 수리 (Accepted) 9-1-2004-0043150-76
4 의견제출통지서
Notification of reason for refusal
2004.10.28 발송처리완료 (Completion of Transmission) 9-5-2004-0453492-18
5 명세서 등 보정서
Amendment to Description, etc.
2004.12.22 보정승인간주 (Regarded as an acceptance of amendment) 1-1-2004-0606289-54
6 의견서
Written Opinion
2004.12.22 수리 (Accepted) 1-1-2004-0606288-19
7 등록결정서
Decision to grant
2005.03.31 발송처리완료 (Completion of Transmission) 9-5-2005-0151230-14
8 출원인정보변경(경정)신고서
Notification of change of applicant's information
2009.08.04 수리 (Accepted) 4-1-2009-5150899-36
9 출원인정보변경(경정)신고서
Notification of change of applicant's information
2015.02.02 수리 (Accepted) 4-1-2015-0006137-44
번호, 청구항의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 청구항 표입니다.
번호 청구항
1 1
외부로부터 입력되는 n비트의 제1데이터로부터 순차적으로 1비트의 데이터인 제1비트값을 추출하여 출력하는 제1데이터 선택기; 상기 제1비트값에 대응하여 외부로부터 입력되는 모듈러값과 n비트의 제2데이터를 상기 제1비트값과 외부로부터 입력되는 소정의 제2비트값에 따라 합산하여 제1합을 출력하고, 상기 합산과정에서 발생하는 캐리를 상위 비트쪽으로 1비트 이동시켜 제1캐리를 출력하는 제1캐리저장 덧셈기; 상기 제1합, 상기 제1캐리, 및 제1연산값을 합산하여 산출된 합 및 캐리를 각각 하위 비트쪽으로 1비트 이동시킨 제2합 및 제2캐리를 출력하는 제2캐리저장 덧셈기; n비트의 크기를 가지며, 하위 n/2비트에 상기 제2합을 저장하는 제1레지스터; 및 n비트의 크기를 가지며, 하위 n/2비트에 상기 제2캐리를 저장하는 제2레지스터;를 포함하고, 상기 제2데이터는 제1캐리저장 덧셈기의 최초 덧셈연산시에는 외부로부터 입력되는 데이터이고, 이후의 덧셈연산시에는 상기 제2레지스터에 저장되어 있는 n비트의 데이터이며, 상기 제1연산값은 상기 제1레지스터에 저장되어 있는 n비트의 데이터이고, 상기 제2비트값은 상기 제2데이터의 최하위비트값과 상기 제1비트값을 곱하여 얻어진 값에 제1레지스터의 최하위비트값을 더한 값인 것을 특징으로 하는 모듈러 연산 장치
2 2
제 1항에 있어서, 상기 제1레지스터에서 소정 비트단위로 상기 제2합의 하위비트부터 독출한 데이터를 상기 제2레지스터에서 소정 비트단위로 상기 제2캐리의 하위비트부터 독출한 데이터와 합산하여 합산값을 출력하는 덧셈기; 상기 덧셈기로부터 입력되는 상기 합산값에서 피감산값을 감하여 감산값을 출력하는 감산기; 및 상기 감산기로의 상기 합산값의 입력동작과 연동하여 상기 모듈러값을 하위비트부터 소정 비트단위로 추출한 상기 피감산값을 상기 감산기에 제공하는 제2데이터 선택기;를 더 포함하고, 상기 덧셈기로부터 출력되는 상기 합산값은 상기 제1레지스터의 상위 소정 비트에 저장되며, 상기 감산기로부터 출력되는 상기 감산값은 상기 제2레지스터의 상위 소정 비트에 저장되는 것을 특징으로 하는 모듈러 연산 장치
3 3
제 2항에 있어서, 상기 합산값 및 상기 감산값이 입력되기 전에 상기 제1 및 제2레지스터의 데이터는 하위비트 쪽으로 상기 소정 비트만큼 이동되는 것을 특징으로 하는 모듈러 연산 장치
4 4
제 2항에 있어서, 상기 덧셈기 및 상기 감산기는 32비트 단위로 연산을 수행하며, 상기 소정 비트단위는 32비트인 것을 특징으로 하는 모듈러 연산 장치
5 5
제 1항 또는 제 2항에 있어서, 상기 제1캐리저장 덧셈기 및 상기 제2캐리저장 덧셈기는 시스템 클럭의 상승모서리에서 하위 n/2비트에 대한 연산을 수행하고, 상기 시스템 클럭의 하강 모서리에서 상위 n/2비트에 대한 연산을 수행하는 것을 특징으로 하는 모듈러 연산 장치
6 6
복수의 n비트의 데이터가 저장되는 데이터 저장부; 데이터 선택을 지시하는 제어신호에 의해 상기 데이터 저장부에 저장되어 있는 데이터 중에서 제1데이터를 선택하여 출력하는 제1데이터 선택부; 상기 데이터 선택을 지시하는 제어신호에 의해 상기 데이터 저장부에 저장되어 있는 데이터 중에서 제2데이터를 선택하여 출력하는 제2데이터 선택부; 상기 제1 및 제2데이터를 입력받아 모듈러 곱셈을 수행하여 제1연산값과 제2연산값을 산출하는 모듈러 곱셈부; 상기 제1연산값과 상기 제2연산값을 합하여 제3연산값을 산출하고 상기 제3연산값에서 모듈러값을 감하여 제4연산값을 산출하는 리덕션부; 및 상기 제4연산값 산출과정에서 자리빌림신호의 발생여부에 따라 상기 제3연산값 및 상기 제4연산값을 선택적으로 출력하는 제3데이터 선택부;를 포함하는 것을 특징으로 하는 RSA 암호 연산 시스템
7 7
제 6항에 있어서, 외부로부터 데이터를 입력받아 상기 데이터 저장부에 제공하는 입력 인터페이스부; 상기 제3데이터 선택부로부터 입력받은 데이터를 외부로 출력하는 출력 인터페이스부; 및 상기 데이터 저장부로부터 연산에 필요한 데이터의 선택을 지시하는 제어신호를 상기 제1 및 제2선택부로 출력하고, 상기 모듈러 곱셈부의 곱셈동작, 상기 리덕션부의 리덕션동작을 제어하는 제어신호를 출력하는 제어부;를 더 포함하는 것을 특징으로 하는 RSA 암호 연산 시스템
8 8
제 6항 또는 제 7항에 있어서, 상기 모듈러 곱셈부는, 상기 제1데이터 선택부로부터 입력되는 상기 제1데이터로부터 순차적으로 1비트의 데이터인 제1비트값을 추출하여 출력하는 제3데이터 선택부; 상기 제1비트값에 대응하여 상기 모듈러값과 상기 제2데이터를 상기 제1비트값과 외부로부터 입력되는 소정의 제2비트값에 따라 합산하여 제1합을 출력하고, 상기 합산과정에서 발생하는 캐리를 상위 비트쪽으로 1비트 이동시켜 제1캐리를 출력하는 제1캐리저장 덧셈부; 상기 제1합, 상기 제1캐리, 및 제2연산값을 합산하여 산출된 합 및 캐리를 각각 하위 비트쪽으로 1비트 이동시킨 제2합 및 제2캐리를 출력하는 제2캐리저장 덧셈부; n비트의 크기를 가지며, 하위 n/2비트에 상기 제2합을 저장하는 제1레지스터부; 및 n비트의 크기를 가지며, 하위 n/2비트에 상기 제2캐리를 저장하는 제2레지스터부;를 포함하며, 상기 제2데이터는 상기 제1캐리저장 덧셈기의 최초 덧셈연산시에는 상기 제2데이터 선택부로부터 입력되는 데이터이고, 이후의 덧셈연산시에는 상기 제2레지스터에 저장되어 있는 상기 제2연산값이며, 상기 제1연산값은 상기 제1레지스터에 저장되어 있는 n비트의 데이터이고, 상기 제2비트값은 상기 제2데이터의 최하위비트값과 상기 제1비트값을 곱하여 얻어진 값에 제1레지스터의 최하위비트값을 더한 값인 것을 특징으로 하는 RSA 암호 연산 시스템
9 9
제 6항 또는 제 7항에 있어서, 상기 리덕션부는, 상기 제1레지스터부에서 소정 비트단위로 상기 제2합의 하위비트부터 독출한 데이터를 상기 제2레지스터부에서 소정 비트단위로 상기 제2캐리의 하위비트부터 독출한 데이터와 합산하여 합산값을 출력하는 덧셈부; 상기 덧셈부로부터 입력되는 상기 합산값에서 피감산값을 감하여 감산값을 출력하는 감산부; 및 상기 감산부로의 상기 합산값의 입력동작과 연동하여 상기 모듈러값을 하위비트부터 소정 비트단위로 추출한 상기 피감산값을 상기 감산기에 제공하는 제4데이터 선택부;를 포함하고, 상기 덧셈부로부터 출력되는 상기 합산값은 상기 제1레지스터부의 상위 소정 비트에 저장되며, 상기 감산부로부터 출력되는 상기 감산값은 상기 제2레지스터부의 상위 소정 비트에 저장되는 것을 특징으로 하는 RSA 암호 연산 시스템
10 10
제 7항에 있어서, 상기 합산값 및 상기 감산값이 입력되기 전에 상기 제1 및 제2레지스터의 데이터는 하위비트 쪽으로 상기 소정 비트만큼 이동되는 것을 특징으로 RSA 암호 연산 시스템
11 11
제 7항에 있어서, 상기 덧셈부 및 상기 감산부는 32비트 단위로 연산을 수행하며, 상기 소정 비트단위는 32비트인 것을 특징으로 하는 RSA 암호 연산 시스템
12 12
제 6항에 있어서, 상기 제1캐리저장 덧셈부 및 상기 제2캐리저장 덧셈부는 시스템 클럭의 상승모서리에서 상기 하위 n/2비트에 대한 연산을 수행하고, 상기 시스템 클럭의 하강 모서리에서 상기 상위 n/2비트에 대한 연산을 수행하는 것을 특징으로 하는 RSA 암호 연산 시스템
13 13
외부로부터 입력되는 n비트의 제1데이터로부터 순차적으로 1비트의 데이터인 제1비트값을 추출하는 비트데이터 추출단계; 상기 추출된 제1비트값에 대응하여 외부로부터 입력되는 모듈러값과 n비트의 제2데이터를 상기 제1비트값과 외부로부터 입력되는 소정의 제2비트값에 따라 합산하여 산출한 제1합을 출력하는 제1합 산출단계; 상기 제1합 산출단계에서 발생하는 제1캐리를 상위 비트쪽으로 1비트 이동시켜 출력하는 제1캐리 출력단계; 상기 제1합, 상기 제1캐리, 및 제1연산값을 합산하여 산출한 제2합을 하위 비트쪽으로 1비트 이동시켜 출력하는 제2합 산출단계; n비트의 크기를 가지는 제1레지스터의 하위 n/2비트에 상기 제2합을 저장하는 제2합 저장단계; 상기 제2합 산출단계에서 발생하는 제2캐리를 하위 비트쪽으로 1비트 이동시켜 출력하는 제2캐리 출력단계; 및 n비트의 크기를 가지는 제2레지스터의 하위 n/2비트에 상기 제2캐리를 저장하는 제2캐리 저장단계;를 포함하고, 상기 제2데이터는 상기 제1합 산출단계가 최초로 수행되는 경우에는 외부로부터 입력되는 데이터이고, 이후의 상기 제1합 산출단계의 수행시에는 상기 제2데이터는 상기 제1캐리저장 덧셈기의 최초 덧셈연산시에는 상기 제2데이터 선택부로부터 입력되는 데이터이고, 이후의 덧셈연산시에는 상기 제2레지스터에 저장되어 있는 n비트의 데이터이고, 상기 제1연산값은 상기 제1레지스터에 저장되어 있는 n비트의 데이터이며, 상기 제2비트값은 상기 제2데이터의 최하위비트값과 상기 제1비트값을 곱하여 얻어진 값에 제1레지스터의 최하위비트값을 더한 값이고, 상기 비트데이터 추출단계 내지 상기 제2캐리 저장단계는 상기 제1데이터의 모든 비트에 대해 반복적으로 수행되는 것을 특징으로 하는 모듈러 연산 방법
14 14
제 13항에 있어서, 상기 제1레지스터에서 소정 비트단위로 상기 제2합의 하위비트부터 독출한 데이터를 상기 제2레지스터에서 소정 비트단위로 상기 제2캐리의 하위비트부터 독출한 데이터와 합산하여 합산값을 산출하는 합산값 산출단계; 상기 합산값을 입력받아 상기 합산값에서 피감산값을 감하여 감산값을 산출하는 감산값 산출단계; 상기 합산값을 상기 제1레지스터의 상위 소정 비트에 저장하는 합산값 저장단계; 및 상기 감산값을 상기 제2레지스터의 상위 소정 비트에 저장하는 감산값 저장단계;를 더 포함하며, 상기 피감산값은 상기 합산값 입력동작과 연동하여 상기 모듈러값을 하위비트부터 소정 비트단위로 추출한 데이터이고, 상기 합산값 산출단계 내지 상기 감산값 저장단계는 상기 제1데이터의 모든 비트에 대해 상기 비트데이터 추출단계 내지 상기 제2캐리 저장단계가 수행된 후에 반복적으로 수행되는 것을 특징으로 하는 모듈러 연산 방법
15 15
제 14항에 있어서, 상기 제1데이터의 모든 비트에 대해 상기 합산값 산출단계 내지 상기 감산값 저장단계가 수행되면, 상기 감산값 산출단계의 최종 수행과정에서 자리빌림이 발생하면 상기 제1레지스터에 저장되어 있는 데이터를 결과값으로 출력하고, 상기 자리빌림이 발생하지 않으면 상기 제2레지스터에 저장되어 있는 데이터를 상기 결과값으로 출력하는 단계를 더 포함하는 것을 특징으로 하는 모듈러 연산 방법
16 16
제 13항 내지 제15항 중 어느 한 항에 있어서, 상기 합산값 및 상기 감산값이 입력되기 전에 상기 제1 및 제2레지스터의 데이터는 하위비트 쪽으로 상기 소정 비트만큼 이동되는 것을 특징으로 하는 모듈러 연산 방법
17 17
제 13항 내지 제15항 중 어느 한 항에 있어서, 상기 합산값 산출단계 및 상기 감산값 산출단계는 시스템 클럭의 상승모서리에서 상기 하위 n/2비트에 대한 연산을 수행하고, 상기 시스템 클럭의 하강 모서리에서 상기 상위 n/2비트에 대한 연산을 수행하는 것을 특징으로 하는 모듈러 연산 방법
18 18
외부로부터 입력되는 n비트의 제1데이터로부터 순차적으로 1비트의 데이터인 제1비트값을 추출하는 비트데이터 추출단계; 상기 추출된 제1비트값에 대응하여 외부로부터 입력되는 모듈러값과 n비트의 제2데이터를 상기 제1비트값과 외부로부터 입력되는 소정의 제2비트값에 따라 합산하여 산출한 제1합을 출력하는 제1합 산출단계; 상기 제1합 산출단계에서 발생하는 제1캐리를 상위 비트쪽으로 1비트 이동시켜 출력하는 제1캐리 출력단계; 상기 제1합, 상기 제1캐리, 및 제1연산값을 합산하여 산출한 제2합을 하위 비트쪽으로 1비트 이동시켜 출력하는 제2합 산출단계; n비트의 크기를 가지는 제1레지스터의 하위 n/2비트에 상기 제2합을 저장하는 제2합 저장단계; 상기 제2합 산출단계에서 발생하는 제2캐리를 하위 비트쪽으로 1비트 이동시켜 출력하는 제2캐리 출력단계; 및 n비트의 크기를 가지는 제2레지스터의 하위 n/2비트에 상기 제2캐리를 저장하는 제2캐리 저장단계;를 포함하고, 상기 제2데이터는 상기 제1합 산출단계가 최초로 수행되는 경우에는 외부로부터 입력되는 데이터이고, 이후의 상기 제1합 산출단계의 수행시에는 상기 제2데이터는 상기 제1캐리저장 덧셈기의 최초 덧셈연산시에는 상기 제2데이터 선택부로부터 입력되는 데이터이고, 이후의 덧셈연산시에는 상기 제2레지스터에 저장되어 있는 n비트의 데이터이고, 상기 제1연산값은 상기 제1레지스터에 저장되어 있는 n비트의 데이터이며, 상기 제2비트값은 상기 제2데이터의 최하위비트값과 상기 제1비트값을 곱하여 얻어진 값에 제1레지스터의 최하위비트값을 더한 값이고, 상기 비트데이터 추출단계 내지 상기 제2캐리 저장단계는 상기 제1데이터의 모든 비트에 대해 반복적으로 수행되는 것을 특징으로 하는 모듈러 연산 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체
19 18
외부로부터 입력되는 n비트의 제1데이터로부터 순차적으로 1비트의 데이터인 제1비트값을 추출하는 비트데이터 추출단계; 상기 추출된 제1비트값에 대응하여 외부로부터 입력되는 모듈러값과 n비트의 제2데이터를 상기 제1비트값과 외부로부터 입력되는 소정의 제2비트값에 따라 합산하여 산출한 제1합을 출력하는 제1합 산출단계; 상기 제1합 산출단계에서 발생하는 제1캐리를 상위 비트쪽으로 1비트 이동시켜 출력하는 제1캐리 출력단계; 상기 제1합, 상기 제1캐리, 및 제1연산값을 합산하여 산출한 제2합을 하위 비트쪽으로 1비트 이동시켜 출력하는 제2합 산출단계; n비트의 크기를 가지는 제1레지스터의 하위 n/2비트에 상기 제2합을 저장하는 제2합 저장단계; 상기 제2합 산출단계에서 발생하는 제2캐리를 하위 비트쪽으로 1비트 이동시켜 출력하는 제2캐리 출력단계; 및 n비트의 크기를 가지는 제2레지스터의 하위 n/2비트에 상기 제2캐리를 저장하는 제2캐리 저장단계;를 포함하고, 상기 제2데이터는 상기 제1합 산출단계가 최초로 수행되는 경우에는 외부로부터 입력되는 데이터이고, 이후의 상기 제1합 산출단계의 수행시에는 상기 제2데이터는 상기 제1캐리저장 덧셈기의 최초 덧셈연산시에는 상기 제2데이터 선택부로부터 입력되는 데이터이고, 이후의 덧셈연산시에는 상기 제2레지스터에 저장되어 있는 n비트의 데이터이고, 상기 제1연산값은 상기 제1레지스터에 저장되어 있는 n비트의 데이터이며, 상기 제2비트값은 상기 제2데이터의 최하위비트값과 상기 제1비트값을 곱하여 얻어진 값에 제1레지스터의 최하위비트값을 더한 값이고, 상기 비트데이터 추출단계 내지 상기 제2캐리 저장단계는 상기 제1데이터의 모든 비트에 대해 반복적으로 수행되는 것을 특징으로 하는 모듈러 연산 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체
지정국 정보가 없습니다
패밀리정보가 없습니다
국가 R&D 정보가 없습니다.