KR20080093635A - 메시지의 무결성 유지를 위한 메시지 암호화 방법 및 장치,메시지의 무결성 유지를 위한 메시지 복호화 방법 및 장치 - Google Patents
메시지의 무결성 유지를 위한 메시지 암호화 방법 및 장치,메시지의 무결성 유지를 위한 메시지 복호화 방법 및 장치 Download PDFInfo
- Publication number
- KR20080093635A KR20080093635A KR1020070037601A KR20070037601A KR20080093635A KR 20080093635 A KR20080093635 A KR 20080093635A KR 1020070037601 A KR1020070037601 A KR 1020070037601A KR 20070037601 A KR20070037601 A KR 20070037601A KR 20080093635 A KR20080093635 A KR 20080093635A
- Authority
- KR
- South Korea
- Prior art keywords
- message
- cipher text
- key
- encryption
- ciphertext
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- 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
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
본 발명은 메시지의 무결성 유지를 위한 암호화 방법에 관한 것으로, 본 발명은 난수를 생성하고, 생성된 난수를 이용하여 메시지를 암호화하여 제1 암호문을 생성하고, 1 암호문의 해쉬 값을 계산하고, 제1 암호문의 해쉬 값과 소정의 공유 키를 이용하여 암호화 키를 생성하고, 그 암호화 키를 이용하여 난수를 암호화하여 제2 암호문을 생성한 후, 제1 암호문 및 제2 암호문을 결합함으로써, 무결성이 깨어진 암호화된 메시지를 재사용할 수 없게 하는 효과가 있다.
무결성, 암호, 복호, 메시지, 데이터
Description
도 1은 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 암호화 방법의 일실시예를 설명하기 위하여 도시한 도면이다.
도 2는 본 발명에 따른 무결성 유지를 위한 메시지 암호화 방법의 제2 실시예를 설명하기 위하여 도시한 도면이다.
도 3은 본 발명에 따른 무결성 유지를 위한 메시지 암호화 방법의 제3 실시예를 설명하기 위하여 도시한 도면이다.
도 4는 AES의 CBC 모드의 암호화 방법의 일 실시예를 도시한 도면이다.
도 5는 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 복호화 방법의 일실시예를 도시한 도면이다.
도 6은 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 복호화 방법의 제2 실시예를 도시한 도면이다.
도 7은 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 복호화 방법의 제3 실시예를 도시한 도면이다.
도 8은 AES의 CBC 모드의 암호화 방법의 일 실시예를 도시한 도면이다.
도 9는 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 암호화 장치의 일실시예를 도시한 도면이다.
도 10은 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 암호화 장치의 제2 실시예를 도시한 도면이다.
도 11은 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 복호화 장치의 일 실시예를 도시한 도면이다.
도 12는 본 발명에 따른 인증부의 일실시예를 설명하기 위하여 도시한 도면이다.
도 13은 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 복호화 장치의 제2 실시예를 도시한 도면이다.
본 발명은 메시지의 암호화 방법 및 그 장치에 관한 것으로, 특히 메시지의 무결성 유지를 위한 암호화 방법 및 그 장치에 관한 것이다.
최근 데이터 보호를 위하여 암호 알고리즘을 사용하는 방법이 많이 이용되고 있다. 암호화 알고리즘의 대표적인 용도로는 데이터에 대한 기밀성, 무결성, 인증성 확보 등을 들 수 있다.
여기서, 기밀성은 데이터를 정해진 자만이 볼 수 있도록 하는 것이고, 무결 성은 데이터가 도중에 변조되었는지 여부를 확인할 수 있도록 하는 것이며, 인증성은 데이터가 누구로부터 생성된 것인지를 확인할 수 있도록 하는 것이다.
데이터에 대한 기밀성 확보를 위해서는 암호화 알고리즘을 많이 사용하고, 무결성 확보를 위해서는 해쉬 알고리즘(Hash), 메시지 인증 코드(Message Authentication Code: MAC)와 전자서명을, 그리고 인증성 확보를 위해서는 MAC 또는 전자서명을 사용할 수 있다. 그리고 이들을 모두 확보하기 위한 방법으로는 이들을 조합한 형태가 사용된다.
예컨대, 메시지 (M) 에 대한 기밀성, 무결성을 얻기 위해 수학식 1과 같이 MAC, Hash 함수 등을 이용한 데이터가 사용될 수 있다.
[수학식 1]
즉, 수학식1 의 첫번째 데이터는 메시지 M을 개인 키 K를 이용하여 암호화하고, 그 개인 키 K를 이용하여 메시지 M에 대한 MAC을 계산한 후, 그 암호화된 메시지 과 메시지 M에 대한 MAC인 을 결합한 데이터이다.
또한, 수학식 1의 두번째 데이터는 메시지 M을 개인 키 K를 이용하여 암호화 하고, 암호화된 메시지 에 대한 MAC을 계산한 후, 그 암호화된 메시지 과 그 암호화된 메시지 에 대한 MAC인 을 결합한 데이터이다.
전송되는 데이터를 수학식 1과 같이 구성함으로써 기밀성 및 무결성을 달성할 수 있다. 즉, 개인 키 K를 가지고 있는 사용자만이, 개인 키 K를 이용하여 암호화된 데이터를 복호화하여 메시지 M을 추출할 수 있으므로 데이터의 기밀성을 달성할 수 있다. 또한 MAC 과 Hash의 특성(collision free)으로부터 데이터의 무결성을 달성할 수 있다.
다만 이와 같은 종래의 암호화 방법은 제3자가 의도적으로 전송된 데이터의 무결성 검사를 생략하는 방식을 이용하여 공격하는 경우에는, 이와 같은 공격을 막을 수 있는 방법이 없다.
또한, 종래 기술은 무결성이 깨진 데이터를 안전하게 삭제하기 위하여 복수 회(예컨대 7회)에 걸쳐서 그 데이터에 0 또는 1로 덮어 쓰기를 수행하는 방법이 이용되었다. 하지만, 이와 같이 기밀성이 깨진 데이터의 용량이 크거나, 기밀성이 깨진 데이터의 개수가 많은 경우에는 덮어 쓰기를 이용하는 것이 시스템에 과부하를 줄수 있고 비효율적이라는 문제점이 있었다.
본 발명의 목적은 무결성이 깨어진 암호화된 메시지를 재사용할 수 없게 하는 메시지의 무결성 유지를 위한 암호화 방법 및 장치를 제공하는 것이다.
상기 목적을 달성하기 위한 본 발명에 따른 암호화 장치의 메시지의 무결성 유지를 위한 메시지 암호화 방법은 난수를 생성하고, 상기 생성된 난수를 이용하여 상기 메시지를 암호화하여 제1 암호문을 생성하는 단계; 상기 제1 암호문의 해쉬 값을 계산하고, 상기 제1 암호문의 해쉬 값과 소정의 공유 키를 이용하여 암호화 키를 생성하는 단계; 상기 암호화 키를 이용하여 상기 난수를 암호화하여 제2 암호문을 생성하는 단계; 및 상기 제1 암호문 및 상기 제2 암호문을 결합하는 단계를 포함한다.
바람직하게는 본 발명에 따른 암호화 장치의 메시지의 무결성 유지를 위한 메시지 암호화 방법은 상기 메시지의 해쉬 값을 계산하는 단계; 및 상기 암호화 키를 이용하여 상기 메시지의 해쉬 값에 대한 인증 코드를 생성하는 단계를 더 포함하고, 상기 결합하는 단계는 상기 제1 암호문, 상기 제2 암호문 및 상기 인증 코드를 결합하는 것을 특징으로 한다.
바람직하게는 본 발명에 따른 암호화 장치의 메시지의 무결성 유지를 위한 메시지 암호화 방법은 상기 암호화 키를 이용하여 상기 제1 암호문의 해쉬 값에 대한 인증 코드를 생성하는 단계를 더 포함하고, 상기 결합하는 단계는 상기 제1 암호문, 상기 제2 암호문 및 상기 인증 코드를 결합하는 것을 특징으로 한다.
바람직하게는 상기 인증 코드는 메시지 인증 코드(Message Authentication Code:MAC)를 이용하여 구성되는 것을 특징으로 한다.
바람직하게는 암호화 장치의 메시지의 무결성 유지를 위한 메시지 암호화 방법은 상기 메시지의 해쉬 값을 계산하는 단계; 및 상기 암호화 장치의 개인 키를 이용하여 상기 메시지의 해쉬 값을 암호화하여 제3 암호문을 생성하는 단계를 더 포함하고, 상기 결합하는 단계는 상기 제1 암호문, 상기 제2 암호문 및 상기 제3 암호문을 결합하는 것을 특징으로 한다.
바람직하게는 본 발명에 따른 암호화 장치의 메시지의 무결성 유지를 위한 메시지 암호화 방법은 상기 암호화 장치의 개인 키를 이용하여 상기 제1 암호문의 해쉬 값을 암호화하여 제3 암호문을 생성하는 단계를 더 포함하고, 상기 결합하는 단계는 상기 제1 암호문, 상기 제2 암호문 및 상기 제3 암호문을 결합하는 것을 특징으로 한다.
바람직하게는 상기 암호화 키를 생성하는 단계는 상기 암호화된 메시지의 해쉬 값과 상기 공유 키를 입력으로 하여 상기 암호화 키를 생성하는 키 유도 함수를 이용하여 상기 암호화 키를 생성하고, 상기 키 유도 함수는 상기 암호화 장치와 상기 암호화 장치가 생성한 메시지를 복호화하는 복호화 장치가 공유하는 함수인 것을 특징으로 한다.
바람직하게는 상기 소정의 공유 키는 상기 암호화 장치와 상기 암호화 장치가 생성한 메시지를 복호화하는 복호화 장치가 공유하는 공유 키인 것을 특징으로 한다.
바람직하게는 상기 메시지는 텍스트, 오디오, 비디오 및 이미지 중 적어도 하나를 포함하는 것을 특징으로 한다.
또한, 상기 목적을 달성하기 위한 본 발명에 따른 암호화 장치의 메시지의 무결성 유지를 위한 암호화 방법은 메시지를 복수개의 블록으로 분할하여 복수개의 메시지 블록을 생성하는 단계; 난수를 생성하고, 상기 난수를 이용하여 상기 복수개의 메시지 블록을 AES(Advanced Encryption Standard)의 CBC(Cipher Block Chainning) 모드에 따라 암호화하는 단계; 상기 암호화가 수행되어 생성된 복수개의 암호화된 메시지 블록 중 일부의 메시지 블록과 소정의 공유 키를 이용하여 암호화 키를 생성하는 단계; 상기 복수개의 암호화된 메시지 블록을 결합하여 제1 암호문을 생성하는 단계; 상기 암호화 키를 이용하여 상기 난수를 암호화하여 제2 암호문을 생성하는 단계; 및 상기 제1 암호문 및 상기 제2 암호문을 결합하는 단계를 포함한다.
바람직하게는 본 발명에 따른 암호화 장치의 메시지의 무결성 유지를 위한 암호화 방법은 상기 암호화 키 또는 상기 암호화 장치의 개인 키를 이용하여 상기 복수개의 암호화된 메시지 블록 중 일부의 메시지 블록을 암호화하여 제3 암호문을 생성하는 단계를 더 포함하고, 상기 결합하는 단계는 상기 제1 암호문, 상기 제2 암호문 및 상기 제3 암호문을 결합하는 것을 특징으로 한다.
바람직하게는 상기 복수개의 암호화된 메시지 블록 중 일부의 메시지 블록은 상기 복수개의 암호화된 메시지 블록 중 가장 마지막에 생성되는 메시지 블록인 것을 특징으로 한다.
바람직하게는 상기 소정의 공유 키는 상기 암호화 장치와 상기 암호화 장치가 생성한 메시지를 복호화하는 복호화 장치가 공유하는 공유 키인 것을 특징으로 한다.
또한, 상기 목적을 달성하기 위한 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 복호화 방법은 소정의 난수를 이용하여 암호화된 메시지인 제1 암호문 및 상기 제1 암호문 에 대한 해쉬 값과 소정의 공유 키를 이용하여 생성된 암호화 키를 이용하여 상기 난수를 암호화한 제2 암호문이 결합된 메시지를 수신하는 단계; 상기 수신된 메시지의 제1 암호문 및 제2 암호문을 분리한 후, 상기 분리된 제1 암호문의 해쉬 값을 계산하는 단계; 상기 제1 암호문의 해쉬 값과 소정의 공유 키를 이용하여 복호화 키를 생성하는 단계; 상기 복호화 키를 이용하여 상기 제2 암호문을 복호화하여 상기 난수를 추출하는 단계; 및 상기 추출된 난수를 이용하여 상기 제1 암호문을 복호화하는 단계를 포함한다.
바람직하게는 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 복호화 방법은 상기 수신하는 단계가 상기 암호화 키를 이용하여 생성된 상기 제1 암호문의 해쉬 값에 대한 인증 코드 또는 상기 암호화를 수행한 암호화 장치의 개인 키를 이용하여 상기 제1 암호문의 해쉬 값을 암호화한 제3 암호문 중 하나가 더 결합된 메시지를 수신할 때, 상기 수신된 메시지가 변조되었는지 여부를 판단하는 단계를 더 포함하고, 상기 난수를 추출하는 단계는 상기 판단 결과에 따라 상기 제2 암호문을 선택적으로 복호화하는 것을 특징으로 한다.
바람직하게는 상기 판단하는 단계는 상기 수신된 메시지가 상기 인증 코드가 더 결합된 메시지일 때, 상기 복호화 키를 이용하여 상기 제1 암호문의 해쉬 값에 대한 인증 코드를 생성하는 단계; 및 상기 복호화 키를 이용하여 생성된 인증 코드와 상기 수신된 인증 코드를 비교하여 일치하는지 여부에 따라 변조 여부를 판단하는 단계를 포함한다.
바람직하게는 상기 판단하는 단계는 상기 수신된 메시지가 상기 제3 암호문이 더 결합된 메시지일 때, 상기 개인 키에 대응되는 공개 키를 이용하여 상기 제3 암호문을 복호화하는 단계; 상기 제3 암호문을 복호화하여 추출된 제1 암호문의 해쉬 값과 상기 수신된 제1 암호문으로부터 계산된 제1 암호문의 해쉬 값을 비교하여 일치하는지 여부에 따라 변조 여부를 판단하는 단계를 포함한다.
또한, 상기 목적을 달성하기 위한 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 복호화 방법은 소정의 난수를 이용하여 AES의 CBC 모드에 따라 암호화가 수행되어 생성된 암호화된 복수개의 메시지 블록이 결합된 제1 암호문 및 소정의 암호화 키를 이용하여 상기 난수를 암호화하여 생성된 제2 암호문이 결합된 메시지를 수신하는 단계; 상기 수신된 메시지의 제1 암호문 및 제2 암호문을 분리하고, 상기 제1 암호문 중 일부의 메시지 블록과 소정의 공유 키를 이용하여 복호화 키를 생성하는 단계; 상기 복호화 키를 이용하여 상기 제2 암호문을 복호화하여 상기 난수를 추출하는 단계; 및 상기 추출된 난수를 이용하여 상기 제1 암호문을 AES의 CBC 모드에 따라 복호화하고, 상기 복호화에 의하여 생성된 복수개의 메시지 블록을 결합하여 메시지를 생성하는 단계를 포함하고, 상기 암호화 키는 상기 제1 암호문 중 일부의 메시지 블록과 소정의 공유 키를 이용하여 생성된 키인 것을 특징 으로 한다.
바람직하게는 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 복호화 방법 상기 수신하는 단계가 상기 제1 암호문 중 일부의 메시지 블록을 상기 암호화 키 또는 상기 암호화를 수행한 암호화 장치의 개인 키를 이용하여 암호화하여 생성된 제3 암호문이 더 결합된 메시지를 수신할 때, 상기 수신된 메시지가 변조되었는지 여부를 판단하는 단계를 더 포함하고, 상기 난수를 추출하는 단계는 상기 판단 결과에 따라 상기 제2 암호문을 선택적으로 복호화하는 것을 특징으로 한다.
바람직하게는 상기 판단하는 단계는 상기 수신된 메시지가 상기 암호화 키를 이용하여 암호화된 제3 암호문이 더 결합된 메시지일 때, 상기 복호화 키를 이용하여 상기 제3 암호문을 복호화하는 단계; 및 상기 제3 암호문을 복호화한 결과 값과 상기 수신된 제1 암호문 중 상기 암호화키 생성에 이용된 일부의 메시지 블록을 비교하여 일치하는지 여부에 따라 변조 여부를 판단하는 단계를 포함한다.
바람직하게는 상기 판단하는 단계는 상기 수신된 메시지가 상기 개인 키를 이용하여 암호화된 제3 암호문이 더 결합된 메시지일 때, 상기 개인 키에 대응되는 공개 키를 이용하여 상기 제3 암호문을 복호화하는 단계; 및 상기 제3 암호문을 복호화한 결과 값과 상기 수신된 제1 암호문 중 상기 암호화키 생성에 이용된 일부의 메시지 블록을 비교하여 일치하는지 여부에 따라 변조 여부를 판단하는 단계를 포함한다.
또한 상기 목적을 달성하기 위한 메시지의 무결성 유지를 위한 메시지 암호화 장치는 난수를 생성하는 난수 생성부; 상기 생성된 난수를 이용하여 상기 메시 지를 암호화하여 제1 암호문을 생성하는 암호화부; 상기 제1 암호문의 해쉬 값을 계산하는 연산부; 상기 제1 암호문의 해쉬 값과 소정의 공유 키를 이용하여 암호화 키를 생성하는 암호화 키 생성부; 및 상기 암호화부가 상기 암호화 키를 이용하여 상기 난수를 암호화하여 제2 암호문을 생성하면, 상기 제1 암호문 및 상기 제2 암호문을 결합하는 결합부를 포함한다.
바람직하게는 상기 연산부가 메시지의 해쉬 값을 계산하면, 상기 암호화 키를 이용하여 상기 메시지의 해쉬 값에 대한 인증 코드를 생성하는 인증 코드 생성부를 더 포함하고, 상기 결합부는 상기 제1 암호문, 상기 제2 암호문 및 상기 인증 코드를 결합하는 것을 특징으로 한다.
또한 상기 목적을 달성하기 위한 본 발명에 따른 메시지의 무결성 유지를 위한 암호화 장치는 메시지를 복수개의 블록으로 분할하여 복수개의 메시지 블록을 생성하는 메시지 분할부; 난수를 생성하는 난수 생성부; 상기 난수를 이용하여 상기 복수개의 메시지 블록을 AES의 CBC 모드에 따라 암호화하여 복수개의 암호화된 메시지 블록을 생성하는 암호화부; 상기 암호화가 수행되어 생성된 복수개의 암호화된 메시지 블록 중 일부의 메시지 블록과 소정의 공유 키를 이용하여 암호화 키를 생성하는 암호화 키 생성부; 상기 복수개의 암호화된 메시지 블록을 결합하여 제1 암호문을 생성하고, 상기 암호화부가 상기 암호화 키를 이용하여 상기 난수를 암호화하여 제2 암호문을 생성하면, 상기 제1 암호문 및 상기 제2 암호문을 결합하는 결합부를 포함한다.
또한, 상기 목적을 달성하기 위한 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 복호화 장치는 소정의 난수를 이용하여 암호화된 메시지인 제1 암호문 및 상기 제1 암호문 에 대한 해쉬 값과 소정의 공유 키를 이용하여 생성된 암호화 키를 이용하여 상기 난수를 암호화한 제2 암호문이 결합된 메시지를 수신하는 수신부; 상기 수신된 메시지의 제1 암호문 및 제2 암호문을 분리하는 메시지 분리부;상기 분리된 제1 암호문의 해쉬 값을 계산하는 연산부; 상기 제1 암호문의 해쉬 값과 소정의 공유 키를 이용하여 복호화 키를 생성하는 복호화 키 생성부; 상기 복호화 키를 이용하여 상기 제2 암호문을 복호화하여 상기 난수를 추출하고, 상기 추출된 난수를 이용하여 상기 제1 암호문을 복호화하는 복호화부를 포함한다.
바람직하게는 상기 목적을 달성하기 위한 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 복호화 장치는 상기 수신부가 상기 암호화 키를 이용하여 생성된 상기 제1 암호문의 해쉬 값에 대한 인증 코드 또는 상기 암호화를 수행한 암호화 장치의 개인 키를 이용하여 상기 제1 암호문의 해쉬 값을 암호화한 제3 암호문 중 하나가 더 결합된 메시지를 수신할 때, 상기 수신된 메시지가 변조되었는지 여부를 판단하는 인증부를 더 포함하고, 상기 복호화부는 상기 판단 결과에 따라 상기 제2 암호문을 선택적으로 복호화하는 것을 특징으로 한다.
바람직하게는 상기 인증부는 상기 수신된 메시지가 상기 인증 코드가 더 결합된 메시지일 때, 상기 복호화 키를 이용하여 상기 제1 암호문의 해쉬 값에 대한 인증 코드를 생성하는 인증 코드 생성부; 및 상기 복호화 키를 이용하여 생성된 인증 코드와 상기 수신된 인증 코드를 비교하여 일치하는지 여부에 따라 변조 여부를 판단하는 변조 여부 판단부를 포함한다.
또한 상기 목적을 달성하기 위한 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 복호화 장치는 소정의 난수를 이용하여 AES의 CBC 모드에 따라 암호화가 수행되어 생성된 암호화된 복수개의 메시지 블록이 결합된 제1 암호문 및 소정의 암호화 키를 이용하여 상기 난수를 암호화하여 생성된 제2 암호문이 결합된 메시지를 수신하는 수신부; 상기 수신된 메시지의 제1 암호문 및 제2 암호문을 분리하는 메시지 분리부; 상기 제1 암호문 중 일부의 메시지 블록과 소정의 공유 키를 이용하여 복호화 키를 생성하는 복호화 키 생성부; 상기 복호화 키를 이용하여 상기 제2 암호문을 복호화하여 상기 난수를 추출하고, 상기 추출된 난수를 이용하여 상기 제1 암호문을 AES의 CBC 모드에 따라 복호화하는 복호화부; 및 상기 복호화에 의하여 생성된 복수개의 메시지 블록을 결합하여 메시지를 생성하는 결합부를 포함하고, 상기 암호화키는 상기 제1 암호문 중 일부의 메시지 블록과 소정의 공유 키를 이용하여 생성된 키인 것을 특징으로 한다.
바람직하게는 상기 목적을 달성하기 위한 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 복호화 장치는 상기 수신부가 상기 제1 암호문 중 일부의 메시지 블록을 상기 암호화 키 또는 상기 암호화를 수행한 암호화 장치의 개인 키를 이용하여 암호화하여 생성된 제3 암호문이 더 결합된 메시지를 수신할 때, 상기 수신된 메시지가 변조되었는지 여부를 판단하는 인증부를 더 포함하고, 상기 복호화부는 상기 판단 결과에 따라 상기 제2 암호문을 선택적으로 복호화하는 것을 특징으로 한다.
이하에서는 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세히 설명한다.
도 1은 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 암호화 방법의 일실시예를 설명하기 위하여 도시한 도면이다.
단계 110에서는, 난수 N이 생성된다.
이때, 메시지는 텍스트, 오디오, 비디오 및 이미지를 포함할 수 있다.
여기서, 공유 키 는 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 암호화 방법에 따라 암호화를 수행하는 암호화 장치와 그 암호화 장치가 생성한 메시지를 복호화하는 복호화 장치가 공유하는 공유 키이다.
이때, 키 유도 함수 KDF는 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 암호화 방법에 따라 암호화를 수행하는 암호화 장치와 그 암호화 장치가 생성한 메시지를 복호화하는 복호화 장치가 공유하는 함수이다. 즉, 입력이 같으면 암호화 장치와 복호화 장치에서 동일한 키를 생성할 수 있게 되는 것이다.
따라서, 제1 암호문이 제3자에 의하여 변조된 경우에 복호화 장치가 키 유도 함수 KDF를 이용하여 복호화 키를 생성하면, 암호화 키와 동일한 키를 생성하지 못하고 암호화 키와 다른 키를 생성하게 된다. 따라서, 이와 같은 복호화 키를 이용하여 암호화 키를 이용하여 암호화된 메시지를 복호화하면, 원래의 메시지와는 전혀 다른 메시지를 얻게 된다. 이와 같은 성질을 이용하여 본 발명은 암호화된 메시지의 무결성을 유지할 수 있게 되는 것이다.
한편, 본 발명에 따른 무결성 유지를 위한 메시지 암호화 방법은 암호화를 수행할 때, 암호화된 메시지가 변조되지 않았는지를 판단하기 위한 인증 코드 등을 더 포함하여 암호화할 수도 있다.
도 2는 본 발명에 따른 무결성 유지를 위한 메시지 암호화 방법의 제2 실시예를 설명하기 위하여 도시한 도면이다.
도 2의 단계 210 내지 단계 250까지는, 도 1의 단계 110 내지 단계 150까지의 과정과 동일하므로 설명을 생략한다.
260단계에서는, 암호화 키를 이용하여 제1 암호문의 해쉬 값에 대한 인증 코드 AUTH를 생성한다.
이때, 인증 코드는 제1 암호문의 해쉬 값 이 변조되었는지 여부를 체크할 수 있게 해주는 역할을 하며, 도 2에서와 같이 메시지 인증 코드(Message Authentication Code:MAC)를 이용하여 으로 구성될 수도 있지만, 이에 한정되지 않고 메시지의 무결성을 체크할 수 있는 모든 함수를 이용하여 인증 코드가 생성될 수 있다.
또한, 인증 코드는 제1 암호문의 해쉬 값 에 대한 인증 코드가 아닌 메시지의 해쉬 값 에 대한 인증 코드 로 구성될 수도 있다. 다만, 이와 같이 메시지의 해쉬 값 에 대한 인증 코드를 사용하게 되면, 메시지의 해쉬 값 을 별도로 계산하여야 하기 때문에 제1 암호문의 해쉬 값 에 대한 인증 코드를 사용하는 것이 연산량이 적게 되는 장점이 있다.
한편, 다른 실시예로서, 인증 코드와 동일한 기능을 수행하는 제3 암호문을 생성할 수 있다.
예컨대, 본 발명에 따른 무결성 유지를 위한 메시지 암호화 방법을 수행하는 암호화 장치의 개인 키 를 이용하여 제1 암호문의 해쉬 값을 암호화하여 제3 암호문 를 생성할 수 있다.
한편, 본 발명은 암호화 키를 생성할때 제1 암호문의 해쉬 값 을 이용하는 방법 외에도, 제1 암호문이 변조되면 함께 그 값이 변경되는 임의의 값이 있다면, 그 값을 이용하여 암호화 키를 생성함으로써, 동일한 효과를 얻을 수도 있다.
도 3은 본 발명에 따른 무결성 유지를 위한 메시지 암호화 방법의 제3 실시예를 설명하기 위하여 도시한 도면이다.
단계 310에서는, 메시지를 복수개의 블록으로 분할하여 복수개의 메시지 블록을 생성한다.
단계 320에서는, 난수를 생성한다.
단계 330에서는, 생성된 난수를 이용하여 복수개의 메시지 블록을 AES(Advanced Encryption Standard)의 CBC(Cipher Block Chainning) 모드에 따라 암호화한다.
도 4는 AES의 CBC 모드의 암호화 방법의 일 실시예를 도시한 도면이다.
즉, 1에 난수 N을 더한 값을 AES의 CBC 모드의 암호화를 위한 암호화 키 를 이용하여 암호화하여 이 생성되면, 이 과 를 더하고, 이 더해진 결과 값을 AES의 CBC 모드의 암호화를 위한 암호화 키 를 이용하여 암호화하여 를 생성한다. 이와 같이 앞의 과정에서 얻어진 결과 값을 뒤의 암호화에 이용하는 방식으로 , , … , 까지의 메시지를 이용하여 암호화된 메시지 ,, ..., 를 생성하게 된다.
이와 같이 AES-CBC 모드를 이용하여 암호화하는 경우에는 앞의 과정에서 얻어진 결과 값을 뒤의 암호화에 이용하게 되어, 암호화된 메시지 중에 하나가 변조되면, 그 변조된 메시지 이후의 암호화된 결과가 달라지게 된다. 본 발명은 AES의 CBC 모드를 이용한 암호화 방법의 이와 같은 특성을 이용하여 무결성을 유지하기 위하여 후술하는대로 암호화된 메시지 블록 중 일부를 이용하여 암호화 키를 생성하는 것이다.
단계 340에서는, AES의 CBC 모드에 따라 암호화된 복수개의 암호화된 메시지 블록을 결합하여 제1 암호문을 생성한다.
단계 350에서는 제1 암호문 중 일부의 메시지 블록과 공유 키를 이용하여 암호화 키를 생성한다.
이때, 제1 암호문 중 일부의 메시지 블록은 하나의 메시지 블록일 수도 있고, 복수개의 메시지 블록일 수도 있다. 다만, 이 경우에 제1 암호문 중 어느 부분의 메시지 블록을 암호화 키를 생성하는 데 이용할 것인지에 대해서 소정의 규칙을 정하여야 한다. 예컨대, 복수개의 암호화된 메시지 블록 중 중간에 위치하는 메시지 블록을 사용하거나, 20번째 메시지 블록을 사용한다거나 하는 규칙을 정하고, 이후에 복호화 키를 생성할 때도, 이와 같이 미리 결정된 메시지 블록을 이용하여 복호화 키를 생성하게 된다.
바람직하게는, 도 3에 도시된 것과 같이 제1 암호문 중 일부의 메시지 블록은 제1 암호문 중 가장 마지막에 생성되는 메시지 블록으로 구성될 수 있다. 이와 같이 가장 마지막에 생성되는 메시지 블록을 이용하면, 복수개의 메시지 블록 중에 어느 것이 변조되더라도 언제나 마지막 메시지 블록이 값이 변경되게 되어, 메시지에 대한 제3자의 변조가 있으면 언제나 암호화 키가 변경되게 되어 무결성 유지에 효과적이다.
이와 같이 생성된 제3 암호문은 복호화 과정에서 메시지의 무결성을 판단하는데 이용된다. 제3 암호문을 이용하여 무결성을 판단하는 과정은 도x를 참조하여 후술한다.
다만, 구현예에 따라서는 단계 370은 생략될 수 있다.
이상까지는 본 발명에 따른 메시지의 무결성 유지를 위한 암호화 방법에 대하여 설명하였다. 이후에는 도 5 내지 도x를 참조하여, 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 복호화 방법에 대하여 설명한다.
도 5는 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 복호화 방법의 일실시예를 도시한 도면이다.
전술한 바와 같이, 수신된 암호화된 메시지가 변조되지 않은 경우에는, 키 유도 함수 KDF를 이용하여 생성된 복호화 키 는 암호화 키 와 동일한 값을 가져야 한다. 하지만, 수신된 암호화된 메시지가 변조된 경우에는 제1 암호문의 해쉬 값 가 변경되기 때문에 복호화 키 는 암호화 키 와 다른 값을 가지게 된다.
이때, 암호화된 메시지가 변조되지 않은 경우에는 제1 암호문 을 복호화하여 얻어진 메시지 M이 원래의 메시지 M과 동일한 값을 가지게 되지만, 암호화된 메시지가 변조된 경우에는 복호화하여 얻어진 메시지 M은 원래의 메시지 M과는 전혀 관계없는 값을 가지게 된다.
따라서, 암호화된 메시지가 변조된 경우에는 복호화된 결과가 원하는 자료가 아닌, 임의의 난수들로 이루어진 데이터와 같이 아무런 의미가 없는 데이터를 얻게 되므로, 사용자는 데이터가 변조되었다는 것을 알 수 있다.
또한, 이와 같이 데이터가 변조된 경우에는 복화화 결과가 언제나 원래의 메시지와 관계 없는 값을 가지게 되므로, 이 변조된 데이터를 안전하게 삭제하기 위하여 7번씩이나 덮어쓰기를 할 필요없이, 한 번만 삭제하면 된다.
한편, 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 복호화 방법은 암호화된 메시지가 변조된 것인지 여부를 판단하는 과정을 더 포함할 수 있다.
도 6은 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 복호화 방법의 제2 실시예를 도시한 도면이다.
단계 610에서는, 소정의 난수 N을 이용하여 암호화된 메시지인 제1 암호문 , 소정의 암호화 키 를 이용하여 암호화된 난수 가 결합된 메시지 및 제1 암호문의 해쉬 값에 대한 인증 코드 가 결합된 메시지를 수신한다.
이때, 제1 암호문의 해쉬 값에 대한 인증 코드 대신에 수신된 메시지에 대한 암호화를 수행한 암호화 장치의 개인 키를 이용하여 제1 암호문의 해쉬 값을 암호화한 제3 암호문 를 수신할 수도 있다.
이때, 변조되었는지 여부를 판단하는 과정은 다음과 같다.
이때, 양 값이 일치하는 경우에는 메시지가 변조되지 않은 것으로 판단하고, 일치하지 않는 경우에는 메시지가 변조된 것으로 판단한다.
이와 같은 판단결과, 수신된 메시지가 변조되었다고 판단되면, 이후의 복호화 과정은 중단된다.
한편, 제3 암호문 를 수신한 경우에는, 제3 암호문 를 암호화한 암호화 장치의 개인 키에 대응되는 공개 키를 이용하여 제3 암호문 를 복호화하고, 그 복호화에 의하여 추출된 제1 암호문의 해쉬 값 과 수신된 제1 암호문 으로부터 계산된 을 비교하여 메시지의 변조 여부를 판단한다.
단계 650 및 단계 660은 도 5의 단계 540 및 단계 550과 동일하므로 설명을 생략한다.
도 7은 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 복호화 방법의 제3 실시예를 도시한 도면이다.
단계 710에서는, 난수 N을 이용하여 AES의 CBC 모드에 따라 암호화가 수행되 어 생성된 암호화된 복수개의 메시지 블록이 결합된 제1 암호문 , 소정의 암호화 키 를 이용하여 난수를 암호화하여 생성된 제2 암호문 및 제1 암호문 중 일부의 메시지 블록를 암호화 키 또는 개인 키 를 이용하여 암호화하여 생성된 제3 암호문이 결합된 메시지를 수신한다.
이때, 제1 암호문 중 일부의 메시지 블록은 하나의 메시지 블록일 수도 있고, 복수개의 메시지 블록일 수도 있다. 다만, 이 경우에 제1 암호문 중 어느 부분의 메시지 블록을 암호화 키를 생성하는 데 이용할 것인지에 대해서 소정의 규칙을 정하여야 한다.
바람직하게는, 제1 암호문 중 일부의 메시지 블록은 제1 암호문 중 가장 마지막에 생성되는 메시지 블록으로 구성될 수 있다.
이하에서는 메시지가 변조되었는지 여부를 판단하는 방법에 대하여 설명한다.
다음으로, 제3 암호문을 복호화하여 추출된 제1 암호문 중 일부의 메시지 블록 와 수신된 제1 암호문 중 암호화 키 생성에 이용된 일부의 메시지 블록 를 비교하여 일치하는지 여부에 따라 변조 여부를 판단한다.
이와 같은 판단결과, 수신된 메시지가 변조되었다고 판단되면, 이후의 복호화 과정은 중단된다.
한편, 수신된 메시지가 그 수신된 메시지를 암호화한 암호화 장치의 개인 키를 이용하여 암호화된 제3 암호문인 경우에는 그 개인 키에 대응되는 공개 키를 이용하여 제3 암호문 을 복호화한 후, 그 복호화 된 와 수신된 제1 암호문 중 암호화 키 생성에 이용된 일부의 메시지 블록 를 비교하여 일치하는지 여부에 따라 변조 여부를 판단한다.
단계 750에서는, 추출된 난수를 이용하여 제1 암호문을 AES의 CBC 모드에 따라 복호화한다.
도 8은 AES의 CBC 모드의 암호화 방법의 일 실시예를 도시한 도면이다.
도 8을 참조하면, 암호문 을 AES의 CBC 모드의 복호화를 위한 복 호화 키 를 이용하여 복호화하고 난수 N을 더해주면 을 얻게 되고, 를 복호화 키 K를 이용하여 복호화하고 을 더해주면 를 얻게 된다. 이와 같은 방식으로 복호화 과정을 거치면 , , … , 를 얻게 된다.
단계 760에서는, 복호화에 의하여 생성된 복수개의 메시지 블록을 결합하여 메시지 M을 생성한다.
지금까지 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 암호화 방법 및 복호화 방법에 대하여 설명하였다. 이하에서는 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 암호화 장치 및 복호화 장치에 대하여 설명한다.
도 9는 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 암호화 장치의 일실시예를 도시한 도면이다.
도 9를 참조하면 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 암호화 장치는 난수 생성부(910) 암호화부(920), 연산부(930), 암호화 키 생성부(940) 및 결합부(960)를 포함한다.
난수 생성부(910)는 난수를 생성한다.
암호화부(920)는 생성된 난수를 이용하여 메시지를 암호화하여 제1 암호문을 생성한다.
연산부(930)는 제1 암호문의 해쉬 값을 계산한다.
암호화 키 생성부(940)는 제1 암호문의 해쉬 값과 공유 키를 이용하여 암호화 키를 생성한다.
인증 코드 생성부(950)는 연산부(940)가 메시지의 해쉬 값을 계산하면, 암호화 키를 이용하여 메시지의 해쉬 값에 대한 인증 코드를 생성한다.
다만, 구현예에 따라서 인증 코드 생성부는 생략될 수 있다.
결합부(960)는 제1 암호문, 제2 암호문 및 인증 코드를 결합한다.
다만, 구현예에 따라서 제1 암호문 및 제2 암호문만 결합될 수도 있다.
도 10은 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 암호화 장치의 제2 실시예를 도시한 도면이다.
도 10을 참조하면, 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 암호화 장치는 메시지 분할부(1010), 난수 생성부(1020), 암호화부(1030), 암호화 키 생성부(1040)
메시지 분할부(1010)는 메시지를 복수개의 블록으로 분할하여 복수개의 메시지 블록을 생성한다.
난수 생성부(1020)는 암호화부(1030)에서의 암호화에 이용되는 난수를 생성한다.
암호화부(1030)는 난수 생성부(1020)에서 생성된 난수를 이용하여 복수개의 메시지 블록을 AES의 CBC 모드에 따라 암호화하여 복수개의 암호화된 메시지 블록을 생성한다.
암호화 키 생성부(1040)는 암호화부(1030)에 의하여 암호화가 수행되어 생성 된 복수개의 암호화된 메시지 블록 중 일부의 메시지 블록과 공유 키를 이용하여 암호화 키를 생성한다.
암호화부(1030)는 암호화 키 생성부(1040)가 암호화 키를 이용하여 난수를 암호화하여 제2 암호문을 생성한다.
또한, 암호화부(1030)는 암호화 키 또는 암호화 장치의 개인 키를 이용하여 제1 암호문 중 일부의 메시지 블록을 암호화하여 제3 암호문을 생성한다.
결합부(1050)는 복수개의 암호화된 메시지 블록을 결합하여 제1 암호문을 생성하고, 이와 같이 생성된 제1 암호문과 암호화부(1030)에서 생성된 제2 암호문 및 제3 암호문을 결합한다.
도 11은 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 복호화 장치의 일 실시예를 도시한 도면이다.
도 11을 참조하면, 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 복호화 장치는 수신부(1110), 메시지 분리부(1120), 연산부(1130), 복호화 키 생성부(1140), 인증부(1150) 및 복호화부(1160)를 포함한다.
수신부(1110)는 난수를 이용하여 암호화된 메시지인 제1 암호문 및 제1 암호문에 대한 해쉬 값과 공유 키를 이용하여 생성된 암호화 키를 이용하여 난수를 암호화한 제2 암호문 및 암호화 키를 이용하여 생성된 제1 암호문의 해쉬 값에 대한 인증 코드가 결합된 메시지를 수신한다.
다만, 구현예에 따라서 제1 암호문 및 제2 암호문만이 결합된 메시지를 수신할 수도 있고, 인증 코드 대신에 수신된 메시지를 암호화한 암호화 장치의 개인 키 를 이용하여 제1 암호문의 해쉬 값을 암호화한 제3 암호문이 결합된 메시지를 수신할 수도 있다.
메시지 분리부(1120)는 수신된 메시지의 제1 암호문 및 제2 암호문을 분리한다.
연산부(1130)는 상기 분리된 제1 암호문의 해쉬 값을 계산하는 연산부;
복호화 키 생성부(1140)는 제1 암호문의 해쉬 값과 공유 키를 이용하여 복호화 키를 생성한다.
인증부(1150)는 수신된 메시지가 변조되었는지 여부를 판단한다.
도 12는 본 발명에 따른 인증부의 일실시예를 설명하기 위하여 도시한 도면이다.
도 12을 참조하면, 본 발명에 따른 인증부는 인증 코드 생성부(1152) 및 변조 여부 판단부(1154)를 포함한다.
인증 코드 생성부(1152)는 수신된 메시지가 제1 암호문, 제2 암호문 및 인증 코드가 결합된 메시지인 경우에 복호화 키를 이용하여 제1 암호문의 해쉬 값에 대한 인증 코드를 생성한다.
변조 여부 판단부(1154)는 복호화 키를 이용하여 생성된 인증 코드와 수신부(1110)에 수신된 인증 코드를 비교하여 일치하는지 여부에 따라 변조 여부를 판단한다.
한편, 다른 실시예로서 본 발명에 따른 인증부는 수신된 메시지가 제1 암호문, 제2 암호문 및 수신된 메시지를 암호화한 암호화 장치의 개인 키로 암호화된 메시지일 때, 복호화부(1160)가 그 개인 키에 대응되는 공개 키를 이용하여 제3 암호문을 복호화하면, 제3 암호문을 복호화하여 추출된 제1 암호문의 해쉬 값과 수신부(1110)에 수신된 제1 암호문으로부터 계산된 제1 암호문의 해쉬 값을 비교하여 일치하는지 여부에 따라 변조 여부를 판단한다.
복호화부는(1150)는 복호화 키를 이용하여 제2 암호문을 복호화하여 난수를 추출하고, 그 추출된 난수를 이용하여 제1 암호문을 복호화한다.
이때, 복호화부는(1150) 인증부(1150)의 판단결과, 수신된 메시지가 변조되었다고 판단되면, 제2 암호문에 대한 복호화를 중지한다. 즉, 복호화부는(1150) 수신된 메시지가 변조되지 않은 경우에 한하여 복호화 과정을 진행하여 최종적으로 메시지를 출력하게 되는 것이다.
도 13은 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 복호화 장치의 제2 실시예를 도시한 도면이다.
도 13을 참조하면, 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 복호화 장치는
수신부(1310)는 난수를 이용하여 AES의 CBC 모드에 따라 암호화가 수행되어 생성된 암호화된 복수개의 메시지 블록이 결합된 제1 암호문, 소정의 암호화 키를 이용하여 난수를 암호화하여 생성된 제2 암호문 및 암호화 키 또는 수신된 메시지에 대한 암호화를 수행한 암호화 장치의 개인 키를 이용하여 암호화하여 생성된 제3 암호문이 결합된 메시지를 수신한다.
이때, 구현예에 따라서는 제1 암호문 및 제2 암호문만 수신될 수도 있다.
메시지 분리부(1320)는 수신된 메시지의 제1 암호문, 제2 암호문 및 제3 아호문을 분리한다.
복호화 키 생성부(1330)는 제1 암호문 중 일부의 메시지 블록과 공유 키를 이용하여 복호화 키를 생성한다.
인증부(1340)는 수신된 메시지에 결합된 제3 암호문이 암호화 키를 이용하여 암호화된 경우에는, 복호화부(1350)가 복호화 키를 이용하여 그 제3 암호문을 복호화하게 하고, 복호화부(1350)로부터 제3 암호문을 복호화한 결과 값을 수신하여, 그 복호화한 결과 값과 수신부(1310)에 수신된 제1 암호문 중 암호화키 생성에 이용된 일부의 메시지 블록을 비교하여 일치하는지 여부에 따라 수신된 메시지의 변조 여부를 판단한다.
또한, 인증부(1340)는 수신된 메시지에 결합된 제3 암호문이 수신된 메시지에 대한 암호화를 수행한 암호화 장치의 개인 키를 이용하여 암호화된 경우에는 복호화부(1350)가 그 개인 키에 대응되는 공개 키를 이용하여 제3 암호문을 복호화하게하고, 복호화부(1350)로부터 제3 암호문을 복호화한 결과 값을 이용하여 수신된 메시지의 변조여부를 판단한다.
복호화부(1350)는 복호화 키를 이용하여 제2 암호문을 복호화하여 난수를 추출하고, 추출된 난수를 이용하여 제1 암호문을 AES의 CBC 모드에 따라 복호화한다. 이때, 복호화부(1330)는 인증부(1340)의 판단결과, 수신된 메시지가 변조된 것으로 판단되면, 제2 암호문을 복호화하지 않는다. 즉, 복호화부는(1150) 수신된 메시지가 변조되지 않은 경우에 한하여 복호화 과정을 진행하여 최종적으로 메시지 를 출력하게 되는 것이다.
결합부(1360)는 복호화부(1350)에서 AES의 CBC 모드에 따라 복호화하여 생성된 복수개의 메시지 블록을 결합하여 메시지를 생성한다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
본 발명은 난수를 생성하고, 생성된 난수를 이용하여 메시지를 암호화하여 제1 암호문을 생성하고, 1 암호문의 해쉬 값을 계산하고, 제1 암호문의 해쉬 값과 소정의 공유 키를 이용하여 암호화 키를 생성하고, 그 암호화 키를 이용하여 난수를 암호화하여 제2 암호문을 생성한 후, 제1 암호문 및 제2 암호문을 결합함으로써, 무결성이 깨어진 암호화된 메시지를 재사용할 수 없게 하는 효과가 있다.
Claims (43)
- 암호화 장치의 메시지의 무결성 유지를 위한 메시지 암호화 방법에 있어서,난수를 생성하고, 상기 생성된 난수를 이용하여 상기 메시지를 암호화하여 제1 암호문을 생성하는 단계;상기 제1 암호문의 해쉬 값을 계산하고, 상기 제1 암호문의 해쉬 값과 소정의 공유 키를 이용하여 암호화 키를 생성하는 단계;상기 암호화 키를 이용하여 상기 난수를 암호화하여 제2 암호문을 생성하는 단계; 및상기 제1 암호문 및 상기 제2 암호문을 결합하는 단계를 포함하는 것을 특징으로 하는 암호화 방법.
- 제1항에 있어서,상기 메시지의 해쉬 값을 계산하는 단계; 및상기 암호화 키를 이용하여 상기 메시지의 해쉬 값에 대한 인증 코드를 생성하는 단계를 더 포함하고,상기 결합하는 단계는 상기 제1 암호문, 상기 제2 암호문 및 상기 인증 코드를 결합하는 것을 특징으로 하는 암호화 방법.
- 제1항에 있어서,상기 암호화 키를 이용하여 상기 제1 암호문의 해쉬 값에 대한 인증 코드를 생성하는 단계를 더 포함하고,상기 결합하는 단계는 상기 제1 암호문, 상기 제2 암호문 및 상기 인증 코드를 결합하는 것을 특징으로 하는 암호화 방법.
- 제2항 또는 제3항에 있어서,상기 인증 코드는메시지 인증 코드(Message Authentication Code:MAC)를 이용하여 구성되는 것을 특징으로 하는 암호화 방법.
- 제1항에 있어서,상기 메시지의 해쉬 값을 계산하는 단계; 및상기 암호화 장치의 개인 키를 이용하여 상기 메시지의 해쉬 값을 암호화하여 제3 암호문을 생성하는 단계를 더 포함하고,상기 결합하는 단계는 상기 제1 암호문, 상기 제2 암호문 및 상기 제3 암호문을 결합하는 것을 특징으로 하는 암호화 방법.
- 제1항에 있어서,상기 암호화 장치의 개인 키를 이용하여 상기 제1 암호문의 해쉬 값을 암호화하여 제3 암호문을 생성하는 단계를 더 포함하고,상기 결합하는 단계는 상기 제1 암호문, 상기 제2 암호문 및 상기 제3 암호문을 결합하는 것을 특징으로 하는 암호화 방법.
- 제1항에 있어서상기 암호화 키를 생성하는 단계는상기 암호화된 메시지의 해쉬 값과 상기 공유 키를 입력으로 하여 상기 암호화 키를 생성하는 키 유도 함수를 이용하여 상기 암호화 키를 생성하고,상기 키 유도 함수는 상기 암호화 장치와 상기 암호화 장치가 생성한 메시지를 복호화하는 복호화 장치가 공유하는 함수인 것을 특징으로 하는 암호화 방법.
- 제1항에 있어서,상기 소정의 공유 키는상기 암호화 장치와 상기 암호화 장치가 생성한 메시지를 복호화하는 복호화 장치가 공유하는 공유 키인 것을 특징으로 하는 암호화 방법.
- 제1항에 있어서,상기 메시지는텍스트, 오디오, 비디오 및 이미지 중 적어도 하나를 포함하는 것을 특징으로 하는 암호화 방법.
- 암호화 장치의 메시지의 무결성 유지를 위한 암호화 방법에 있어서,메시지를 복수개의 블록으로 분할하여 복수개의 메시지 블록을 생성하는 단계;난수를 생성하고, 상기 난수를 이용하여 상기 복수개의 메시지 블록을 AES(Advanced Encryption Standard)의 CBC(Cipher Block Chainning) 모드에 따라 암호화하는 단계;상기 암호화가 수행되어 생성된 복수개의 암호화된 메시지 블록 중 일부의 메시지 블록과 소정의 공유 키를 이용하여 암호화 키를 생성하는 단계;상기 복수개의 암호화된 메시지 블록을 결합하여 제1 암호문을 생성하는 단계;상기 암호화 키를 이용하여 상기 난수를 암호화하여 제2 암호문을 생성하는 단계; 및상기 제1 암호문 및 상기 제2 암호문을 결합하는 단계를 포함하는 것을 특징으로 하는 암호화 방법.
- 제10항에 있어서,상기 암호화 키 또는 상기 암호화 장치의 개인 키를 이용하여 상기 복수개의 암호화된 메시지 블록 중 일부의 메시지 블록을 암호화하여 제3 암호문을 생성하는 단계를 더 포함하고,상기 결합하는 단계는 상기 제1 암호문, 상기 제2 암호문 및 상기 제3 암호 문을 결합하는 것을 특징으로 하는 암호화 방법.
- 제10항에 있어서,상기 복수개의 암호화된 메시지 블록 중 일부의 메시지 블록은상기 복수개의 암호화된 메시지 블록 중 가장 마지막에 생성되는 메시지 블록인 것을 특징으로 하는 암호화 방법.
- 제10항에 있어서,상기 소정의 공유 키는상기 암호화 장치와 상기 암호화 장치가 생성한 메시지를 복호화하는 복호화 장치가 공유하는 공유 키인 것을 특징으로 하는 암호화 방법.
- 메시지의 무결성 유지를 위한 메시지 복호화 방법에 있어서,소정의 난수를 이용하여 암호화된 메시지인 제1 암호문 및 상기 제1 암호문 에 대한 해쉬 값과 소정의 공유 키를 이용하여 생성된 암호화 키를 이용하여 상기 난수를 암호화한 제2 암호문이 결합된 메시지를 수신하는 단계;상기 수신된 메시지의 제1 암호문 및 제2 암호문을 분리한 후, 상기 분리된 제1 암호문의 해쉬 값을 계산하는 단계;상기 제1 암호문의 해쉬 값과 소정의 공유 키를 이용하여 복호화 키를 생성하는 단계;상기 복호화 키를 이용하여 상기 제2 암호문을 복호화하여 상기 난수를 추출하는 단계; 및상기 추출된 난수를 이용하여 상기 제1 암호문을 복호화하는 단계를 포함하는 것을 특징으로 하는 복호화 방법.
- 제14항에 있어서,상기 수신하는 단계가 상기 암호화 키를 이용하여 생성된 상기 제1 암호문의 해쉬 값에 대한 인증 코드 또는 상기 암호화를 수행한 암호화 장치의 개인 키를 이용하여 상기 제1 암호문의 해쉬 값을 암호화한 제3 암호문 중 하나가 더 결합된 메시지를 수신할 때,상기 수신된 메시지가 변조되었는지 여부를 판단하는 단계를 더 포함하고,상기 난수를 추출하는 단계는 상기 판단 결과에 따라 상기 제2 암호문을 선택적으로 복호화하는 것을 특징으로 하는 복호화 방법.
- 제15항에 있어서,상기 판단하는 단계는상기 수신된 메시지가 상기 인증 코드가 더 결합된 메시지일 때, 상기 복호화 키를 이용하여 상기 제1 암호문의 해쉬 값에 대한 인증 코드를 생성하는 단계; 및상기 복호화 키를 이용하여 생성된 인증 코드와 상기 수신된 인증 코드를 비 교하여 일치하는지 여부에 따라 변조 여부를 판단하는 단계를 포함하는 것을 특징으로 하는 복호화 방법.
- 제15항에 있어서,상기 판단하는 단계는상기 수신된 메시지가 상기 제3 암호문이 더 결합된 메시지일 때, 상기 개인 키에 대응되는 공개 키를 이용하여 상기 제3 암호문을 복호화하는 단계;상기 제3 암호문을 복호화하여 추출된 제1 암호문의 해쉬 값과 상기 수신된 제1 암호문으로부터 계산된 제1 암호문의 해쉬 값을 비교하여 일치하는지 여부에 따라 변조 여부를 판단하는 단계를 포함하는 것을 특징으로 하는 복호화 방법.
- 메시지의 무결성 유지를 위한 메시지 복호화 방법에 있어서,소정의 난수를 이용하여 AES의 CBC 모드에 따라 암호화가 수행되어 생성된 암호화된 복수개의 메시지 블록이 결합된 제1 암호문 및 소정의 암호화 키를 이용하여 상기 난수를 암호화하여 생성된 제2 암호문이 결합된 메시지를 수신하는 단계;상기 수신된 메시지의 제1 암호문 및 제2 암호문을 분리하고, 상기 제1 암호문 중 일부의 메시지 블록과 소정의 공유 키를 이용하여 복호화 키를 생성하는 단계;상기 복호화 키를 이용하여 상기 제2 암호문을 복호화하여 상기 난수를 추출 하는 단계; 및상기 추출된 난수를 이용하여 상기 제1 암호문을 AES의 CBC 모드에 따라 복호화하고, 상기 복호화에 의하여 생성된 복수개의 메시지 블록을 결합하여 메시지를 생성하는 단계를 포함하고,상기 암호화 키는 상기 제1 암호문 중 일부의 메시지 블록과 소정의 공유 키를 이용하여 생성된 키인 것을 특징으로 하는 복호화 방법.
- 제18항에 있어서,상기 수신하는 단계가 상기 제1 암호문 중 일부의 메시지 블록을 상기 암호화 키 또는 상기 암호화를 수행한 암호화 장치의 개인 키를 이용하여 암호화하여 생성된 제3 암호문이 더 결합된 메시지를 수신할 때,상기 수신된 메시지가 변조되었는지 여부를 판단하는 단계를 더 포함하고,상기 난수를 추출하는 단계는 상기 판단 결과에 따라 상기 제2 암호문을 선택적으로 복호화하는 것을 특징으로 하는 복호화 방법.
- 제19항에 있어서,상기 판단하는 단계는상기 수신된 메시지가 상기 암호화 키를 이용하여 암호화된 제3 암호문이 더 결합된 메시지일 때, 상기 복호화 키를 이용하여 상기 제3 암호문을 복호화하는 단계; 및상기 제3 암호문을 복호화한 결과 값과 상기 수신된 제1 암호문 중 상기 암호화키 생성에 이용된 일부의 메시지 블록을 비교하여 일치하는지 여부에 따라 변조 여부를 판단하는 단계를 포함하는 것을 특징으로 하는 복호화 방법.
- 제19항에 있어서,상기 판단하는 단계는상기 수신된 메시지가 상기 개인 키를 이용하여 암호화된 제3 암호문이 더 결합된 메시지일 때, 상기 개인 키에 대응되는 공개 키를 이용하여 상기 제3 암호문을 복호화하는 단계; 및상기 제3 암호문을 복호화한 결과 값과 상기 수신된 제1 암호문 중 상기 암호화키 생성에 이용된 일부의 메시지 블록을 비교하여 일치하는지 여부에 따라 변조 여부를 판단하는 단계를 포함하는 것을 특징으로 하는 복호화 방법.
- 메시지의 무결성 유지를 위한 메시지 암호화 장치에 있어서,난수를 생성하는 난수 생성부;상기 생성된 난수를 이용하여 상기 메시지를 암호화하여 제1 암호문을 생성하는 암호화부;상기 제1 암호문의 해쉬 값을 계산하는 연산부;상기 제1 암호문의 해쉬 값과 소정의 공유 키를 이용하여 암호화 키를 생성하는 암호화 키 생성부; 및상기 암호화부가 상기 암호화 키를 이용하여 상기 난수를 암호화하여 제2 암호문을 생성하면, 상기 제1 암호문 및 상기 제2 암호문을 결합하는 결합부를 포함하는 것을 특징으로 하는 암호화 장치.
- 제22항에 있어서,상기 연산부가 메시지의 해쉬 값을 계산하면, 상기 암호화 키를 이용하여 상기 메시지의 해쉬 값에 대한 인증 코드를 생성하는 인증 코드 생성부를 더 포함하고,상기 결합부는 상기 제1 암호문, 상기 제2 암호문 및 상기 인증 코드를 결합하는 것을 특징으로 하는 암호화 장치.
- 제23항에 있어서,상기 인증 코드 생성부는 상기 암호화 키를 이용하여 상기 제1 암호문의 해쉬 값에 대한 인증 코드를 생성하고,상기 결합부는 상기 제1 암호문, 상기 제2 암호문 및 상기 인증 코드를 결합하는 것을 특징으로 하는 암호화 장치.
- 제23항상기 인증 코드는메시지 인증 코드(Message Authentication Code:MAC)를 이용하여 구성되는 것을 특징으로 하는 암호화 장치.
- 제22항에 있어서,상기 연산부는 메시지의 해쉬 값을 계산하고,상기 암호화부는 상기 암호화 장치의 개인 키를 이용하여 상기 메시지의 해쉬 값을 암호화하여 제3 암호문을 생성하고,상기 결합부는 상기 제1 암호문, 상기 제2 암호문 및 상기 제3 암호문을 결합하는 것을 특징으로 하는 암호화 장치.
- 제22항에 있어서,상기 암호화부는 상기 암호화 장치의 개인 키를 이용하여 상기 제1 암호문의 해쉬 값을 암호화하여 제3 암호문을 생성하고,상기 결합부는 상기 제1 암호문, 상기 제2 암호문 및 상기 제3 암호문을 결합하는 것을 특징으로 하는 암호화 장치.
- 제22항에 있어서상기 암호화 키 생성부는 상기 암호화된 메시지의 해쉬 값과 상기 공유 키를 입력으로 하여 상기 암호화 키를 생성하는 키 유도 함수를 이용하여 상기 암호화 키를 생성하고,상기 키 유도 함수는 상기 암호화 장치와 상기 암호화 장치가 생성한 메시지 를 복호화하는 복호화 장치가 공유하는 함수인 것을 특징으로 하는 암호화 장치.
- 제22항에 있어서,상기 소정의 공유 키는상기 암호화 장치와 상기 암호화 장치가 생성한 메시지를 복호화하는 복호화 장치가 공유하는 공유 키인 것을 특징으로 하는 암호화 장치.
- 제22항에 있어서,상기 메시지는텍스트, 오디오, 비디오 및 이미지 중 적어도 하나를 포함하는 것을 특징으로 하는 암호화 장치.
- 메시지의 무결성 유지를 위한 암호화 장치에 있어서,메시지를 복수개의 블록으로 분할하여 복수개의 메시지 블록을 생성하는 메시지 분할부;난수를 생성하는 난수 생성부;상기 난수를 이용하여 상기 복수개의 메시지 블록을 AES의 CBC 모드에 따라 암호화하여 복수개의 암호화된 메시지 블록을 생성하는 암호화부;상기 암호화가 수행되어 생성된 복수개의 암호화된 메시지 블록 중 일부의 메시지 블록과 소정의 공유 키를 이용하여 암호화 키를 생성하는 암호화 키 생성 부;상기 복수개의 암호화된 메시지 블록을 결합하여 제1 암호문을 생성하고, 상기 암호화부가 상기 암호화 키를 이용하여 상기 난수를 암호화하여 제2 암호문을 생성하면, 상기 제1 암호문 및 상기 제2 암호문을 결합하는 결합부를 포함하는 것을 특징으로 하는 암호화 장치.
- 제31항에 있어서,상기 암호화부는 암호화 키 또는 상기 암호화 장치의 개인 키를 이용하여 상기 제1 암호문 중 일부의 메시지 블록을 암호화하여 제3 암호문을 생성하고,상기 결합부는 상기 제1 암호문, 상기 제2 암호문 및 상기 제3 암호문을 결합하는 것을 특징으로 하는 암호화 장치.
- 제31항에 있어서,상기 제1 암호문 중 일부의 메시지 블록은상기 제1 암호문 중 가장 마지막에 생성되는 메시지 블록인 것을 특징으로 하는 암호화 장치.
- 제31항에 있어서,상기 소정의 공유 키는상기 암호화 장치와 상기 암호화 장치가 생성한 메시지를 복호화하는 복호화 장치가 공유하는 공유 키인 것을 특징으로 하는 암호화 장치.
- 메시지의 무결성 유지를 위한 메시지 복호화 장치에 있어서,소정의 난수를 이용하여 암호화된 메시지인 제1 암호문 및 상기 제1 암호문 에 대한 해쉬 값과 소정의 공유 키를 이용하여 생성된 암호화 키를 이용하여 상기 난수를 암호화한 제2 암호문이 결합된 메시지를 수신하는 수신부;상기 수신된 메시지의 제1 암호문 및 제2 암호문을 분리하는 메시지 분리부;상기 분리된 제1 암호문의 해쉬 값을 계산하는 연산부;상기 제1 암호문의 해쉬 값과 소정의 공유 키를 이용하여 복호화 키를 생성하는 복호화 키 생성부;상기 복호화 키를 이용하여 상기 제2 암호문을 복호화하여 상기 난수를 추출하고, 상기 추출된 난수를 이용하여 상기 제1 암호문을 복호화하는 복호화부를 포함하는 것을 특징으로 하는 복호화 장치.
- 제35항에 있어서,상기 수신부가 상기 암호화 키를 이용하여 생성된 상기 제1 암호문의 해쉬 값에 대한 인증 코드 또는 상기 암호화를 수행한 암호화 장치의 개인 키를 이용하여 상기 제1 암호문의 해쉬 값을 암호화한 제3 암호문 중 하나가 더 결합된 메시지를 수신할 때, 상기 수신된 메시지가 변조되었는지 여부를 판단하는 인증부를 더 포함하고,상기 복호화부는 상기 판단 결과에 따라 상기 제2 암호문을 선택적으로 복호화하는 것을 특징으로 하는 복호화 장치.
- 제36항에 있어서,상기 인증부는상기 수신된 메시지가 상기 인증 코드가 더 결합된 메시지일 때, 상기 복호화 키를 이용하여 상기 제1 암호문의 해쉬 값에 대한 인증 코드를 생성하는 인증 코드 생성부; 및상기 복호화 키를 이용하여 생성된 인증 코드와 상기 수신된 인증 코드를 비교하여 일치하는지 여부에 따라 변조 여부를 판단하는 변조 여부 판단부를 포함하는 것을 특징으로 하는 복호화 장치.
- 제36항에 있어서,상기 인증부는상기 수신된 메시지가 상기 제3 암호문이 더 결합된 메시지일 때, 상기 복호화부가 상기 개인 키에 대응되는 공개 키를 이용하여 상기 제3 암호문을 복호화하면, 상기 제3 암호문을 복호화하여 추출된 제1 암호문의 해쉬 값과 상기 수신된 제1 암호문으로부터 계산된 제1 암호문의 해쉬 값을 비교하여 일치하는지 여부에 따라 변조 여부를 판단하는 것을 특징으로 하는 복호화 장치.
- 메시지의 무결성 유지를 위한 메시지 복호화 장치에 있어서,소정의 난수를 이용하여 AES의 CBC 모드에 따라 암호화가 수행되어 생성된 암호화된 복수개의 메시지 블록이 결합된 제1 암호문 및 소정의 암호화 키를 이용하여 상기 난수를 암호화하여 생성된 제2 암호문이 결합된 메시지를 수신하는 수신부;상기 수신된 메시지의 제1 암호문 및 제2 암호문을 분리하는 메시지 분리부;상기 제1 암호문 중 일부의 메시지 블록과 소정의 공유 키를 이용하여 복호화 키를 생성하는 복호화 키 생성부;상기 복호화 키를 이용하여 상기 제2 암호문을 복호화하여 상기 난수를 추출하고, 상기 추출된 난수를 이용하여 상기 제1 암호문을 AES의 CBC 모드에 따라 복호화하는 복호화부; 및상기 복호화에 의하여 생성된 복수개의 메시지 블록을 결합하여 메시지를 생성하는 결합부를 포함하고,상기 암호화키는 상기 제1 암호문 중 일부의 메시지 블록과 소정의 공유 키를 이용하여 생성된 키인 것을 특징으로 하는 복호화 장치.
- 제39항에 있어서,상기 수신부가 상기 제1 암호문 중 일부의 메시지 블록을 상기 암호화 키 또는 상기 암호화를 수행한 암호화 장치의 개인 키를 이용하여 암호화하여 생성된 제3 암호문이 더 결합된 메시지를 수신할 때, 상기 수신된 메시지가 변조되었는지 여 부를 판단하는 인증부를 더 포함하고,상기 복호화부는 상기 판단 결과에 따라 상기 제2 암호문을 선택적으로 복호화하는 것을 특징으로 하는 복호화 장치.
- 제40항에 있어서,상기 인증부는상기 수신된 메시지가 상기 암호화 키를 이용하여 암호화된 제3 암호문이 더 결합된 메시지일 때, 상기 복호화부가 상기 복호화 키를 이용하여 상기 제3 암호문을 복호화하면, 상기 제3 암호문을 복호화한 결과 값과 상기 수신된 제1 암호문 중 상기 암호화키 생성에 이용된 일부의 메시지 블록을 비교하여 일치하는지 여부에 따라 변조 여부를 판단하는 것을 특징으로 하는 복호화 장치.
- 제40항에 있어서,상기 인증부는상기 수신된 메시지가 상기 개인 키를 이용하여 암호화된 제3 암호문이 더결합된 메시지일 때, 상기 복호화부가 상기 개인 키에 대응되는 공개 키를 이용하여 상기 제3 암호문을 복호화하면, 상기 제3 암호문을 복호화한 결과 값과 상기 수신된 제1 암호문 중 상기 암호화키 생성에 이용된 일부의 메시지 블록을 비교하여 일치하는지 여부에 따라 변조 여부를 판단하는 것을 특징으로 하는 복호화 장치.
- 제1항 내지 제21항 중 어느 한 항의 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070037601A KR101520617B1 (ko) | 2007-04-17 | 2007-04-17 | 메시지의 무결성 유지를 위한 메시지 암호화 방법 및 장치,메시지의 무결성 유지를 위한 메시지 복호화 방법 및 장치 |
US11/952,174 US8155311B2 (en) | 2007-04-17 | 2007-12-07 | Method and apparatus for encrypting message for maintaining message integrity, and method and apparatus for decrypting message for maintaining message integrity |
EP08100432A EP1947798B1 (en) | 2007-04-17 | 2008-01-14 | Method and apparatus using AES CBC for encrypting and decrypting a message and to verify the message integrity by means of MAC |
AT08100432T ATE548820T1 (de) | 2007-04-17 | 2008-01-14 | Verfahren und vorrichtung durch aes cbc zur verschlüsselung und entschlüsselung einer nachricht und zu verifizierung der nachrichtenintegrität durch einer mac |
CN2008100030891A CN101291325B (zh) | 2007-04-17 | 2008-01-18 | 对消息加密的方法以及对消息解密的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070037601A KR101520617B1 (ko) | 2007-04-17 | 2007-04-17 | 메시지의 무결성 유지를 위한 메시지 암호화 방법 및 장치,메시지의 무결성 유지를 위한 메시지 복호화 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080093635A true KR20080093635A (ko) | 2008-10-22 |
KR101520617B1 KR101520617B1 (ko) | 2015-05-15 |
Family
ID=39304822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070037601A KR101520617B1 (ko) | 2007-04-17 | 2007-04-17 | 메시지의 무결성 유지를 위한 메시지 암호화 방법 및 장치,메시지의 무결성 유지를 위한 메시지 복호화 방법 및 장치 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8155311B2 (ko) |
EP (1) | EP1947798B1 (ko) |
KR (1) | KR101520617B1 (ko) |
CN (1) | CN101291325B (ko) |
AT (1) | ATE548820T1 (ko) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101303278B1 (ko) * | 2011-12-14 | 2013-09-04 | 한국전자통신연구원 | 비트스트림 보호를 위한 fpga 장치 및 그 방법 |
KR20170060072A (ko) * | 2014-10-17 | 2017-05-31 | 차이나 아이더블유엔콤 씨오., 엘티디 | 사전-공유 키에 기초한 개체 인증 방법 및 디바이스 |
US9787677B2 (en) | 2014-10-02 | 2017-10-10 | Hyundai Motor Company | Method of authenticating can packets using mixture of MACs and apparatus for implementing the same |
KR20190139743A (ko) * | 2018-12-31 | 2019-12-18 | 주식회사 미탭스플러스 | 하이브리드 암호 방식을 이용한 블록체인에서 정보 조회 기록의 무결성을 위한 분산 원장 장치 |
KR20190139744A (ko) * | 2018-12-31 | 2019-12-18 | 주식회사 미탭스플러스 | Uuid를 이용한 블록체인에서 정보 조회 기록의 무결성을 위한 분산 원장 장치 |
KR20190139742A (ko) * | 2018-12-31 | 2019-12-18 | 주식회사 미탭스플러스 | 블록체인에서 정보 조회 시간의 기록을 위한 분산 원장 장치 |
KR20200129306A (ko) * | 2019-05-08 | 2020-11-18 | 삼성에스디에스 주식회사 | 데이터 공유 장치 및 방법 |
Families Citing this family (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080263363A1 (en) * | 2007-01-22 | 2008-10-23 | Spyrus, Inc. | Portable Data Encryption Device with Configurable Security Functionality and Method for File Encryption |
US8665879B2 (en) * | 2009-07-14 | 2014-03-04 | Broadcom Corporation | Flow based path selection randomization using parallel hash functions |
US8565239B2 (en) * | 2009-07-14 | 2013-10-22 | Broadcom Corporation | Node based path selection randomization |
CA2781872A1 (en) * | 2009-11-25 | 2011-06-09 | Security First Corp. | Systems and methods for securing data in motion |
US9256488B2 (en) * | 2010-10-05 | 2016-02-09 | Red Hat Israel, Ltd. | Verification of template integrity of monitoring templates used for customized monitoring of system activities |
US9355004B2 (en) | 2010-10-05 | 2016-05-31 | Red Hat Israel, Ltd. | Installing monitoring utilities using universal performance monitor |
US9524224B2 (en) | 2010-10-05 | 2016-12-20 | Red Hat Israel, Ltd. | Customized monitoring of system activities |
US8839357B2 (en) * | 2010-12-22 | 2014-09-16 | Canon U.S.A., Inc. | Method, system, and computer-readable storage medium for authenticating a computing device |
CN102073824B (zh) * | 2011-01-12 | 2014-06-04 | 深圳昂楷科技有限公司 | 一种加密文档唯一标识的生成和更新的方法 |
CN103608829A (zh) * | 2011-01-18 | 2014-02-26 | 舍德Ip有限责任公司 | 用于基于编码完整性进行计算机化协商的系统和方法 |
TWI444030B (zh) * | 2011-06-21 | 2014-07-01 | Univ Nat Chiao Tung | 動態群組中建立金鑰、認證及安全通訊方法 |
US9553725B2 (en) * | 2011-11-21 | 2017-01-24 | Combined Conditional Access Development And Support, Llc | System and method for authenticating data |
CN102420821B (zh) * | 2011-11-28 | 2015-05-27 | 飞天诚信科技股份有限公司 | 一种提高文件传输安全性的方法和系统 |
US20130179951A1 (en) * | 2012-01-06 | 2013-07-11 | Ioannis Broustis | Methods And Apparatuses For Maintaining Secure Communication Between A Group Of Users In A Social Network |
US8769259B2 (en) * | 2012-01-06 | 2014-07-01 | Alcatel Lucent | Methods and apparatuses for secure information sharing in social networks using randomly-generated keys |
TWI517655B (zh) * | 2013-05-23 | 2016-01-11 | 晨星半導體股份有限公司 | 密碼裝置以及密鑰保護方法 |
US20160156459A1 (en) * | 2013-06-20 | 2016-06-02 | Dong Hoon HANG | Method for encryption authentication and decryption verification and electronic apparatus suitable for small memory implementation environment |
CN104954124B (zh) * | 2014-03-28 | 2018-02-23 | 华为技术有限公司 | 加密和解密数据处理方法、装置和系统 |
US10015152B2 (en) * | 2014-04-02 | 2018-07-03 | International Business Machines Corporation | Securing data in a dispersed storage network |
CN103942500B (zh) * | 2014-05-11 | 2017-02-22 | 西安科技大学 | 基于噪声的哈希密文再加密方法及再加密后的解密方法 |
CN103942501B (zh) * | 2014-05-11 | 2017-01-18 | 西安科技大学 | 一种哈希密文再加密方法及再加密后的解密方法 |
CN103986582A (zh) * | 2014-05-28 | 2014-08-13 | 中国广核集团有限公司 | 一种基于动态加密技术的数据加密传输方法、装置及系统 |
US9489508B2 (en) * | 2014-11-13 | 2016-11-08 | Seagate Technology Llc | Device functionality access control using unique device credentials |
US9973480B2 (en) | 2015-09-30 | 2018-05-15 | International Business Machines Corporation | Multi-level security enforcement utilizing data typing |
US10296765B2 (en) * | 2015-09-30 | 2019-05-21 | International Business Machines Corporation | Multi-level security enforcement |
WO2017091959A1 (zh) * | 2015-11-30 | 2017-06-08 | 华为技术有限公司 | 一种数据传输方法、用户设备和网络侧设备 |
US9825931B2 (en) | 2016-01-26 | 2017-11-21 | Bank Of America Corporation | System for tracking and validation of an entity in a process data network |
US10116667B2 (en) | 2016-01-26 | 2018-10-30 | Bank Of America Corporation | System for conversion of an instrument from a non-secured instrument to a secured instrument in a process data network |
US10438209B2 (en) | 2016-02-10 | 2019-10-08 | Bank Of America Corporation | System for secure routing of data to various networks from a process data network |
US10142347B2 (en) | 2016-02-10 | 2018-11-27 | Bank Of America Corporation | System for centralized control of secure access to process data network |
US10129238B2 (en) | 2016-02-10 | 2018-11-13 | Bank Of America Corporation | System for control of secure access and communication with different process data networks with separate security features |
US11374935B2 (en) | 2016-02-11 | 2022-06-28 | Bank Of America Corporation | Block chain alias person-to-person resource allocation |
US10178105B2 (en) | 2016-02-22 | 2019-01-08 | Bank Of America Corporation | System for providing levels of security access to a process data network |
US10440101B2 (en) | 2016-02-22 | 2019-10-08 | Bank Of America Corporation | System for external validation of private-to-public transition protocols |
US10140470B2 (en) | 2016-02-22 | 2018-11-27 | Bank Of America Corporation | System for external validation of distributed resource status |
US10387878B2 (en) | 2016-02-22 | 2019-08-20 | Bank Of America Corporation | System for tracking transfer of resources in a process data network |
US10607285B2 (en) | 2016-02-22 | 2020-03-31 | Bank Of America Corporation | System for managing serializability of resource transfers in a process data network |
US10142312B2 (en) | 2016-02-22 | 2018-11-27 | Bank Of America Corporation | System for establishing secure access for users in a process data network |
US10636033B2 (en) | 2016-02-22 | 2020-04-28 | Bank Of America Corporation | System for routing of process authorizations and settlement to a user in a process data network |
US10318938B2 (en) | 2016-02-22 | 2019-06-11 | Bank Of America Corporation | System for routing of process authorization and settlement to a user in process data network based on specified parameters |
US10026118B2 (en) | 2016-02-22 | 2018-07-17 | Bank Of America Corporation | System for allowing external validation of data in a process data network |
US10679215B2 (en) | 2016-02-22 | 2020-06-09 | Bank Of America Corporation | System for control of device identity and usage in a process data network |
US10475030B2 (en) | 2016-02-22 | 2019-11-12 | Bank Of America Corporation | System for implementing a distributed ledger across multiple network nodes |
US10496989B2 (en) | 2016-02-22 | 2019-12-03 | Bank Of America Corporation | System to enable contactless access to a transaction terminal using a process data network |
US10135870B2 (en) | 2016-02-22 | 2018-11-20 | Bank Of America Corporation | System for external validation of secure process transactions |
US10762504B2 (en) | 2016-02-22 | 2020-09-01 | Bank Of America Corporation | System for external secure access to process data network |
US10437630B2 (en) | 2016-04-10 | 2019-10-08 | Bank Of America Corporation | System for transforming large scale electronic processing using application block chain and multi-structured data stores |
US9979718B2 (en) | 2016-05-11 | 2018-05-22 | Bank Of America Corporation | System for managing security and access to resource sub-components |
CN106301762A (zh) * | 2016-08-09 | 2017-01-04 | 杭州迪普科技有限公司 | 数据解密的方法及装置 |
CN106130726A (zh) * | 2016-08-26 | 2016-11-16 | 北京信安世纪科技有限公司 | 一种加密方法、解密方法、电子设备及电子装置 |
US10402796B2 (en) | 2016-08-29 | 2019-09-03 | Bank Of America Corporation | Application life-cycle transition record recreation system |
US10158737B2 (en) | 2016-10-07 | 2018-12-18 | Bank Of America Corporation | Real time event capture and analysis of transient data for an information network |
US10067994B2 (en) | 2016-10-07 | 2018-09-04 | Bank Of America Corporation | Real time event capture and transformation of transient data for an information network |
US10069672B2 (en) | 2016-10-07 | 2018-09-04 | Bank Of America Corporation | Real time event capture, analysis and reporting system |
US11631077B2 (en) | 2017-01-17 | 2023-04-18 | HashLynx Inc. | System for facilitating secure electronic communications between entities and processing resource transfers |
CN107086915B (zh) * | 2017-05-25 | 2020-11-24 | 浪潮软件科技有限公司 | 一种数据传输方法、数据发送端及数据接收端 |
WO2019043921A1 (ja) * | 2017-09-01 | 2019-03-07 | 三菱電機株式会社 | 暗号化装置、復号装置、暗号化方法、復号方法、暗号化プログラム及び復号プログラム |
CN107612692B (zh) * | 2017-09-25 | 2020-06-12 | 咪咕文化科技有限公司 | 一种信息处理方法、装置及存储介质 |
DE102017222879A1 (de) * | 2017-12-15 | 2019-06-19 | Volkswagen Aktiengesellschaft | Vorrichtung, Verfahr, und Computerprogramm zum Freischalten von einer Fahrzeugkomponente, Fahrzeug-zu-Fahrzeug-Kommunikationsmodul |
CN108667598B (zh) * | 2018-04-28 | 2021-10-15 | 克洛斯比尔有限公司 | 用于实现安全密钥交换的设备和方法及安全密钥交换方法 |
CN108683647B (zh) * | 2018-04-28 | 2020-09-11 | 重庆交通大学 | 一种基于多重加密的数据传输方法 |
US10929545B2 (en) | 2018-07-31 | 2021-02-23 | Bank Of America Corporation | System for providing access to data stored in a distributed trust computing network |
US11005663B2 (en) * | 2018-08-13 | 2021-05-11 | Seagate Technology Llc | Secure audit scheme in a distributed data storage system |
CN109543443A (zh) * | 2018-10-17 | 2019-03-29 | 平安科技(深圳)有限公司 | 基于区块链的用户数据管理方法、装置、设备和存储介质 |
CN110289957A (zh) * | 2019-07-03 | 2019-09-27 | 山东浪潮通软信息科技有限公司 | 一种通用的系统间文件交互加解密方法 |
US11546146B2 (en) * | 2020-10-05 | 2023-01-03 | Huawei Technologies Co., Ltd. | Methods, encoder and decoder using encryption and authentication functions for encrypting and decrypting a message |
CN113329239B (zh) * | 2021-05-26 | 2023-02-21 | 北京字跳网络技术有限公司 | 一种数据处理方法、装置、存储介质及电子设备 |
WO2023004007A1 (en) * | 2021-07-22 | 2023-01-26 | Howard University | Hybrid public-key and private-key cryptographic systems based on iso-rsa encryption scheme |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0735723B1 (en) * | 1990-06-01 | 2006-01-11 | Kabushiki Kaisha Toshiba | Cryptographic communication method and cryptographic communication device |
US5631961A (en) * | 1995-09-15 | 1997-05-20 | The United States Of America As Represented By The Director Of The National Security Agency | Device for and method of cryptography that allows third party access |
US6282294B1 (en) * | 1998-01-07 | 2001-08-28 | Microsoft Corporation | System for broadcasting to, and programming, a motor device in a protocol, device, and network independent fashion |
JPH11231778A (ja) * | 1998-02-18 | 1999-08-27 | Matsushita Electric Ind Co Ltd | 暗号化装置及び復号装置、暗号化方法及び復号方法並びにそれらの方法を記録した記録媒体 |
US7409557B2 (en) * | 1999-07-02 | 2008-08-05 | Time Certain, Llc | System and method for distributing trusted time |
US20020023209A1 (en) * | 2000-02-14 | 2002-02-21 | Lateca Computer Inc. N.V.United | Encryption and decryption of digital messages in packet transmitting networks |
JP2002132141A (ja) | 2000-10-20 | 2002-05-09 | Sony Corp | データ記憶装置、およびデータ記録方法、データ再生方法、並びにプログラム提供媒体 |
US7136840B2 (en) * | 2001-04-20 | 2006-11-14 | Intertrust Technologies Corp. | Systems and methods for conducting transactions and communications using a trusted third party |
US7200227B2 (en) * | 2001-07-30 | 2007-04-03 | Phillip Rogaway | Method and apparatus for facilitating efficient authenticated encryption |
KR20040009766A (ko) * | 2002-07-25 | 2004-01-31 | 학교법인 성균관대학 | 암호 시스템에서 송수신 장치 및 방법 |
US7613925B2 (en) | 2003-01-10 | 2009-11-03 | Motorola, Inc. | Method for authenticating a message |
EP1665254A1 (en) * | 2003-09-10 | 2006-06-07 | Koninklijke Philips Electronics N.V. | Content protection method and system |
US7570759B2 (en) | 2004-08-13 | 2009-08-04 | Yen-Fu Liu | System and method for secure encryption |
US7720221B2 (en) * | 2005-05-20 | 2010-05-18 | Certicom Corp. | Privacy-enhanced e-passport authentication protocol |
KR20120115425A (ko) * | 2005-12-14 | 2012-10-17 | 엔디에스 리미티드 | 블록 사이퍼 암호화의 사용을 위한 방법 및 시스템 |
CN1905440A (zh) * | 2006-07-13 | 2007-01-31 | 上海交通大学 | 消息发送方法及采用该方法的商务议价协议系统 |
-
2007
- 2007-04-17 KR KR1020070037601A patent/KR101520617B1/ko active IP Right Grant
- 2007-12-07 US US11/952,174 patent/US8155311B2/en not_active Expired - Fee Related
-
2008
- 2008-01-14 EP EP08100432A patent/EP1947798B1/en not_active Not-in-force
- 2008-01-14 AT AT08100432T patent/ATE548820T1/de active
- 2008-01-18 CN CN2008100030891A patent/CN101291325B/zh not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101303278B1 (ko) * | 2011-12-14 | 2013-09-04 | 한국전자통신연구원 | 비트스트림 보호를 위한 fpga 장치 및 그 방법 |
US8726038B2 (en) | 2011-12-14 | 2014-05-13 | Electronics And Telecommunications Research Institute | FPGA apparatus and method for protecting bitstream |
US9787677B2 (en) | 2014-10-02 | 2017-10-10 | Hyundai Motor Company | Method of authenticating can packets using mixture of MACs and apparatus for implementing the same |
KR20170060072A (ko) * | 2014-10-17 | 2017-05-31 | 차이나 아이더블유엔콤 씨오., 엘티디 | 사전-공유 키에 기초한 개체 인증 방법 및 디바이스 |
KR20190139743A (ko) * | 2018-12-31 | 2019-12-18 | 주식회사 미탭스플러스 | 하이브리드 암호 방식을 이용한 블록체인에서 정보 조회 기록의 무결성을 위한 분산 원장 장치 |
KR20190139744A (ko) * | 2018-12-31 | 2019-12-18 | 주식회사 미탭스플러스 | Uuid를 이용한 블록체인에서 정보 조회 기록의 무결성을 위한 분산 원장 장치 |
KR20190139742A (ko) * | 2018-12-31 | 2019-12-18 | 주식회사 미탭스플러스 | 블록체인에서 정보 조회 시간의 기록을 위한 분산 원장 장치 |
KR20200129306A (ko) * | 2019-05-08 | 2020-11-18 | 삼성에스디에스 주식회사 | 데이터 공유 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
US20080260147A1 (en) | 2008-10-23 |
CN101291325A (zh) | 2008-10-22 |
CN101291325B (zh) | 2013-02-27 |
US8155311B2 (en) | 2012-04-10 |
ATE548820T1 (de) | 2012-03-15 |
EP1947798B1 (en) | 2012-03-07 |
KR101520617B1 (ko) | 2015-05-15 |
EP1947798A3 (en) | 2008-08-27 |
EP1947798A2 (en) | 2008-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101520617B1 (ko) | 메시지의 무결성 유지를 위한 메시지 암호화 방법 및 장치,메시지의 무결성 유지를 위한 메시지 복호화 방법 및 장치 | |
Clulow | On the security of PKCS# 11 | |
CN107086915B (zh) | 一种数据传输方法、数据发送端及数据接收端 | |
US20110145576A1 (en) | Secure method of data transmission and encryption and decryption system allowing such transmission | |
US20030123667A1 (en) | Method for encryption key generation | |
CN107070948A (zh) | 云存储中基于混合加密算法的签名与验证方法 | |
EP3035585B1 (en) | S-box selection in white-box cryptographic implementation | |
CA2373787C (en) | Self authentication ciphertext chaining | |
US20130136256A1 (en) | Block encryption | |
CN112804205A (zh) | 数据加密方法及装置、数据解密方法及装置 | |
US20120087495A1 (en) | Method for generating an encryption/decryption key | |
CN110298186B (zh) | 一种基于动态可重构密码芯片的无密钥数据加解密方法 | |
CN111404953A (zh) | 一种消息加密方法、解密方法及相关装置、系统 | |
KR20080050934A (ko) | 조건부 인증 코드 삽입 방법 및 그 장치, 인증을 통한조건부 데이터 사용 방법 및 그 장치 | |
CN102811124B (zh) | 基于两卡三码技术的系统验证方法 | |
US20130318356A1 (en) | Distribution of digital content protected by watermark-generating password | |
EP0891053B1 (en) | Key recovery condition encryption and decryption apparatuses | |
JP2002049310A (ja) | 暗復号装置、認証装置及び記憶媒体 | |
CN111541652B (zh) | 一种用于提高秘密信息保管及传递安全性的系统 | |
Rahim et al. | Security Enhancement with USB Flash Disk as Key using AES Algorithm | |
JPWO2020174515A1 (ja) | 暗号システム、鍵生成装置、鍵生成方法、鍵生成プログラム、および準同型演算装置 | |
CN114036541A (zh) | 一种复合加密存储用户私密内容的应用方法 | |
Sharma et al. | Steganography techniques using cryptography-a review paper | |
US20200342787A1 (en) | Method and apparatus for decrypting cryptogram using auxiliary secret key | |
Masadeh et al. | A novel paradigm in authentication system using swifi encryption/decryption approach |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
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: 20180427 Year of fee payment: 4 |