KR100578550B1 - 스트림 암호를 이용한 메시지 인증 코드 구성 방법 - Google Patents
스트림 암호를 이용한 메시지 인증 코드 구성 방법 Download PDFInfo
- Publication number
- KR100578550B1 KR100578550B1 KR1020030095702A KR20030095702A KR100578550B1 KR 100578550 B1 KR100578550 B1 KR 100578550B1 KR 1020030095702 A KR1020030095702 A KR 1020030095702A KR 20030095702 A KR20030095702 A KR 20030095702A KR 100578550 B1 KR100578550 B1 KR 100578550B1
- Authority
- KR
- South Korea
- Prior art keywords
- block
- key
- stream cipher
- mac
- message
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
본 발명은 보안 장비에서 많이 사용되고 있는 스트림 암호를 사용하여 별도의 블록 암호나 해쉬 함수를 사용하지 않고 메시지 무결성 함수인 MAC(Message Authentication Code)을 생성할 수 있고, 적은 비용과 적은 사이즈로 안전하고 효율적인 MAC을 구성할 수 있도록 하는 MAC 구성 방법에 관한 것이다.
본 발명의 MAC 구성 방법은, 입력 메시지를 스트림 암호의 초기치 사이즈의 블록들로 분할하는 단계와, 분할된 메시지 블록의 앞과 뒤에 각각 제 1키()와 제 2키()를 연접시키는 단계와, 연접된 블록들에서, 첫 번째 블록을 스트림 암호의 초기치로 사용하여 블록 크기만큼의 키 수열을 추출한 후, 그 결과를 두 번째 블록과 XOR하여 다시 스트림 암호의 초기치로 사용하여 블록 크기만큼의 키 수열을 추출하며, 이러한 과정을 모든 블록에 대해 진행하여 최종 블록에 대한 키 수열을 MAC 값으로 하는 단계로 이루어진다.
MAC, 스트림 암호, 연접, 키 수열, CBC, 블록 암호, 해쉬 함수, 메시지 인증
Description
도 1은 본 발명에 따른 메시지 인증 코드 구성 구조를 보인 도면.
본 발명은 메시지 인증 코드(MAC) 구성 방법에 관한 것으로, 상세하게는 스트림 암호를 사용하여 적은 비용과 적은 사이즈로 안전한 메시지 인증 코드 MAC을 구성하는 방법에 관한 것이다.
일반적으로 블록 암호를 사용한 MAC이나 해쉬 함수를 사용한 MAC은 많이 소개되어 왔으나, 스트림 암호를 사용한 MAC에 대하여는 거의 알려진 바가 없다.
단지, 매우 특별한 형태의 스트림 암호나 LFSR(Linear Feedback Shift Register)를 사용한 MAC 정도만 알려져 있고, 종래의 기술로는 일반적인 형태의 스트림 암호에 대하여 MAC을 생성하는 것은 어려운 것으로 알려져 왔다.
한편, 기존의 MAC 기능을 제공하는 함수는 크게 블록 암호 기반 MAC과 해쉬함수 기반 MAC으로 나눌 수 있다.
블록 암호 기반의 MAC으로는 CBC-MAC, Retail MAC, 3GPP MAC등이 있고, 해쉬 함수를 이용한 MAC으로는 prefix, appendix 및 envelope 방식 및 HMAC 등이 있다. 이 때 해쉬 함수로는 주로 MDx 계열과 SHA 계열을 많이 사용한다.
그러나, 이들 방식의 문제점은 블록 암호를 사용하지 않는 보안 모듈안에 블록 암호나 해쉬 함수를 추가하여야 하는 점이다. 이는 게이트 수를 늘이게 되고, 결과적으로 모듈의 크기, 가격, 전력 등을 증가시키는 요인이 된다. 따라서, 스트림 암호를 사용하는 보안 모듈에서는 MAC 기능을 구현하기에 어려움이 따랐다.
이러한 블록 암호 및 해쉬 함수 기반 MAC의 문제점에도 불구하고, 스트림 암호의 특성상, 해쉬 함수나 MAC을 구현하기에 어려움이 따랐기 때문에 아직까지 스트림 암호를 이용한 MAC이 제안되지 못하고 있으며, 단지 제한된 형태의 스트림 암호에 대하여만 이를 이용한 MAC이 제안되었을 뿐이다.
한편, 최근 소프트웨어 환경에 대해서도 고속 스트림 암호가 많이 제안되었기 때문에 이를 사용한다면 소프트웨어 환경에서도 매우 빠르고 효율적인 MAC의 구성이 가능할 것이다.
본 발명은 상술한 종래의 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 보안 장비에서 많이 사용되고 있는 스트림 암호를 사용하여 별도의 블록 암호나 해쉬 함수를 사용하지 않고 메시지 무결성 함수인 MAC을 생성할 수 있고, 적은 비용과 적은 사이즈로 안전하고 효율적인 MAC을 구성할 수 있도록 하는 스트림 암호 를 이용한 메시지 인증 코드(MAC) 구성 방법을 제공하는데 있다.
본 발명은 상기 요구에 부응하기 위해, 스트림 암호를 사용하여 CBC(Cipher Block Chaining)를 구성하고 이때 사용되는 블록의 양끝에 키를 연접시키는 방법을 사용함으로써, 안전하고 효율적인 MAC의 구성이 가능해진다.
상기 목적을 달성하기 위한 본 발명의 스트림 암호를 이용한 메시지 인증 코드 구성 방법은, 입력 메시지를 스트림 암호의 초기치 사이즈의 블록들로 분할하는 제 1단계; 상기 분할된 메시지 블록의 앞과 뒤에 각각 제 1키()와 제 2키()를 연접시키는 제 2단계; 및 상기 연접된 블록들에서, 첫 번째 블록을 스트림 암호의 초기치로 사용하여 블록 크기만큼의 키 수열을 추출한 후, 그 결과를 두 번째 블록과 XOR하여 다시 스트림 암호의 초기치로 사용하여 블록 크기만큼의 키 수열을 추출하며, 이러한 과정을 모든 블록에 대해 진행하여 최종 블록에 대한 키 수열을 MAC 값으로 하는 제 3단계;로 구성된다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다.
본 발명은, 스트림 암호를 이용하여 인증 코드를 만들 메시지를 입력한다. 이 때 메시지의 양끝에 키를 연접하여 다양한 공격에 내성을 갖도록 구성한다. 즉, 주어진 키||메시지||키를 사용하여 MAC의 입력으로 만들고, 주어진 크기로 블록을 나눈다. 다음으로 첫 번째 블록을 스트림 암호의 초기치로 사용하여 블록 크기만큼 의 키 수열을 뽑아낸 후, 이를 두 번째 블록과 XOR하여 다시 스트림 암호의 초기치로 사용하여 블록 크기만큼의 키수열을 뽑아낸다. 다음 블록에 대하여도 이와 같은 작업을 진행하여 최종 블록에 대한 키수열을 MAC 값으로 한다.
도 1은 본 발명에 따른 스트림 암호를 이용한 메시지 인증 코드(MAC) 구성 구조를 보인 도면으로, 도 1을 참조하여 본 발명의 MAC 구성 과정을 각 단계별로 설명하도록 한다.
첫째 단계로, MAC을 생성할 메시지를 스트림 암호의 초기치 사이즈의 크기로 나눈다. 이때, 마지막 블록의 나머지는 정해진 규칙에 따라서 패딩을 한다. 패딩하는 방법은 본 발명의 안전성에 영향을 주지 않기 때문에 시스템의 환경에 맞게 적절하게 한다. 이 때 생성된 메시지 블록의 개수가 개라고 할 때, 각각의 메시지 블록을 , ,…, 이라고 하자.
둘째 단계로, 메시지 블록에 키 , 를 앞뒤로 연접(concatenation)시킨다. 이 때 사용되는 키의 크기는 본 발명의 안전성을 좌우하는 요소가 된다. 따라서 특별한 경우가 아니라면 각각 80비트 이상으로 한다. 또한 이 때 사용되는 키 , 는 서로 다르거나 동일하거나에 관계없다. 이렇게 생성된 블록은 이제 , , ,…, , 라고 하자.
셋째 단계로, 스트림 암호의 초기치에 을 사용하여 나오는 출력을 라고 할 때, 이를 으로 표현하기로 하면, 본 발명에서 생성되는 MAC값은 다 음의 수학식 1과 같이 표현된다. 여기에서, 는 키 수열 추출 함수이고 는 그 추출된 키 수열이 된다.
본 발명은 상기 수학식 1에 대하여 여러 가지 변형을 할 수 있다. 예를 들면, 을 바로 사용하지 않고 대신에 초기치 를 사용하여 를 사용할 수도 있고, 이는 에 대해서도 동일하게 적용할 수 있다.
상기된 바와 같은 본 발명은, 보안 시스템에서 널리 사용되고 있는 스트림 암호를 이용하여 별도의 시스템을 추가하지 않고도 간단하게 MAC 기능을 제공할 수 있도록 하고, 특히 모듈 형식으로 구성된 보안 시스템에서는 게이트 수가 모듈의 크기, 제작 단가 등을 결정하는 중요한 요소인데, 본 발명을 이용하게 되면 게이트 수를 크게 줄이고도 MAC 기능을 제공할 수 있다.
실재로 현재까지 알려진 MAC 기능은 블록 암호를 기반으로 한 것들이 많기 때문에, 많은 수의 게이트를 요구하는 블록 암호를 모듈 안에 장착하게 되면 제작 단가 및 사이즈가 현저하게 증가하게 된다. 이 외에도 해쉬 함수를 이용한 MAC을 장착하게 되어도 역시 같은 문제가 발생하게 된다. 하지만, 본 발명을 이용하여 MAC 기능을 제공하게 되면 작은 사이즈이면서 제작 단가가 싼 모듈을 구성할 수 있 다.
상기와 같은 본 발명의 스트림 암호를 이용한 메시지 인증 코드 구성 방법은 컴퓨터로 읽을 수 있는 기록 매체에 저장될 수 있다. 이러한 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있도록 프로그램 및 데이터가 저장되는 모든 종류의 기록매체를 포함하는 것으로, 그 예로는, 롬(Read Only Memory), 램(Random Access Memory), CD(Compact Disk)-Rom, DVD(Digital Video Disk)-Rom, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있다. 또한, 이러한 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
상술한 바와 같이 본 발명에 따른 메시지 인증 코드 구성 방법은, 통신 보안 장비에서 많이 사용하고 있는 스트림 암호를 사용하여 메시지 무결성 기능을 제공하는 MAC을 생성함으로써 별도의 블록 암호나 해쉬 함수 없이 간단하게 MAC을 구성할 수 있도록 한다.
또한, 본 발명에서 사용하는 스트림 암호가 안전하다면 즉, 키스트림으로부터 초기치를 알 수 없다면, 사용된 키가 노출되지 않음을 수학적으로 증명할 수 있게 되고, 본 발명을 사용하여 보안 장비를 구성하게 되면 적은 비용과 노력으로 간단하면서도 안전한 메시지 무결성을 제공할 수 있을 것이다.
이상에서 설명한 것은 본 발명에 따른 스트림 암호를 이용한 메시지 인증 코 드 구성 방법을 실시하기 위한 하나의 실시예에 불과한 것으로서, 본 발명은 상기한 실시예에 한정되지 않고, 이하의 특허청구의 범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.
Claims (6)
- 입력 메시지를 스트림 암호의 초기치 사이즈의 블록들로 분할하는 제 1단계;상기 연접된 블록들에서, 아래의 수학식을 수행하여 첫 번째 블록을 스트림 암호의 초기치로 사용하여 블록 크기만큼의 키 수열을 추출한 후, 그 결과를 두 번째 블록과 XOR하여 다시 스트림 암호의 초기치로 사용하여 블록 크기만큼의 키 수열을 추출하며, 이러한 과정을 모든 블록에 대해 진행하여 최종 블록에 대한 키 수열을 MAC 값으로 하는 제 3단계;<수학식>를 포함하는 것을 특징으로 하는 스트림 암호를 이용한 메시지 인증 코드 구성 방법.
- 제 1항에 있어서, 상기 제 2단계는,제 1키 및 제 2키는 각각 안전성을 확보할 수 있는 80비트 이상으로 하는 것을 특징으로 하는 스트림 암호를 이용한 메시지 인증 코드 구성 방법.
- 삭제
- 제 1항, 제 2항, 제 4항 또는 제 5항 중 어느 한 항에 기재된 스트림 암호를 이용한 메시지 인증 코드 구성 방법을 컴퓨터에서 실행시키기 위한 프로그램으로 기록한 컴퓨터로 읽을 수 있는 기록매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030095702A KR100578550B1 (ko) | 2003-12-23 | 2003-12-23 | 스트림 암호를 이용한 메시지 인증 코드 구성 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030095702A KR100578550B1 (ko) | 2003-12-23 | 2003-12-23 | 스트림 암호를 이용한 메시지 인증 코드 구성 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050064343A KR20050064343A (ko) | 2005-06-29 |
KR100578550B1 true KR100578550B1 (ko) | 2006-05-12 |
Family
ID=37255955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020030095702A KR100578550B1 (ko) | 2003-12-23 | 2003-12-23 | 스트림 암호를 이용한 메시지 인증 코드 구성 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100578550B1 (ko) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4810289B2 (ja) * | 2006-04-17 | 2011-11-09 | ルネサスエレクトロニクス株式会社 | メッセージ認証子生成装置、メッセージ認証子検証装置、及びメッセージ認証システム |
JP4712017B2 (ja) | 2006-11-13 | 2011-06-29 | 韓國電子通信研究院 | ストリーム暗号を利用したメッセージ認証コード生成方法とストリーム暗号を利用した認証暗号化方法及びストリーム暗号を利用した認証復号化方法 |
KR101072277B1 (ko) * | 2009-08-31 | 2011-10-11 | 주식회사 아나스타시스 | 실시간 데이터 무결성 보장 장치 및 방법과 이를 이용한 블랙박스 시스템 |
KR101572935B1 (ko) | 2014-10-02 | 2015-12-11 | 현대자동차주식회사 | 메시지 인증 코드 혼합을 통한 can 패킷 인증 방법 및 그 장치 |
KR101596753B1 (ko) * | 2014-10-02 | 2016-02-23 | 현대자동차주식회사 | 메시지 인증 코드 분할을 통한 순차적 can 패킷 인증 방법 및 그 장치 |
KR101966088B1 (ko) * | 2017-04-06 | 2019-04-05 | 상명대학교산학협력단 | Iot 응용에 최적화된 인증 암호 장치 및 방법 |
KR102528017B1 (ko) | 2020-09-28 | 2023-04-28 | (주)바이오융합기술 | 앵커형 혈관 지혈 기구 |
-
2003
- 2003-12-23 KR KR1020030095702A patent/KR100578550B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20050064343A (ko) | 2005-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI750223B (zh) | 區塊鏈加密射頻晶片存儲設計方法 | |
CN110677237B (zh) | 一种具有似混沌特性的文件加密方法 | |
KR101393806B1 (ko) | 다단계 물리적 복제 불가 함수 시스템 | |
Daemen | Cipher and hash function design strategies based on linear and differential cryptanalysis | |
US8284933B2 (en) | Encrypting variable-length passwords to yield fixed-length encrypted passwords | |
Saraf et al. | Text and image encryption decryption using advanced encryption standard | |
CN100431293C (zh) | 对称-密钥加密的线性变换方法和*** | |
US8600048B1 (en) | Format-translating encryption systems | |
ES2291675T3 (es) | Metodo de generar un cifrado de flujo utilizando claves multiples. | |
US20150270950A1 (en) | Splitting s-boxes in a white-box implementation to resist attacks | |
US20080304664A1 (en) | System and a method for securing information | |
KR20040007769A (ko) | 컴퓨터 네트워크에서의 데이터 분산 처리의 통합 보호방법 및 이 방법을 수행하는 시스템 | |
JPS5873257A (ja) | 暗号化装置 | |
US20100246813A1 (en) | Method and system for accelerating the deterministic enciphering of data in a small domain | |
US20080063187A1 (en) | Hash value generation device, program, and hash value generation method | |
EP3086585B1 (en) | Method and system for securing data communicated in a network | |
US10419207B2 (en) | Cryptographic apparatuses and methods for encrypting and decrypting data using automata | |
CN111066077B (zh) | 加密装置、加密方法、解密装置以及解密方法 | |
Amalarethinam et al. | Image encryption and decryption in public key cryptography based on MR | |
CN112199699A (zh) | 字符串的加解密方法、装置、存储介质和处理器 | |
KR100578550B1 (ko) | 스트림 암호를 이용한 메시지 인증 코드 구성 방법 | |
Biryukov et al. | Cryptanalysis of the “kindle” cipher | |
KR19990053174A (ko) | 해쉬함수를 이용한 정보의 무결성 확인방법 | |
JP2004053969A (ja) | 電子割符生成方法およびプログラム | |
CN110995415A (zh) | 一种基于md5算法的加密算法 |
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: 20130410 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20140326 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |