KR980007156A - 비밀키 블록 암호화 및 복호화 방법 - Google Patents
비밀키 블록 암호화 및 복호화 방법 Download PDFInfo
- Publication number
- KR980007156A KR980007156A KR1019970067037A KR19970067037A KR980007156A KR 980007156 A KR980007156 A KR 980007156A KR 1019970067037 A KR1019970067037 A KR 1019970067037A KR 19970067037 A KR19970067037 A KR 19970067037A KR 980007156 A KR980007156 A KR 980007156A
- Authority
- KR
- South Korea
- Prior art keywords
- round
- encryption
- key
- bit
- input
- Prior art date
Links
Landscapes
- Storage Device Security (AREA)
Abstract
데이터 통신의 암호화 방법에서 공개된 통신 선로를 통해 데이터 통신을 수행할 때 송신하는 데이터를 암호화하여 제3자가 통신 선로를 접속하여 도청하더라도 송신되는 데이터의 내용을 판독할 수 없도록 하며, 서로 일치하는 키 코드를 사용하는 경우 통신되는 데이터 정보의 암호화 및 복호화가 신속하게 이루어지도록 한 것으로, 통신을 위한 64비트 평문 상태의 데이터 정보에 대하여 키 코드 생성 알고리즘과 128비트의 키를 이용하여 초기화 라운드의 연산을 실행하는 과정과, 상기 초기화 라운드 연산을 통해 출력되는 값을 제1암호화 라운드를 통해 암호화 연산한 다음 출력되는 값을 r+1로 순차적으로 증가되는 암화화 라운드를 통해 암호화 연산하는 과정과, 상기와 같이 r+1로 증가되는 암호화 라운드의 연산 값에 대하여 설정된 r+n개의 암호화 라운드를 실행하여 통신을 위한 데이터 정보를 암호문으로 출력하는 과정을 포함하여 공개된 통신 선로를 통한 데이터 통신에서 전송되는 데이터 정보에 대하여 사용자의 키 코드를 128비트로 하여 암호화하므로 제3자가 통신되는 데이터의 내용을 해킹하더라도 그 내용의 해독이 불가능하므로 통신되는 데이터 정보의 비밀이 보장되므로 통신에 신뢰성을 제공한다.
Description
본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음
제1도는 본 발명에서 비밀키 블록 암호화 방법의 기본 함수에 대한 도해.
제2도는 본 발명에 따른 비밀키 블록 암호화 방법에 대한 흐름도.
제3도는 제2도의 비밀키 블록 암호화 방법에서 평문을 암호화하는데 대한 초기화 라운드의 도해.
제4도는 제2도의 비밀키 블록 암호화 방법에서 암호화 라운드 동작에 대한 도해.
제5도는 제2도의 비밀키 블록 암호화 방법에서 키 코드 생성을 위한 라운드 동작에 대한 도해.
Claims (16)
- 통신 데이터 암호화 방법에 있어서, 통신을 위한 64비트 평문 상태의 데이터 정보에 대하여 키 코드 생성 알고리즘과 128비트의 키를 이용하여 초기화 라운드의 연산을 실행하는 과정과, 상기 초기화 라운드 연산을 통해 출력되는 값을 제1암호화 라운드에서 부터 설정된 n개의 암호화 라운드를 통해 순차적인 암호화 연산하여 통신을 위한 데이터 정보를 암호문으로 출력하는 과정을 포함하는 것을 특징으로 하는 비밀키 블록 암호화 방법.
- 청구항 1에 있어서, 상기 초기화 라운드의 연산은 64비트의 평문에 대하여 최상위 64비트에서 부터 최하위 64비트까지 16비트씩 네 개로 순차적 분할한 다음 키 코드 생성 암호화 라운드를 통해 입력되는 키 코드와 16비트의 덧셈 연산을 실행하는 것을 특징으로 하는 비밀키 암호화 방법.
- 청구항 1에 있어서, 상기 사용자로 부터 입력되는 128비트의 키로 부터 각 라운드의 연산에 적용될 키코드의 생성은 입력되는 128비트의 키에 대하여 최상위 16비트에서 부터 최하위 16비트까지 16비트씩 4개의 "H" 및 "L"의 변수로 순차적 분할사는 과정과; 상기 과정에서 분할이 완료된 각각 4개의 변수 "H" 및 "L" 에 대하여 암호화 라운드의 연산을 통해 4개의 키 코드를 생성하는 과정을 포함하는 것을 특징으로 하는 비밀키 블록 암호화 방법.
- 청구항 1에 있어서, 상기 암호화 라운드의 연산은 초기화 라운드의 연산이 실행되어 입력되는 64비트의 변수에 대하여 최상위 16비트에서 부터 최하위 16비트까지 16비트씩 4개로 순차적 분할하는 과정과; 상기 분할된 변수 및 변수간 16비트 덧셈 연산이 완료된 값을 암호화 기본함수가 설정된 비밀키 블록에 입력시킨 다음 키 코드의 설정에 따라 암호문을 출력하는 과정을 포함하는 것을 특징으로 하는 비밀키 암호화 방법.
- 청구항 1에 있어서, 상기 n번의 암호화 라운드는 16회로 설정하는 것을 특징으로 하는 비밀키 블록 암호화 방법.
- 청구항 1에 있어서, 상기 반복되는 암호화 라운드에서 제r암호화 라운드에서 연산되어 출력되는 값 "X1","X2","X3","X4"이 제r+1암호화 라운드에 입력되는 과정에서 "X2","X4","X1","X3"의 순으로 실행하는 것을 특징으로 하는 비밀키 블록 암호화 방법.
- 청구항 1에 있어서, 상기 입력되는 변수를 암호화하는 제r암호화 라운드에는 제r-1암호화 라운드의 연산결과 값과 제r라운드의 키 코드가 입력되는 것을 특징으로 하는 비밀키 블록 암호화 방법.
- 청구항 3에 있어서, 키 코드의 생성은 상기에서 분할된 H 와 L의 변수에서 H2에 H1을 더한 값을 X라 하고 "H3"에 "H4"를 더한 값을 "Y"라 하는 경우 상기 변수 "X"와 "Y"를 기본 함수" F"가 설정되어 있는 비밀키 암호화 블록에 입력시키며 이 상태에서 키 값 L1을 입력시켜 키 코드 "R1" = F(X,Y,L1)을 생성하는 과정과; 분할된 변수 "H1"과 상기 과정을 통해 생성되는 키 코드 "R1"을 기본 함수 "F"가 설정되어 있는 비밀키 암호화 블록에 입력시키며 이 상태에서 키 값 L3를 이력시켜 키 코드" R3" = F(H1,R1,L3)을 생성하는 과정과; 상기의 "Y"와 상기한 과정을 통해 생성되는 키 코드" R1"을 기본 함수 "F"가 설정되어 있는 비밀키 암호화 블록에 입력시키며 이 상태에서 키 값 "L2"를 입력시켜 키 코드" R4" = F(Y,R1,L2)를 생성하는 과정 및; 상기 분할된 변수 "H4"와 상기 과정을 통해 생성되는 키 코드 "R4"를 기본 함수"F"가 설정되어 있는 비밀키 암호화 블록에 입력시키며 이 상태에서 키 값 "L4"를 입력시켜 키 코드 "R2" = F(H4,R4,L4)를 생성하는 과정을 포함하는 것을 특징으로 하는 비밀키 블록 암호화 방법.
- 청구항 3에 상기 키 코드는 64비트의 최상위 16비트에서 부터 최하위 16비트까지 임의의 횟수의 암호화 라운드를 실행할 수 있도록 n회 생성되는 것을 특징으로 하는 비밀키 블록 암호화 방법.
- 청구항 4에 있어서, 상기 암호화 라운드 연산에서 분할된 입력 변수 "P2"에 "P1"을 더한 변수값을 "X"라 하고, 입력 변수 P3에 P4를 더한 값을 "Y"라 하면, 상기 변수 "X"와 "Y"를 기본 함수 "F"가 설정되어 있는 비밀키 암호화 블록에 입력시키고 이 상태에서 라운드 키 코드" Kr,1"를 입력시켜 암호화된 함수 "C2" = F(X,Y,KR)를 연산하는 과정과; 상기 변수 "Y"와 상기 과정을 통해 연산된 함수" C2"를 기본 함수 F가 설정되어 있는 비밀키 암호화 블록에 입력시키고 이 상태에서 라운드 키 코드 Kr,2를 입력시켜 암호화된 함수 "C3" = F(Y,C2,Kr,2)를 연산하는 과정과; 상기 입력 변수 P1과 상기 과정을 통해 연산된 함수 "C2"를 기본 함수 F가 설정되어 있는 비밀키 암호화 블록에 입력시키고 이 상태에서 라운드 키 코드 "Kr,3"를 입력시켜 암호화된 함수 "C1" = F(P1,C2,Kr,3)을 연산하는 과정 및; 상기 입력 변수" P4"와 상기 과정을 통해 연산된 함수 "C3"를 기본 함수" F"가 설정되어 있는 비밀키 암호화 블록에 입력시키며 이 상태에서 라운드 키 코드 Kr,4를 입력시켜 암호화된 함수 "C4"= F(P4,C3,Kr,4)를 연산하는 과정을 포함하는 것을 특징으로 하는 비밀키 블록 암호화 방법.
- 통신 데이터 복호화 방법에 있어서, 16비트씩 네 개의 암호문으로 수신되는 데이터 정보에 대하여 제r+n회의 복호화 라운드를 통한 복호화로 16비트의 네 개 변수로 출력하는 과정과; 상기 제n회의 복호화 라운드에서 출력되는 네 개의 변수 값을 제n-1복호화 라운드에 재 입력하여 복호화하는 과정과; 상기와 같이 임의의 복호화 라운드에서 복호화 연산되어 출력되는 값에 대하여 하나의 복호화 라운드씩 감산시켜 제1복호화 라운드까지 연산하는 과정과; 상기와 같이 제1복호화 라운드까지의 복호화 연산이 완료되면 출력되는 연산값을 역 초기화 라운드를 통해 전송시의 평문 데이터로 복호화 하는 과정을 포함하는 것을 특징으로 하는 비밀키 블록 복호화 방법.
- 청구항 11에 있어서, 상기 과정에서 실행하는 복호화 라운드의 횟수는 암호화 라운드의 횟수와 동일한 횟수를 실행하는 것을 특징으로 하는 비밀키 블록 암호화 방법.
- 청구항 11에 있어서, 상기 임의의 복호화 라운드에서 연산되어 출력되는 값은 실행된 복호화 라운드에서 하나가 감산된 복호화 라운드에 재 입력되어 지며, 입력되는 변수는 "X3","X1","X4","X2"의 순서로 설정되는 것을 특징으로 하는 비밀키 블록 보호화 방법.
- 청구항 11에 있어서, 상기에서 제r회의 복호화 라운드에서는 제r-1회의 암호화 라운드에서 출력되는 연산값과 제r회의 복호화 라운드에서 생성된 키 코드가 입력되는 것을 특징으로 하는 비밀키 블록 복호화 방법.
- 청구항 11에 있어서, 상기 역초기화 라운드는 복호화 라운드를 통해 연산되어 출력되는 64비트의 값에 대하여 최상위 64비트에서 부터 최하위 64비트까지 4개로 순차적 분할하는 과정과; 상기 분할된 각각의 변수에 대하여 그에 대응하는 키 코드를 입력하는 연산을 통해 암호화된 수신 데이터 정보를 평문의 데이터로 복호화하는 과정을 포함하는 것을 특징으로 하는 비밀키 블록 보호화 방법.
- 청구항 15에 있어서, 상기 역초기화 라운드에서 실행하는 연산은 입력변수에서 16비트의 키 코드를 뺄셈 연산하는 것을 특징으로 하는 비밀키 블록 보호화 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970067037A KR980007156A (ko) | 1997-12-09 | 1997-12-09 | 비밀키 블록 암호화 및 복호화 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970067037A KR980007156A (ko) | 1997-12-09 | 1997-12-09 | 비밀키 블록 암호화 및 복호화 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR980007156A true KR980007156A (ko) | 1998-03-30 |
Family
ID=66088143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970067037A KR980007156A (ko) | 1997-12-09 | 1997-12-09 | 비밀키 블록 암호화 및 복호화 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR980007156A (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100411684B1 (ko) * | 1998-01-19 | 2003-12-18 | 오트크리토에 악츠이오네른오에 옵스체스트보 (모스코브스키야 고로즈카야 텔레폰나야 셋) | 이진 데이터 블록의 암호 변환 방법 |
KR100531577B1 (ko) * | 2002-02-28 | 2005-11-28 | 주식회사 소프트커널 | 문서 암/복호화장치 |
-
1997
- 1997-12-09 KR KR1019970067037A patent/KR980007156A/ko not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100411684B1 (ko) * | 1998-01-19 | 2003-12-18 | 오트크리토에 악츠이오네른오에 옵스체스트보 (모스코브스키야 고로즈카야 텔레폰나야 셋) | 이진 데이터 블록의 암호 변환 방법 |
KR100531577B1 (ko) * | 2002-02-28 | 2005-11-28 | 주식회사 소프트커널 | 문서 암/복호화장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7079651B2 (en) | Cryptographic method and apparatus for non-linearly merging a data block and a key | |
US5222139A (en) | Cryptographic method and apparatus | |
US5442705A (en) | Hardware arrangement for enciphering bit blocks while renewing a key at each iteration | |
KR100389902B1 (ko) | 차분해독법과선형해독법에대하여안전성을보장하는고속블럭암호화방법 | |
US6189095B1 (en) | Symmetric block cipher using multiple stages with modified type-1 and type-3 feistel networks | |
US6185304B1 (en) | Method and apparatus for a symmetric block cipher using multiple stages | |
US7251326B2 (en) | Method and apparatus for data encryption | |
Dolmatov | GOST 28147-89: Encryption, decryption, and message authentication code (MAC) algorithms | |
US6732271B1 (en) | Method of deciphering ciphered data and apparatus for same | |
JPH01261689A (ja) | データ秘匿方式 | |
JP2000209195A (ja) | 暗号通信システム | |
KR100259836B1 (ko) | N-라운드 라운드 출력문 귀환 블록 암호화/복호화 방법 | |
KR980007156A (ko) | 비밀키 블록 암호화 및 복호화 방법 | |
JP2002510058A (ja) | 2進データ・ブロックの暗号変換のための方法 | |
KR20010102684A (ko) | 라운드 키 생성 및 암호처리용 암호화장치 | |
RU2206961C2 (ru) | Способ итеративного блочного шифрования двоичных данных | |
KR100494560B1 (ko) | Rijndael암호를 이용한 블록 데이터 실시간암호복호화 장치 및 방법 | |
JPH04335730A (ja) | 暗号送信装置、暗号受信装置、暗号通信システム | |
RU2186467C2 (ru) | Способ блочного итеративного шифрования | |
KR100226867B1 (ko) | 무선 통신의 스트림 암호 시스템 | |
Haunts et al. | Symmetric Encryption | |
JPH10153954A (ja) | 暗号装置 | |
KR100546777B1 (ko) | Seed 암/복호화 장치, 암/복호화 방법, 라운드 처리 방법, 이에 적합한 f함수 처리기 | |
RU2186466C2 (ru) | Способ итеративного шифрования блоков дискретных данных | |
RU2199826C2 (ru) | Способ итеративного шифрования блоков цифровых данных |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
G15R | Request for early opening | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |