KR20080093635A - 메시지의 무결성 유지를 위한 메시지 암호화 방법 및 장치,메시지의 무결성 유지를 위한 메시지 복호화 방법 및 장치 - Google Patents

메시지의 무결성 유지를 위한 메시지 암호화 방법 및 장치,메시지의 무결성 유지를 위한 메시지 복호화 방법 및 장치 Download PDF

Info

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
Application number
KR1020070037601A
Other languages
English (en)
Other versions
KR101520617B1 (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 KR1020070037601A priority Critical patent/KR101520617B1/ko
Priority to US11/952,174 priority patent/US8155311B2/en
Priority to EP08100432A priority patent/EP1947798B1/en
Priority to AT08100432T priority patent/ATE548820T1/de
Priority to CN2008100030891A priority patent/CN101291325B/zh
Publication of KR20080093635A publication Critical patent/KR20080093635A/ko
Application granted granted Critical
Publication of KR101520617B1 publication Critical patent/KR101520617B1/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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/32Cryptographic 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/3236Cryptographic 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
    • 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/50Cryptographic 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

메시지의 무결성 유지를 위한 메시지 암호화 방법 및 장치, 메시지의 무결성 유지를 위한 메시지 복호화 방법 및 장치{Method for encrypting message for keeping integrity of message and apparatus, and Method for decrypting message for keeping integrity of message and apparatus}
도 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]
Figure 112007029246048-PAT00001
Figure 112007029246048-PAT00002
Figure 112007029246048-PAT00003
즉, 수학식1 의 첫번째 데이터는 메시지 M을 개인 키 K를 이용하여 암호화하고, 그 개인 키 K를 이용하여 메시지 M에 대한 MAC을 계산한 후, 그 암호화된 메시지
Figure 112007029246048-PAT00004
과 메시지 M에 대한 MAC인
Figure 112007029246048-PAT00005
을 결합한 데이터이다.
또한, 수학식 1의 두번째 데이터는 메시지 M을 개인 키 K를 이용하여 암호화 하고, 암호화된 메시지
Figure 112007029246048-PAT00006
에 대한 MAC을 계산한 후, 그 암호화된 메시지
Figure 112007029246048-PAT00007
과 그 암호화된 메시지
Figure 112007029246048-PAT00008
에 대한 MAC인
Figure 112007029246048-PAT00009
을 결합한 데이터이다.
마지막으로, 수학식 1의 세번째 데이터는 메시지 M과 메시지 M에 대한 해쉬 값
Figure 112007029246048-PAT00010
을 개인 키 K로 암호화한 데이터이다.
전송되는 데이터를 수학식 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이 생성된다.
단계 120에서는, 생성된 난수 N을 이용하여 메시지 M을 암호화하여 제1 암호문
Figure 112007029246048-PAT00011
을 생성한다.
이때, 메시지는 텍스트, 오디오, 비디오 및 이미지를 포함할 수 있다.
이때, 제1암호문은
Figure 112007029246048-PAT00012
으로 표현될 수 있다.
단계 130에서는, 제1 암호문의 해쉬 값
Figure 112007029246048-PAT00013
를 계산한다.
단계 140에서는, 제1 암호문의 해쉬 값
Figure 112007029246048-PAT00014
와 공유 키
Figure 112007029246048-PAT00015
를 이용하여 암호화 키
Figure 112007029246048-PAT00016
를 생성한다.
여기서, 공유 키
Figure 112007029246048-PAT00017
는 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 암호화 방법에 따라 암호화를 수행하는 암호화 장치와 그 암호화 장치가 생성한 메시지를 복호화하는 복호화 장치가 공유하는 공유 키이다.
한편, 도 1에 도시된 것과 같이, 암호화 키
Figure 112007029246048-PAT00018
는 제1 암호문의 해쉬 값
Figure 112007029246048-PAT00019
와 공유 키
Figure 112007029246048-PAT00020
를 입력으로 하여 키 유도 함수 KDF를 이용하여 생성될 수 있다.
이때, 키 유도 함수 KDF는 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 암호화 방법에 따라 암호화를 수행하는 암호화 장치와 그 암호화 장치가 생성한 메시지를 복호화하는 복호화 장치가 공유하는 함수이다. 즉, 입력이 같으면 암호화 장치와 복호화 장치에서 동일한 키를 생성할 수 있게 되는 것이다.
본 발명에서는 암호화 키
Figure 112007029246048-PAT00021
를 생성할 때 제1 암호문의 해쉬 값 H(C)를 사용함으로써, 제1 암호문이 제3자에 의하여 변조되면 암호화 키도 변경되도록 구성되어 있다.
따라서, 제1 암호문이 제3자에 의하여 변조된 경우에 복호화 장치가 키 유도 함수 KDF를 이용하여 복호화 키를 생성하면, 암호화 키와 동일한 키를 생성하지 못하고 암호화 키와 다른 키를 생성하게 된다. 따라서, 이와 같은 복호화 키를 이용하여 암호화 키를 이용하여 암호화된 메시지를 복호화하면, 원래의 메시지와는 전혀 다른 메시지를 얻게 된다. 이와 같은 성질을 이용하여 본 발명은 암호화된 메시지의 무결성을 유지할 수 있게 되는 것이다.
단계 150에서는, 암호화 키
Figure 112007029246048-PAT00022
를 이용하여 난수 N을 암호화하여 제2 암호문
Figure 112007029246048-PAT00023
를 생성한다.
이때, 제2 암호문은
Figure 112007029246048-PAT00024
로 표현될 수 있다.
단계 160에서는, 제1 암호문
Figure 112007029246048-PAT00025
및 제2 암호문
Figure 112007029246048-PAT00026
가 결합된다.
한편, 본 발명에 따른 무결성 유지를 위한 메시지 암호화 방법은 암호화를 수행할 때, 암호화된 메시지가 변조되지 않았는지를 판단하기 위한 인증 코드 등을 더 포함하여 암호화할 수도 있다.
도 2는 본 발명에 따른 무결성 유지를 위한 메시지 암호화 방법의 제2 실시예를 설명하기 위하여 도시한 도면이다.
도 2의 단계 210 내지 단계 250까지는, 도 1의 단계 110 내지 단계 150까지의 과정과 동일하므로 설명을 생략한다.
260단계에서는, 암호화 키를 이용하여 제1 암호문의 해쉬 값에 대한 인증 코드 AUTH를 생성한다.
이때, 인증 코드는 제1 암호문의 해쉬 값
Figure 112007029246048-PAT00027
이 변조되었는지 여부를 체크할 수 있게 해주는 역할을 하며, 도 2에서와 같이 메시지 인증 코드(Message Authentication Code:MAC)를 이용하여
Figure 112007029246048-PAT00028
으로 구성될 수도 있지만, 이에 한정되지 않고 메시지의 무결성을 체크할 수 있는 모든 함수를 이용하여 인증 코드가 생성될 수 있다.
또한, 인증 코드는 제1 암호문의 해쉬 값
Figure 112007029246048-PAT00029
에 대한 인증 코드가 아닌 메시지의 해쉬 값
Figure 112007029246048-PAT00030
에 대한 인증 코드
Figure 112007029246048-PAT00031
로 구성될 수도 있다. 다만, 이와 같이 메시지의 해쉬 값
Figure 112007029246048-PAT00032
에 대한 인증 코드를 사용하게 되면, 메시지의 해쉬 값
Figure 112007029246048-PAT00033
을 별도로 계산하여야 하기 때문에 제1 암호문의 해쉬 값
Figure 112007029246048-PAT00034
에 대한 인증 코드를 사용하는 것이 연산량이 적게 되는 장점이 있다.
한편, 다른 실시예로서, 인증 코드와 동일한 기능을 수행하는 제3 암호문을 생성할 수 있다.
예컨대, 본 발명에 따른 무결성 유지를 위한 메시지 암호화 방법을 수행하는 암호화 장치의 개인 키
Figure 112007029246048-PAT00035
를 이용하여 제1 암호문의 해쉬 값
Figure 112007029246048-PAT00036
을 암호화하여 제3 암호문
Figure 112007029246048-PAT00037
를 생성할 수 있다.
이때, 제3 암호문
Figure 112007029246048-PAT00038
Figure 112007029246048-PAT00039
과 같이 표현될 수 있다.
또한, 제3 암호문을 생성할 때, 제1 암호문의 해쉬 값
Figure 112007029246048-PAT00040
대신에 메 시지의 해쉬 값
Figure 112007029246048-PAT00041
을 사용할 수도 있다.
270 단계에서는, 제1 암호문
Figure 112007029246048-PAT00042
, 제2 암호문
Figure 112007029246048-PAT00043
및 인증 코드 AUTH가 결합된다.
한편, 본 발명은 암호화 키를 생성할때 제1 암호문의 해쉬 값
Figure 112007029246048-PAT00044
을 이용하는 방법 외에도, 제1 암호문이 변조되면 함께 그 값이 변경되는 임의의 값이 있다면, 그 값을 이용하여 암호화 키를 생성함으로써, 동일한 효과를 얻을 수도 있다.
도 3은 본 발명에 따른 무결성 유지를 위한 메시지 암호화 방법의 제3 실시예를 설명하기 위하여 도시한 도면이다.
단계 310에서는, 메시지를 복수개의 블록으로 분할하여 복수개의 메시지 블록을 생성한다.
단계 320에서는, 난수를 생성한다.
단계 330에서는, 생성된 난수를 이용하여 복수개의 메시지 블록을 AES(Advanced Encryption Standard)의 CBC(Cipher Block Chainning) 모드에 따라 암호화한다.
도 4는 AES의 CBC 모드의 암호화 방법의 일 실시예를 도시한 도면이다.
도 4를 참조하면, 메시지 블록
Figure 112007029246048-PAT00045
,
Figure 112007029246048-PAT00046
, … ,
Figure 112007029246048-PAT00047
에 대하여 앞에서부터 순차적으로 AES 암호화를 적용한다.
즉,
Figure 112007029246048-PAT00048
1에 난수 N을 더한 값을 AES의 CBC 모드의 암호화를 위한 암호화 키
Figure 112007029246048-PAT00049
를 이용하여 암호화하여
Figure 112007029246048-PAT00050
이 생성되면, 이
Figure 112007029246048-PAT00051
Figure 112007029246048-PAT00052
를 더하고, 이 더해진 결과 값을 AES의 CBC 모드의 암호화를 위한 암호화 키
Figure 112007029246048-PAT00053
를 이용하여 암호화하여
Figure 112007029246048-PAT00054
를 생성한다. 이와 같이 앞의 과정에서 얻어진 결과 값을 뒤의 암호화에 이용하는 방식으로
Figure 112007029246048-PAT00055
,
Figure 112007029246048-PAT00056
, … ,
Figure 112007029246048-PAT00057
까지의 메시지를 이용하여 암호화된 메시지
Figure 112007029246048-PAT00058
,
Figure 112007029246048-PAT00059
, ...,
Figure 112007029246048-PAT00060
를 생성하게 된다.
이와 같이 AES-CBC 모드를 이용하여 암호화하는 경우에는 앞의 과정에서 얻어진 결과 값을 뒤의 암호화에 이용하게 되어, 암호화된 메시지 중에 하나가 변조되면, 그 변조된 메시지 이후의 암호화된 결과가 달라지게 된다. 본 발명은 AES의 CBC 모드를 이용한 암호화 방법의 이와 같은 특성을 이용하여 무결성을 유지하기 위하여 후술하는대로 암호화된 메시지 블록 중 일부를 이용하여 암호화 키를 생성하는 것이다.
단계 340에서는, AES의 CBC 모드에 따라 암호화된 복수개의 암호화된 메시지 블록을 결합하여 제1 암호문을 생성한다.
단계 350에서는 제1 암호문 중 일부의 메시지 블록과 공유 키를 이용하여 암호화 키를 생성한다.
이때, 제1 암호문 중 일부의 메시지 블록은 하나의 메시지 블록일 수도 있고, 복수개의 메시지 블록일 수도 있다. 다만, 이 경우에 제1 암호문 중 어느 부분의 메시지 블록을 암호화 키를 생성하는 데 이용할 것인지에 대해서 소정의 규칙을 정하여야 한다. 예컨대, 복수개의 암호화된 메시지 블록 중 중간에 위치하는 메시지 블록을 사용하거나, 20번째 메시지 블록을 사용한다거나 하는 규칙을 정하고, 이후에 복호화 키를 생성할 때도, 이와 같이 미리 결정된 메시지 블록을 이용하여 복호화 키를 생성하게 된다.
바람직하게는, 도 3에 도시된 것과 같이 제1 암호문 중 일부의 메시지 블록은 제1 암호문 중 가장 마지막에 생성되는 메시지 블록으로 구성될 수 있다. 이와 같이 가장 마지막에 생성되는 메시지 블록을 이용하면, 복수개의 메시지 블록 중에 어느 것이 변조되더라도 언제나 마지막 메시지 블록이 값이 변경되게 되어, 메시지에 대한 제3자의 변조가 있으면 언제나 암호화 키가 변경되게 되어 무결성 유지에 효과적이다.
단계 360에서는, 암호화 키
Figure 112007029246048-PAT00061
를 이용하여 난수
Figure 112007029246048-PAT00062
을 암호화하여 제2 암호문
Figure 112007029246048-PAT00063
를 생성한다.
단계 370에서는, 암호화 키
Figure 112007029246048-PAT00064
를 이용하여 제1 암호문 중 일부의 메시지 블록
Figure 112007029246048-PAT00065
을 암호화하여 제3 암호문
Figure 112007029246048-PAT00066
를 생성한다.
이와 같이 생성된 제3 암호문은 복호화 과정에서 메시지의 무결성을 판단하는데 이용된다. 제3 암호문을 이용하여 무결성을 판단하는 과정은 도x를 참조하여 후술한다.
다만, 구현예에 따라서는 단계 370은 생략될 수 있다.
단계 380에서는, 제1 암호문
Figure 112007029246048-PAT00067
, 제2 암호문
Figure 112007029246048-PAT00068
및 제3 암호문
Figure 112007029246048-PAT00069
가 결합된다.
이때, 단계 370이 생략되어 제3 암호문이 생성되지 않은 경우에는 제1 암호문
Figure 112007029246048-PAT00070
, 제2 암호문
Figure 112007029246048-PAT00071
만이 결합된다.
이상까지는 본 발명에 따른 메시지의 무결성 유지를 위한 암호화 방법에 대하여 설명하였다. 이후에는 도 5 내지 도x를 참조하여, 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 복호화 방법에 대하여 설명한다.
도 5는 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 복호화 방법의 일실시예를 도시한 도면이다.
단계 510에서는, 소정의 난수 N을 이용하여 암호화된 메시지인 제1 암호문
Figure 112007029246048-PAT00072
및 소정의 암호화 키
Figure 112007029246048-PAT00073
를 이용하여 암호화된 난수
Figure 112007029246048-PAT00074
가 결합된 메시지를 수신한다.
이때, 암호화 키
Figure 112007029246048-PAT00075
는 제1 암호문에 대한 해쉬 값
Figure 112007029246048-PAT00076
과 공유 키
Figure 112007029246048-PAT00077
을 이용하여 생성된 키이다.
단계 520에서는, 수신된 메시지의 제1 암호문 및 제2 암호문을 분리한 후, 분리된 제1 암호문의 해쉬 값
Figure 112007029246048-PAT00078
을 계산한다.
단계 530에서는, 제1 암호문의 해쉬 값
Figure 112007029246048-PAT00079
과 공유 키
Figure 112007029246048-PAT00080
를 이용하여 복호화 키
Figure 112007029246048-PAT00081
를 생성한다.
이때, 제1 암호문의 해쉬 값
Figure 112007029246048-PAT00082
과 공유 키
Figure 112007029246048-PAT00083
를 입력으로 하여 키 유도 함수 KDF를 이용하여 복호화 키
Figure 112007029246048-PAT00084
를 생성할 수 있다.
전술한 바와 같이, 수신된 암호화된 메시지가 변조되지 않은 경우에는, 키 유도 함수 KDF를 이용하여 생성된 복호화 키
Figure 112007029246048-PAT00085
는 암호화 키
Figure 112007029246048-PAT00086
와 동일한 값을 가져야 한다. 하지만, 수신된 암호화된 메시지가 변조된 경우에는 제1 암호문의 해쉬 값
Figure 112007029246048-PAT00087
가 변경되기 때문에 복호화 키
Figure 112007029246048-PAT00088
는 암호화 키
Figure 112007029246048-PAT00089
와 다른 값을 가지게 된다.
단계 540에서는, 복호화 키
Figure 112007029246048-PAT00090
를 이용하여 제2 암호문
Figure 112007029246048-PAT00091
를 복호화하 여 난수 N을 추출한다.
단계 550에서는, 추출된 난수 N을 이용하여 제1 암호문
Figure 112007029246048-PAT00092
을 복호화한다.
이때, 암호화된 메시지가 변조되지 않은 경우에는 제1 암호문
Figure 112007029246048-PAT00093
을 복호화하여 얻어진 메시지 M이 원래의 메시지 M과 동일한 값을 가지게 되지만, 암호화된 메시지가 변조된 경우에는 복호화하여 얻어진 메시지 M은 원래의 메시지 M과는 전혀 관계없는 값을 가지게 된다.
따라서, 암호화된 메시지가 변조된 경우에는 복호화된 결과가 원하는 자료가 아닌, 임의의 난수들로 이루어진 데이터와 같이 아무런 의미가 없는 데이터를 얻게 되므로, 사용자는 데이터가 변조되었다는 것을 알 수 있다.
또한, 이와 같이 데이터가 변조된 경우에는 복화화 결과가 언제나 원래의 메시지와 관계 없는 값을 가지게 되므로, 이 변조된 데이터를 안전하게 삭제하기 위하여 7번씩이나 덮어쓰기를 할 필요없이, 한 번만 삭제하면 된다.
한편, 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 복호화 방법은 암호화된 메시지가 변조된 것인지 여부를 판단하는 과정을 더 포함할 수 있다.
도 6은 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 복호화 방법의 제2 실시예를 도시한 도면이다.
단계 610에서는, 소정의 난수 N을 이용하여 암호화된 메시지인 제1 암호문
Figure 112007029246048-PAT00094
, 소정의 암호화 키
Figure 112007029246048-PAT00095
를 이용하여 암호화된 난수
Figure 112007029246048-PAT00096
가 결합된 메시지 및 제1 암호문의 해쉬 값에 대한 인증 코드
Figure 112007029246048-PAT00097
가 결합된 메시지를 수신한다.
이때, 제1 암호문의 해쉬 값에 대한 인증 코드
Figure 112007029246048-PAT00098
대신에 수신된 메시지에 대한 암호화를 수행한 암호화 장치의 개인 키를 이용하여 제1 암호문의 해쉬 값을 암호화한 제3 암호문
Figure 112007029246048-PAT00099
를 수신할 수도 있다.
이때,
Figure 112007029246048-PAT00100
Figure 112007029246048-PAT00101
과 같이 표현될 수 있다.
단계 620에서는, 제1 암호문의 해쉬 값
Figure 112007029246048-PAT00102
을 계산한다.
단계 630에서는, 제1 암호문의 해쉬 값
Figure 112007029246048-PAT00103
과 공유 키
Figure 112007029246048-PAT00104
을 이용하여 복호화 키
Figure 112007029246048-PAT00105
를 생성한다.
단계 640에서는, 제1 암호문의 해쉬 값
Figure 112007029246048-PAT00106
을 이용하여 수신된 메시지가 변조되었는지 여부를 판단한다.
이때, 변조되었는지 여부를 판단하는 과정은 다음과 같다.
먼저, 복호화 키
Figure 112007029246048-PAT00107
를 이용하여 제1 암호문의 해쉬 값에 대한 인증 코드
Figure 112007029246048-PAT00108
을 생성한다.
다음으로, 복호화 키
Figure 112007029246048-PAT00109
를 이용하여 생성된 인증 코드
Figure 112007029246048-PAT00110
와 수신된 인증 코드
Figure 112007029246048-PAT00111
을 비교하여 일치하는지 여부에 따라 변조 여부를 판단한다.
이때, 양 값이 일치하는 경우에는 메시지가 변조되지 않은 것으로 판단하고, 일치하지 않는 경우에는 메시지가 변조된 것으로 판단한다.
이와 같은 판단결과, 수신된 메시지가 변조되었다고 판단되면, 이후의 복호화 과정은 중단된다.
한편, 제3 암호문
Figure 112007029246048-PAT00112
를 수신한 경우에는, 제3 암호문
Figure 112007029246048-PAT00113
를 암호화한 암호화 장치의 개인 키에 대응되는 공개 키를 이용하여 제3 암호문
Figure 112007029246048-PAT00114
를 복호화하고, 그 복호화에 의하여 추출된 제1 암호문의 해쉬 값
Figure 112007029246048-PAT00115
과 수신된 제1 암호문
Figure 112007029246048-PAT00116
으로부터 계산된
Figure 112007029246048-PAT00117
을 비교하여 메시지의 변조 여부를 판단한다.
단계 650 및 단계 660은 도 5의 단계 540 및 단계 550과 동일하므로 설명을 생략한다.
도 7은 본 발명에 따른 메시지의 무결성 유지를 위한 메시지 복호화 방법의 제3 실시예를 도시한 도면이다.
단계 710에서는, 난수 N을 이용하여 AES의 CBC 모드에 따라 암호화가 수행되 어 생성된 암호화된 복수개의 메시지 블록이 결합된 제1 암호문
Figure 112007029246048-PAT00118
, 소정의 암호화 키
Figure 112007029246048-PAT00119
를 이용하여 난수를 암호화하여 생성된 제2 암호문
Figure 112007029246048-PAT00120
및 제1 암호문
Figure 112007029246048-PAT00121
중 일부의 메시지 블록
Figure 112007029246048-PAT00122
를 암호화 키
Figure 112007029246048-PAT00123
또는 개인 키
Figure 112007029246048-PAT00124
를 이용하여 암호화하여 생성된 제3 암호문이 결합된 메시지를 수신한다.
여기서 소정의 암호화 키는 제1 암호문
Figure 112007029246048-PAT00125
중 일부의 메시지 블록
Figure 112007029246048-PAT00126
와 공유 키
Figure 112007029246048-PAT00127
을 이용하여 생성된 키이다.
여기서, 암호화 키
Figure 112007029246048-PAT00128
를 이용하여 생성된 제3 암호문은
Figure 112007029246048-PAT00129
로 표현될 수 있고, 개인 키
Figure 112007029246048-PAT00130
를 이용하여 암호화하여 생성된 제3 암호문은
Figure 112007029246048-PAT00131
로 표현될 수 있다.
단계 720에서는, 수신된 메시지의 제1 암호문
Figure 112007029246048-PAT00132
및 제2 암호문
Figure 112007029246048-PAT00133
를 분리한 후, 제1 암호문 중 일부의 메시지 블록
Figure 112007029246048-PAT00134
와 공유 키
Figure 112007029246048-PAT00135
을 이용하여 복호화 키
Figure 112007029246048-PAT00136
를 생성한다.
단계 730에서는, 제1 암호문 중 일부의 메시지 블록
Figure 112007029246048-PAT00137
를 이용하여 수신된 메시지가 변조되었는지 여부를 판단한다.
이때, 제1 암호문 중 일부의 메시지 블록은 하나의 메시지 블록일 수도 있고, 복수개의 메시지 블록일 수도 있다. 다만, 이 경우에 제1 암호문 중 어느 부분의 메시지 블록을 암호화 키를 생성하는 데 이용할 것인지에 대해서 소정의 규칙을 정하여야 한다.
바람직하게는, 제1 암호문 중 일부의 메시지 블록은 제1 암호문 중 가장 마지막에 생성되는 메시지 블록으로 구성될 수 있다.
이하에서는 메시지가 변조되었는지 여부를 판단하는 방법에 대하여 설명한다.
먼저, 수신된 메시지의 제3 암호문이 암호화 키
Figure 112007029246048-PAT00138
를 이용하여 생성된경우에 대하여 설명한다.
이때에는, 복호화 키
Figure 112007029246048-PAT00139
를 이용하여 제3 암호문
Figure 112007029246048-PAT00140
을 복호화한다.
다음으로, 제3 암호문을 복호화하여 추출된 제1 암호문 중 일부의 메시지 블록
Figure 112007029246048-PAT00141
와 수신된 제1 암호문
Figure 112007029246048-PAT00142
중 암호화 키 생성에 이용된 일부의 메시지 블록
Figure 112007029246048-PAT00143
를 비교하여 일치하는지 여부에 따라 변조 여부를 판단한다.
이와 같은 판단결과, 수신된 메시지가 변조되었다고 판단되면, 이후의 복호화 과정은 중단된다.
한편, 수신된 메시지가 그 수신된 메시지를 암호화한 암호화 장치의 개인 키를 이용하여 암호화된 제3 암호문인 경우에는 그 개인 키에 대응되는 공개 키를 이용하여 제3 암호문
Figure 112007029246048-PAT00144
을 복호화한 후, 그 복호화 된
Figure 112007029246048-PAT00145
와 수신된 제1 암호문
Figure 112007029246048-PAT00146
중 암호화 키 생성에 이용된 일부의 메시지 블록
Figure 112007029246048-PAT00147
를 비교하여 일치하는지 여부에 따라 변조 여부를 판단한다.
단계 740에서는, 복호화 키
Figure 112007029246048-PAT00148
를 이용하여 제2 암호문
Figure 112007029246048-PAT00149
를 복호화하여 난수 N을 추출한다.
단계 750에서는, 추출된 난수를 이용하여 제1 암호문을 AES의 CBC 모드에 따라 복호화한다.
도 8은 AES의 CBC 모드의 암호화 방법의 일 실시예를 도시한 도면이다.
도 8을 참조하면, 암호문
Figure 112007029246048-PAT00150
을 AES의 CBC 모드의 복호화를 위한 복 호화 키
Figure 112007029246048-PAT00151
를 이용하여 복호화하고 난수 N을 더해주면
Figure 112007029246048-PAT00152
을 얻게 되고,
Figure 112007029246048-PAT00153
를 복호화 키 K를 이용하여 복호화하고
Figure 112007029246048-PAT00154
을 더해주면
Figure 112007029246048-PAT00155
를 얻게 된다. 이와 같은 방식으로 복호화 과정을 거치면
Figure 112007029246048-PAT00156
,
Figure 112007029246048-PAT00157
, … ,
Figure 112007029246048-PAT00158
를 얻게 된다.
단계 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 암호문의 해쉬 값을 계산하고, 상기 제1 암호문의 해쉬 값과 소정의 공유 키를 이용하여 암호화 키를 생성하는 단계;
    상기 암호화 키를 이용하여 상기 난수를 암호화하여 제2 암호문을 생성하는 단계; 및
    상기 제1 암호문 및 상기 제2 암호문을 결합하는 단계를 포함하는 것을 특징으로 하는 암호화 방법.
  2. 제1항에 있어서,
    상기 메시지의 해쉬 값을 계산하는 단계; 및
    상기 암호화 키를 이용하여 상기 메시지의 해쉬 값에 대한 인증 코드를 생성하는 단계를 더 포함하고,
    상기 결합하는 단계는 상기 제1 암호문, 상기 제2 암호문 및 상기 인증 코드를 결합하는 것을 특징으로 하는 암호화 방법.
  3. 제1항에 있어서,
    상기 암호화 키를 이용하여 상기 제1 암호문의 해쉬 값에 대한 인증 코드를 생성하는 단계를 더 포함하고,
    상기 결합하는 단계는 상기 제1 암호문, 상기 제2 암호문 및 상기 인증 코드를 결합하는 것을 특징으로 하는 암호화 방법.
  4. 제2항 또는 제3항에 있어서,
    상기 인증 코드는
    메시지 인증 코드(Message Authentication Code:MAC)를 이용하여 구성되는 것을 특징으로 하는 암호화 방법.
  5. 제1항에 있어서,
    상기 메시지의 해쉬 값을 계산하는 단계; 및
    상기 암호화 장치의 개인 키를 이용하여 상기 메시지의 해쉬 값을 암호화하여 제3 암호문을 생성하는 단계를 더 포함하고,
    상기 결합하는 단계는 상기 제1 암호문, 상기 제2 암호문 및 상기 제3 암호문을 결합하는 것을 특징으로 하는 암호화 방법.
  6. 제1항에 있어서,
    상기 암호화 장치의 개인 키를 이용하여 상기 제1 암호문의 해쉬 값을 암호화하여 제3 암호문을 생성하는 단계를 더 포함하고,
    상기 결합하는 단계는 상기 제1 암호문, 상기 제2 암호문 및 상기 제3 암호문을 결합하는 것을 특징으로 하는 암호화 방법.
  7. 제1항에 있어서
    상기 암호화 키를 생성하는 단계는
    상기 암호화된 메시지의 해쉬 값과 상기 공유 키를 입력으로 하여 상기 암호화 키를 생성하는 키 유도 함수를 이용하여 상기 암호화 키를 생성하고,
    상기 키 유도 함수는 상기 암호화 장치와 상기 암호화 장치가 생성한 메시지를 복호화하는 복호화 장치가 공유하는 함수인 것을 특징으로 하는 암호화 방법.
  8. 제1항에 있어서,
    상기 소정의 공유 키는
    상기 암호화 장치와 상기 암호화 장치가 생성한 메시지를 복호화하는 복호화 장치가 공유하는 공유 키인 것을 특징으로 하는 암호화 방법.
  9. 제1항에 있어서,
    상기 메시지는
    텍스트, 오디오, 비디오 및 이미지 중 적어도 하나를 포함하는 것을 특징으로 하는 암호화 방법.
  10. 암호화 장치의 메시지의 무결성 유지를 위한 암호화 방법에 있어서,
    메시지를 복수개의 블록으로 분할하여 복수개의 메시지 블록을 생성하는 단계;
    난수를 생성하고, 상기 난수를 이용하여 상기 복수개의 메시지 블록을 AES(Advanced Encryption Standard)의 CBC(Cipher Block Chainning) 모드에 따라 암호화하는 단계;
    상기 암호화가 수행되어 생성된 복수개의 암호화된 메시지 블록 중 일부의 메시지 블록과 소정의 공유 키를 이용하여 암호화 키를 생성하는 단계;
    상기 복수개의 암호화된 메시지 블록을 결합하여 제1 암호문을 생성하는 단계;
    상기 암호화 키를 이용하여 상기 난수를 암호화하여 제2 암호문을 생성하는 단계; 및
    상기 제1 암호문 및 상기 제2 암호문을 결합하는 단계를 포함하는 것을 특징으로 하는 암호화 방법.
  11. 제10항에 있어서,
    상기 암호화 키 또는 상기 암호화 장치의 개인 키를 이용하여 상기 복수개의 암호화된 메시지 블록 중 일부의 메시지 블록을 암호화하여 제3 암호문을 생성하는 단계를 더 포함하고,
    상기 결합하는 단계는 상기 제1 암호문, 상기 제2 암호문 및 상기 제3 암호 문을 결합하는 것을 특징으로 하는 암호화 방법.
  12. 제10항에 있어서,
    상기 복수개의 암호화된 메시지 블록 중 일부의 메시지 블록은
    상기 복수개의 암호화된 메시지 블록 중 가장 마지막에 생성되는 메시지 블록인 것을 특징으로 하는 암호화 방법.
  13. 제10항에 있어서,
    상기 소정의 공유 키는
    상기 암호화 장치와 상기 암호화 장치가 생성한 메시지를 복호화하는 복호화 장치가 공유하는 공유 키인 것을 특징으로 하는 암호화 방법.
  14. 메시지의 무결성 유지를 위한 메시지 복호화 방법에 있어서,
    소정의 난수를 이용하여 암호화된 메시지인 제1 암호문 및 상기 제1 암호문 에 대한 해쉬 값과 소정의 공유 키를 이용하여 생성된 암호화 키를 이용하여 상기 난수를 암호화한 제2 암호문이 결합된 메시지를 수신하는 단계;
    상기 수신된 메시지의 제1 암호문 및 제2 암호문을 분리한 후, 상기 분리된 제1 암호문의 해쉬 값을 계산하는 단계;
    상기 제1 암호문의 해쉬 값과 소정의 공유 키를 이용하여 복호화 키를 생성하는 단계;
    상기 복호화 키를 이용하여 상기 제2 암호문을 복호화하여 상기 난수를 추출하는 단계; 및
    상기 추출된 난수를 이용하여 상기 제1 암호문을 복호화하는 단계를 포함하는 것을 특징으로 하는 복호화 방법.
  15. 제14항에 있어서,
    상기 수신하는 단계가 상기 암호화 키를 이용하여 생성된 상기 제1 암호문의 해쉬 값에 대한 인증 코드 또는 상기 암호화를 수행한 암호화 장치의 개인 키를 이용하여 상기 제1 암호문의 해쉬 값을 암호화한 제3 암호문 중 하나가 더 결합된 메시지를 수신할 때,
    상기 수신된 메시지가 변조되었는지 여부를 판단하는 단계를 더 포함하고,
    상기 난수를 추출하는 단계는 상기 판단 결과에 따라 상기 제2 암호문을 선택적으로 복호화하는 것을 특징으로 하는 복호화 방법.
  16. 제15항에 있어서,
    상기 판단하는 단계는
    상기 수신된 메시지가 상기 인증 코드가 더 결합된 메시지일 때, 상기 복호화 키를 이용하여 상기 제1 암호문의 해쉬 값에 대한 인증 코드를 생성하는 단계; 및
    상기 복호화 키를 이용하여 생성된 인증 코드와 상기 수신된 인증 코드를 비 교하여 일치하는지 여부에 따라 변조 여부를 판단하는 단계를 포함하는 것을 특징으로 하는 복호화 방법.
  17. 제15항에 있어서,
    상기 판단하는 단계는
    상기 수신된 메시지가 상기 제3 암호문이 더 결합된 메시지일 때, 상기 개인 키에 대응되는 공개 키를 이용하여 상기 제3 암호문을 복호화하는 단계;
    상기 제3 암호문을 복호화하여 추출된 제1 암호문의 해쉬 값과 상기 수신된 제1 암호문으로부터 계산된 제1 암호문의 해쉬 값을 비교하여 일치하는지 여부에 따라 변조 여부를 판단하는 단계를 포함하는 것을 특징으로 하는 복호화 방법.
  18. 메시지의 무결성 유지를 위한 메시지 복호화 방법에 있어서,
    소정의 난수를 이용하여 AES의 CBC 모드에 따라 암호화가 수행되어 생성된 암호화된 복수개의 메시지 블록이 결합된 제1 암호문 및 소정의 암호화 키를 이용하여 상기 난수를 암호화하여 생성된 제2 암호문이 결합된 메시지를 수신하는 단계;
    상기 수신된 메시지의 제1 암호문 및 제2 암호문을 분리하고, 상기 제1 암호문 중 일부의 메시지 블록과 소정의 공유 키를 이용하여 복호화 키를 생성하는 단계;
    상기 복호화 키를 이용하여 상기 제2 암호문을 복호화하여 상기 난수를 추출 하는 단계; 및
    상기 추출된 난수를 이용하여 상기 제1 암호문을 AES의 CBC 모드에 따라 복호화하고, 상기 복호화에 의하여 생성된 복수개의 메시지 블록을 결합하여 메시지를 생성하는 단계를 포함하고,
    상기 암호화 키는 상기 제1 암호문 중 일부의 메시지 블록과 소정의 공유 키를 이용하여 생성된 키인 것을 특징으로 하는 복호화 방법.
  19. 제18항에 있어서,
    상기 수신하는 단계가 상기 제1 암호문 중 일부의 메시지 블록을 상기 암호화 키 또는 상기 암호화를 수행한 암호화 장치의 개인 키를 이용하여 암호화하여 생성된 제3 암호문이 더 결합된 메시지를 수신할 때,
    상기 수신된 메시지가 변조되었는지 여부를 판단하는 단계를 더 포함하고,
    상기 난수를 추출하는 단계는 상기 판단 결과에 따라 상기 제2 암호문을 선택적으로 복호화하는 것을 특징으로 하는 복호화 방법.
  20. 제19항에 있어서,
    상기 판단하는 단계는
    상기 수신된 메시지가 상기 암호화 키를 이용하여 암호화된 제3 암호문이 더 결합된 메시지일 때, 상기 복호화 키를 이용하여 상기 제3 암호문을 복호화하는 단계; 및
    상기 제3 암호문을 복호화한 결과 값과 상기 수신된 제1 암호문 중 상기 암호화키 생성에 이용된 일부의 메시지 블록을 비교하여 일치하는지 여부에 따라 변조 여부를 판단하는 단계를 포함하는 것을 특징으로 하는 복호화 방법.
  21. 제19항에 있어서,
    상기 판단하는 단계는
    상기 수신된 메시지가 상기 개인 키를 이용하여 암호화된 제3 암호문이 더 결합된 메시지일 때, 상기 개인 키에 대응되는 공개 키를 이용하여 상기 제3 암호문을 복호화하는 단계; 및
    상기 제3 암호문을 복호화한 결과 값과 상기 수신된 제1 암호문 중 상기 암호화키 생성에 이용된 일부의 메시지 블록을 비교하여 일치하는지 여부에 따라 변조 여부를 판단하는 단계를 포함하는 것을 특징으로 하는 복호화 방법.
  22. 메시지의 무결성 유지를 위한 메시지 암호화 장치에 있어서,
    난수를 생성하는 난수 생성부;
    상기 생성된 난수를 이용하여 상기 메시지를 암호화하여 제1 암호문을 생성하는 암호화부;
    상기 제1 암호문의 해쉬 값을 계산하는 연산부;
    상기 제1 암호문의 해쉬 값과 소정의 공유 키를 이용하여 암호화 키를 생성하는 암호화 키 생성부; 및
    상기 암호화부가 상기 암호화 키를 이용하여 상기 난수를 암호화하여 제2 암호문을 생성하면, 상기 제1 암호문 및 상기 제2 암호문을 결합하는 결합부를 포함하는 것을 특징으로 하는 암호화 장치.
  23. 제22항에 있어서,
    상기 연산부가 메시지의 해쉬 값을 계산하면, 상기 암호화 키를 이용하여 상기 메시지의 해쉬 값에 대한 인증 코드를 생성하는 인증 코드 생성부를 더 포함하고,
    상기 결합부는 상기 제1 암호문, 상기 제2 암호문 및 상기 인증 코드를 결합하는 것을 특징으로 하는 암호화 장치.
  24. 제23항에 있어서,
    상기 인증 코드 생성부는 상기 암호화 키를 이용하여 상기 제1 암호문의 해쉬 값에 대한 인증 코드를 생성하고,
    상기 결합부는 상기 제1 암호문, 상기 제2 암호문 및 상기 인증 코드를 결합하는 것을 특징으로 하는 암호화 장치.
  25. 제23항
    상기 인증 코드는
    메시지 인증 코드(Message Authentication Code:MAC)를 이용하여 구성되는 것을 특징으로 하는 암호화 장치.
  26. 제22항에 있어서,
    상기 연산부는 메시지의 해쉬 값을 계산하고,
    상기 암호화부는 상기 암호화 장치의 개인 키를 이용하여 상기 메시지의 해쉬 값을 암호화하여 제3 암호문을 생성하고,
    상기 결합부는 상기 제1 암호문, 상기 제2 암호문 및 상기 제3 암호문을 결합하는 것을 특징으로 하는 암호화 장치.
  27. 제22항에 있어서,
    상기 암호화부는 상기 암호화 장치의 개인 키를 이용하여 상기 제1 암호문의 해쉬 값을 암호화하여 제3 암호문을 생성하고,
    상기 결합부는 상기 제1 암호문, 상기 제2 암호문 및 상기 제3 암호문을 결합하는 것을 특징으로 하는 암호화 장치.
  28. 제22항에 있어서
    상기 암호화 키 생성부는 상기 암호화된 메시지의 해쉬 값과 상기 공유 키를 입력으로 하여 상기 암호화 키를 생성하는 키 유도 함수를 이용하여 상기 암호화 키를 생성하고,
    상기 키 유도 함수는 상기 암호화 장치와 상기 암호화 장치가 생성한 메시지 를 복호화하는 복호화 장치가 공유하는 함수인 것을 특징으로 하는 암호화 장치.
  29. 제22항에 있어서,
    상기 소정의 공유 키는
    상기 암호화 장치와 상기 암호화 장치가 생성한 메시지를 복호화하는 복호화 장치가 공유하는 공유 키인 것을 특징으로 하는 암호화 장치.
  30. 제22항에 있어서,
    상기 메시지는
    텍스트, 오디오, 비디오 및 이미지 중 적어도 하나를 포함하는 것을 특징으로 하는 암호화 장치.
  31. 메시지의 무결성 유지를 위한 암호화 장치에 있어서,
    메시지를 복수개의 블록으로 분할하여 복수개의 메시지 블록을 생성하는 메시지 분할부;
    난수를 생성하는 난수 생성부;
    상기 난수를 이용하여 상기 복수개의 메시지 블록을 AES의 CBC 모드에 따라 암호화하여 복수개의 암호화된 메시지 블록을 생성하는 암호화부;
    상기 암호화가 수행되어 생성된 복수개의 암호화된 메시지 블록 중 일부의 메시지 블록과 소정의 공유 키를 이용하여 암호화 키를 생성하는 암호화 키 생성 부;
    상기 복수개의 암호화된 메시지 블록을 결합하여 제1 암호문을 생성하고, 상기 암호화부가 상기 암호화 키를 이용하여 상기 난수를 암호화하여 제2 암호문을 생성하면, 상기 제1 암호문 및 상기 제2 암호문을 결합하는 결합부를 포함하는 것을 특징으로 하는 암호화 장치.
  32. 제31항에 있어서,
    상기 암호화부는 암호화 키 또는 상기 암호화 장치의 개인 키를 이용하여 상기 제1 암호문 중 일부의 메시지 블록을 암호화하여 제3 암호문을 생성하고,
    상기 결합부는 상기 제1 암호문, 상기 제2 암호문 및 상기 제3 암호문을 결합하는 것을 특징으로 하는 암호화 장치.
  33. 제31항에 있어서,
    상기 제1 암호문 중 일부의 메시지 블록은
    상기 제1 암호문 중 가장 마지막에 생성되는 메시지 블록인 것을 특징으로 하는 암호화 장치.
  34. 제31항에 있어서,
    상기 소정의 공유 키는
    상기 암호화 장치와 상기 암호화 장치가 생성한 메시지를 복호화하는 복호화 장치가 공유하는 공유 키인 것을 특징으로 하는 암호화 장치.
  35. 메시지의 무결성 유지를 위한 메시지 복호화 장치에 있어서,
    소정의 난수를 이용하여 암호화된 메시지인 제1 암호문 및 상기 제1 암호문 에 대한 해쉬 값과 소정의 공유 키를 이용하여 생성된 암호화 키를 이용하여 상기 난수를 암호화한 제2 암호문이 결합된 메시지를 수신하는 수신부;
    상기 수신된 메시지의 제1 암호문 및 제2 암호문을 분리하는 메시지 분리부;
    상기 분리된 제1 암호문의 해쉬 값을 계산하는 연산부;
    상기 제1 암호문의 해쉬 값과 소정의 공유 키를 이용하여 복호화 키를 생성하는 복호화 키 생성부;
    상기 복호화 키를 이용하여 상기 제2 암호문을 복호화하여 상기 난수를 추출하고, 상기 추출된 난수를 이용하여 상기 제1 암호문을 복호화하는 복호화부를 포함하는 것을 특징으로 하는 복호화 장치.
  36. 제35항에 있어서,
    상기 수신부가 상기 암호화 키를 이용하여 생성된 상기 제1 암호문의 해쉬 값에 대한 인증 코드 또는 상기 암호화를 수행한 암호화 장치의 개인 키를 이용하여 상기 제1 암호문의 해쉬 값을 암호화한 제3 암호문 중 하나가 더 결합된 메시지를 수신할 때, 상기 수신된 메시지가 변조되었는지 여부를 판단하는 인증부를 더 포함하고,
    상기 복호화부는 상기 판단 결과에 따라 상기 제2 암호문을 선택적으로 복호화하는 것을 특징으로 하는 복호화 장치.
  37. 제36항에 있어서,
    상기 인증부는
    상기 수신된 메시지가 상기 인증 코드가 더 결합된 메시지일 때, 상기 복호화 키를 이용하여 상기 제1 암호문의 해쉬 값에 대한 인증 코드를 생성하는 인증 코드 생성부; 및
    상기 복호화 키를 이용하여 생성된 인증 코드와 상기 수신된 인증 코드를 비교하여 일치하는지 여부에 따라 변조 여부를 판단하는 변조 여부 판단부를 포함하는 것을 특징으로 하는 복호화 장치.
  38. 제36항에 있어서,
    상기 인증부는
    상기 수신된 메시지가 상기 제3 암호문이 더 결합된 메시지일 때, 상기 복호화부가 상기 개인 키에 대응되는 공개 키를 이용하여 상기 제3 암호문을 복호화하면, 상기 제3 암호문을 복호화하여 추출된 제1 암호문의 해쉬 값과 상기 수신된 제1 암호문으로부터 계산된 제1 암호문의 해쉬 값을 비교하여 일치하는지 여부에 따라 변조 여부를 판단하는 것을 특징으로 하는 복호화 장치.
  39. 메시지의 무결성 유지를 위한 메시지 복호화 장치에 있어서,
    소정의 난수를 이용하여 AES의 CBC 모드에 따라 암호화가 수행되어 생성된 암호화된 복수개의 메시지 블록이 결합된 제1 암호문 및 소정의 암호화 키를 이용하여 상기 난수를 암호화하여 생성된 제2 암호문이 결합된 메시지를 수신하는 수신부;
    상기 수신된 메시지의 제1 암호문 및 제2 암호문을 분리하는 메시지 분리부;
    상기 제1 암호문 중 일부의 메시지 블록과 소정의 공유 키를 이용하여 복호화 키를 생성하는 복호화 키 생성부;
    상기 복호화 키를 이용하여 상기 제2 암호문을 복호화하여 상기 난수를 추출하고, 상기 추출된 난수를 이용하여 상기 제1 암호문을 AES의 CBC 모드에 따라 복호화하는 복호화부; 및
    상기 복호화에 의하여 생성된 복수개의 메시지 블록을 결합하여 메시지를 생성하는 결합부를 포함하고,
    상기 암호화키는 상기 제1 암호문 중 일부의 메시지 블록과 소정의 공유 키를 이용하여 생성된 키인 것을 특징으로 하는 복호화 장치.
  40. 제39항에 있어서,
    상기 수신부가 상기 제1 암호문 중 일부의 메시지 블록을 상기 암호화 키 또는 상기 암호화를 수행한 암호화 장치의 개인 키를 이용하여 암호화하여 생성된 제3 암호문이 더 결합된 메시지를 수신할 때, 상기 수신된 메시지가 변조되었는지 여 부를 판단하는 인증부를 더 포함하고,
    상기 복호화부는 상기 판단 결과에 따라 상기 제2 암호문을 선택적으로 복호화하는 것을 특징으로 하는 복호화 장치.
  41. 제40항에 있어서,
    상기 인증부는
    상기 수신된 메시지가 상기 암호화 키를 이용하여 암호화된 제3 암호문이 더 결합된 메시지일 때, 상기 복호화부가 상기 복호화 키를 이용하여 상기 제3 암호문을 복호화하면, 상기 제3 암호문을 복호화한 결과 값과 상기 수신된 제1 암호문 중 상기 암호화키 생성에 이용된 일부의 메시지 블록을 비교하여 일치하는지 여부에 따라 변조 여부를 판단하는 것을 특징으로 하는 복호화 장치.
  42. 제40항에 있어서,
    상기 인증부는
    상기 수신된 메시지가 상기 개인 키를 이용하여 암호화된 제3 암호문이 더
    결합된 메시지일 때, 상기 복호화부가 상기 개인 키에 대응되는 공개 키를 이용하여 상기 제3 암호문을 복호화하면, 상기 제3 암호문을 복호화한 결과 값과 상기 수신된 제1 암호문 중 상기 암호화키 생성에 이용된 일부의 메시지 블록을 비교하여 일치하는지 여부에 따라 변조 여부를 판단하는 것을 특징으로 하는 복호화 장치.
  43. 제1항 내지 제21항 중 어느 한 항의 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체.
KR1020070037601A 2007-04-17 2007-04-17 메시지의 무결성 유지를 위한 메시지 암호화 방법 및 장치,메시지의 무결성 유지를 위한 메시지 복호화 방법 및 장치 KR101520617B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 上海交通大学 消息发送方法及采用该方法的商务议价协议系统

Cited By (8)

* Cited by examiner, † Cited by third party
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