KR101975800B1 - 고속 스트림 암호 구현을 위한 병렬화 처리 방법 및 병렬화 시스템 - Google Patents

고속 스트림 암호 구현을 위한 병렬화 처리 방법 및 병렬화 시스템 Download PDF

Info

Publication number
KR101975800B1
KR101975800B1 KR1020170106622A KR20170106622A KR101975800B1 KR 101975800 B1 KR101975800 B1 KR 101975800B1 KR 1020170106622 A KR1020170106622 A KR 1020170106622A KR 20170106622 A KR20170106622 A KR 20170106622A KR 101975800 B1 KR101975800 B1 KR 101975800B1
Authority
KR
South Korea
Prior art keywords
lfsr
pingpong
function
present
xor
Prior art date
Application number
KR1020170106622A
Other languages
English (en)
Other versions
KR20190021635A (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 KR1020170106622A priority Critical patent/KR101975800B1/ko
Publication of KR20190021635A publication Critical patent/KR20190021635A/ko
Application granted granted Critical
Publication of KR101975800B1 publication Critical patent/KR101975800B1/ko

Links

Images

Classifications

    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 고속 스트림 암호 구현을 위한 병렬화 처리 방법 및 고속 스트림 암호 구현을 위한 병렬화 시스템에 관한 것이다. 본 발명은, 서로 다른 길이의 LFSR(linear feedback shift register)(LFSR 255, LFSR 257)을 사용하고, "클럭 조절 수열 발생기"와 "비선형 조합 함수 방식"을 사용하는 PingPong 256을 병렬로 나열하되, 출력을 담당하는 xor_function 함수는,
Figure 112017081548457-pat00007
Figure 112017081548457-pat00008
을 사용하는 것을 특징으로 한다.
이에 의해, PingPong 256 처리 구조를 병렬화로 변경함으로써, 고속 데이터 암·복호화 효율을 높일 수 있는 효과를 제공한다.
또한, 본 발명은, PingPong 256 처리 구조를 병렬화로 변경함으로써, 연산지연 시간을 줄일 수 있는 효과를 제공한다.
뿐만 아니라, 본 발명은, 종래의 PingPong 256의 입-출력 상관성은 양호한데 반해 캐리-출력간 상관 확률이 1/4로 편중되는 것을 개선함으로써, 입력과 출력간 각 메모리 상관 확률이 1/2로 나타나 상관 관계 특성을 양호하도록 할 수 있는 효과를 제공한다.

Description

고속 스트림 암호 구현을 위한 병렬화 처리 방법 및 병렬화 시스템{Parallel Processing Method and Parallelization System for High Speed Stream Cipher Implementation}
본 발명은 고속 스트림 암호 구현을 위한 병렬화 처리 방법 및 고속 스트림 암호 구현을 위한 병렬화 시스템에 관한 것으로, 보다 구체적으로는, 고속의 데이터 암호 통신을 위하여 소프트웨어 및 하드웨어 설계가 가능하도록 고려한 암호화 방식을 제공하도록 하기 위한 고속 스트림 암호 구현을 위한 병렬화 처리 방법 및 고속 스트림 암호 구현을 위한 병렬화 시스템에 관한 것이다.
도 1은 종래의 기술에 따른 PingPong 256 LFSR(linear feedback shift register) 함수 및 가변 클럭 함수 구조를 나타내는 도면이다. 도 2는 종래의 기술에 따른 PingPong 256 출력 함수 구조(도 2a는 소프트웨어 구조, 도 2b는 하드웨어 구조)를 나타내는 도면이다.
도 1 및 도 2를 참조하면, 종래의 기술에 따른 PingPong 256은 서로 다른 길이의 LFSR(LFSR 255, LFSR 257)을 사용하고, "클럭 조절 수열 발생기"와 "비선형 조합 함수 방식"을 사용한다. 따라서 레지스터인 LFSR의 길이에 따라 주기가 증가하고, "클럭 조절 수열 발생기"와 "비선형 조합 함수"의 영향으로 랜덤 특성이 좋아지고 선형 복잡도가 증가하게 된다.
또한, "클럭 조절 수열 발생기"가 서로 다른 레지스터 정보를 참조하므로 상관 면역도가 높아지고 키 수열 사이클이 비선형적인 출력을 통해 안전성을 가지게 된다.
이런 종래의 PingPong 256 LFSR의 합산 수열 발생기에서 입-출력 상관성은 양호한데 반해 캐리-출력간 상관 확률이 1/4로 편중되는 한계점이 있다.
다음으로, 도 2를 참조하면, PingPong 256은 LFSR과 가변 클럭으로 비선형성을 가진 결과를 이용하여 도 2와 같이 PingPong 256의 출력 함수를 통해 비선형성 결과를 출력하게 된다. 이때, 사용되는 두 개의 함수는 상관 면역도와 키 수열 사이클 수를 보장받기 위하여 사용한다.
그러나 이러한 PingPong 256 출력 함수 구조를 구동시키기 위해서는 레지스터를 매번 갱신해야 하고 갱신된 정보를 호출하여 연산해야만 하는 한계점이 있다.
이에 따라 해당 기술분야에 있어서는 PingPong 256에 대해서 병렬화하는 구조로 변경함으로써, 고속 데이터 암·복호화 효율을 높이고 연산지연 시간을 줄일 수 있도록 하기 위한 기술개발이 요구되고 있다.
국내 특허출원 출원번호 제10-1999-0013532호
본 발명은 상기의 문제점을 해결하기 위한 것으로, 난수에 해당하는 비트 스트림을 출력하여 데이터를 암·복호화하거나 사용자 또는 장비 인증에 사용할 수 있도록 하기 위한 고속 스트림 암호 구현을 위한 병렬화 처리 방법 및 고속 스트림 암호 구현을 위한 병렬화 시스템을 제공하기 위한 것이다.
또한, 본 발명은 병렬화 처리로 암·복호화에 따른 지연시간을 감소시킬 수 있도록 하기 위한 고속 스트림 암호 구현을 위한 병렬화 처리 방법 및 고속 스트림 암호 구현을 위한 병렬화 시스템을 제공하기 위한 것이다.
또한, 본 발명은 하드웨어로 구현이 가능하여 기존의 시스템에 연동하는 것으로 추가적인 암호화 장비의 적용에 대한 부하를 줄일 수 있도록 하기 위한 고속 스트림 암호 구현을 위한 병렬화 처리 방법 및 고속 스트림 암호 구현을 위한 병렬화 시스템을 제공하기 위한 것이다.
그러나 본 발명의 목적들은 상기에 언급된 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기의 목적을 달성하기 위해 본 발명의 실시예에 따른 고속 스트림 암호 구현을 위한 병렬화 처리 방법은, 서로 다른 길이의 LFSR(linear feedback shift register)(LFSR 255, LFSR 257)을 사용하고, "클럭 조절 수열 발생기"와 "비선형 조합 함수 방식"을 사용하는 PingPong 256을 병렬로 나열하되, 출력을 담당하는 xor_function 함수는,
Figure 112017081548457-pat00001
Figure 112017081548457-pat00002
을 사용하는 것을 특징으로 한다.
이때, 본 발명의 다른 실시예에 따른 고속 스트림 암호 구현을 위한 병렬화 처리 방법은, PingPong 256의 LFSR을 총 4개의 처리구역으로 나누고 초기값을 서로 다르게 설정하는 것을 특징으로 한다.
또한, 본 발명의 다른 실시예에 따른 고속 스트림 암호 구현을 위한 병렬화 처리 방법은, 레지스터인 LFSR의 길이에 따라 주기가 증가하고, "클럭 조절 수열 발생기"와 "비선형 조합 함수"의 영향으로 랜덤 특성이 좋아지고 선형 복잡도가 증가하는 것을 특징으로 한다.
상기의 목적을 달성하기 위해 본 발명의 실시예에 따른 고속 스트림 암호 구현을 위한 병렬화 시스템은, 4개의 고속 스트림 암호 구현을 위한 병렬화 시스템에 있어서, 4개의 PingPong 256을 병렬구조로 나열하고 각각의 lfsr과 xor_function을 서로 다른 함수들의 결과값과 연산하도록 구성하여 출력결과를 변경하는 것을 특징으로 한다.
또한, 본 발명의 다른 실시예에 따른 고속 스트림 암호 구현을 위한 병렬화 시스템에 있어서, 제 0 lfsr 255의 캐리값(c_out255)은 제 0 xor_function의 fa로 입력되며, 제 0 lfsr 255의 캐리값(c_out257)은 제 0 xor_function의 fb로 입력되는 것을 특징으로 한다.
또한, 본 발명의 또 다른 실시예에 따른 고속 스트림 암호 구현을 위한 병렬화 시스템에 있어서, 제 1 lfsr 255의 캐리값(c_out255)은 제 1 xor_function의 fa로 입력되며, 제1 lfsr 255의 캐리값(c_out257)은 제 1 xor_function의 fb로 입력되는 것을 특징으로 한다.
또한, 본 발명의 또 다른 실시예에 따른 고속 스트림 암호 구현을 위한 병렬화 시스템에 있어서, 제 2 lfsr 255의 캐리값(c_out255)은 제 2 xor_function의 fa로 입력되며, 제 2 lfsr 255의 캐리값(c_out257)은 제 2 xor_function의 fb로 입력되는 것을 특징으로 한다.
또한, 본 발명의 또 다른 실시예에 따른 고속 스트림 암호 구현을 위한 병렬화 시스템에 있어서, 제 3 lfsr 255의 캐리값(c_out255)은 제 3 xor_function의 fa로 입력되며, 제 3 lfsr 255의 캐리값(c_out257)은 제 3 xor_function의 fb로 입력되는 것을 특징으로 한다.
본 발명의 실시예에 따른 고속 스트림 암호 구현을 위한 병렬화 처리 방법 및 고속 스트림 암호 구현을 위한 병렬화 시스템은, PingPong 256 처리 구조를 병렬화로 변경함으로써, 고속 데이터 암·복호화 효율을 높일 수 있는 효과를 제공한다.
또한, 본 발명의 다른 실시예에 따른 고속 스트림 암호 구현을 위한 병렬화 처리 방법 및 고속 스트림 암호 구현을 위한 병렬화 시스템은, PingPong 256 처리 구조를 병렬화로 변경함으로써, 연산지연 시간을 줄일 수 있는 효과를 제공한다.
뿐만 아니라, 본 발명의 다른 실시예에 따른 고속 스트림 암호 구현을 위한 병렬화 처리 방법 및 고속 스트림 암호 구현을 위한 병렬화 시스템은, 종래의 PingPong 256의 입-출력 상관성은 양호한데 반해 캐리-출력간 상관 확률이 1/4로 편중되는 것을 개선함으로써, 입력과 출력간 각 메모리 상관 확률이 1/2로 나타나 상관 관계 특성을 양호하도록 할 수 있는 효과를 제공한다.
도 1은 종래의 기술에 따른 PingPong 256 LFSR(linear feedback shift registers) 함수 및 가변 클럭 함수 구조를 나타내는 도면이다.
도 2는 종래의 기술에 따른 PingPong 256 출력 함수 구조를 나타내는 도면이다.
도 3은 본 발명의 실시예에 따른 고속 스트림 암호 구현을 위한 병렬화 처리 방법을 제공하기 위한 가변 클럭 구조에 따른 LFSR 지연 문제를 나타내는 도면이다.
도 4는 본 발명의 실시예에 따른 고속 스트림 암호 구현을 위한 병렬화 처리 방법을 설명하기 위한 각각의 LFSR을 병렬로 피드백 받는 구조를 나타내는 도면이다.
도 5는 본 발명의 실시예에 따른 고속 스트림 암호 구현을 위한 병렬화 처리 방법을 설명하기 위한 변경된 xor_function 구조를 나타내는 도면이다.
도 6은 본 발명의 실시예에 따른 고속 스트림 암호 구현을 위한 병렬화 시스템의 PingPong 256 병렬화 구조를 나타내는 도면이다.
도 7은 본 발명의 실시예에 따른 고속 스트림 암호 구현을 위한 병렬화 시스템의 LFSR을 4개로 분할하여 처리할 경우를 나타내는 도면이다.
도 8은 본 발명의 실시예에 따른 고속 스트림 암호 구현을 위한 병렬화 처리 방법을 위한 4개의 병렬형 PingPong 256 하드웨어 구조를 나타내는 도면이다.
도 9는 도 8의 4개의 병렬형 PingPong 256 하드웨어 구조에 대한 시뮬레이션 결과(clk=10ns, 연산시간=1us)를 나타내는 도면이다.
도 10은 도 8의 4개의 병렬형 PingPong 256 하드웨어 구조에 대한 병렬 PingPong 256과 xor_function을 피드백 받지 않는 구조의 타이밍 시뮬레이션 결과(clk=10ns, 연산시간=10us)를 나타내는 도면이다.
도 11은 도 8의 4개의 병렬형 PingPong 256 하드웨어 구조에 대한 병렬 PingPong 256과 xor_function을 피드백 받는 구조의 타이밍 시뮬레이션 결과(clk=10ns, 연산시간=10us)를 나타내는 도면이다.
도 12는 도 8의 4개의 병렬형 PingPong 256 하드웨어 구조에 대한 병렬 PingPong 256의 xor_function 피드백에 따른 결과비교를 나타내는 도면이다.
이하, 본 발명의 바람직한 실시예의 상세한 설명은 첨부된 도면들을 참조하여 설명할 것이다. 하기에서 본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.
본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터 또는 신호를 '전송'하는 경우에는 구성요소는 다른 구성요소로 직접 상기 데이터 또는 신호를 전송할 수 있고, 적어도 하나의 또 다른 구성요소를 통하여 데이터 또는 신호를 다른 구성요소로 전송할 수 있음을 의미한다.
PingPong 256은 기본적으로 단일 비트 스트림으로 출력하는 구조이므로, 본 발명의 실시예에 따른 고속 스트림 암호 구현을 위한 병렬화 처리 방법 및 고속 스트림 암호 구현을 위한 병렬화 시스템에 대해서 단일 구조를 병렬구조로 변경하기 위하여 메모리를 사용하거나 구조를 변경하여 암호 강도를 재조정하고자 한다.
도 3은 본 발명의 실시예에 따른 고속 스트림 암호 구현을 위한 병렬화 처리 방법을 제공하기 위한 가변 클럭 구조에 따른 LFSR 지연 문제를 나타내는 도면이다. 도 3을 참조하면, PingPong 256은 가변 클럭 구조로 되어 있기 때문에 소프트웨어 환경에서 구동하는 것은 큰 어려움이 없다. 하지만, 하드웨어의 경우 도 3과 같이 클럭 지연이 최대 3번까지 발생하고 이로 인하여 강제적으로 지연되도록 구성해야만 한다.
본 발명에서는 이를 정상적으로 동기화하기 위해서 하드웨어의 클럭 발생기를 2개 만들거나 연산 구조를 개선하는 것으로 지연시간을 줄이도록 한다.
도 4는 본 발명의 실시예에 따른 고속 스트림 암호 구현을 위한 병렬화 처리 방법을 설명하기 위한 각각의 LFSR을 병렬로 피드백 받는 구조를 나타내는 도면이다. 도 4와 같은 피드백 구조를 제공시 PingPong 256은 1 클럭에 1 비트 출력으로 최대 250Mbps까지 가능하다. PingPong 256은 비선형주기를 출력하는 함수이므로 유사한 초기값에도 서로 다른 출력을 보이게 된다. 이를 활용하여 도 4와 같이 다수의 PingPong 256을 병렬로 나열하고 서로 다른 PingPong 256의 결과를 피드백 받는 것으로 다수의 PingPong 256 출력을 예측할 수 없게 만들 수 있다. 즉, 도 4와 같이, N-7, N-6, N-5, N-4, N-3, N-2, N-1, N으로 이루어지는 경우, N-7은 N-2, N-6은 N-1, N-5는 N, N-4는 N-3으로 피드백되며, N-7, N-6, N-5, N-4이 하나의 열, N-3, N-2, N-1, N도 다른 하나의 열을 구성할 수 있다.
도 5는 본 발명의 실시예에 따른 고속 스트림 암호 구현을 위한 병렬화 처리 방법을 설명하기 위한 변경된 xor_function 구조를 나타내는 도면이다. 도 5를 참조하면, 기존의 PingPong 256에서 사용된 함수는 도 4와 같은 구조를 적용하는 것이 어렵다. 따라서, 도 5와 같이 출력을 담당하는 xor_function 함수의 구조를 하기의 [수학식 1], [수학식 2]와 같이 변경하였다.
Figure 112017081548457-pat00003
Figure 112017081548457-pat00004
또한, 스트림 암호의 주기를 보장받기 위하여 구조 변경을 최소화하기 위해 도 4와 같이 PingPong 256의 LFSR을 총 4개의 처리구역으로 나누고 초기값을 서로 다르게 설정하는 것으로 구성해 보았다. 연산 결과, 모든 LFSR의 출력 결과가 난수에 가까운 것을 확인할 수 있다.
도 6은 본 발명의 실시예에 따른 고속 스트림 암호 구현을 위한 병렬화 시스템의 PingPong 256 병렬화 구조를 나타내는 도면이다. 도 7은 본 발명의 실시예에 따른 고속 스트림 암호 구현을 위한 병렬화 시스템의 LFSR을 4개로 분할하여 처리할 경우를 나타내는 도면이다. 도 6을 참조하면, 상술한 도 5와 같은 배타적 논리합(xor_function)을 총 4개의 구간으로 나누어 연결한다. 단 이전의 PingPong 256과는 달리 각 처리구역별 캐리값을 피드백 받는 것으로 기존의 구조와의 차이를 줄이는 방식으로 하였다. 그 결과가 도 6의 구조에 해당한다.
한편, 도 8은 본 발명의 실시예에 따른 고속 스트림 암호 구현을 위한 병렬화 처리 방법을 위한 4개의 병렬형 PingPong 256 하드웨어 구조를 나타내는 도면이다. 도 8을 참조하면, 4개의 PingPong 256을 병렬구조로 나열하고 각각의 lfsr과 xor_function을 서로 다른 함수들의 결과값과 연산하도록 구성하여 출력결과를 바꾸었다. 도 8을 참조하면, 제 0 lfsr 255의 캐리값(c_out255)은 제 0 xor_function의 fa로 입력되며, 제 0 lfsr 255의 캐리값(c_out257)은 제 0 xor_function의 fb로 입력된다. 또한, 제 1 lfsr 255의 캐리값(c_out255)은 제 1 xor_function의 fa로 입력되며, 제 1 lfsr 255의 캐리값(c_out257)은 제 1 xor_function의 fb로 입력된다. 또한, 제 2 lfsr 255의 캐리값(c_out255)은 제 2 xor_function의 fa로 입력되며, 제 2 lfsr 255의 캐리값(c_out257)은 제 2 xor_function의 fb로 입력된다. 또한, 제 3 lfsr 255의 캐리값(c_out255)은 제 3 xor_function의 fa로 입력되며, 제 3 lfsr 255의 캐리값(c_out257)은 제 3 xor_function의 fb로 입력된다.
도 4는 본 발명의 실시예에 따른 고속 스트림 암호 구현을 위한 병렬화 처리 방법을 설명하기 위한 각각의 LFSR을 병렬로 피드백 받는 구조를 나타내는 도면이다
그리고, 도 4의 LFSR 병력의 피드백 구조를 살펴보면, 또한, 제 0 lfsr 255의 fb_0, fb_1은 제 1 lfsr 257로 피드백되며, 제 1 lfsr 255의 fb_0, fb_1은 제 2 lfsr 257로 피드백되며, 제 2 lfsr 255의 fb_0, fb_1은 제 3 lfsr 257로 피드백되며, 제 3 lfsr 255의 fb_0, fb_1은 제 0 lfsr 257로 피드백된다.
그리고, 제 0 lfsr 257의 fa_0, fa_1은 제 1 lfsr 255로 피드백되며, 제 1 lfsr 257의 fa_0, fa_1은 제 2 lfsr 255로 피드백되며, 제 2 lfsr 257의 fa_0, fa_1은 제 3 lfsr 255로 피드백되며, 제 3 lfsr 257의 fa_0, fa_1은 제 0 lfsr 255로 피드백된다.
도 9는 도 8의 4개의 병렬형 PingPong 256 하드웨어 구조에 대한 시뮬레이션 결과(clk=10ns, 연산시간=1us)를 나타내는 도면이다. 도 10은 도 8의 4개의 병렬형 PingPong 256 하드웨어 구조에 대한 병렬 PingPong 256과 xor_function을 피드백 받지 않는 구조의 타이밍 시뮬레이션 결과(clk=10ns, 연산시간=10us)를 나타내는 도면이다.
도 9 및 도 10을 참조하면, 시뮬레이션 환경을 통해 기본 클럭을 10ns로 설정하고 연산시간을 1us까지로 설정하고 타이밍 시뮬레이션으로 xor_function을 피드백 받지 않는 구조를 통해 측정한 결과가 도 9와 같았다. 추가적으로 기본 클럭을 10ns로 설정하고 연산시간을 10us까지 증가시켜 타이밍 시뮬레이션으로 측정한 결과 도 10과 같이 각각의 서로 다른 출력을 확인할 수 있었다.
한편, 도 11은 도 8의 4개의 병렬형 PingPong 256 하드웨어 구조에 대한 병렬 PingPong 256과 xor_function을 피드백 받는 구조의 타이밍 시뮬레이션 결과(clk=10ns, 연산시간=10us)를 나타내는 도면이다.
도 11을 참조하면, xor_function을 피드백 받는 구조로 변경하고 기본 클럭을 10ns로 연산시간을 10us로 설정하여 실험한 결과가 도 11과 같다.
도 12는 도 8의 4개의 병렬형 PingPong 256 하드웨어 구조에 대한 병렬 PingPong 256의 xor_function 피드백에 따른 결과비교를 나타내는 도면으로, 도 12(a)는 xor_function 피드백 미적용, 도 12(b)는 xor_function 피드백 적용을 나타낸다. 즉, 도 10과 도 11의 앞 부분 일부를 확대한 도 12를 참조하면, 연산의 시작이 얼마 진행되지 않은 지점부터 결과가 다른 것을 확인할 수 있다.
위의 결과를 통해 기본 클럭이 10ns인 하드웨어에서 4개의 PingPong 256이 동시에 병렬로 연산되면 100Mbps를 4개로 동시에 연산한 것과 같은 효과를 보이게 된다. 따라서 연산속도는 400Mbps로 향상될 수 있다.
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.

Claims (8)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 4개의 고속 스트림 암호 구현을 위한 병렬화 시스템에 있어서,
    4개의 PingPong 256을 병렬구조로 나열하고 각각의 lfsr과 xor_function을 서로 다른 함수들의 결과값과 연산하도록 구성하여 출력결과를 변경하고,
    제 0 lfsr 255의 캐리값(c_out255)은 제 0 xor_function의 fa로 입력되며, 제 0 lfsr 255의 캐리값(c_out257)은 제 0 xor_function의 fb로 입력되고,
    제 1 lfsr 255의 캐리값(c_out255)은 제 1 xor_function의 fa로 입력되며, 제1 lfsr 255의 캐리값(c_out257)은 제 1 xor_function의 fb로 입력되고,
    제 2 lfsr 255의 캐리값(c_out255)은 제 2 xor_function의 fa로 입력되며, 제 2 lfsr 255의 캐리값(c_out257)은 제 2 xor_function의 fb로 입력되고,
    제 3 lfsr 255의 캐리값(c_out255)은 제 3 xor_function의 fa로 입력되며, 제 3 lfsr 255의 캐리값(c_out257)은 제 3 xor_function의 fb로 입력되고,
    제 0 lfsr 255의 fb_0, fb_1은 제 1 lfsr 257로 피드백되며, 제 1 lfsr 255의 fb_0, fb_1은 제 2 lfsr 257로 피드백되며, 제 2 lfsr 255의 fb_0, fb_1은 제 3 lfsr 257로 피드백되며, 제 3 lfsr 255의 fb_0, fb_1은 제 0 lfsr 257로 피드백되고,
    제 0 lfsr 257의 fa_0, fa_1은 제 1 lfsr 255로 피드백되며, 제 1 lfsr 257의 fa_0, fa_1은 제 2 lfsr 255로 피드백되며, 제 2 lfsr 257의 fa_0, fa_1은 제 3 lfsr 255로 피드백되며, 제 3 lfsr 257의 fa_0, fa_1은 제 0 lfsr 255로 피드백되는 것을 특징으로 하는 고속 스트림 암호 구현을 위한 병렬화 시스템.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
KR1020170106622A 2017-08-23 2017-08-23 고속 스트림 암호 구현을 위한 병렬화 처리 방법 및 병렬화 시스템 KR101975800B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170106622A KR101975800B1 (ko) 2017-08-23 2017-08-23 고속 스트림 암호 구현을 위한 병렬화 처리 방법 및 병렬화 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170106622A KR101975800B1 (ko) 2017-08-23 2017-08-23 고속 스트림 암호 구현을 위한 병렬화 처리 방법 및 병렬화 시스템

Publications (2)

Publication Number Publication Date
KR20190021635A KR20190021635A (ko) 2019-03-06
KR101975800B1 true KR101975800B1 (ko) 2019-05-08

Family

ID=65761445

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170106622A KR101975800B1 (ko) 2017-08-23 2017-08-23 고속 스트림 암호 구현을 위한 병렬화 처리 방법 및 병렬화 시스템

Country Status (1)

Country Link
KR (1) KR101975800B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022213285A1 (de) 2021-12-08 2023-06-15 Hyundai Autoever Corp. Vorrichtung und Verfahren zur Speicherung und Verschlüsselung von Daten auf der Basis von adaptivem Autosar

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111901115B (zh) * 2020-07-27 2022-03-18 合肥工业大学 一种多配置模式的simon算法加密电路

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016103799A (ja) 2014-11-28 2016-06-02 ソニー株式会社 暗号処理装置、および暗号処理方法、並びにプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69841191D1 (de) 1997-07-02 2009-11-12 Sharp Kk Verfahren und Vorrichtung zur Steuerung einer Aufzeichnungsbedingung und optisches Aufzeichnungsmedium für optisches Aufzeichnungsgerät
KR100885994B1 (ko) * 2006-11-09 2009-03-03 한국전자통신연구원 비선형 필터링된 t함수에 기반한 스트림 암호화 장치 및방법
KR100931581B1 (ko) * 2007-12-06 2009-12-14 한국전자통신연구원 Tsc-4 스트림 암호 연산을 수행하기 위한 장치
KR101131167B1 (ko) * 2008-02-20 2012-04-12 연세대학교 산학협력단 스트림 암호를 위한 키수열 발생 방법 및 장치. 블록 암호를 위한 S-box 및 상기 S-box에서의 치환 방법
KR20110026939A (ko) * 2009-09-09 2011-03-16 부경대학교 산학협력단 고속 스트림 암호 산술 쉬프트 레지스트 스트림 암호16 설계 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016103799A (ja) 2014-11-28 2016-06-02 ソニー株式会社 暗号処理装置、および暗号処理方法、並びにプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022213285A1 (de) 2021-12-08 2023-06-15 Hyundai Autoever Corp. Vorrichtung und Verfahren zur Speicherung und Verschlüsselung von Daten auf der Basis von adaptivem Autosar

Also Published As

Publication number Publication date
KR20190021635A (ko) 2019-03-06

Similar Documents

Publication Publication Date Title
JP2937919B2 (ja) 疑似乱数発生回路
US7979482B2 (en) Random number generator configured to combine states of memory cells
US3911330A (en) Nonlinear nonsingular feedback shift registers
US7142675B2 (en) Sequence generator and method of generating a pseudo random sequence
KR101987141B1 (ko) 난수 발생기
US7860912B1 (en) Random number generator with improved uniformity for networking
US20100036899A1 (en) Bit generator
RU2008125109A (ru) Многоканальное высокоскоростное шифрование и дешифрование
KR101975800B1 (ko) 고속 스트림 암호 구현을 위한 병렬화 처리 방법 및 병렬화 시스템
Jain et al. Optimization of advanced encryption standard algorithm (AES) on field programmable gate array (FPGA)
US11561769B2 (en) Random number generator including a plurality of ring oscillators
JP5171420B2 (ja) 擬似乱数生成装置
Deb et al. Design and analysis of LFSR-based stream cipher
US20100287224A1 (en) Pseudo-random bit sequence generator
GB2510448A (en) Random number generator circuit with bit-level seed input
WO2016128463A1 (en) Method to generate high quality random mask from small entropy source
JP4148807B2 (ja) 乱数生成装置および情報処理装置
JPH11224183A (ja) 擬似乱数発生装置
Shaker et al. New design of efficient non-linear stream key generator
Alshammari et al. Secure digital communication based on Lorenz stream cipher
Chugunkov et al. New class of pseudorandom number generators for logic encryption realization
US8184034B2 (en) Code sequence generator
Thammannagowda et al. Low area FPGA implementation of PRNG-LCC-CSLA architecture based on chaotic circuit
Lin et al. VLSI implementation of a non-linear feedback shift register for high-speed cryptography applications
Roy et al. New constructions of T-function

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant