KR100255357B1 - 동기식 스트림 암호의 동기방법 및 그 장치 - Google Patents

동기식 스트림 암호의 동기방법 및 그 장치 Download PDF

Info

Publication number
KR100255357B1
KR100255357B1 KR1019970038815A KR19970038815A KR100255357B1 KR 100255357 B1 KR100255357 B1 KR 100255357B1 KR 1019970038815 A KR1019970038815 A KR 1019970038815A KR 19970038815 A KR19970038815 A KR 19970038815A KR 100255357 B1 KR100255357 B1 KR 100255357B1
Authority
KR
South Korea
Prior art keywords
block
mixed
shift register
bits
ciphertext
Prior art date
Application number
KR1019970038815A
Other languages
English (en)
Other versions
KR19990016296A (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 KR1019970038815A priority Critical patent/KR100255357B1/ko
Publication of KR19990016296A publication Critical patent/KR19990016296A/ko
Application granted granted Critical
Publication of KR100255357B1 publication Critical patent/KR100255357B1/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
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

본 발명은 수신 데이터 중에 “0”이 소정비트 이상 연속되는 것을 억제하여 수신클럭을 정확히 복구할 수 있게 함으로써 수신 데이터를 정상적으로 복호할 수 있게한 동기식 스트림 암호의 동기방법 및 그 장치에 관한 것이다. 일반적으로 디지탈 데이터 신호를 암호화 하려면 디지탈 데이터에 균일한 확률분포를 가지는 2진 난수열을 혼합시키는데, 그 출력되는 암호화 데이터는 “1”, “0”이 균일하게 분포되는 랜덤니스(Randomness)특성을 갖게된다. 그러나, 상기 암호화 방식을 T1-PCM 회선에 적용하게 되면 수신 데이터중 과도한 연속 “0”이 나타날 수 있으며, 이로 인하여 수신클럭 재생이 불안정하게 되는 문제가 있으므로, 암호화 후에도 “0”이 소정비트 이상 연속되는 것을 억제하여야 한다. 따라서, 본 발명은 평문 블록을 난수열 블록과 혼합하여, 그 혼합 블록의 모든 비트 및 상기 평문 블록의 모든 비트가 “0”이 아닌 경우에는 상피 혼합 블록을 암호문 블록으로 송신하고, 상기 혼합 블록의 모든 비트만이 “0”인 경우에는 그 혼합 블록 대신에 상기 평문 블록을 암호문 블록으로 송신하며 , 상기 평문 블록의 모든 비트가 “0”인 경우에는 전,후 블록을 포함한 3개의 혼합 블록을 이전 평문 블록의 “1”이 시작되는 비트로부터 이후 평문 블록의 “1”이 시작되는 비트까지로 부분 대체하여 암호문 블록으로 송신하고, 상기 송신된 암호문 블록을 수신받아 난수열 블록과 혼합하여, 그 혼합 블록의 모든 비트 및 상기 암호문 블록의 모든 비트가 “0”이 아닌 경우에는 상기 혼합 블록을 복호문 블록으로 출력하고, 상기 혼합 블록의 모든 비트만이 “0”인 경우에는 그 혼합 블록 대신에 그에 대응하는 상기 암호문 블록을 복호문 블록으로 출력하며, 상기 암호문 블록의 모든 비트가 “0”인 경우에는 전,후 블록을 포함한 3개의 혼합 블록을 이전 암호문 블록의 “1”이 시작되는 비트로 부터 이후 암호문 블록의 “1”이 시작되는 비트까지로 부분 대체하여 복호문 블록으로 출력하게 함으로써, 평문 블록의 모든 비트가 “0”이 아니라는 가정이 필요없이 암호화 후에도 “0”이 소정비트 이상 연속되는 것을 억제할 수 있고, 채널오류가 발생되더라도 에러확산을 최소화할 수 있게한 것이다.

Description

동기식 스트림 암호의 동기방법 및 그 장치
본 발명은 디지탈 데이터 신호를 암호화하여 송,수신하는 동기식 스트림 암호(Synchronous stream cipher)방법에 관한 것으로, 특히 수신 데이터중에 “0”이 소정비트 이상 연속되는 것을 억제하여 수신클럭을 복구할 수 있게 함으로써 수신데이터를 정상적으로 복호할 수 있게한 동기식 스트림 암호의 동기방법 및 그 장치에 관한 것이다.
디지탈 통신에서 그 성능은 수신측에서 클럭신호를 얼마나 정확하게 복구할 수 있는가에 달려 있으며, 일반적으로 데이터 천이(transition)에 따른 클럭 정보로 부터 위상 고정루프(Phase Locked Loop)를 이용하여 클럭신호를 복원한다.
그러나, 송신 데이터중에 천이가 없을 경우 즉, “0” 또는 “1”이 연속할 경우에는 수신측에서 클럭복구가 불가능해지게 된다. 따라서 피씨엠(PCM)방식에서는 음성 코 ELD(coding)시에 “0”이 연속하여 15개이상 억제되도록 특별한 제약을 가하고 있을 뿐만 아니라, 유선전송중계시 에이엠아이(AMI : Alternate Marked Inversion) 방식의 라인(line)코딩을 이용하여 연속 “1”에 대한 대책이 있으므로 완벽한 클럭재생대책이 강구되어 있다고 볼 수 있다.
제1도는 종래의 동기식 스트림 암호 송,수신 계통도로서, 이에 도시된 바와같이 디지탈 평문 데이터에 송신 난수열 발생기(1)로 부터 균일한 확률분포를 갖게 발생되는 난수열 데이터를 합산기(2)를 통해 혼합하여 암호문 데이터로 송신하고, 이와같이 송신되어 수신된 암호문 데이터에 수신 난수열 발생기(3)로 부터 균일한 확률분포를 갖게 발생되는 난수열 데이터를 합산기(4)를 통해 혼합하여 디지탈 평문 데이터로 복호하게 구성되어 있다. 따라서, 상기 송신되는 암호문 데이터는 “1”과 “0”이 균일하게 분포되는 랜덤니스(Randomness)특성을 갖게된다.
이러한 암호화 방식을 T1 - PCM회선에 적용하게 되면, 그 암호문 데이터 출력에 K비트 연속 “0”현상이 나타날 확률은 2-K로 되고, 이에따라 수신 데이터중 “0”이 연속으로 나타날 때 클럭재생이 불안정하게 되는 문제점이 있었다. 일예로 PCM 중계기는 15개까지의 “0”연속에 견디도록 설계되어 있으므로, 클럭재생이 안정되게 이루어지기 위해서는 상기 암호화된 후에도 15개이상의 “0”연속을 억제할 수 있는 암호화 방식이 필요하게 된다.
따라서, 본 발명은 평문 데이터 블록에서 연속 “0”억제가정을 만족하지 않더라도 암호문 데이터 블록에 K비트이상의 연속 “0”은 절대로 허용하지 않음으로써 수신클럭을 정확히 복구하여 수신 데이터를 정상적으로 복호할 수 있고, 체결오류가 발생되더라도 에러확산을 최소화시킬 수 있게한 동기식 스트림 암호의 동기방법 및 그 장치를 제공함에 그 목적이 있다.
제1도는 종래의 동기식 스트림 암호 송,수신 계통도.
제2도는 본 발명의 동기식 스트림 암호 송,수신 계통도.
제3(a)도 및 제3(b)도는 본 발명의 동기식 스트림 암호 동기장치 블록도.
* 도면의 주요부분에 대한 부호의 설명
1 : 송신 난수열 발생기 2,4 : 합산기
3 : 수신 난수열 발생기
501, 502, 505, 506, 601. 602, 605, 606 : 이동 레지스터
503, 504, 603, 604 : 0 검출부 507, 607 : 중앙처리장치
508, 608 : 스위치
이와같은 본 발명의 목적은 평문 블록에 송신 난수열 블록을 혼합하여, 그 혼합 블록의 모든 비트가 “0”인가를 검출함과 아울러 상기 평문 블록의 모든 비트가 “0”인가를 검출하고, 그 검출결과 혼합 블록의 모든 비트 및 평문 블록의 모든 비트가 “0”이 아닌 경우에는 상기 혼합 블록을 암호문 블록으로 정상 송신하고, 상기 혼합 블록의 모든 비트만이 “0”인 경우에는 그 혼합 블록에 대응되는 상기 평문 블록을 암호문 블록으로 대체 송신하며, 상기 평문 블록의 모든 비트가 “0”인 경우에는 이전 평문 블록의 “1”이 시작되는 비트로 부터 상위부분, 그 평문 블록, 이후 평문 블록의 “1”이 시작되는 비트까지의 하위부분을 암호문 블록으로 대체 송신하며, 상기 송신되어 수신된 암호문 블록에 수신 난수열 블록을 혼합하여, 그 혼합 블록의 모든 비트가 “0”인가를 검출함과 아울러 상기 수신된 암호문 블록의 모든 비트가 “0”인가를 검출하고, 그 검출결과 혼합 블록의 모든 비트 및 암호문 블록의 모든 비트가 “0”이 아닌 경우에는 상기 혼합 블록을 복호문 블록으로 정상 출력하고, 상기 혼합 블록의 모든 비트만이 “0”인 경우에는 그 혼합 블록에 대응되는 상기 암호문 블록을 복호문 블록으로 대체 출력하며, 상기 암호문 블록의 모든 비트가 “0”인 경우에는 이전 암호문 블록의 “1”이 시작되는 비트로 부터 상위부분, 그 암호문 블록, 이후 암호문 블록의 “1”이 시작되는 비트까지의 하위부분을 복호문 블록으로 대체 출력함으로써 달성되는 것으로, 이를 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.
제2도는 본 발명의 동기식 스트림 암호 송,수신 계통도로서, 이에 도시한 바와같이 평문 블록을 송신 난수열 발생기(1)의 난수열 블록과 혼합하는 합산기(2)와, 그 합산기(2)의 혼합 블록과 상기 평문 블록을 입력받아, 그 혼합 블록의 모든 비트가 “0”인가를 검출함과 아울러 그 평문 블록의 모든 비트가 “0”인가를 검출하여, 상기 혼합 블록의 모든 비트 및 평문 블록의 모든 비트가 “0”이 아닌 경우에 정상적으로 상기 혼합 블록을 암호문 블록으로 송신하되, 상기 혼합 블록의 모든 비트만이 “0”인 경우에는 그 혼합 블록 대신에 그에 대응하는 상기 평문 블록을 암호문 블록으로 대체하여 송신하고, 상기 평문 블록의 모든 비트가 “0”인 경우에는 혼합 블록 대신에 이전 평문 블록의 “1”이 시작되는 비트로 부터 상위부분, 그 평문 블록, 이후 평문 블록의 “1”이 시작되는 비트까지의 하위부분을 암호문 블록으로 대체하여 송신하는 0 검출 및 대체부(5)와, 상기 송신되어 수신된 암호문 블록을 수신 난수열 발생기(3)의 난수열 블록과 혼합하는 합산기(4)와, 그 합산기(4)의 혼합 블록과 상기 수신된 암호문 블록을 입력받아, 그 혼합 블록의 모든 비트가 “0”인가를 검출함과 아울러 암호문 블록의 모든 비트가 “0”인가를 검출하여, 상기 혼합 블록의 모든 비트 및 암호문 블록의 모든 비트가 “0”이 아닌 경우에 정상적으로 상기 혼합블록을 복호문 블록으로 출력하되, 상기 혼합 블록의 모든 비트만이 “0”인 경우에는 그 혼합 블록 대신에 그에 대응하는 상기 암호문 블록을 복호문 블록으로 대체하여 출력하고, 상기 암호문 블록의 모든 비트가 “0”인 경우에는 혼합 블록 대신에 이전 암호문 블록의 “1”이 시작되는 비트로 부터 상위부분, 그 암호문 블록, 이후 암호문 블록의 “1”이 시작되는 비트까지의 하위부분을 복호문 블록으로 대체하여 출력하는 0 검출 및 대체부(6)로 구성한다.
편의상 n비트 평문 블록, 난수열 블록, 암호문 블록 등을 다음과 같이 두며, 이때 블록크기의 선택은 n=[(k+1)/2]이고,(X)는 X를 넘지 않는 최대정수를 의미한다.
i번째 평문 블록 Pi : (Pin, Pin+1‥‥, Pin+n-1)
i번째 난수열 블록 Ki : (Kin, Kin+1‥‥‥, Kin+n-1)
i번째 암호문 블록 Ci : (Cin, Cin+1‥‥‥, Cin+n-1)
i번째 복호문 블록 Qi : (Qin, Qin+1‥‥‥, Qin+n-1)
벡터 0 : (0,0,‥‥‥,0)
벡터 1 : (0,0,‥‥‥,1)
제3(a)도 및 제3(b)도는 본 발명의 동기식 스트림 암호 동기장치 블록도로서, 이 제3(a)도에 도시한 바와같이 평문 블록(Pi)을 난수열 블록(Ki)과 혼합 출력하는 합산기(2)와, 상기 평문 블록(Pi)을 시스템 클럭에 동기를 맞춰 저장 출력하는 이동 레지스터(501)와, 상기 합산기(2)의 혼합 블록(Pi
Figure kpo00001
Ki)을 시스템 클럭에 동기를 맞춰 저장 출력하는 이동 레지스터(502)와, 상기 이동 레지스터(501)의 평문 블록(Pi) 모든 비트가 “0”인가를 검출하는 0 검출부(503)와, 상기 이동 레지스터(502)의 혼합 블록(Pi
Figure kpo00002
Ki) 모든 비트가 “0”인가를 검출하는 0 검출부(504)와, 상기 이동 레지스터(501)에서 출력되는 이전 평문 블록(Pi - 1)을 시스템 클럭에 동기를 맞춰 저장 출력하는 이동 레지스터(505)와, 상기 이동 레지스터(502)에서 출력되는 이전 혼합 블록(Pi-1
Figure kpo00003
Ki-1)을 시스템 클럭에 동기를 맞춰 저장 출력하는 이동 레지스터(306)와, 상기 0 검출부(503),(504)의 0 검출신호(DT1),(DT2)를 입력받음과 아울러 상기 이동 레지스터(505)에 저장된 평문 블록(Pi - 1)을 입력받아, 상기 0 검출신호(DT1),(DT2)가 어느 하나도 출력되지 않는 상태에서는 상기 이동 레지스터(506)의 이전 혼합 블록(Pi-1
Figure kpo00004
Ki-1)을 선택하여 암호문 블록(Ci - 1)으로 송신하고, 상기 0 검출신호(DT2)만이 출력되는 상태에서는 상기 이동 레지스터(506)의 이전 혼합 블록(Pi-1
Figure kpo00005
Ki-1)을 선택하여 암호문 블록(Ci - 1)으로 송신하고 이후 이동 레지스터(505)에 저장된 평문 블록(Pi)을 선택하여 암호문 블록(Ci)으로 송신하며, 상기 0 검출신호(DT1)가 출력되는 상태에서는 이동 레지스터(505)의 이전 평문 블록(Pi - 1)중 “1”이 시작되는 비트로 부터 상위 부분 및 이동 레지스터(506)의 이전 혼합 블록(Pi-1
Figure kpo00006
Ki-1)중 상기 상위 부분을 제외한 하위부분을 선택하여 암호문 블록(Ci - 1)으로 송신하고, 이후, 상기 이동 레지스터(505)에 저장되는 평문 블록(Pi)을 선택하여 암호문 블록(Ci)으로 송신하며, 이후 상기 이동 레지스터(505)에 저장되는 평문 블록(Pi+1)중 “1”이 시작되는 비트까지의 하위부분 및 이동 레지스터(506)의 혼합 블록(Pi+1
Figure kpo00007
Ki+1)중 상기 하위부분을 제외한 상위부분을 선택하여 암호문 블록(Ci+1)으로 송신하는 중앙처리장치(507) 및 스위치(508)로 송신단을 구성한다.
또한 제3(b)도에 도시한 바와같이 암호문 블록(Ci)을 난수열 블록(Ki)파 혼합 출력하는 합산기(4)와, 상기 암호문 블록(Ci)과 상기 합산기(4)의 혼합 블록(Ci
Figure kpo00008
Ki)을 시스템 클럭에 동기를 맞춰 각기 저장 출력하는 이동 레지스터(601),(602)와. 상기 이동 레지스터(601),(602)의 암호문 블록(Ci) 및 혼합 블록(Ci
Figure kpo00009
Ki) 모든 비트가 “0”인가를 각기 검출하는 0 검출부(603),(604)와, 상기 이동 레지스터(601),(602)에서 출력되는 이전 암호문 블록(Ci - 1) 및 이전 혼합 블록(Ci-1
Figure kpo00010
Ki-1)을 시스템 클럭에 동기를 맞춰 각기 저장 출력하는 이동 레지스터(605),(606)와, 상기 0 검출부(603),(604)의 0 검출신호(DT1),(DT2)를 입력받음과 아울러 상기 이동 레지스터(605)에 저장된 암호문 블록(Ci - 1)을 입력받아, 상기 0 검출신호(DT1),(DT2)가 어느하나도 출력되지 않는 상태에서는 상기 이동 레지스터(606)의 이전 혼합 블록(Ci-1
Figure kpo00011
Ki-1)을 선택하여 복호문 블록(Qi - 1)으로 출력하고, 상기 0 검출신호(DT2)만이 출력되는 상태에서는 상기 이동 레지스터(506)의 이전 혼합 블록(Ci-1
Figure kpo00012
Ki-1)을 선택하여 복호문 블록(Qi - 1)으로 출력하고 이후 이동 레지스터(605)에 저장된 암호문 블록(Ci)을 선택하여 복호문 블록(Qi)으로 출력하며, 상기 0 검출신호(DT1)가 출력되는 상태에서는 상기 이동 레지스터(605)의 이전 암호문 블록(Ci - 1)중 “1”이 시작되는 비트로부터 상위부분 및 이동 레지스터(606)의 이전 혼합 블록(Ci-1
Figure kpo00013
Ki-1)중 상기 상위부분을 제외한 하위부분을 선택하여 복호문 블록(Qi - 1)으로 출력하고, 이후 이동 레지스터(605)에 저장되는 암호문 블록(Ci)을 선택하여 복호문 블록(Qi)으로 출력하며, 이후 상기 이동 레지스터(605)에 저장되는 암호문 블록(Ci+1)중 “1”이 시작되는 비트까지의 하위부분 및 이동 레지스터(606)에 저장되는 혼합 블록(Ci-1
Figure kpo00014
Ki-1)중 상기 하위부분을 제외한 상위부분을 선택하여 복호문 블록(Qi+1)으로 출력하는 중앙처리장치(607) 및 스위치(608)로 수신단을 구성한다.
상기에서 합산기(2),(4)는 각기 비트별로 배타적 오아 조합하는 익스클루시브 오아게이트이고, 0 검출부(503),(504),(603),(604)는 이동 레지스터(501),(502),(601),(602)의 블록을 반전입력받아 앤드 조합하는 앤드 게이트 또는 그 이동 레지스터(501),(502),(601),(602)의 블록을 입력받아 노아 조합하는 노아 게이트이다.
이와같이 구성된 본 발명의 방법 및 작용효과를 상세히 설명하면 다음과 같다. 임의의 n비트 평문 블록(Pi)은 합산기(2)에 입력되어, 송신 난수열 발생기(1)로 부터 입력되는 임의의 n비트 난수열 블록(Ki)과 혼합되고, 이 혼합 연산된 혼합 블록(Pi
Figure kpo00015
Ki)은 시스템 클럭에 동기를 맞춰 이동 레지스터(502)에 저장되어 출력되고, 또한 이때 상기 평문 블록(Pi)은 시스템 클럭에 동기를 맞춰 이동 레지스터(501)에 저장되어 출력되고, 상기 이동 레지스터(501)에서 출력되는 이전 평문 블록(Pi - 1)은 그 시스템 클럭에 동기를 맞춰 이동 레지스터(505)에 저장되어 출력되고, 상기 이동 레지스터(502)에서 출력되는 이전 혼합 블록(Pi-1
Figure kpo00016
Ki-1)도 그 시스템 클럭에 동기를 맞춰 이동 레지스터(506)에 저장되어 출력된다. 그리고, 상기와 같이 평문 블록(Pi)이 이동 레지스터(501)에 저장될 때, 그 평문 블록(Pi)이 0 검출부(503)에 입력되어, 그 평문 블록(Pi)의 모든 비트가 “0”일 때 0 검출신호(DT1)인 “1”을 출력하게 된다 즉, 평문 블록(Pi)의 모든 비트가 “0”일 때 그 신호를 모두 반전 입력받아 앤드 조합하게 되면 0 검출신호(DT1)인 “1”이 출력된다.
마찬가지로, 혼합 블록(Pi
Figure kpo00017
Ki)이 이동 레지스터(502)에 저장될 때, 그 혼합 블록(Pi
Figure kpo00018
Ki)의 모든 비트가 “0”일 때 0 검출신호(DT2)인 고전위 “1”을 출력하게 된다.
상기와 같이 0 검출부(503),(504)에서 출력되는 0 검출신호(DT1),(DT2)를 중앙처리장치(507)에서 입력받아, 그 0 검출신호(DT1),(DT2)의 입력여부에 따라 스위치(508)의 선택을 제어하여 암호문 블록(Ci - 1)을 출력하게 된다. 즉, 상기 0 검출신호(DT1),(DT2)가 출력되지 않는 상태에서는 중앙처리장치(507)의 제어에 의해 스위치(508)에서 이동 레지스터(506)의 이전 혼합 블록(Pi-1
Figure kpo00019
Ki-1)을 선택하여 암호문 블록(Ci - 1)으로 송신하게 된다.
또한, 0 검출부(504)에서만 0 검출신호(DT2)가 출력되는 상태에서는 중앙처리장치(507)의 제어에 의해 스위치(508)에서 이동 레지스터(506)의 이전 혼합 블록(Pi-1
Figure kpo00020
Ki-1)을 선택하여 암호문 블록(Ci - 1)으로 송신하고, 이후 스위치(508)에서 이동레지스터(505)에 저장되는 평문 블록(Pi)을 선택하여 암호문 블록(Ci)으로 송신한다. 즉 혼합 블록(Pi
Figure kpo00021
Ki)의 모든비트가 “0”인 0 검출신호(DT2)가 출력될 때 그 혼합 블록(Pi
Figure kpo00022
Ki) 대신에 그에 대응하는 평문 블록(Pi)을 선택하여 암호문 블록(Ci)으로 송신한다.
또한, 0 검출부(503)에서 0 검출신호(DT1)가 출력되는 상태에서는 중앙처리장치(507)의 제어에 의해 스위치(508)에서 이동 레지스터(505)의 이전 평문 블록(Pi-1)중 “1”이 시작되는 비트로부터 상위 부분 및 이동 레지스터(506)의 이전 혼합 블록(Pi-1
Figure kpo00023
Ki-1)중 상기 이전 평문 블록(Pi - 1)의 상위부분에 대응하는 상위부분을 제외한 하위부분을 선택하여 암호문 블록(Ci - 1)으로 송신하고, 이후 스위치(508)에서 상기 이동 레지스터(505)에 저장되는 평문 블록(Pi)을 선택하여 암호문 블록(Ci)으로 송신하며, 이후 스위치(508)에서 상기 이동 레지스터(505)에 저장되는 평문 블록(Pi+1)중 “1”이 시작되는 비트까지의 하위부분 및 이동 레지스터(506)에 저장되는 혼합 블록(Pi+1
Figure kpo00024
Ki+1)중 상기 평문 블록(Pi+1)의 하위부분에 대응하는 하위부분을 제외한 상위부분을 선택하여 암호문 블록(Ci+1)으로 송신한다. 즉, 평문 블록(Pi)의 모든비트가 “0”인 0 검출신호(DT1)가 출력될 때 이전 혼합 블록(Pi-1
Figure kpo00025
Ki-1)을 이전 평문 블록(Pi-1)중 “1”이 시작되는 비트로부터 상위부분으로 부분 대체하여 암호문 블록(Ci-1)으로 송신하고, 혼합 블록(Pi
Figure kpo00026
Ki)을 평문 블록(Pi)으로 대체하여 암호문 블록(Ci)으로 송신하며, 이후 혼합 블록(Pi+1
Figure kpo00027
Ki+1)을 이후 평문 블록(Pi+1)중 “1”이 시작되는 비트까지의 하위부분으로 부분 대체하여 암호문 블록(Ci+1)으로 송신한다.
한편, 상기와 같이 송신되어 수신된 암호문 블록(Ci)은 합산기(4)에 입력되어, 수신 난수열 발생기(3)로부터 입력되는 난수열 블록(Ki)과 혼합되고, 상기 암호문 블록(Ci) 및 상기 혼합 연산된 혼합 블록(Ci
Figure kpo00028
Ki)은 시스템 클럭에 동기를 맞춰 이동 레지스터(601),(602)에 각기 저장되어 출력되고, 상기 이동 레지스터(601),(602)로부터 출력되는 이전의 암호문 블록(Ci-1) 및 혼합 블록(Ci-1
Figure kpo00029
Ki-1)은 시스템 클럭에 동기를 맞춰 이동 레지스터(605),(606)에 각기 저장되어 출력된다. 그리고 이때 0 검출부(603),(604)도 상기 송신단의 0 검출부(503),(504)와 동일하게 동작되어, 이동 레지스터(601)에 저장된 암호문 블록(Ci)의 모든 비트가 “0”일 때 “1”의 0 검출신호(DT1)가 출력되고, 이동 레지스터(602)에 저장된 혼합 블록(Ci
Figure kpo00030
Ki)의 모든 비트가 “0”일 때 “1”의 0 검출신호(DT2)가 출력되며, 상기 0 검출신호(DT1),(DT2)는 중앙처리장치(607)에 입력된다.
따라서, 상기 0 검출부(603),(604)에서 0 검출신호(DT1),(DT2)가 출력되지 않는 상태에서는 중앙처리장치(607)의 제어에 의해 스위치(605)에서 이동 레지스터(606)의 이전 혼합 블록(Ci-1
Figure kpo00031
Ki-1)을 선택하여 복호문 블록(Qi-1)으로 출력한다.
또한, 0 검출부(604)에서만 0 검출신호(DT2)가 출력되는 상태에서는 중앙처리장치(607)의 제어에 의해 스위치(608)에서 이동 레지스터(606)의 이전 혼합 블록(Ci-1
Figure kpo00032
Ki-1)을 선택하여 복호문 블록(Qi-1)으로 출력하고, 이후 스위치(608)에서 이동 레지스터(605)에 저장되는 암호문 블록(Ci)을 선택하여 복호문 블록(Qi)으로 출력한다. 즉, 혼합 블록(Ci
Figure kpo00033
Ki)의 모든 비트가 “0”인 0 검출신호(DT2)가 출력될 때 그 혼합 블록(Ci
Figure kpo00034
Ki) 대신에 암호문 블록(Ci)을 선택하여 복호문 블록(Qi)으로 출력한다.
또한, 0 검출부(603)에서 0 검출신호(DT1)가 출력되는 상태에서는 중앙처리장치(607)의 제어에 의해 스위치(608)에서 이동 레지스터(605)의 이전 암호문 블록(Ci-1)중 “1”이 시작되는 비트로부터 상위부분 및 이동 레지스터(606)의 이전 혼합 블록(Ci-1
Figure kpo00035
Ki-1)중 상기 이전 암호문 블록(Ci-1)의 상위부분에 대응하는 상위 부분을 제외한 하위부분을 선택하여 복호문 블록(Qi-1)으로 출력하고, 이후 스위치(608)에서 상기 이동 레지스터(605)에 저장되는 암호문 블록(Ci)을 선택하여 복호문 블록(Qi)으로 출력하며, 이후 스위치(608)에서 상기 이동 레지스터(605)에 저장되는 암호문 블록(Ci+1)중 “1”이 시작되는 비트까지의 하위부분 및 이동 레지스터(606)에 저장되는 혼합 블록(Ci+1
Figure kpo00036
Ki+1)중 상기 암호문 블록(Ci+1)의 하위부분에 대응하는 하위부분을 제외한 상위부분을 선택하여 복호문 블록(Qi+1)으로 출력한다. 즉, 암호문 블록(Ci)의 모든 비트가 “0”인 0 검출신호(DT1)가 출력될 때, 이전 혼합 블록(Ci-1
Figure kpo00037
Ki-1)을 이전 암호문 블록(Ci-1)중 “1”이 시작되는 비트로부터 상위부분으로 부분 대체하여 복호문 블록(Qi-1)으로 출력하고, 혼합 블록(Ci
Figure kpo00038
Ki)을 암호문 블록(Ci)으로 대체하여 복호문 블록(Qi)으로 출력하며, 이후 혼합 블록(Ci+1
Figure kpo00039
Ki+1)을 이후 암호문 블록(Ci+1)중 “1”이 시작되는 부분까지의 하위부분으로 부분 대체하여 복호문 블록(Qi+1)으로 출력한다.
결국, 임의의 n비트 평문 블록에서 k비트(k=2n - 1 또는 k=2n)연속 “0”이 억제된다는 가정하에서 송신단 암호문 블록 출력에서 역시 k비트 연속 “0”이 억제되며, 채널 오류가 없을 경우 수신 평문의 복호상태는 다음과 같이 완벽하게 복호된다.
블록 대체 없는 경우(Pi≠0 및 Pi
Figure kpo00040
Ki≠0)에는, 송신단에서 Pi≠0 및 Pi
Figure kpo00041
Ki≠0 이므로 Ci-1=Pi-1
Figure kpo00042
Ki-1과 Ci=Pi
Figure kpo00043
Ki가 송신되며, 수신단에서 Ci≠0 및 Ci
Figure kpo00044
Ki≠0 이므로, Qi-1= Ci-1
Figure kpo00045
Ki-1= Pi-1
Figure kpo00046
Ki-1
Figure kpo00047
Ki-1= Pi-1과 Qi=Ci
Figure kpo00048
Ki=Pi
Figure kpo00049
Ki
Figure kpo00050
Ki=Pi로 정상 복호된다.
또한, 1 블록단 대체 있는 경우(Pi≠0 및 Pi
Figure kpo00051
Ki=0)에는, 송신단에서 Pi≠0 및 Pi
Figure kpo00052
Ki=0 이므로 Ci-1=Pi-1
Figure kpo00053
Ki-1과 Ci=Pi가 송신되며, 수신단에서 Ci≠0 및 Ci
Figure kpo00054
Ki=0 이므로, Qi-1=Ci-1
Figure kpo00055
Ki-1=Pi-1
Figure kpo00056
Ki-1
Figure kpo00057
Ki-1=Pi-1과 Qi=Ci=Pi로 정상 복호된다.
또한, 3블록 부분 대체 있는 경우(Pi=0,Pi
Figure kpo00058
Ki는 무관)에는, 송신단에서 Pi=0이므로 Ci-1=Pi-1
Figure kpo00059
Ki-1의 부분 대체, Ci=Pi, Ci=Pi+1
Figure kpo00060
Ki+1의 부분 대체 송신되며, 수신단에서 Ci=0 이므로 Qi-1=Ci-1
Figure kpo00061
Ki-1의 부분대체=Pi-1, Qi=Ci=Pi, Qi+1=Ci+1
Figure kpo00062
Ki+1의 부분대체 = Pi+1로 정상 복호된다.
이상에서 상세히 설명한 바와같이 본 발명은 3개의 블록이 부분대체된 경우에 가운데 블록부분에 채널오류가 발생되어도 3n비트로 확산되지 않고 그보다 작은 비트의 오류확산이 발생되게 되어, 채널오류가 발생되어도 에러확산을 최소화시킬 수 있는 효과가 있다.

Claims (2)

  1. 평문 블록의 모든 비트가 “0”인가를 검출함과 아울러 상기 평문 블록을 난수열 블록과 혼합하여 그 혼합 블록의 모든 비트가 “0”인가를 검출하는 제1과정과, 상기 제1과정에서 평문 블록의 모든 비트 및 혼합 블록의 모든 비트가 “0”이 아닌 경우에는 그 혼합 블록을 암호문 블록으로 송신하고, 혼합 블록의 모든 비트만이 “0”인 경우에는 그 혼합 블록 대신에 그에 대응하는 평문 블록을 암호문 블록으로 송신하며, 평문 블록의 모든 비트가 “0”인 경우에는 전,후 블록을 포함한 3개의 혼합 블록을 이전 평문 블록의 “1”이 시작되는 비트로부터 이후 평문 블록의 “1”이 시작되는 비트까지로 부분 대체하여 암호문 블록으로 송신하는 제2과정과, 상기 송신된 암호문 블록을 수신받아 그 암호문 블록의 모든 비트가 “0”인가를 검출함과 아울러 상기 암호문 블록을 난수열 블록과 혼합하여 그 혼합 블록의 모든 비트가 “0”인가를 검출하는 제3과정과, 상기 제3과정에서 암호문 블록의 모든 비트 및 혼합 블록의 모든 비트가 “0”이 아닌 경우에는 그 혼합 블록을 복호문 블록으로 출력하고 혼합 블록의 모든 비트만이 “0”인 경우에는 그 혼합 블록 대신에 그에 대응하는 암호문 블록을 복호문 블록으로 출력하며, 암호문 블록의 모든 비트가 “0”인 경우에는 전,후 블록을 포함한 3개의 혼합 블록을 이전 암호문 블록의 “1”이 시작되는 비트로부터 이후 암호문 블록의 “1”이 시작되는 비트까지로 부분 대체하여 복호문 블록으로 출력하는 제4과정으로 이루어진 것을 특징으로 하는 동기식 스트림 암호의 동기 방법.
  2. 평문 블록을 송신 난수열 발생기에서 발생되는 난수열 블록과 혼합하는 제1합산기와, 상기 평문 블록을 저장하여 출력하는 제1이동 레지스터와, 상기 제1합산기의 혼합 블록을 저장하여 출력하는 제2이동 레지스터와, 상기 제1이동 레지스터에 저장된 평문 블록의 모든 비트가 “0” 인가를 검출하는 제10검출부와, 상기 제2이동 레지스터에 저장된 혼합 블록의 모든 비트가 “0”인가를 검출하는 제20검출부와, 상기 제1이동 레지스터에서 출력되는 이전 평문 블록을 저장하여 출력하는 제3이동 레지스터와, 상기 제2이동 레지스터에서 출력되는 이전 혼합 블록을 저장하여 출력하는 제4이동 레지스터와, 상기 제1, 제20검출부에서 제1, 제20검출신호가 출력되지 않는 상태에서 상기 제4이동 레지스터의 혼합 블록을 선택하여 암호문 블록으로 출력하되, 상기 제20검출신호만이 출력되는 상태에서는 상기 제3이동 레지스터에 저장되는 평문 블록을 대체 선택하여 암호문 블록으로 송신하고, 상기 제10검출신호가 출력되는 상태에서는 상기 제4이동 레지스터의 이전, 이후 블록을 포함한 3개의 혼합 블록을 상기 제3이동 레지스터의 이전 평문 블록의 “1”이 시작되는 비트로 부터 이후 평문 블록의 “1”이 시작되는 비트까지로 부분 대체 선택하여 암호문 블록으로 송신하는 암호문 선택 출력 수단으로 송신단을 구성하고, 상기 송신된 암호문 블록을 수신받아 수신 난수열 발생기에서 발생되는 난수열과 혼합하는 제2합산기와, 상기 암호문 블록을 저장하여 출력하는 제5이동 레지스터와, 상기 제2합산기의 혼합 블록을 저장하여 출력하는 제6이동 레지스터와, 상기 제5이동 레지스터에 저장된 암호문 블록의 모든 비트가 “0”인가를 검출하는 제30검출부와, 상기 제6이동 레지스터에 저장된 혼합 블록의 모든 비트가 “0”인가를 검출하는 제40검출부와, 상기 제5이동 레지스터에서 출력되는 이전 암호문 블록을 저장하여 출력하는 제7이동 레지스터와, 상기 제6이동 레지스터에서 출력되는 이전 혼합 블록을 저장하여 출력하는 제8이동 레지스터와, 상기 제3, 제40검출부에서 제3, 제40검출신호가 출력되지 않는 상태에서 상기 제8이동 레지스터의 혼합 블록을 선택하여 복호문 블록으로 출력하되, 상기 제40검출신호만이 출력되는 상태에서는 상기 제7이동 레지스터에 저장되는 암호문 블록을 대체 선택하여 복호문 블록으로 출력하고, 상기 제30검출신호가 출력되는 상태에서는 상기 제8이동 레지스터의 이전, 이후 블록을 포함한 3개의 혼합 블록을 상기 제7이동레지스터의 이전 암호문 블록의 “1”이 시작되는 비트로부터 이후 암호문 블록의 “1”이 시작되는 비트까지로 부분 대체 선택하여 복호문 블록으로 출력하는 복호문 선택 출력수단으로 수신단을 구성하여 된 것을 특징으로 하는 동기식 스트림 암호의 동기 장치.
KR1019970038815A 1997-08-14 1997-08-14 동기식 스트림 암호의 동기방법 및 그 장치 KR100255357B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970038815A KR100255357B1 (ko) 1997-08-14 1997-08-14 동기식 스트림 암호의 동기방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970038815A KR100255357B1 (ko) 1997-08-14 1997-08-14 동기식 스트림 암호의 동기방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR19990016296A KR19990016296A (ko) 1999-03-05
KR100255357B1 true KR100255357B1 (ko) 2000-05-01

Family

ID=19517472

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970038815A KR100255357B1 (ko) 1997-08-14 1997-08-14 동기식 스트림 암호의 동기방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR100255357B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101018137B1 (ko) * 2003-09-25 2011-02-25 주식회사 포스코 롤 표면의 비접촉식 연삭유 제거장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980063014A (ko) * 1996-12-31 1998-10-07 배문한 동기식 스트림 암호의 동기방법 및 그 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980063014A (ko) * 1996-12-31 1998-10-07 배문한 동기식 스트림 암호의 동기방법 및 그 장치

Also Published As

Publication number Publication date
KR19990016296A (ko) 1999-03-05

Similar Documents

Publication Publication Date Title
US4791669A (en) Encryption/decryption system
US6249582B1 (en) Apparatus for and method of overhead reduction in a block cipher
RU2146421C1 (ru) Дешифрирование повторно переданных данных в системе связи с шифрованием
EP0471839B1 (en) Encryption apparatus
NO143601B (no) Fremgangsmaate ved innstilling av kodetekstgeneratorer i chifreringsinnretninger
EP0278170A2 (en) Cipher system
JP2001086110A (ja) 暗号化情報のパケット通信システム
EP0840966B1 (en) Decryption of retransmitted data in an encrypted communication system
US4856063A (en) No-overhead synchronization for cryptographic systems
JPH04211543A (ja) ディジタルデータ秘匿装置
KR100255357B1 (ko) 동기식 스트림 암호의 동기방법 및 그 장치
GB2353191A (en) Packet data encryption/decryption
KR100209314B1 (ko) 동기식 스트림 암호의 동기방법 및 그 장치
KR19980063014A (ko) 동기식 스트림 암호의 동기방법 및 그 장치
JPH04335730A (ja) 暗号送信装置、暗号受信装置、暗号通信システム
JPS58202644A (ja) 2進デイジタル信号の伝送方法
JP4729888B2 (ja) 情報伝送方式、送信装置及び受信装置
JP4517779B2 (ja) 情報伝送方式
RU2730397C2 (ru) Устройство шифрованной передачи сообщений с малым временем старения информации
JP2007206582A (ja) 秘匿システム並びにそれに用いる暗号化装置及び暗号解除装置
KR19990011903A (ko) 무선 통신의 스트림 암호 시스템
JPH057202A (ja) 暗号化通信装置及び暗号化伝送システム
JP2604640B2 (ja) データ伝送方法及びデータ伝送装置
JPS62122352A (ja) 暗号化方式
KR20060003375A (ko) 단-대-단 암호화 동기화를 위한 프로세서 및 방법

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
FPAY Annual fee payment

Payment date: 20090115

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee