맞춤기술찾기

이전대상기술

양자내성암호를 위한 모듈-LWE 기반 암호 프로세서 시스템 및 방법

  • 기술번호 : KST2022020557
  • 담당센터 : 인천기술혁신센터
  • 전화번호 : 032-420-3580
요약, Int. CL, CPC, 출원번호/일자, 출원인, 등록번호/일자, 공개번호/일자, 공고번호/일자, 국제출원번호/일자, 국제공개번호/일자, 우선권정보, 법적상태, 심사진행상태, 심판사항, 구분, 원출원번호/일자, 관련 출원번호, 기술이전 희망, 심사청구여부/일자, 심사청구항수의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 서지정보 표입니다.
요약 모듈-LWE 기반 암호 프로세서 시스템 및 그 동작 방법이 제시된다. 본 발명에서 제안하는 암호 프로세서 시스템은 PRNG 코어에서 생성한 난수들을 거부 샘플러 및 이항 샘플러를 통해 다항식 행렬과 에러 벡터를 생성하여 NTT 코어를 통해 NTT 도메인으로 변환한 후 포인트-와이즈 곱셈기와 덧셈기를 이용하여 연산을 수행하고, 인코더를 이용하여 공개키 및 비밀키로 인코딩하여 출력하는 키생성 프로세서, 메시지와 상기 키생성 프로세서로부터 공개키를 수신하여 상기 메시지를 인코딩하고, 상기 공개키를 디코딩하여 거부 샘플러와 이항 샘플러를 통해 다항식 행렬과 에러 벡터를 생성하고, NTT 코어 및 INTT 코어를 통해 NTT 도메인에서 포인트-와이즈 곱셈기와 덧셈기를 이용하여 연산을 수행하고, 컴프레스를 이용하여 암호문을 압축 및 인코딩하여 출력하는 암호화 프로세서 및 상기 암호화 프로세서로부터 암호문을 수신하여 디컴프레스를 통해 암호문의 압축 해제 및 디코딩을 수행하고, 상기 키생성 프로세서로부터 비밀키를 수신하여 디코딩을 수행하고, NTT 코어 및 INTT 코어를 통해 NTT 도메인에서 포인트-와이즈 곱셈기와 뺄셈기를 이용하여 연산을 수행하고, 메시지 디코더를 이용하여 원본 메시지를 출력하는 복호화 프로세서를 포함한다.
Int. CL H04L 9/12 (2006.01.01) H04L 9/00 (2022.01.01) H04L 9/06 (2006.01.01) G06F 7/50 (2006.01.01) G06F 7/53 (2006.01.01) G06F 7/72 (2006.01.01)
CPC H04L 9/12(2013.01) H04L 9/005(2013.01) H04L 9/0643(2013.01) H04L 9/0662(2013.01) G06F 7/50(2013.01) G06F 7/53(2013.01) G06F 7/728(2013.01) H04L 2209/046(2013.01) H04L 2209/125(2013.01) H04L 2209/34(2013.01)
출원번호/일자 1020220029611 (2022.03.08)
출원인 인하대학교 산학협력단
등록번호/일자 10-2462395-0000 (2022.10.28)
공개번호/일자
공고번호/일자 (20221103) 문서열기
국제출원번호/일자
국제공개번호/일자
우선권정보
법적상태 등록
심사진행상태 수리
심판사항
구분 국내출원/신규
원출원번호/일자
관련 출원번호
심사청구여부/일자 Y (2022.03.08)
심사청구항수 9

출원인

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 출원인 표입니다.
번호 이름 국적 주소
1 인하대학교 산학협력단 대한민국 인천광역시 미추홀구

발명자

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 발명자 표입니다.
번호 이름 국적 주소
1 이한호 인천광역시 연수구
2 김성재 경기도 고양시 일산서구

대리인

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 대리인 표입니다.
번호 이름 국적 주소
1 양성보 대한민국 서울특별시 강남구 선릉로***길 ** (논현동) 삼성빌딩 *층(피앤티특허법률사무소)

최종권리자

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 최종권리자 표입니다.
번호 이름 국적 주소
1 인하대학교 산학협력단 인천광역시 미추홀구
번호, 서류명, 접수/발송일자, 처리상태, 접수/발송일자의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 행정처리 표입니다.
번호 서류명 접수/발송일자 처리상태 접수/발송번호
1 [특허출원]특허출원서
[Patent Application] Patent Application
2022.03.08 수리 (Accepted) 1-1-2022-0255739-87
2 [우선심사신청]심사청구서·우선심사신청서
2022.03.15 수리 (Accepted) 1-1-2022-0278921-74
3 [우선심사신청]선행기술조사의뢰서
[Request for Preferential Examination] Request for Prior Art Search
2022.03.18 수리 (Accepted) 9-1-9999-9999999-89
4 [우선심사신청]선행기술조사보고서
[Request for Preferential Examination] Report of Prior Art Search
2022.04.11 수리 (Accepted) 9-1-2022-0005009-88
5 의견제출통지서
Notification of reason for refusal
2022.07.28 발송처리완료 (Completion of Transmission) 9-5-2022-0565951-34
6 [명세서등 보정]보정서
[Amendment to Description, etc.] Amendment
2022.08.18 보정승인간주 (Regarded as an acceptance of amendment) 1-1-2022-0865446-01
7 [거절이유 등 통지에 따른 의견]의견서·답변서·소명서
2022.08.18 수리 (Accepted) 1-1-2022-0865445-55
8 등록결정서
Decision to grant
2022.10.20 발송처리완료 (Completion of Transmission) 9-5-2022-0803809-86
번호, 청구항의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 청구항 표입니다.
번호 청구항
1 1
PRNG 코어에서 생성한 난수들을 거부 샘플러 및 이항 샘플러를 통해 다항식 행렬과 에러 벡터를 생성하고, 생성된 에러 벡터를 NTT 코어를 통해 NTT 도메인으로 변환한 후 포인트-와이즈 곱셈기와 덧셈기를 이용하여 연산을 수행하고, 연산 결과는 인코더를 이용하여 암호화 프로세서 및 복호화 프로세서에서 사용하기 위한 공개키 및 비밀키로 인코딩하여 출력하는 키생성 프로세서; 사용자가 암호화 하고자 하는 메시지와 상기 키생성 프로세서로부터 공개키를 수신하여 상기 메시지를 인코딩하고, 상기 공개키를 디코딩하여 거부 샘플러와 이항 샘플러를 통해 암호화에 필요한 다항식 행렬과 에러 벡터를 생성하고, 생성된 에러 벡터를 NTT 코어 및 INTT 코어를 통해 NTT 도메인에서 포인트-와이즈 곱셈기와 덧셈기를 이용하여 연산을 수행하고, 연산 결과는 컴프레스를 이용하여 암호문을 압축 및 인코딩하여 출력하는 암호화 프로세서; 및 상기 암호화 프로세서로부터 암호문을 수신하여 디컴프레스를 통해 암호문의 압축 해제 및 디코딩을 수행하고, 상기 키생성 프로세서로부터 비밀키를 수신하여 디코딩을 수행하고, NTT 코어 및 INTT 코어를 통해 NTT 도메인에서 포인트-와이즈 곱셈기와 뺄셈기를 이용하여 연산을 수행하고, 연산 결과는 메시지 디코더를 이용하여 원본 메시지를 출력하는 복호화 프로세서를 포함하고, 상기 암호화 프로세서는, 사용자가 입력한 메시지를 1비트 단위로 마스킹하는 메시지 인코더; 공개키를 수신하여 공개키를 역-직렬화하는 공개키 디코더; 공개키 디코더의 출력을 입력 받아 공개키 생성과 암호화에 필요한 다항식 행렬을 생성하는 거부 샘플러; 비밀키 생성과 암호화에 필요한 에러 계수를 생성하는 이항 샘플러; 이항 샘플러의 출력을 입력 받아 NTT 연산을 수행하는 NTT 코어; 거부 샘플러와 이항 샘플러의 값을 연산하는 포인트-와이즈 곱셈기 및 덧셈기; 포인트-와이즈 곱셈기를 통해 연산된 값을 입력 받아 역-NTT 연산을 수행하는 INTT 코어; 곱셈 연산 결과에 대해 몽고메리 리덕션 연산을 수행하는 MR1; 덧셈 연산 결과에 대해 바렛 리덕션 연산을 수행하는 MR2; 및 리덕션된 데이터를 압축 및 인코딩하여 암호문으로 출력하는 컴프레스를 포함하는 암호 프로세서 시스템
2 2
제1항에 있어서,상기 키생성 프로세서는, 의사난수를 생성하는 PRNG 코어; PRNG 코어에서 생성한 의사난수를 이용하여 공개키 생성 및 암호화에 필요한 다항식 행렬을 생성하는 거부 샘플러; PRNG 코어에서 생성한 의사난수를 이용하여 공개키 생성 및 비밀키 생성에 사용하기 위한 에러 계수를 생성하는 이항 샘플러; 이항 샘플러의 출력을 입력 받아 NTT 연산을 수행하는 NTT 코어; 연산 과정에 사용되는 포인트-와이즈 곱셈기 및 덧셈기; 및 연산된 결과를 직렬화하는 비밀키 인코더를 포함하는 암호 프로세서 시스템
3 3
삭제
4 4
제1항에 있어서,상기 복호화 프로세서는, 암호문을 수신하여 압축 해제 및 디코딩하는 암호문 디컴프레스; 비밀키를 수신하여 비밀키를 역-직렬화하는 비밀키 디코더; 암호문 디컴프레스의 출력을 입력 받아 NTT 연산을 수행하는 NTT 코어; 복호화 연산에 필요한 포인트-와이즈 곱셈기 및 뺄셈기; 포인트-와이즈 곱셈기를 통해 연산된 값을 입력 받아 역-NTT 연산을 수행하는 INTT 코어; 곱셈 연산 결과에 대해 몽고메리 리덕션 연산을 수행하는 MR1; 덧셈 연산 결과에 대해 바렛 리덕션 연산을 수행하는 MR2; 및 연산된 결과로 얻은 메시지의 마스크를 제거하는 메시지 디코더를 포함하는 암호 프로세서 시스템
5 5
제1항에 있어서,상기 PRNG 코어는 Keccak 알고리즘을 사용하는 SHA3로 샘플링의 입력 비트에 따라 출력 비트의 길이를 조정하고, 상기 거부 샘플러는 상기 PRNG 코어의 출력을 16비트 단위로 입력 받아 균일한 임의의 정수 modulo q 를 생성하는 모듈로서 19q보다 작은 값을 통과시켜 바렛 리덕션을 수행하도록 하고, 상기 이항 샘플러는 상기 PRNG 코어의 출력을 8비트 단위로 입력 받아 중심이항분포에 따라 계수 값을 생성하고, 상기 NTT 코어는 2-병렬 NTT 코어로서 총 7개의 스테이지(stage)를 포함하고, 각각의 스테이지는 PE(Processing Element)로 구성되고, 상기 포인트-와이즈 곱셈기는 베이스 곱셈기 및 누산기를 포함하는 암호 프로세서 시스템
6 6
제5항에 있어서, 상기 NTT 코어의 상기 PE는 입력 값과 ROM에 저장된 값과 곱셈연산 후 순서대로 몽고메리 리덕션, BU 연산, 바렛 리덕션 연산을 수행하여 출력하는 암호 프로세서 시스템
7 7
제6항에 있어서, 상기 INTT 코어의 PE는 NTT 코어의 PE와 반대되는 구조를 갖고 입력 값을 BU와 바렛 리덕션 연산한 값을 ROM에 저장된 값과 곱셈 연산 후 몽고메리 리덕션 연산을 수행하여 출력하는암호 프로세서 시스템
8 8
제5항에 있어서, 상기 베이스 곱셈기는 곱셈을 수행할 각각의 다항식으로부터 두 개씩 입력으로 받아 Bow-tie 곱셈을 수행하고, 상기 누산기는 행렬의 곱셈 방식에 따라 곱셈 연산을 수행한 후 각각의 다항식 열을 더해주는 역할을 수행하는암호 프로세서 시스템
9 9
제1항에 있어서, 상기 MR1은 몽고메리 리덕션을 통해 곱셈으로 커진 연산 결과를 줄이기 위해 NTT 코어 및 포인트-와이즈 곱셈기에 사용되고, MR2은 바렛 리덕션을 통해 덧셈으로 커진 연산 결과를 줄이기 위해 사용되는 암호 프로세서 시스템
10 10
키생성 프로세서가 PRNG 코어로 생성한 난수들을 거부 샘플러 및 이항 샘플러를 통해 다항식 행렬과 에러 벡터를 생성하고, 생성된 에러 벡터를 NTT 코어를 통해 NTT 도메인으로 변환한 후 포인트-와이즈 곱셈기와 덧셈기를 이용하여 연산을 수행하고, 연산 결과는 인코더를 이용하여 암호화 프로세서 및 복호화 프로세서에서 사용하기 위한 공개키 및 비밀키로 인코딩하여 출력하는 단계; 암호화 프로세서가 사용자가 암호화 하고자 하는 메시지와 상기 키생성 프로세서로부터 공개키를 수신하여 상기 메시지를 인코딩하고, 상기 공개키를 디코딩하여 거부 샘플러와 이항 샘플러를 통해 암호화에 필요한 다항식 행렬과 에러 벡터를 생성하고, 생성된 에러 벡터를 NTT 코어 및 INTT 코어를 통해 NTT 도메인에서 포인트-와이즈 곱셈기와 덧셈기를 이용하여 연산을 수행하고, 연산 결과는 컴프레스를 이용하여 암호문을 압축 및 인코딩하여 출력하는 단계; 및 복호화 프로세서 상기 암호화 프로세서로부터 암호문을 수신하여 디컴프레스를 통해 암호문의 압축 해제 및 디코딩을 수행하고, 상기 키생성 프로세서로부터 비밀키를 수신하여 디코딩을 수행하고, NTT 코어 및 INTT 코어를 통해 NTT 도메인에서 포인트-와이즈 곱셈기와 뺄셈기를 이용하여 연산을 수행하고, 연산 결과는 메시지 디코더를 이용하여 원본 메시지를 출력하는 단계를 포함하고, 상기 암호화 프로세서가 암호문을 압축 및 인코딩하여 출력하는 단계는, 메시지 인코더를 통해 사용자가 입력한 메시지를 1비트 단위로 마스킹하고; 공개키 디코더를 통해 공개키를 수신하여 공개키를 역-직렬화하고; 거부 샘플러를 통해 공개키 디코더의 출력을 입력 받아 공개키 생성과 암호화에 필요한 다항식 행렬을 생성하고; 이항 샘플러를 통해 비밀키 생성과 암호화에 필요한 에러 계수를 생성하고; NTT 코어를 통해 이항 샘플러의 출력을 입력 받아 NTT 연산을 수행하고; 포인트-와이즈 곱셈기 및 덧셈기를 통해 거부 샘플러와 이항 샘플러의 값을 연산하고; INTT 코어를 통해 상기 포인트-와이즈 곱셈기를 통해 연산된 값을 입력 받아 역-NTT 연산을 수행하고; MR1를 통해 상기 곱셈 연산 결과에 대해 몽고메리 리덕션 연산을 수행하고; MR2를 통해 상기 덧셈 연산 결과에 대해 바렛 리덕션 연산을 수행하고; 컴프레스를 통해 상기 리덕션된 데이터를 압축 및 인코딩하여 암호문으로 출력하는 암호화 방법
지정국 정보가 없습니다
패밀리정보가 없습니다
순번, 연구부처, 주관기관, 연구사업, 연구과제의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 국가R&D 연구정보 정보 표입니다.
순번 연구부처 주관기관 연구사업 연구과제
1 과학기술정보통신부 인하대학교 산학협력단 대학ICT연구센터육성지원사업 스마트 모빌리티를 위한 인공지능 시스템반도체 핵심 기술 개발 및 인력 양성
2 과학기술정보통신부 인하대학교 산학협력단 기초연구사업 고신뢰성 고성능 격자-기반 양자내성암호 하드웨어 아키텍처 연구
3 과학기술정보통신부 인하대학교 산학협력단 방송통신산업기술개발사업 HW지원 프라이버시 보장 암호데이터 고속처리 기술 개발