KR20150036679A - 이미지를 암호화 하고 복호화 하기 위한 방법, 장치 및 시스템 - Google Patents

이미지를 암호화 하고 복호화 하기 위한 방법, 장치 및 시스템 Download PDF

Info

Publication number
KR20150036679A
KR20150036679A KR1020157004121A KR20157004121A KR20150036679A KR 20150036679 A KR20150036679 A KR 20150036679A KR 1020157004121 A KR1020157004121 A KR 1020157004121A KR 20157004121 A KR20157004121 A KR 20157004121A KR 20150036679 A KR20150036679 A KR 20150036679A
Authority
KR
South Korea
Prior art keywords
image
encrypted
data
decoded
offset
Prior art date
Application number
KR1020157004121A
Other languages
English (en)
Other versions
KR101582128B1 (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 텐센트 테크놀로지(센젠) 컴퍼니 리미티드
Publication of KR20150036679A publication Critical patent/KR20150036679A/ko
Application granted granted Critical
Publication of KR101582128B1 publication Critical patent/KR101582128B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/44Secrecy systems
    • H04N1/448Rendering the image unintelligible, e.g. scrambling
    • H04N1/4486Rendering the image unintelligible, e.g. scrambling using digital data encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Facsimile Transmission Control (AREA)
  • Storage Device Security (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 컴퓨터의 분야에 관한 것으로 이미지를 암호화 및 복호화 하기 위한 방법, 장치 및 시스템이 개시된다. 이미지를 암호화 하기 위한 방법은 암호화 될 화상 데이터의 헤더의 미리 설정된 크기를 암호화 하고, 상기 헤더 데이터에 대응하는 암호화 된 데이터를 획득하고, 상기 암호화 된 데이터를 저장하는 저장 위치를 결정하고, 상기 저장 위치에 암호화 된 데이터를 저장하고, 암호화 된 데이터를 저장하기 위해 오프셋을 획득하고 암호화 될 이미지의 미리 설정된 사이즈의 저장 영역에 암호화 식별자 및 오프셋을 배치한다. 시스템은, 이미지를 암호화 하기 위한 장치 및 이미지를 복호화 하기 위한 장치를 포함한다. 본 발명은 이미지를 암호화 하고 복호화 하는 것의 속도 및 효율성을 개선시키는 것이 가능하다.

Description

이미지를 암호화 하고 복호화 하기 위한 방법, 장치 및 시스템{Method, Device and System for encrypting and decrypting image}
개시된 구현들은 일반적으로 컴퓨터 분야와 관련되고, 특히, 이미지를 암호화 하고, 복호화 하기 위한 방법, 장치, 및 시스템에 관한 것이다.
이동 단말기 기술의 급속한 발전에 따라, 이동 단말기는 사용자에 의해 널리 이용된다. 따라서, 이동 단말기의 보안 정보는 사용자로부터 관심을 얻는다. 이동 단말기의 이미지는 사용자의 중요한 자료들 중 하나이고, 사용자는 대개 이미지의 보안을 보장하기 위해서 이미지를 암호화하고 복호화한다.
종래 기술은 암호화하고 복호화하는 방법을 제공하는데, 우선, 사용자에 의해서 암호 되어야 할 이미지를 선택하고, 그 뒤에 암호 알고리즘을 통해 이동 단말기에 의해 암호화 하고, 상기 이미지에 대응하는 암호화 된 데이터를 얻기 위해서 사용자에 의해 이미지 전체가 선택되고, 이미지가 복호화 되어야 할 필요가 있을 때, 재건된 이미지를 얻기 위해서, 이동 단말기에 의해 복호화 알고리즘을 통해 이미지에 대응되는 암호화된 데이터가 복호화 되고 따라서 이미지를 해독한다.
본 발명의 구현 동안, 발명자는 종래 기술이 적어도 다음의 문제를 가지고 있음을 발견하였다.
종래 기술에서는, 전체 이미지는 암호화되고, 복호화 되는 것이 필요하고, 따라서 이미지를 암호화하고 복호화하기 위한 속도는 느리고 효율성이 종래 기술에서 낮다.
이미지를 암호화하고 복호화하는 속도 및 효율성을 개선하기 위해서, 본 발명은 이미지를 암호화하고 복호화하기 위한 방법, 장치, 시스템을 제공한다. 기술적 솔루션은 다음과 같다.
몇몇 실시예에 따라서, 이미지를 암호화하기 위한 방법은 암호화 될 이미지 헤더 데이터의 미리 설정된 사이즈를 암호화 하고, 헤더 데이터에 대응되는 암호화된 데이터를 획득하고, 암호화된 데이터를 저장하기 위한 저장 위치를 결정하고, 저장 위치에 암호화된 데이터를 저장하고, 암호화된 데이터를 저장하기 위한 오프셋을 획득하고, 암호화 될 이미지를 암호화 하기 위해서 암호화 될 이미지의 미리 설정된 사이즈의 저장 영역에 암호 식별자와 오프셋을 배치한다.
암호화 된 데이터를 저장하기 위한 저장 위치를 결정하고, 저장 장소에 암호화 된 데이터를 저장하고, 암호화 된 데이터를 저장하기 위한 오프셋을 획득하기 위한 동작들은 암호화 될 이미지의 끝을 암호화 된 데이터를 저장하기 위한 저장 장소로 결정하고, 암호화 될 이미지의 끝에 암호화 된 데이터를 저장하고; 및 암호화 될 이미지의 이미지 사이즈를 획득하고, 상기 이미지 사이즈를 암호화 된 데이터를 저장하기 위한 오프셋으로 결정하는 것을 포함한다.
암호화 될 이미지의 미리 설정된 사이즈의 저장 영역에서 암호화 식별자 및 오프셋을 배치하는 동작은, 암호화 된 이미지의 미리 설정된 사이즈의 저장 영역을 제1 정보 영역과 제2 정보 영역으로 분할하고; 및 제1 정보 영역에 암호화 식별자를 배치하고, 제2 정보 영역에 오프셋을 배치하는 것을 포함한다.
상기 암호화 된 데이터를 저장하기 위한 저장 위치를 결정하고, 저장 위치에서 암호화된 데이터를 저장하고, 암호화 된 데이터를 저장하기 위한 오프셋을 획득하는 것의 동작은, 암호화 될 이미지의 미리 설정된 사이즈의 저장 영역을 제1 정보 영역, 제2 정보 영역, 및 제3 정보 영역으로 분할하고; 암호화 된 데이터로부터 제3 정보 영역의 사이즈와 동일한 사이즈의 제1 암호화 된 데이터를 선택하고, 나머지 선택되지 않은 암호화 된 데이터를 제2 암호화된 데이터로 결정하고, 제1 암호화 된 데이터를 저장하기 위한 저장 위치를 제3 정보 영역이 되도록 결정하고, 암호화 될 이미지의 끝을 제2 암호화 된 데이터를 저장하기 위한 저장 위치로 결정하고;
제1 암호화된 데이터는 제3 정보 영역을 채우는데 사용하고, 제2 암호화된 데이터를 암호화 될 이미지의 끝에 저장하고; 및 암호화 될 이미지의 이미지 사이즈를 획득하고, 상기 이미지 사이즈를 제2 암호화 된 데이터를 저장하기 위한 오프셋으로 결정하는 것을 포함한다.
암호화 될 이미지의 미리 설정된 사이즈의 저장 영역에 암호화 식별자 및 오프셋을 배치하는 동작은, 제1 정보 영역에 암호화 식별자를 배치하고, 제2 정보 영역에 오프셋을 배치하는 것을 포함한다.
암호화 될 이미지의 헤더 데이터의 미리 설정된 사이즈를 암호화하는 동작들 전에 다음을 더 포함할 수 있다.
암호화 될 이미지의 미리 설정된 사이즈의 헤더 데이터가 암호화 식별자를 포함하고 있는지 아닌지를 판단하고, 만약 그렇다면, 암호화 될 이미지는 암호화 된 이미지라고 판정한다.
이미지를 암호화 하는 방법을 통해 암호화된 이미지를 복호화 하기 위한 방법은 복호화 할 이미지의 미리 설정된 사이즈의 저장 영역으로부터 오프셋을 획득하고, 오프셋을 기반으로 복호화 할 이미지로부터 복호화 할 이미지의 헤더 데이터에 대응하는 암호화 된 데이터를 획득하고; 미리 설정된 사이즈에 존재하고 복호화 할 이미지에 대응하는 헤더 데이터를 얻기 위해서 암호화 된 데이터를 복호화 하고; 및 복호화 할 이미지를 복호화 하기 위해서, 복호화 할 이미지의 미리 설정된 사이즈의 저장 영역에서 헤더 데이터를 배치하는 것을 포함한다.
이미지를 암호화 하는 방법을 통해 암호화된 이미지를 복호화 하기 위한 방법은, 복호화 할 이미지의 미리 설정된 사이즈의 저장 영역으로부터 오프셋을 획득하고, 및 상기 오프셋을 기반으로 복호화 할 이미지로부터 복호화 할 이미지의 헤더 데이터에 대응하는 암호화 된 데이터를 획득하고; 미리 설정된 사이즈를 가지고 복호화 할 이미지에 대응하는 헤더 데이터를 획득하기 위해서 암호화 된 데이터를 복호화 하고; 및 복호화 할 이미지를 복호화 하기 위해서 복호화 할 이미지의 미리 설정된 사이즈의 저장 영역에 헤더 데이터를 배치하는 것을 포함한다.
복호화 할 이미지의 미리 설정된 사이즈의 저장 영역으로부터 오프셋을 획득하고, 오프셋에 기반하여 복호화 할 이미지로부터 복호화 할 이미지의 헤더 데이터에 대응하는 암호화 된 데이터를 획득하는 동작들은, 오프셋을 저장하기 위한 정보 영역과 복호화 할 이미지의 미리 설정된 사이즈의 저장 영역에 암호화 된 데이터를 저장하기 위한 정보 영역을 결정하고, 및 오프셋을 저장하기 위한 정보 영역에 저장된 오프셋과 암호화 된 데이터를 저장하기 위한 정보 영역에 저장된 제1 암호화 된 데이터를 획득하고; 오프셋을 기반으로 복호화 될 이미지의 끝을 결정하고, 복호화 될 이미지로부터 복호화 될 이미지의 끝에서 데이터를 획득하되, 복호화 될 이미지의 끝에 있는 데이터는 복호화 될 이미지의 헤더 데이터에 대응하는 제2 암호화 된 데이터 이고; 및 제1 암호화 된 데이터와 제2 암호화 된 데이터를 복호화 할 이미지의 헤더 데이터에 대응하는 암호화 된 데이터로 결합하는 것을 포함한다.
복호화 될 이미지의 미리 설정된 사이즈의 저장 영역으로부터 오프셋을 획득하는 동작들 전에, 복호화 될 이미지의 암호화 식별자를 감지하고, 만약 감지된다면, 복호화 될 이미지가 암호화 된 이미지인지 판단하고, 만약 감지되지 않는다면, 복호화 될 이미지가 암호화 되지 않은 이미지인지 판단하는 것을 더 포함한다.
몇몇 실시 예에 따라 이미지를 암호화 하기 위한 장치는, 암호화 될 이미지의 헤더 데이터의 미리 설정된 사이즈를 암호화 하고, 헤더 데이터에 대응하는 암호화 된 데이터를 획득하도록 구성된 암호화 모듈; 암호화 된 데이터를 저장하기 위한 저장 위치를 결정하고, 상기 저장 위치에 암호화 된 데이터를 저장하고, 암호화 된 데이터를 저장하기 위한 오프셋을 획득하도록 구성된 저장 모듈; 암호화 될 이미지를 암호화 하기 위해서 암호화 될 이미지의 미리 설정된 사이즈의 저장 영역에 암호화 식별자 및 오프셋을 배치하도록 구성된 제1 주입 모듈을 포함한다.
암호화 될 이미지의 끝이 되는 곳에 암호화 된 데이터를 저장하기 위한 저장 위치를 결정하고, 암호화 될 이미지의 끝에 암호화 된 데이터를 저장하는 제1 저장 유닛; 암호화 될 이미지의 이미지 사이즈를 획득하고, 암호화 된 데이터를 저장하기 위해서 이미지 사이즈를 오프셋으로 결정하는 제1 오프셋팅 유닛을 포함한다.
제1 주입 모듈은, 암호화 될 이미지의 미리 설정된 사이즈의 저장 영역을 제1 정보 영역과 제2 정보 영역으로 분할하도록 구성된 제1 분할 유닛; 제1 정보 영역에 암호화 식별자를 배치하고, 제2 정보 영역에 오프셋을 배치하도록 구성된 제1 주입 유닛을 포함한다.
저장 모듈은,암호화 될 이미지의 미리 설정된 사이즈의 저장 영역을 제1 정보 영역, 제2 정보 영역, 및 제3 정보 영역으로 분할하도록 구성된 제2 분할 유닛;암호화 된 데이터로부터 제3 정보 영역의 사이즈와 동일한 사이즈의 제1 암호화 된 데이터를 선택하고, 나머지 선택되지 않은 암호화 된 데이터를 제2 암호화 된 데이터로 결정하고, 제1 암호화 된 데이터를 저장하기 위한 저장 위치를 제3 정보 영역이고, 제2 암호화 된 데이터를 저장하기 위한 저장 위치를 암호화 될 이미지의 끝이 되도록 결정하도록 구성된 제2 저장 유닛;제3 정보 영역에 제1 암호화 된 데이터를 저장하고, 제2 암호화 된 데이터를 암호화 될 이미지의 끝에 저장하도록 구성된 제3 저장 유닛; 암호화 될 이미지의 이미지 사이즈를 획득하고, 상기 이미지 사이즈를 제2 암호화 된 데이터를 저장하기 위한 오프셋으로 결정하도록 구성된 제2 오프셋팅 유닛을 포함한다.
제1 주입 모듈은 특히 제1 저장 영역에 암호화 식별자를 배치하고, 제2 정보 영역에 오프셋을 배치하도록 구성된다.
장치는, 암호화 될 이미지의 미리 설정된 사이즈의 헤더 데이터가 암호화 식별자를 포함하고 있는지 판정하고, 만약 포함하고 있다면, 암호화 될 이미지는 암호화 된 이미지로 판정하고, 만약 암호화 식별자를 포함하고 있지 않다면, 암호화 된 이미지를 암호화 되지 않은 이미지로 판정하도록 구성된 제1 판정 모듈을 포함한다.
이미지를 암호화 하기 위한 장치를 통해 암호화 된 이미지를 복호화 하기 위한 장치는, 복호화 할 이미지의 미리 설정된 사이즈의 저장 영역으로부터 오프셋을 획득하고, 오프셋을 기반으로 복호화 될 이미지로부터 복호화 될 이미지의 헤더 데이터에 대응하는 암호화된 데이터를 획득하도록 구성된 획득 모듈; 미리 설정된 사이즈를 가지고 있고, 복호화 될 이미지에 대응하는 헤더 데이터를 얻기 위해서 암호화 된 데이터를 복호화 하도록 구성된 복호화 모듈; 복호화 될 이미지를 복호화 하기 위해서 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역에 헤더 데이터를 배치하도록 구성된 제2 주입 모듈을 포함한다.
획득 모듈은, 복호화 된 이미지의 미리 설정된 사이즈의 저장 영역에 오프셋을 저장하기 위해 저장 영역을 결정하고, 결정된 영역에 저장된 오프셋을 획득하도록 구성된 제1 획득 유닛; 및 오프셋을 기반으로 복호화 될 이미지의 끝을 결정하고, 복호화 될 이미지로부터 복호화 될 이미지의 끝에서 데이터를 획득하되, 복호화 될 이미지의 끝에 있는 데이터는 복호화 될 이미지의 헤더 데이터에 대응하는 암호화 된 데이터인 것으로 구성된 제2 획득 유닛을 포함한다.
획득 모듈은, 오프셋을 저장하기 위한 정보 영역과 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역에 암호화 된 데이터를 저장하기 위한 정보 영역을 결정하고, 암호화 된 데이터를 저장하기 위해 정보 영역에 저장된 오프셋과 정보 영역에 저장된 제1 암호화 된 데이터를 획득하도록 구성된 제3 획득 유닛; 오프셋을 기반으로 복호화 될 이미지의 끝을 결정하고, 복호화 될 이미지로부터 복호화 된 이미지의 끝에서 데이터를 획득하되, 복호화 될 이미지의 끝에 있는 데이터는 복호화 할 이미지의 헤더 데이터에 대응하는 제2 암호화 된 데이터로 구성된 제4 획득 유닛; 제1 암호화 된 데이터 및 제2 암호화 된 데이터를 사용하여 형성하되, 암호화 된 데이터는 복호화 할 이미지의 헤더 데이터에 대응하는 것으로 구성된 형성 유닛을 포함한다.
몇몇 실시예에 따라, 장치는, 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역에 암호화 식별자를 감지하고, 만약 그렇다면, 복호화 할 이미지는 암호화 된 이미지로 판정하고, 그렇지 않으면, 복호화 될 이미지는 암호화 되지 않은 이미지로 판정하는 제2 판정 모듈을 포함한다.
몇몇 실시예에 따라, 이미지를 암호화 하고 복호화 하기 위한 시스템은 이미지를 암호화 하기 위한 장치 및 이미지를 복호화 하기 위한 장치를 포함한다.
몇몇 실시예에 따라, 하나 이상의 프로세서, 상기 하나 이상의 프로세서에 의해 수행될 하나 이상의 프로그램들을 저장하기 위한 메모리를 가진 휴대용 컴퓨터에서 수행된 이미지를 암호화 하는 방법은, 암호화 될 이미지의 미리 설정된 사이즈의 데이터를 암호화 하고, 헤더 데이터에 대응하는 암호화 된 데이터를 획득하고, 암호문을 위한 저장 위치를 결정하고, 저장 위치에 암호화 된 데이터를 저장하고, 저장 위치를 위한 오프셋을 획득하고, 암호화 식별자와 오프셋을 암호화 될 이미지의 미리 설정된 사이즈의 저장 영역에 배치시키는 것을 포함한다.
몇몇 실시 예에 따라, 하나 이상의 프로세서, 상기 하나 이상의 프로세서에 의해 수행될 하나 이상의 프로그램들을 저장하기 위한 메모리를 가진 휴대용 컴퓨터에서 수행된 이미지를 복호화 하는 방법은, 복호화 할 이미지의 미리 설정된 사이즈의 저장 영역으로부터 오프셋을 획득하고, 복호화할 이미지로부터 오프셋을 기반으로 복호화 할 이미지의 헤더 데이터에 대응하는 암호화 된 데이터를 획득하고, 복호화 할 이미지 파일에 대응하는 헤더 데이터를 얻기 위해서 암호화 된 데이터를 복호화 하고, 헤더 데이터를 복호화 할 이미지의 미리 설정된 사이즈의 저장 영역에 배치하는 것을 포함한다.
몇몇 실시예에서, 이미지를 암호화 하고 복호화 하기 위한 장치는 하나 이상의 프로세서, 프로그램 모듈들을 저장하기 위한 메모리를 포함하되, 상기 프로그램 모듈들은 암호화 될 이미지의 헤더 데이터의 미리 설정된 사이즈를 암호화하고, 헤더 데이터에 대응하는 암호화 된 데이터를 획득하도록 구성된 암호화 모듈; 암호화 된 데이터를 저장하기 위한 저장 위치를 결정하고, 상기 저장 위치에 암호화 된 데이터를 저장하고, 암호화 된 데이터를 저장하기 위한 오프셋을 획득하도록 구성된 저장 모듈; 및 암호화 될 이미지의 미리 설정된 사이즈의 저장 영역에 암호화 식별자 및 오프셋을 배치하도록 구성된 제1 주입 모듈을 포함한다.
몇몇 실시예에 따르면, 상기 장치의 프로그램 모듈들은 복호화 할 이미지의 미리 설정된 사이즈의 저장 영역으로부터 오프셋을 획득하고, 오프셋을 기반으로 복호화 할 이미지로부터 복호화 할 이미지의 헤더 데이터에 대응하는 암호화 된 데이터를 획득하도록 구성된 획득 모듈; 미리 설정된 사이즈를 가지고, 복호화 할 이미지에 대응하는 헤더 데이터를 획득하기 위해서 암호화 된 데이터를 복호화 하도록 구성된 복호화 모듈; 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역에 헤더 데이터를 배치하는 제2 주입 모듈을 포함한다.
몇몇 실시 예에 따라서, 프로세서, 상기 프로세서에 의해 수행되는 하나 이상의 프로그램들을 저장하기 위한 메모리를 가진 손에 들고 쓰는 컴퓨터에서 수행된 이미지를 암호화 하기 위한 방법은 이미지 파일의 헤더 데이터의 사이즈를 획득하고; 헤더 데이터를 암호화 하고; 헤더 데이터를 암호화 하는 과정에서 헤더 데이터에 대응하는 암호화 된 데이터를 획득하고, 암호화 된 데이터를 헤더 데이터의 사이즈와 암호화 된 데이터의 사이즈를 기반으로 제1 부분, 제2 부분으로 분할하고; 암호문, 위치 정보 및 암호화 식별자의 제1 부분으로 헤더 데이터를 대체하고, 암호화 된 데이터의 제2 부분을 이미지 파일의 끝에 배치하는 것을 포함한다.
몇몇 실시 예에 따라서, 손에 들고 쓰는 컴퓨터는 하나 이상의 프로세서들과 메모리에 저장되고 프로세서에 의해 수행될 하나 이상의 프로그램들을 포함하고, 상기 하나 이상의 프로그램들은 이미지 파일의 시작점에서부터 미리 설정된 사이즈의 데이터를 암호화 하고, 헤더 데이터를 암호화 하는 과정에서, 헤더 데이터에 대응하는 암호화 된 데이터를 획득하고, 이미지 파일로부터 미리 설정된 사이즈의 데이터를 제거하고, 암호화 식별자를 이미지 파일에 추가하고, 암호화 된 데이터를 이미지 파일로부터 분리된 장소에 저장하기 위한 명령어 들을 포함한다.
몇몇 실시 예에 따르면, 메모리는 램과 비 휘발성 메모리와 하나 이상의 프로그램을 포함하되, 상기 하나 이상의 프로그램은 원본 데이터를 얻기 위해서 암호화된 데이터를 복호화 하고,복호화 된 원본 데이터를 램(RAM)으로 이동하고, 비 휘발성 메모리로부터 이미지 파일을 획득하고, 복호화 된 원본 데이터 및 이미지 파일을 데이터 스트림으로 배치하고, 데이터 스트림으로부터 이미지를 표시하고, 이미지를 표시한 후, 램으로부터 복호화 된 원본 데이터를 삭제하기 위한 명령어들을 더 포함하는 포함한다.
몇몇 실시 예에 따르면, 헤더 데이터에 대응하는 암호화 된 데이터를 얻기 위해서 암호화 될 이미지의 미리 설정된 사이즈의 헤더 데이터는 암호화 되고; 암호화 된 데이터를 저장하기 위한 저장 위치는 결정되고, 암호화 된 데이터는 저장 위치에 따라서 저장되고, 암호화 된 데이터를 저장하기 위한 오프셋은 획득되고, 암호화 될 이미지를 암호화 하기 위해서 암호화 식별자 및 오프셋은 암호화 될 이미지의 미리 설정된 사이즈의 저장 영역을 채우는데 사용된다. 상기 오프셋은 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역으로부터 획득하고, 복호화 될 이미지의 헤더 데이터에 대응하는 암호화 된 데이터는 오프셋을 기반으로 복호화 될 이미지로부터 획득하고; 암호화 된 데이터는 미리 설정된 사이즈에 있고, 복호화 될 이미지에 대응하는 헤더 데이터를 얻기 위해서 복호화 되고, 복호화 될 이미지를 복호화 하기 위해서 헤더 데이터는 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역에 배치된다. 암호화 될 이미지가 암호화 될 때 암호화 될 이미지의 미리 설정된 사이즈의 헤더 데이터만을 암호화 시켜 암호화 될 이미지 전체가 암호화 될 필요가 없도록 하고, 따라서 이미지를 암호화 하는 것의 속도와 효율성을 향상 시킨다. 복호화 될 이미지가 복호화 될 때 복호화 될 이미지의 미리 설정된 사이즈의 헤더 데이터에 대응하는 암호화 된 데이터는 복호화 되어, 복호화 될 이미지의 전체가 복호화 될 필요가 없어, 따라서 이미지를 복호화 하는 것의 속도와 효율성이 향상된다.
암호화 될 이미지가 암호화 될 때 암호화 될 이미지의 미리 설정된 사이즈의 헤더 데이터만을 암호화 시켜 암호화 될 이미지 전체가 암호화 될 필요가 없도록 하고, 따라서 이미지를 암호화 하는 것의 속도와 효율성을 향상 시킨다. 복호화 될 이미지가 복호화 될 때 복호화 될 이미지의 미리 설정된 사이즈의 헤더 데이터에 대응하는 암호화 된 데이터는 복호화 되어, 복호화 될 이미지의 전체가 복호화 될 필요가 없어, 따라서 이미지를 복호화 하는 것의 속도와 효율성이 향상된다.
본 발명의 전술한 구현 뿐만 아니라 부가적인 구현은 도면들의 결합들을 포함할 때,본 발명의 다양한 형태에 대한 다음의 상세한 설명의 결과로서 보다 명확하게 이해될 것이다.
도 1은 본 발명의 몇몇 실시예에 따른 이미지를 암호화 하기 위한 방법의 순서도이다.
도 2는 본 발명의 몇몇 실시예에 따른 이미지를 암호화 하기 위한 방법의 순서도이다.
도 3은 본 발명의 몇몇 실시예에 따른 도 2에 도시된 제1 암호화 될 이미지의 개략 구성도이다.
도 4는 본 발명의 몇몇 실시예에 따른 도 2에 도시된 제2 암호화 될 이미지의 개략 구성도이다.
도 5는 본 발명의 몇몇 실시예에 따른 이미지를 암호화 하기 위한 방법의 순서도이다.
도 6은 본 발명의 몇몇 실시예에 따른 도 5에 도시된 암호화 될 이미지의 개략 구성도이다.
도 7은 본 발명의 몇몇 실시예에 따른 이미지를 복호화 하기 위한 방법의 순서도이다.
도 8은 본 발명의 몇몇 실시예에 따른 이미지를 복호화 하기 위한 방법의 순서도이다.
도 9는 본 발명의 몇몇 실시예에 따른 이미지를 복호화 하기 위한 방법의 순서도이다.
도 10은 본 발명의 몇몇 실시예에 따른 이미지를 암호화 하기 위한 방법의 순서도이다.
도 11은 본 발명의 몇몇 실시예에 따른 이미지를 암호화 하기 위한 방법의 순서도이다.
도 12는 본 발명의 몇몇 실시예에 따른 이미지를 암호화 하기 위한 방법의 순서도이다.
도 13은 본 발명의 몇몇 실시예에 따른 이미지를 암호화 하기 위한 장치의 개략 구성도이다.
도 14는 본 발명의 몇몇 실시예에 따른 이미지를 복호화 하기 위한 장치의 개략 구성도이다.
도 15는 본 발명의 몇몇 실시예에 따른 영상을 암호화 하고 복호화 하기 위한 시스템의 개략 구성도이다.
도 16은 본 발명의 몇몇 실시예에 따른 이미지를 암호화 하고 복호화 하기 위한 컴퓨터 구성을 나타낸 블록도이다.
본 출원의 청구항들은 이전에 중국 특허 출원번호 201210252540.X, "이미지를 암호화하고 해독하기 위한 방법, 장치 및 시스템"의 명칭으로 2012년 7월 20일에 출원된 명세서 전체가 참조로 인용된다.
본 발명의 목적, 기술적 솔루션 및 장점을 보다 명확하게 하기 위해서 본 발명의 실시예들은 아래 첨부한 도면을 참조하여 더욱 상세하게 설명된다.
도 1에 도시된 바와 같이, 본 발명의 실시예는 아래 단계를 포함하는, 이미지를 암호화 하기 위한 방법을 제공한다.
101단계 : 암호화 될 이미지의 헤더 데이터의 미리 설정된 사이즈를 암호화 하고 헤더 데이터에 대응하는 암호화 된 데이터를 획득한다.
102단계 : 암호화 된 데이터를 저장하기 위해 저장 위치를 결정하고, 상기 저장 위치에 암호화 된 데이터를 저장하고, 암호화 된 데이터를 저장하기 위해 오프셋을 획득한다.
103단계 : 암호화 될 이미지를 암호화 하기 위해서, 암호화 될 이미지의 미리 설정된 사이즈의 저장 영역에 암호화 식별자 및 오프셋을 배치한다.
본 발명의 실시예에서 헤더 데이터에 대응하는 암호화 된 데이터를 획득하기 위해서 암호화 될 이미지의 미리 설정된 사이즈의 헤더 데이터는 암호화 되고, 암호화 된 데이터를 저장하기 위해서 저장 위치가 결정되고, 암호화된 데이터는 저장 위치에 따라 저장되고, 암호화 된 데이터를 저장하기 위한 오프셋은 얻어지고, 암호화 식별자 및 오프셋은 암호화 될 이미지를 암호화 하기 위해서 암호화 될 이미지의 미리 설정된 사이즈의 저장 영역을 채우는데 사용된다. 암호화 될 이미지가 암호화 된 때, 암호화 될 이미지의 미리 설정된 사이즈의 헤더 데이터 만을 암호화 하므로, 암호화 될 이미지 전체가 암호화 될 필요가 없어서 이미지를 암호화 하는 것의 속도 및 효율성이 향상된다.
본 발명의 실시예는 이미지를 암호화 하기 위한 방법을 제공한다. 사용자는 암호화 되는 것이 필요한 이미지를 선택하여 단말에 이미지를 제출하고, 단말은 상기 이미지를 암호화 될 이미지로 보고, 본 발명에서 제공된 암호화 방법을 통해 암호화 될 이미지를 암호화 한다. 도 2를 참조하면, 방법은 아래 단계를 포함한다.
201단계 : 암호화 될 이미지로부터 앞부분에서 미리 설정된 사이즈의 헤더 데이터를 획득하고, 암호화 된 데이터에 대응하는 것을 얻기 위해서 헤더 데이터를 암호화 하되, 상기 헤더 데이터는 적어도 암호화 될 이미지의 헤더 정보를 포함한다.
도 3을 참조하면, 암호화 될 이미지는 두가지 부분을 포함하는데, 즉, 암호화 될 이미지의 헤더 정보와 이미지 내용을 포함하는데, 암호화 될 이미지의 헤더 정보는 암호화 될 이미지의 폭, 높이, 컬러 코드와 같은 정보를 포함하고, 이미지 디코더는 암호화 될 이미지의 헤더 정보에 따라 암호화 될 이미지를 표시할 필요가 있다.
암호화 될 이미지의 헤더 정보의 길이는 미리 설정된 사이즈 보다 작거나 동일할 수 있고, 그러므로, 암호화 될 이미지로부터 얻어진 헤더 데이터는 적어도 암호화 할 이미지의 헤더 정보를 포함하고, 암호화 될 이미지의 이미지 내용을 더 포함하고 있을 수 있다.
헤더 데이터는 대응하는 암호화 된 데이터를 얻기 위해서, 사용자에 의해 입력된 암호화 패스워드에 따라서 미리 설정된 암호화 알고리즘을 통해 암호화 될 수 있는데, 암호화 된 데이터의 사이즈는 미리 설정된 사이즈보다 크거나 동일하다. 암호화 알고리즘은 AES(표준 암호화 알고리즘) 암호화 알고리즘이나 RSA 암호화 알고리즘 등일 수 있다.
미리 설정된 사이즈는 1KB, 2KB 또는 3KB 및 이와 같을 수 있고, 미리 설정된 사이즈의 특정 값은 본 발명에서 제한되지 않는다.
202단계 : 암호화 될 이미지의 끝에 있는 헤더 데이터에 대응하는 암호화 된 데이터를 저장하기 위해 저장 위치를 결정하고, 암호화 될 이미지의 끝에 헤더 데이터에 대응하는 암호화 된 데이터를 저장한다.
203단계 : 암호화 될 이미지의 이미지 사이즈를 획득하고, 상기 이미지 사이즈를 헤더 데이터에 대응하는 암호화 된 데이터를 저장하기 위한 오프셋으로 결정한다.
204 단계 : 암호화 될 이미지를 암호화 하기 위해서 암호화 될 이미지의 미리 설정된 사이즈의 저장 영역을 채우기 위해서 헤더 데이터에 대응하는 암호화 된 데이터를 저장하기 위해 암호화 식별자 및 오프셋을 사용한다.
특히, 암호화 될 이미지의 미리 설정된 사이즈의 저장 영역은 제1 정보 영역과 제2 정보 영역으로 분할되고, 암호화 될 이미지를 암호화 하기 위해서, 암호화 식별자는 제1 정보 영역에 배치되고, 헤더 데이터에 대응하는 암호화 된 데이터를 저장하기 위한 오프셋은 오프셋 영역에 배치된다.
예를 들어, 도 4에 도시된 암호화 된 암호화 될 이미지를 참조하면, 헤더 데이터에 대응하는 암호화 된 데이터는 암호화 될 이미지의 끝에 저장되고, 암호화 될 이미지의 미리 설정된 사이즈의 저장 영역은 제1 정보 영역 및 제2 정보 영역으로 분할된다. 제1 정보 영역은 암호화 식별자로 채워 지고, 오프셋 영역은 헤더 데이터에 대응하는 암호화 된 데이터를 저장하기 위해서 오프셋으로 채워 진다.
암호화 될 이미지를 표시할 때, 단말은 암호화 될 이미지의 헤더 정보, 암호화 될 이미지에 따라서 표시할 필요가 있되, 헤더 정보는 암호화 될 이미지의 폭, 높이, 컬러 코드와 같은 정보를 포함한다. 이 실시예에서, 암호화 될 이미지의 미리 설정된 사이즈의 헤더 데이터는 적어도 암호화 될 이미지의 헤더 정보를 포함한다. 헤더 데이터는 암호화 되고, 암호화 식별자 및 오프셋은 암호화 될 이미지의 미리 설정된 사이즈의 저장 영역에 저장된 데이터를 겹쳐 쓰는데 사용되어, 이것은 암호화 될 이미지의 미리 설정된 사이즈의 저장 영역에 저장된 데이터에 충돌을 초래하게 되어, 이미지 디코더는 암호화 될 이미지의 헤더 정보를 획득하는 것이 불가능하게 되고, 그러므로 암호화 될 이미지를 표시하는 것이 불가능하게 되어, 따라서, 이미지의 보안을 보장한다.
암호화 될 이미지는 단말의 자기 디스크에 저장된다. 이 실시예에서 오직 다음 암호화 될 이미지의 미리 설정된 사이즈의 헤더 데이터는 단말의 자기 디스크로 부터 판독되고, 판독된 헤더 데이터가 암호화 되는 것만이 실행될 필요가 있다. 암호화 될 이미지 전체가 단말의 자기디스크로부터 판독될 필요가 있는 선행 기술과 비교하면, 이 실시예에서 제공된 암호화 방법의 속도 및 효율성은 크게 개선된다.
205단계 : 선택적으로 암호화 될 이미지의 저장 경로를 획득하고, 암호화 될 이미지의 저장 경로를 따라서 암호화 된 이미지의 이미지 명칭을 획득한다.
구체적으로, 암호화 될 이미지의 저장 경로는 단말의 제1 파일 디렉토리로부터 획득되고, 문자열은 암호화 될 이미지의 저장 경로에 따라서 계산되고, MD5 알고리즘을 통해서 계산된 문자열은 암호화 된 이미지의 이미지 명칭으로 결정된다.
단말에 포함된 각 암호화 되지 않은 파일의 저장 경로는 단말의 제1 파일 경로에 저장된다.
206단계 : 선택적으로 암호화 될 이미지의 이미지 명칭을 암호화 된 이미지의 이미지 명칭으로 대체하고, 암호화 될 이미지의 이미지 명칭과 암호화 된 이미지의 이미지 명칭 사이의 대응 관계를 저장한다.
207단계 : 선택적으로 단말의 제1 파일 디렉토리로부터 암호화 될 이미지의 저장 경로를 삭제하고, 단말에서 단말의 암호화 될 이미지의 저장 경로를 제2 파일 경로에 추가한다.
단말의 제2 파일 경로는 단말에 포함된 암호화 된 파일의 저장 경로를 저장하는데 사용된다. 이 실시 예에서, 암호화 될 이미지가 암호화 되고, 암호화 될 이미지는 전체 암호화 과정 동안 이동되지 않는다. 그러므로 암호화 될 이미지의 저장 경로는 암호화 된 이미지의 경로와 동일하다.
이 실시예에서, 암호화 되지 않은 파일의 저장 경로는 제1 파일 디렉토리를 통해 저장되고, 암호화 된 파일의 저장 경로는 제2 파일 디렉토리를 통해 저장된다. 이러한 방식으로 사용자는 편리하게 파일을 관리할 수 있고, 따라서 파일 관리의 효율성은 향상된다.
나아가, 암호화 될 이미지의 썸네일 이미지는 204 단계를 수행하기 전에 획득할 수 있고, 207 단계에서, 암호화 된 이미지의 이미지 명칭과 암호화 될 이미지의 썸네일 이미지 사이의 대응 관계는 저장될 수 있다.
나아가, 205 단계와 206 단계가 수행되지 않는다면, 암호화 될 이미지의 이미지 명칭과 암호화 될 이미지의 썸네일 이미지 사이의 대응 관계는 저장될 수 있다.
사용자가 암호화 된 이미지를 선택하면, 이에 대응하여, 사용자에 의해 선택된 이미지에 대응하는 썸네일 이미지는 사용자에 의해 선택된 이미지의 이미지 명칭 및 이미지 명칭과 썸네일 이미지 사이의 대응 관계에 따라서 획득되고, 획득된 썸네일 이미지는 표시된다. 이러한 방식으로, 사용자는 편리하게 암호화 된 이미지를 검색하고, 관리할 수 있고, 따라서 사용자 경험을 향상한다.
또한, 201 단계가 수행 되기 전에, 암호화 될 이미지의 미리 설정된 사이즈의 영역이 암호화 식별자를 포함하고 있는지 여부가 판단된다. 만약 암호화 식별자가 포함된다면, 암호화 될 이미지는 암호화 된 것으로 결정하고, 사용자는 메시지가 표시되고, 암호화 식별자가 포함되어 있지 않다면, 암호화 될 이미지는 암호화 되지 않은 것으로 결정하고, 201 단계는 수행되는 것을 계속한다.
본 발명의 실시예에서 헤더 데이터에 대응하는 암호화 된 데이터를 얻기 위해서 암호화 될 이미지의 미리 설정된 사이즈의 헤더 데이터는 암호화 되고, 암호화 된 데이터를 저장하기 위한 오프셋은 획득되고, 암호화 식별자 및 오프셋은 암호화 될 이미지의 미리 설정된 사이즈의 저장 영역을 채우는데 사용되고, 암호화 된 데이터는 암호화 될 이미지를 암호화 하기 위해서 암호화 될 이미지의 끝에 저장된다. 암호화 될 이미지가 암호화 될 때 암호화 될 이미지의 미리 설정된 사이즈의 헤더 데이터만을 암호화 하면 되어서 암호화 될 이미지 전체가 암호화 될 필요가 없으므로 이미지를 암호화 하는 것의 속도 및 효율성을 향상 시킬 수 있다.
본 발명의 실시예는 이미지를 암호화 하기 위한 방법을 제공한다. 사용자는 암호화 되는 것이 필요한 이미지를 선택하여 단말에 상기 이미지를 제출하면, 단말은 상기 이미지를 암호화 될 이미지로 취급하고, 이 실시예에서 제공된 암호화 방법을 통해 암호화 될 이미지를 암호화 한다. 도 5를 참조하면, 방법은 아래 단계를 포함한다.
301 단계: 암호화 될 이미지로 부터 앞부분에서 미리 설정된 사이즈의 헤더 데이터를 획득하고, 대응하는 암호화 된 데이터를 얻기 위해서 헤더 데이터를 암호화 하되, 헤더 데이터는 암호화 될 이미지의 헤더 정보를 적어도 포함한다.
도 3을 참조하면, 암호화 될 이미지는 두 부분을 포함하는데, 즉, 암호화 될 이미지의 헤더 정보와 이미지 내용을 포함하고, 암호화 될 이미지의 헤더 정보는 암호화 될 이미지의 폭, 높이, 컬러 코드와 같은 정보를 포함하고, 이미지 디코더는 암호화 될 이미지의 헤더 정보에 따라서 암호화 될 이미지를 표시할 필요가 있다.
암호화 될 이미지의 헤더 정보의 길이는 미리 설정된 사이즈보다 작거나 동일하고, 따라서, 암호화 될 이미지로부터 획득한 헤더 데이터는 적어도 암호화 될 이미지의 헤더 정보를 포함하고, 암호화 될 이미지의 이미지 내용을 더 포함할 수 있다.
헤더 데이터는 대응하는 암호화 된 데이터를 얻기 위해서, 사용자에 의해 입력된 암호화 패스워드에 따라 미리 설정된 암호화 알고리즘을 통해 암호화 될 수 있는데, 암호화 된 데이터의 사이즈는 미리 설정된 사이즈보다 크거나 또는 동일하다. 암호화 알고리즘은 AES 암호화 알고리즘 또는 RSA 암호화 알고리즘 등일 수 있다.
미리 설정된 사이즈는 1KB, 2KB, 또는 3KB 등 일 수 있고, 미리 설정된 사이즈의 특정 값은 이 실시예에서 제한되지 않는다.
302 단계 : 암호화 될 이미지의 미리 설정된 사이즈의 저장 영역은 제1 정보 영역, 제2 정보 영역, 및 제 3 정보 영역으로 분할한다.
도 6을 참조하면, 암호화 될 이미지의 미리 설정된 사이즈의 저장 영역은 제1 정보 영역, 제2 정보 영역, 제 3 정보 영역으로 분할되는데, 제1 정보 영역은 제2 정보 영역 앞에 위치 될 수 있고, 제2 정보 영역은 제 3 정보 영역에 앞에 배치 될 수 있다.
303 단계 : 헤더 데이터에 대응하는 암호화 된 데이터로부터 제3 정보 영역과 동일한 사이즈의 제1 암호화 된 데이터를 선택한다. 나머지 선택되지 않은 암호화 된 데이터는 제2 암호화 된 데이터로 결정한다. 암호화 식별자는 제1 정보 영역에 배치하고, 제1 암호화 된 데이터는 제3 정보 영역에 저장한다. 제2 암호화 된 데이터는 암호화 될 이미지의 끝에 저장한다.
암호화 된 이미지는 헤더 데이터에 대응하는 암호화 된 데이터로부터 선택된다. 선택된 암호화 된 데이터는 제1 암호화된 데이터로 결정되고, 나머지 선택되지 않은 암호화 된 데이터는 제 2 암호화 된 데이터로 결정된다. 암호화 식별자는 제1 정보 영역에 배치되고, 제1 암호화 된 데이터는 제3 정보 영역에 배치되고, 제2 암호화 된 데이터는 암호화 될 이미지의 끝 저장된다.
대안적으로, 후방에 미리 설정된 다섯 번째 사이즈의 암호화 된 데이터는 헤더 데이터에 대응하는 암호화 된 데이터로부터 선택되고, 미리 설정된 5번째 사이즈의 암호화 된 데이터는 제1 암호화 된 데이터로 결정될 수 있고, 나머지 선택되지 않은 암호화 된 데이터는 제2 암호화 된 데이터로 결정되고, 암호화 식별자는 제1 정보 영역에 배치되고, 제1 암호화 된 데이터는 제3 정보 영역에 배치되고, 제2 암호화 된 데이터는 암호화 될 이미지의 끝에 저장된다.
304 단계 : 제2 암호화 된 데이터를 저장하기 위해서 오프셋을 획득하고, 획득된 오프셋은 암호화 될 이미지를 암호화 하기 위해서 제2 정보 영역을 채우는데 사용된다.
구체적으로 암호화 될 이미지의 이미지 사이즈는 획득되고, 암호화 될 이미지의 이미지 사이즈는 제2 암호화 된 데이터를 저장하기 위해서 오프셋으로 결정되고, 오프셋은 제2 정보 영역에 배치된다.
예를 들어, 도 6을 참조하면 암호화 식별자는 제1 정보 영역에 배치되고, 오프셋은 제2 정보 영역에 배치되고, 헤더 데이터에 대응하는 암호화 된 데이터로부터 선택된 제1 암호화 된 데이터는 도 6에 도시된 암호화 된 이미지를 획득하기 위해서 3 정보 영역에 배치되고, 선택되지 않은 제2 암호화 된 데이터는 암호화 될 이미지의 끝에 저장된다.
암호화 될 이미지가 표시될 때, 단말은 암호화 될 이미지의 헤더 정보에 따라서 암호화 될 이미지를 표시할 필요가 있다. 이 실시예에서, 암호화 될 이미지의 미리 설정된 사이즈의 헤더 데이터는 적어도 암호화 될 이미지의 헤더 정보를 포함한다. 헤더 데이터는 암호화 되고, 암호화 식별자, 오프셋, 헤더 데이터의 부분에 대응하는 제1 암호화 된 데이터는 암호화 될 이미지의 미리 설정된 사이즈의 저장 영역에 저장된 데이터를 겹쳐 쓰는데 사용되어, 이는 암호화 될 이미지의 헤더 데이터에 충돌을 야기한다. 따라서 이미지 디코더는 암호화 될 이미지의 헤더 정보를 획득하는데 실패할 수 있고, 그러므로, 암호화 될 이미지를 표시하는 것이 불가능하여 따라서, 이미지의 보안을 보장한다. 암호화 될 이미지는 단말의 자기 디스크에 저장된다. 이 실시예에서 다음 것만이 수행될 필요가 있다: 암호화 될 이미지의 미리 설정된 사이즈의 헤더 데이터는 단말의 자기 디스크로부터 판독되고, 헤더 데이터는 암호화 된다. 암호화 될 이미지 전체는 단말의 자기 디스크로부터 판독될 필요가 있고, 그러고 난 뒤에 암호화 될 이미지 전체가 암호화 될 필요가 있는 종래 기술과 비교하면, 이 실시예에서 제공된 암호화 방법의 속도 및 효율성은 크게 향상된다.
305~307 단계는 205~207 단계와 각각 동일하므로, 여기에 다시 상세히 설명되지 않는다.
나아가, 암호화 될 이미지의 썸네일 이미지는 302 단계를 수행하기 전에 획득할 수 있고, 따라서 307 단계에서 암호화 된 이미지의 이미지 명칭과 암호화 될 이미지의 썸네일 이미지 사이의 상관 관계는 저장될 수 있다.
더 나아가, 305 단계 및 306 단계가 수행되지 않는다면, 암호화 될 이미지의 이미지 명칭과 암호화 될 이미지의 썸네일 이미지 사이의 상관 관계는 저장될 수 있다.
사용자가 암호화 된 이미지를 선택할 때, 이에 대응하여 사용자에 의해 선택된 이미지에 대응하는 썸네일 이미지는 이미지 명칭과 썸네일 이미지 사이의 상관 관계로부터 사용자에 의해 선택된 이미지의 이미지 명칭에 따라서 획득되어, 획득된 썸네일 이미지가 표시된다. 이러한 방식으로 사용자는 편리하게 암호화 된 이미지를 검색하고, 관리할 수 있어,이에 의해 사용자의 경험은 향상된다.
더 나아가 301 단계가 수행되기 전에, 암호화 될 이미지의 미리 설정된 사이즈의 영역이 암호화 식별자를 포함하고 있는지 여부가 판단된다. 만약, 암호화 식별자가 포함되어 있다면, 암호화 될 이미지는 암호화 된 것으로 결정되고, 사용자는 입력할 준비가 되고, 암호화 식별자가 포함되어 있지 않는다면, 암호화 될 이미지는 암호화 되지 않은 것으로 결정되고, 301 단계는 수행되는 것을 계속한다.
본 발명의 실시예에서, 암호화 될 이미지의 미리 설정된 사이즈의 헤더 데이터는 암호화 되어서, 헤더 데이터에 대응하는 암호화 된 데이터를 획득한다. 제1 암호화 된 데이터는 암호화 된 데이터로부터 선택되고, 제1 암호화 된 데이터를 저장하기 위해 오프셋은 획득된다; 암호화 식별자, 오프셋, 제1 암호화 된 데이터는 암호화 될 이미지의 미리 설정된 사이즈의 저장 영역을 채우는데 사용되고, 암호화 될 이미지를 암호화 하기 위해서 나머지 선택되지 않은 제2 암호화 된 데이터는 암호화 될 이미지의 끝에 저장된다. 암호화 될 이미지가 암호화 될 때, 암호화 될 이미지의 미리 설정된 사이즈의 헤더 데이터 만이 암호화 되므로 암호화 된 이미지 전체는 암호화 될 필요가 없고, 따라서 이미지를 암호화 하는 것의 속도 및 효율성은 향상된다.
도 7에 도시된 바와 같이, 본 발명의 실시예는 1 실시예에서의 방법을 통해서 암호화 된 이미지를 복호화 하기 위한 방법을 제공하고, 아래 단계들을 포함한다.
401 단계 : 복호화 될 이미지의 미리 설정된 사이즈의 저장영역으로부터 오프셋을 획득하고, 오프셋을 기반으로 복호화 될 이미지로부터 복호화 될 이미지의 헤더 데이터에 대응하는 암호화 된 데이터를 획득한다.
402 단계 : 미리 설정된 사이즈에 존재하고 복호화 될 이미지에 대응하는 헤더 데이터를 획득하기 위해서 암호화 된 데이터를 복호화 한다.
403 단계 : 복호화 될 이미지를 복호화 하기 위해서 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역에 헤더 데이터를 배치한다.
본 발명의 실시예에서 오프셋은 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역으로부터 획득되고, 복호화 될 이미지의 헤더 데이터에 대응하는 암호화 된 데이터는 오프셋을 기반으로 복호화 될 이미지로부터 획득되고; 암호화 된 데이터는 복호화 될 이미지에 대응되고, 미리 설정된 사이즈를 갖는 헤더 데이터를 얻기 위해서 복호화 된다; 그리고 헤더 데이터는 복호화 될 이미지를 복호화 하기 위해서 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역에 배치된다. 복호화 될 이미지는 복호화 될 때, 복호화 될 이미지의 미리 설정된 사이즈의 헤더 데이터에 대응하는 암호화 된 데이터는 복호화 되어 복호화 될 이미지 전체가 복호화 될 필요가 없고, 따라서 이미지를 복호화 하는 것의 속도 및 효율성은 향상된다.
본 발명의 실시예는 이미지를 복호화 하기 위한 방법을 제공한다. 사용자는 암호화 된 이미지를 선택하되, 상기 이미지는 몇몇 실시예에 따른 암호화 방법을 통해 암호화 된 것이다. 단말은 상기 이미지를 복호화 될 이미지로 취급하여, 이 실시예에서 제공된 복호화 방법을 통해 복호화 될 이미지를 복호화 한다. 도 8을 참조하면, 방법은 아래 단계들을 포함한다:
501 단계: 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역에 저장된 데이터에 따라서 복호화 될 이미지가 암호화 된 것인지를 판단하고, 그렇다면 502 단계를 실행한다.
구체적으로, 헤더 정보가 저장되기 위한 정보 영역은 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역에서 결정되고, 정보 영역에 저장된 데이터는 획득된다. 만약 획득된 데이터가 암호화 식별자라면, 복호화 될 데이터는 암호화 된 데이터 인 것으로 판정하고, 획득된 데이터가 암호화 식별자가 아니라면, 복호화 될 데이터는 암호화 되지 않은 데이터로 판정된다.
만약 복호화 될 이미지가 암호화 되지 않은 이미지라고 판정된 경우에는, 동작은 종료되고, 사용자는 통지가 표시된다.
502 단계 : 복호화 될 이미지의 미리 설정된 사이즈의 영역으로부터 오프셋을 획득하고, 획득된 오프셋에 따라서 복호화 된 이미지의 헤더 데이터에 대응하는 암호화 된 데이터를 획득한다.
구체적으로, 오프셋을 저장하기 위한 정보 영역은 복호화 될 이미지의 미리 설정된 사이즈의 영역 내에서 결정되고, 정보 영역에 저장된 오프셋은 획득되고, 복호화 될 이미지의 끝은 오프셋을 기반으로 결정되고, 복호화 될 이미지의 끝에 있는 데이터는 복호화 될 이미지로부터 획득되며, 복호화 될 이미지의 끝에 있는 데이터는 복호화 될 이미지의 헤더 데이터에 대응하는 암호화 된 데이터이다.
503 단계 : 복호화 될 이미지에 대응하고, 미리 설정된 사이즈를 갖는 헤더 데이터를 얻기 위해서 복호화 될 이미지의 헤더 데이터에 대응하는 암호화 된 데이터를 복호화 한다.
구체적으로, 암호화 될 이미지의 헤더 데이터에 대응하는 암호화 된 데이터는 복호화 될 이미지에 대응하고, 미리 설정된 사이즈를 갖는 헤더 데이터를 획득하기 위해서 복호화 알고리즘을 통해 복호화 된다.
504 단계 : 미리 설정된 사이즈를 갖고 복호화 될 이미지에 대응하는 헤더 데이터는 복호화 될 이미지를 복호화 하기 위해서 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역을 채우는데 사용된다.
505 단계 : 암호화 될 이미지의 이미지 명칭에 따라서 암호화 되지 않은 이미지의 이미지 명칭과 암호화 된 이미지의 이미지 명칭 사이의 상관 관계로부터 대응하는 이미지 명칭을 획득하고, 복호화 될 이미지의 이미지 명칭을 획득된 이미지 명칭으로 교체한다.
506 단계 : 단말의 제2 파일 경로로부터 복호화 될 이미지의 저장 경로를 판독하고, 제2 파일 경로로부터 복호화 될 이미지의 저장 경로를 삭제한다.
507 단계 : 단말의 제1 파일 경로에서 복호화 될 이미지의 저장 경로를 저장한다.
이 실시예에서 암호화 된 이미지는 금고에 저장될 수 있고, 금고는 보기 인터페이스 및 삭제 인터페이스를 포함한다. 사용자는 보기 인터페이스로부터 암호화 된 이미지를 복호화 될 이미지로서 선택할 수 있고, 그리고 난 후 복호화 될 이미지는 이 실시예에서 제공된 방법을 통해 복호화 되고, 복호화 될 이미지를 보여준다. 사용자는 삭제 인터페이스로부터 이미지를 삭제할 수 있다.
본 발명의 실시예에서 오프셋은 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역으로부터 획득되고, 복호화 될 이미지의 헤더 데이터에 대응하는 암호화 된 데이터는 오프셋을 기반으로 복호화 될 이미지로부터 획득된다; 암호화 된 데이터는 복호화 될 이미지에 대응하고, 미리 설정된 사이즈를 갖는 헤더 데이터를 획득하기 위해서 복호화 된다; 그리고 헤더 데이터는 복호화 될 이미지를 복호화 하기 위해서 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역에 배치된다. 복호화 될 이미지가 복호화 될 때, 복호화 될 이미지의 미리 설정된 사이즈의 헤더 데이터에 대응하는 암호화 된 데이터는 복호화 되고, 따라서 복호화 될 이미지 전체가 복호화 될 필요가 없어 이미지를 복호화 하는 것의 속도 및 효율성은 향상된다.
본 발명의 실시예는 이미지를 복호화 하기 위한 방법을 제공한다. 사용자는 암호화 된 이미지를 선택하되, 상기 이미지는 몇몇 실시예에 따른 암호화 방법을 통해 암호화 된 것이다; 단말은 상기 이미지를 복호화 될 이미지로 취급하여, 이 실시예에서 제공된 복호화 방법을 통해 복호화 될 이미지를 복호화 한다. 도 9를 참조하면 방법은 다음 단계들을 포함한다.
601 단계 : 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역에 저장된 데이터에 따라서 복호화 될 이미지가 암호화 된 이미지 인지 판단하고, 만약 그렇다면 602 단계를 수행한다.
특히, 헤더 정보를 저장하기 위한 정보 영역은 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역에서 결정되고, 정보 영역에 저장된 데이터는 획득된다. 만약 획득된 데이터가 암호화 식별자라면, 복호화 된 데이터가 암호화 된 데이터라고 판정하고, 만약 획득된 데이터가 암호화 식별자가 아니라고 판정되면, 복호화 된 데이터가 암호화 되지 않은 데이터라고 판정된다.
만약, 복호화 할 이미지가 암호화 되지 않은 이미지라고 판정되었다면, 동작은 종료되고, 사용자는 표시 받는다.
602 단계 : 복호화 될 이미지의 미리 설정된 사이즈의 영역으로부터 복호화 될 이미지의 헤더 데이터에 대응하는 제1 암호화 된 데이터 및 오프셋을 획득하고, 획득된 오프셋에 따라서 복호화 될 이미지의 헤더 데이터에 대응하는 제2 암호화 된 데이터를 획득한다.
구체적으로 오프셋을 저장하기 위한 정보 영역과 암호화 된 데이터를 저장하기 위한 정보 영역은 복호화 될 이미지의 미리 설정된 사이즈의 영역에서 결정된다. 복호화 될 이미지 끝은 오프셋을 기반으로 결정된다. 복호화 될 이미지의 끝에 있는 데이터는 복호화 될 이미지로부터 획득하되, 복호화 될 이미지의 끝에 있는 데이터는 제2 암호화 된 데이터이다.
603 단계 : 획득된 제1 암호화 된 데이터 및 제2 암호화 된 데이터를 사용하므로써 복호화 될 이미지에 대응하는 암호화 된 데이터를 구성하고, 미리 설정된 사이즈를 갖고 복호화 될 이미지에 대응하는 헤더 데이터를 획득하기 위해서 구성된 암호화 된 데이터를 해독한다.
구체적으로 제1 암호화 된 데이터는 헤더 데이터에 대응하는 암호화 된 데이터 앞에 위치한 미리 설정된 제3 사이즈의 암호화 된 데이터라면, 제1 암호화 된 데이터는 제2 암호화 된 데이터 앞에 넣고, 암호화 된 데이터를 구성하되, 구성된 암호화 된 데이터는 복호화 될 이미지에 대응하는 암호화 된 데이터이고, 복호화 될 이미지에 대응하고 미리 설정된 사이즈를 갖는 헤더 데이터를 얻기 위해서 구성된 암호화 된 데이터는 복호화 알고리즘을 통해서 복호화 된다.
제1 암호화 된 데이터가 헤더 데이터에 대응하는 암호화 된 데이터의 끝에 있는 미리 설정된 제3 사이즈의 암호화 된 데이터라면, 제1 암호화 된 데이터는 제2 암호화 된 데이터 뒤에 넣고, 암호화 된 데이터를 구성하되, 구성된 암호화 된 데이터는 복호화 할 이미지에 대응하는 암호화 된 데이터이고, 복호화 될 이미지에 대응하고 미리 설정된 사이즈를 갖는 헤더 데이터를 얻기 위해서 구성된 암호화 된 데이터는 복호화 알고리즘을 통해 복호화 된다.
604 단계 : 복호화 될 이미지를 복호화 하기 위해서 복호화 이미지에 대응하고, 미리 설정된 사이즈를 가진 헤더 데이터는 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역을 채우는데 사용한다.
605 내지 607 단계는 각각 505 단계 내지 507 단계와 동일하고, 그것은 다시 여기서 자세히 설명되지 않는다.
이 실시예에서 암호화 된 이미지는 금고에 저장될 수 있되, 금고는 보기 인터페이스와 삭제 인터페이스를 포함한다. 사용자는 보기 인터페이스로부터 암호화 된 이미지를 복호화 될 이미지로 선택할 수 있고, 그러고 난 뒤 이 실시예에서 제공된 방법을 통해 복호화 될 이미지를 복호화 하고 복호화 될 이미지를 보여준다. 사용자는 삭제 인터페이스를 통해 이미지를 삭제할 수 있다.
본 발명의 실시예에서 오프셋과 제1 암호화 된 데이터는 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역으로부터 획득되고, 복호화 될 이미지의 끝에 저장된 제2 암호화 된 데이터는 오프셋을 기반으로 획득되고, 복호화 될 이미지의 헤더 데이터에 대응하는 암호화 된 데이터는 제1 암호화 된 데이터 및 제2 암호화 된 데이터를 사용하여 구성되고, 암호화 된 데이터는 복호화 될 이미지에 대응하고 미리 설정된 사이즈를 가진 헤더 데이터를 얻기 위해서 복호화 되고, 헤더 데이터는 복호화 될 이미지를 복호화 하기 위해서 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역에 배치된다. 복호화 될 이미지가 복호화 될 때 복호화 될 이미지의 미리 설정된 사이즈의 헤더 데이터에 대응하는 암호화 된 데이터가 복호화 되어, 복호화 될 이미지 전체가 복호화 될 필요가 없어, 이미지를 복호화 하는 것의 속도 및 효율성은 향상 된다.
도 10은 몇몇 실시예에 따른 이미지를 암호화 하기 위한 방법의 순서도이다. 이 방법은 프로세서 그리고 상기 프로세서에 의해 수행되는 하나 이상의 프로그램을 저장하기 위한 메모리를 가진 휴대용 컴퓨터에서 수행된 이미지에 수행된다. 몇몇 실시 예에 따르면 휴대용 컴퓨터는 이다.
1001 단계에서, 손에 들고 쓰는 컴퓨터는 암호화 식별자가 이미지의 헤더 정보에 저장된 것인지 여부를 감지한다. 만약 암호화 식별자가 있다면 이미지는 암호화 되어 있는 것이고, 더 나아가 암호화는 방지된다.
암호화 식별자가 감지되지 않는다면, 컴퓨터는 그 후에 1002단계에서 이미지 파일의 헤더 데이터의 사이즈를 얻는다. 몇몇 실시예에서 헤더 데이터의 획득은 이미지 파일의 타입을 분석하는데 기반이 된다. 이미지 파일의 특정 타입에 있는 헤더 데이터는 고정된 길이를 갖는다. 이미지 파일의 몇몇 다른 타입에 있는 헤더 데이터는 이미지 데이터로부터 특성이 구별된다. 컴퓨터는 몇몇 선택된 암호화 될 이미지의 원본 정보를 기록할 수 있다. 선택된 정보는 i-노드 정보를 포함하고 원본 이미지 파일의 명칭, 원본 이미지 파일의 원래 위치, 이미지 파일의 타입, 암호화 된 이미지 파일 위치를 포함한다.
1003 단계에서 이미지 파일의 헤더 데이터는 암호화 된다. 몇몇 실시예에서 암호화 알고리즘은 AES 암호화 알고리즘 또는 RSA 암호화 알고리즘 등일 수 있다. 암호화 과정에서 암호화 된 데이터는 생성되고 획득된다.
1004 단계에서 암호화 된 데이터는 두 부분으로 분할된다. 첫번째 부분의 사이즈는 헤더 데이터의 사이즈의 크기 및 암호화 된 데이터의 사이즈에 의해 결정된다. 일반적으로, 암호화 된 데이터의 크기는 원래 헤더 데이터의 크기보다 크다. 제1 부분의 크기는 암호문의 제2 부분의 암호화 식별자 및 위치 정보와 함께 헤더 데이터의 원래 저장 영역에 저장되기에 적합해야 한다.
1005 단계에서 암호화 된 데이터의 제1 부분, 암호문의 제2 부분의 위치 정보 및 암호화 식별자로 헤더 데이터를 대체한다. 위치 정보는 이미지 파일의 끝을 가르키는 오프셋 값이 될 수 있다. 암호화 식별자는 이미지 파일의 암호화를 더 방지하기 위해 이미지 파일이 암호화 된 것을 통지하는 것이다.
1006 단계에서, 이미지 파일에 끝에 암호화 된 데이터의 제2 부분을 배치한다.
복호화 도중에 컴퓨터는 이미지 파일에 저장된 위치 정보를 기반으로 이미지 파일의 시작과 끝으로부터 암호화 된 데이터를 획득한다. 암호화 된 데이터를 복호화 한 후에 컴퓨터는 이미지 파일의 시작점에 획득한 헤더 데이터를 다시 배치한다. 원본 이미지 파일은 따라서 복원된다. 복호화 프로세스는 도 7-9, 12에서 설명되고 첨부된 텍스트로 보다 자세하게 설명된다.
도 11은 몇몇 실시예에 따른 이미지를 암호화 하기 위한 방법의 순서도이다. 상기 방법은 프로세서 및 상기 프로세서에 의해 수행되는 하나 이상의 프로그램을 저장하기 위한 메모리를 가진 휴대용 컴퓨터에서 수행된 이미지에 대해 수행된다.
1101 단계에서, 손에 들고 쓰는 컴퓨터는 이미지 파일이 암호화 식별자를 감지하는 것에 의해 암호화 된 것인지 여부를 판단한다. 판단 방법은 몇몇 다른 실시예와 동일하고 여기서 반복하지 않을 것이다. 원본 이미지 파일의 i-노드 정보는 데이터 베이스에 기록될 수 있다. i-노드 정보는 원본 이미지 파일의 명칭, 원본 이미지 파일의 원래 위치, 이미지 파일의 타입 및 암호화 된 이미지 파일의 위치를 포함한다.
1102 단계에서 컴퓨터는 이미지 파일의 시작점에서부터 데이터의 길이 또는 미리 설정된 사이즈를 암호화 한다. 암호화로부터 암호문이 얻어진다. 미리 설정된 사이즈나 길이는 1KB, 2KB, 5KB, 등일 수 있다. 암호화 될 데이터의 사이즈 설정이나 길이의 고려사항은 보안성 및 효율성을 포함한다. 데이터의 사이즈가 작을수록 암호화 및 복호화 연산이 더 효율적일 수 있다. 그러나, 데이터가 작아진 양만큼 복호화 할 필요가 없어 이미지 파일을 보다 쉽게 복구 할 수 있으므로, 암호화 된 데이터의 양이 작아진 만큼 높아진 보안의 위험성을 생성한다.
1103 단계에서, 미리 설정된 사이즈의 데이터는 암호화 된 이후에 이미지 파일로부터 제거된다.
1104 단계에서, 암호화 식별자는 더 암호화 하는 것을 방지 하기 위해서 이미지 파일에 추가된다.
1105 단계에서 암호화 된 데이터는 이미지 파일에서부터 분리된 위치에 저장된다.
이 방법의 경우, 특정 데이터가 제거된 이미지 파일과 암호화 된 데이터를 포함한 암호화 데이터 사이에 대응 관계를 설정하는 것이 중요하다. i-노드 정보의 기록은 동작 설명에서 원본 이미지 파일을 복원하는데 유용하다. 동작 설명에서, 컴퓨터는 이미지 파일, 대응하는 암호화 된 데이터 및 i-노드 정보를 획득한다.
도 12는 몇몇 실시예에 따른 이미지를 복호화 하기 위한 방법의 순서도이다. 상기 방법은 하나의 프로세서 및 상기 프로세서에 의해 수행되는 하나 이상의 프로그램들을 저장하기 위한 메모리를 가진 손에 들고 쓰는 컴퓨터에서 수행된다. 메모리는 RAM(random access memory) 및 비 휘발성 메모리를 포함한다. 비 휘발성 메모리의 하나의 예시는 핸드폰에 있는 SD(Secure Digital) 카드 일 수 있다.
1201 단계에서, 컴퓨터는 원본 데이터를 획득하기 위해서 암호화 된 데이터를 복호화 한다.
1202 단계에서, 컴퓨터는 복호화 된 원본 데이터를 그것의 램(RAM)으로 이동한다.
1203 단계에서, 컴퓨터는 디스크 드라이브로부터 이미지 파일을 획득한다.
1204 단계에서 컴퓨터는 암호화 된 원본 데이터 및 이미지 파일을 데이터 스트림으로 배치한다.
1205 단계에서 컴퓨터는 데이터 스트림으로부터 이미지를 표시한다.
1206 단계에서 사용자가 이미지 파일을 본 후, 컴퓨터는 메모리에서 원본 데이터를 삭제한다.
이 방법에서, 전체 동작은 사용자에게 투명할 수 있다. 그것은 많은 이미지 들은 보안 파일이나 안정 박스에 저장되고, 많은 이미지들을 보기 위해서 사용자가 단지 보안 파일이나 안정 박스에 들어가기 위한 패스 워드를 한번 입력(또는 다른 방법으로 인증을 제공하는)할 필요가 있는 것으로 달성될 수 있다. 몇몇 실시예에서 암호화 키는 많은 이미지와 동일하고 사용자의 패스 워드( 또는 패스워드로부터 유도된)일 수 있다. 컴퓨터는 메모리에 일시적으로 패스워드를 보관 하며 보기 동작이 종료된 후 패스워드를 삭제한다. 다른 실시예에서 많은 이미지들의 키들은 서로 다를 수 있고, 패스워드를 입력하는 것을 통해서만 접근 가능한 위치에 저장될 수 있다. 암호화/복호화 용 키를 포함하는 복호화 정보는 이미지 파일의 정보과 암호화 된 데이터의 위치와 다른 위치에 저장될 수 있다.
도 13은 몇몇 실시예에 따른 이미지를 암호화 하기 위한 장치의 개략 구성도이다. 몇몇 실시예에 따라, 도 13 내지 14에서 설명된 모듈들은 하나 이상의 프로세서들에 의해 수행되도록 구성된 프로그램 모듈들이다. 몇몇 실시예에 따라, 도 13 내지 14에 도시된 모듈들은 하드웨어 도면들이고 물리적인 구조들을 갖는다.
도 13을 참조하면, 본 발명의 실시예는 이미지를 암호화 하기 위한 장치를 제공하는데, 그것은
암호화 될 이미지의 헤더 데이터의 미리 설정된 사이즈를 암호화 하고, 헤더 데이터에 대응하는 암호화 된 데이터를 얻도록 구성된 암호화 모듈(701);
암호화 된 데이터를 저장하기 위한 저장 위치를 결정하고, 저장 위치에 암호화 된 데이터를 저장하고, 암호화 된 데이터를 저장하기 위한 오프셋을 획득하도록 구성된 저장 모듈(702); 및
암호화 될 이미지를 암호화 하기 위해서 암호화 될 이미지의 미리 설정된 사이즈의 저장 영역에 암호화 식별자 및 오프셋을 배치하도록 구성된 제1 주입 모듈(703)을 포함한다.
저장 모듈(702)은 암호화 된 데이터를 저장하기 위한 저장 위치를 암호화 될 이미지의 끝으로 결정하고, 암호화 될 이미지의 끝에 암호화 된 데이터를 저장하도록 구성된 제1 저장 유닛; 및
암호화 될 이미지의 이미지 사이즈를 획득하고 이미지 사이즈를 암호화 된 데이터를 저장하기 위한 오프셋으로 결정하도록 구성된 제1 오프셋팅 유닛을 포함한다.
제1 주입 모듈(703)은 암호화 될 이미지의 미리 설정된 사이즈의 저장 영역을 제1 정보 영역과 제2 정보 영역으로 분할하도록 구성된 제1 분할 유닛; 및
제1 정보 영역에 암호화 식별자를 배치하고, 제2 정보 영역에 오프셋을 배치하도록 구성된 제1 주입 유닛을 포함한다.
저장 모듈(702)은 암호화 할 이미지의 미리 설정된 사이즈의 저장 영역을 제1 정보 영역, 제2 정보 영역 및 제3 정보 영역으로 분할하도록 구성된 제2 분할 유닛; 암호화 된 데이터로부터 제3 정보 영역의 사이즈와 동일한 사이즈의 제1 암호화 된 데이터를 선택하고, 나머지 선택되지 않은 암호화 된 데이터를 제2 암호화 된 데이터로 결정하고, 제1 암호화된 데이터를 저장하기 위한 저장 위치를 제3 정보 영역으로 결정하고, 제2 암호화 된 데이터를 저장하기 위한 저장 위치를 암호화 될 이미지의 끝으로 결정하도록 구성된 제2 저장 유닛; 제1 암호화 된 데이터를 제3 정보 영역에 저장하고 제2 암호화 된 데이터를 암호화 될 이미지의 끝에 저장하도록 구성된 제3 저장 유닛; 및 암호화 될 이미지의 이미지 사이즈를 획득하고, 이미지 사이즈를 제2 암호화 된 데이터를 저장하기 위한 오프셋으로 결정하도록 구성된 제2 오프셋팅 유닛을 포함한다.
제1 주입 유닛(703)은 구체적으로 제1 정보 영역에 암호화 식별자를 배치하고, 제2 정보 영역에 오프셋을 배치하도록 구성된다.
장치는 암호화 될 이미지의 미리 설정된 사이즈의 헤더 데이터가 암호화 식별자를 포함하고 있는지 여부를 판정하고, 만약 그렇다면, 암호화 될 이미지는 암호화 된 이미지인 것으로 판정하는 제1 판정 모듈을 더 포함한다.
본 발명의 실시예에서 암호화 될 이미지의 미리 설정된 사이즈의 헤더 데이터는 헤더 데이터에 대응하는 암호화 된 데이터를 얻기 위해서 암호화 된다; 암호화 된 데이터를 저장하기 위한 저장 위치가 결정되면, 암호화 된 데이터는 저장 위치에 따라서 저장된다. 그리고 암호화 된 데이터를 저장하기 위한 오프셋은 획득되고, 암호화 식별자 및 오프셋은 암호화 될 이미지를 암호화 하기 위해서, 암호화 될 이미지의 미리 설정된 사이즈의 저장 영역을 채우는데 사용된다. 암호화 될 이미지가 암호화 될 때, 오직 암호화 될 이미지의 미리 설정된 사이즈의 헤더 데이터 만이 암호화 되어, 암호화 될 이미지 전체가 암호화 될 필요가 없으므로, 이미지를 암호화 하는 것의 속도 및 효율성이 향상된다.
도 14에 도시된 바와 같이 본 발명의 실시예는 몇몇 실시예에 따른 장치를 통해 암호화 된 이미지를 복호화 하기 위한 장치를 제공하고, 그것은 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역으로부터 오프셋을 획득하고, 오프셋을 기반으로 암호화 될 이미지로부터 암호화 될 이미지의 헤더 데이터에 대응하는 암호화 된 데이터를 획득하도록 구성된 획득 모듈(801); 복호화 될 이미지에 대응하고, 미리 설정된 사이즈를 갖는 헤더 데이터를 획득하기 위해서 암호화 된 데이터를 복호화 하도록 구성된 복호화 모듈(802); 복호화 될 이미지를 복호화 하기 위해서 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역에 헤더 데이터를 배치하도록 구성된 제2 주입 모듈(803)을 포함한다.
획득 모듈(801)은 복호화 할 이미지의 미리 설정된 사이즈의 저장 영역에 오프셋을 저장하기 위해 정보 영역을 결정하고, 결정된 영역에 저장된 오프셋을 획득하도록 구성된 제1 획득 유닛; 및 오프셋을 기반으로 복호화 될 이미지의 끝을 결정하고, 복호화 될 이미지로부터 복호화 될 이미지의 끝에서 데이터를 획득하되, 복호화 될 이미지의 끝에 있는 데이터는 복호화 될 이미지의 헤더 데이터에 대응하는 암호화 된 데이터가 위치하는 제2 획득 모듈을 포함한다.
획득 모듈(801)은 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역 내에서 오프셋을 저장하기 위한 정보 영역과 암호화 된 데이터를 저장하기 위한 정보 영역을 결정하고, 오프셋을 저장하기 위한 정보 영역에 저장된 오프셋을 획득하고, 암호화 된 데이터를 저장하기 위한 정보 영역에 저장된 제1 암호화 된 데이터를 획득하는 제3 획득 유닛; 오프셋을 기반으로 복호화 될 이미지의 끝을 결정하고, 복호화 될 이미지로부터 복호화 될 이미지의 끝에 있는 데이터를 획득하되, 복호화 될 이미지의 끝에 있는 데이터는 복호화 될 이미지의 헤더 데이터에 대응하는 제2 암호화 된 데이터인 것으로 구성된 제4 획득 유닛; 및 제1 암호화 된 데이터, 제2 암호화 된 데이터를 사용하여 복호화 될 이미지의 헤더 데이터에 대응하는 암호화 된 데이터를 형성하도록 구성된 형성 유닛을 포함한다.
장치는, 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역에서 암호화 식별자를 감지하고, 만약 암호화 식별자가 감지 된다면, 복호화 될 이미지는 암호화 된 이미지로 판정하고, 그렇지 않으면, 복호화 될 이미지는 암호화 되지 않은 이미지인 것으로 판정하는 제2 판정 모듈을 더 포함한다.
본 발명의 실시예에서 오프셋은 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역으로부터 획득되고, 복호화 될 이미지의 헤더 데이터에 대응하는 암호화 된 데이터는 오프셋을 기반으로 암호화 될 이미지로부터 획득된다; 암호화 된 데이터는 복호화 될 이미지에 대응하고 미리 설정된 사이즈를 가진 헤더 데이터를 획득하기 위해서 복호화 된다; 그리고 헤더 데이터는 복호화 될 이미지를 복호화 하기 위해서 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역에 배치된다. 복호화 될 이미지가 복호화 될 때, 복호화 될 이미지의 미리 설정된 사이즈의 헤더 데이터에 대응하는 암호화 된 데이터가 복호화 되어, 복호화 될 이미지 전체가 복호화 될 필요가 없으므로, 이미지를 복호화 하는 것의 속도 및 효율성이 향상된다.
도 15에 도시된 바와 같이, 본 발명의 실시예는 이미지를 암호화 하고 복호화 하기 위한 시스템이 제공되는데, 상기 시스템은 몇몇 실시예에 따른 이미지를 암호화 하기 위한 장치 및 몇몇 실시예에 따른 이미지를 복호화 하기 위한 장치를 포함한다.
본 발명의 실시예들에서 헤더 데이터에 대응하는 암호화 된 데이터를 얻기 위해서 암호화 될 이미지의 미리 설정된 사이즈의 헤더 데이터는 암호화 된다; 암호화 된 데이터를 저장하기 위한 저장 위치는 결정된다. 암호화 될 이미지를 암호화 하기 위해서 암호화 된 데이터는 저장 위치에 따라서 저장되고, 암호화 된 데이터를 저장하기 위한 오프셋은 획득되고, 암호화 식별자 및 오프셋은 암호화 될 이미지의 미리 설정된 사이즈의 저장 영역을 채우는데 사용된다. 오프셋은 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역으로부터 획득되고, 복호화 될 이미지의 헤더 데이터에 대응하는 암호화 된 데이터는 오프셋을 기반으로 복호화 될 이미지로부터 획득된다; 암호화 된 데이터는 복호화 될 이미지에 대응하고 미리 설정된 사이즈를 가진 헤더 데이터를 얻기 위해서 복호화 된다; 그리고 복호화 될 이미지를 복호화 하기 위해서 헤더 데이터는 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역에 배치된다. 복호화 될 이미지가 복호화 될 때, 암호화 된 이미지의 미리 설정된 사이즈의 헤더 데이터 만이 암호화 되므로 암호화 된 이미지 전체가 암호화 될 필요가 없으므로, 이미지를 암호화 하는 것의 속도 및 효율성이 향상된다. 복호화 될 이미지가 복호화 될 때, 복호화 될 이미지의 미리 설정된 사이즈의 헤더 데이터에 대응하는 암호화 된 데이터는 복호화 되어, 복호화 될 이미지 전체가 복호화 될 필요가 없어, 이미지를 복호화 하는 것의 속도 및 효율성이 향상된다.
도 16은 몇몇 실시예에 따른 이미지를 암호화 하고 복호화 하기 위한 컴퓨터(1600)의 구성 요소들을 도시한 블록도이다. 컴퓨터(1600)는 수행 모듈들, 프로그램들 및/또는 메모리(1612)에 저장된 명령어들이 처리 동작들을 수행하기 위한 하나 이상의 프로세싱 유닛들(CPU's)(1602), 처리 동작들을 수행하고; 하나 이상의 네트워크 또는 다른 통신 인터페이스들(1610), 메모리(1612), 및 이들 구성 요소들 간의 상호 연결을 위한 하나 이상의 통신 버스들(1614)을 포함한다. 몇몇 구현들에서 컴퓨터(1600)는 표시 장치(1608) 및 하나 이상의 입력 장치(1606) (예를 들어 키보드 또는 마우스), 사용자 인터페이스(304)를 포함한다. 몇몇 구현들에서, 메모리(1612)는 DRAM, SRAM, DDR RAM 또는 다른 랜덤 액세스 고체 상태 메모리 장치와 같은 고속 랜덤 액세스 메모리를 포함한다. 몇몇 실시예에서 메모리(1612)는 하나 이상의 자기 디스크 저장 장치, 광학 디스크 저장 장치, 플래시 메모리 장치, 또는 다른 비 휘발성 고체 상태 저장 장치와 같은 비 휘발성 메모리를 포함한다. 몇몇 실시예에서 메모리(1612)는 CPU(s)(1602)로부터 원격으로 위치된 하나 이상의 저장 장치를 포함한다. 메모리(1612) 또는 대안적인 메모리(1612) 내부에 비 휘발성 메모리 장치들은 비 일시적인 컴퓨터 판독 가능한 저장 매체를 포함한다. 몇몇 실시예들에서 메모리(1612) 또는 메모리(1612)의 컴퓨터 판독 가능한 저장 매체는 다음의 요소 또는 이 요소들의 부분을 저장하고, 또한 추가적인 요소들을 포함할 수 있다.
● 하드웨어 종속된 업무를 수행하고, 다양한 기본 시스템 서비스들을 처리하기 위한 프로시져들을 포함하는 운영체제(1616)
● 예를 들어 인터넷, 다른 광역 네트워크, 근거리 네트워크, 대역망과 같은 하나 이상의 통신 네트워크들(유선 또는 무선) 및 통신 네트워크 인터페이스(1610)들을 통해 컴퓨터(1610)가 다른 컴퓨터와 연결하는데 사용되는 네트워크 통신 모듈(1618)
● 본 발명의 실시예들에 따라서 이미지 파일을 암호화 하기 위한 이미지 암호화 프로그램(1620), 이미지 암호화 프로그램(1620)은 도 1-6, 10-11 및 13에서 상기 설명된 것과 같이 이미지 암호화 모듈(1622), 이미지 저장 모듈(1624) 및 제1 이미지 데이터 주입 모듈(1626)을 더 포함하고,
● 본 발명의 실시예들에 따라서 암호화 된 이미지 파일을 복호화 하기 위한 이미지 복호화 프로그램(1630), 이미지 복호화 프로그램(1630)은 도 7-9,12 및 14에서 설명된 것과 같이 이미지 획득 모듈(1632), 이미지 복호화 모듈(1634), 제2 이미지 데이터 주입 모듈(1636)을 더 포함하고,
● 하나 이상의 암호화 된 이미지 파일들(1640), 각 이미지 파일은 파일 명칭(1642), 암호화 식별자(1644), 오프셋(1646), 암호화 된 이미지(1648), 암호화 된 헤더 데이터(1649)(선택적)을 포함하고,
● 이미지 파일 암호화/복호화 지원 데이터(1650), 암호화된 이미지(1652)의 파일 명칭, 암호화 된 이미지(1652)의 파일 명칭과 맵핑되는 복호화 된 이미지(1654)의 파일 이름, 복호화 된 이미지(1656)의 저장 경로, 및 대응하는 암호화 된 이미지(1658)의 저장 경로를 더 포함한다.
이 기술 분야에 통상의 기술자는 실시예들에 따른 방법의 단계들 전부 또는 일부가 하드웨어 또는 하드웨어를 지시하는 프로그램에 의해 구현될 수 있음을 이해할 수 있다. 프로그램은 컴퓨터 한독 가능한 저장매체에 저장될 수 있고 저장매체는 리드-온리 메모리, 자기 디스크 또는 광학 디스크 등과 같은 것일 수 있다.
상기 설명들은 단지 본 발명의 바람직한 실시예이고, 본 발명을 제한하기 위한 의도가 아니다. 본 발명의 사상 및 원리를 벗어나지 않은 모든 수정, 동등한 교체 또는 개선은 본 발명의 보호 범위에 속하여야 한다.
특정 실시예들이 상기 서술되었지만, 그것은 이러한 특정 실시예들로 발명을 제한하려는 의도가 아님을 이해할 수 있을 것이다. 반대로, 발명은 첨부된 청구항들의 사상 및 영역 내에 있는 대안, 수정, 동등한 구성들을 포함한다. 다수의 특정 세부 사항들은 본 명세서 주제의 완전한 이해를 제공하기 위해 설명된다. 그러나 요지는 이들 특정 세부 사항 없이도 실시 될 수 있음은 당업자에게 명백할 것이다. 다른 예에서, 잘 알려진 방법, 절차, 구성요소들, 및 회로들은 발명들의 특징을 불필요하게 분명하게 하지 않기 위해서 상세히 설명되지 않는다.
첫번째, 두번째 등 용어들은 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이러한 용어들은 이러한 용어들에 의해 제한될 수 없다. 상기 용어들은 하나의 구성요소들을 다른 것과 구별하기 위해 사용된다. 예를 들어 본 발명의 범위를 벗어나시 않고, 제1 랭킹 기준은 제2 랭킹 기준으로 지칭될 수 있고, 유사하게 제2 랭킹 기준은 제1 랭킹 기준으로 지칭될 수 있다. 제1 랭킹 기준과 제2 랭킹 기준은 모두 랭킹 기준이나, 그들은 동일한 랭킹 기준은 아니다.
본 발명의 설명에서 사용되는 용어는 명세서에 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 발명의 상세한 설명 및 첨부 된 청구 범위에서 사용 된 바와 같이, 단수 형태는 내용상 명백히 다르게 제시하지 않는 한 복수형을 포함하는 것으로 의도된다. "및/또는"이라는 용어는 관련 열거 항목들의 하나 또는 그 이상의 모든 가능한 조합을 가리키거나 아우르는 것으로 이해될 것이다. 이 명세서에서 사용된 때, "포함하는", "포함"이라는 용어는 기능, 동작, 구성 요소 및/또는, 컴포넌트가 있음을 구체화 한 것일 뿐, 하나 또는 그 이상의 기능, 동작, 구성 요소, 컴포넌트, 및 또는 그것의 그룹들을 배제하는 것으로 배제하는 것이 아니라는 것으로 이해될 것이다. 여기서 사용된 것으로서 "만약에 ~한다면"이라는 용어는 명시된 선행 조건은 문맥에 따라 사실이라는 "~할 때", "~기반으로" 또는 "판단에 응답하여 " 또는 "판단에 따라서" 또는 "감지에 응답하여"라는 의미로 해석될 수 있다. 유사하게, "[명시된 선행 조건이 참]이라고 결정되었다면" 또는 "만약[언급된 선행 조건이 참이라면]" 또는 "[언급된 선행 조건이 참]일 때"라는 문구는 명시된 선행 조건이 참이라면, 문맥에 따라 "결정하는 것을 기반으로" 또는 "결정하는 것에 응답하여" 또는 "결정에 따라서" 또는 "감지하는 것을 기반으로" 또는 "감지하는 것에 응답하여" 라는 의미로 해석될 수 있다. 다양한 도면들의 몇몇은 특정 순서로 논리적인 단계들의 숫자를 나타내고 있음에도 불구하고 순서에 의존하지 않는 단계들은 재배열 될 수 있으며, 다른 단계가 결합 또는 세분화 될 수 있다. 몇몇 재배치나 다른 그룹들은 특별하게 언급되어 있는 반면 다른 것들은 통상의 기술자에게 명백할 것이며, 그래서 대안의 완전한 목록을 제시하지 않는다. 더욱이, 단계들은 하드웨어, 펌웨어, 소프트웨어 또는 이들의 임의의 조합으로 구현될 수 있음을 인식해야만 한다.
전술한 설명은 설명의 목적으로 특정한 구현 예시들을 참조로서 설명된다. 그러나, 상기 예시적인 논의가 개시된 정확한 형태로 본 발명을 한정하는 것은 아니다. 많은 수정 및 변형이 상기 가르침의 관점에서 가능하다. 구현들은 발명의 최적 설명 원리들 및 그것의 실제적인 응용분야에 따라서 선택되고 설명된다. 기술 분야에서 숙련된 다른 사람들은 특정 용도에 적합한 다양한 변형의 다양한 구현과 발명을 최적으로 활용할 수 있도록 한다. 구현들은 첨부된 청구 범위의 사상 및 범위내에 있는 대안, 변형, 등가물을 포함한다. 다수의 특정 세부 사항은 본 명세서 주제의 완전한 이해를 제공하기 위해 설명된다. 그러나 요지는 이들 특정 세부 사항 없이도 실시 될 수 있음은 당업자에게 명백할 것이다. 다른 예에서, 잘 알려진 방법, 절차, 구성 요소 및 회로는 구현의 양상을 불필요하게 분명히 하지 않기 위해서 설명되지 않는다.
1600 컴퓨터
1602 CPU
1612 메모리

Claims (27)

  1. 암호화 될 이미지의 미리 설정된 사이즈의 데이터를 암호화 하고;
    헤더 데이터에 대응하는 암호화 된 데이터를 획득하고;
    암호문에 대한 저장 위치를 결정하고;
    상기 암호화 된 데이터를 상기 저장 위치에 저장하고;
    상기 저장 위치에 대한 오프셋(offset)을 획득하고; 및
    암호화 될 이미지의 미리 설정된 사이즈의 저장 영역에 암호화 식별자 및 오프셋을 배치하는 것을 포함하는,
    하나 이상의 프로세서 및 상기 하나 이상의 프로세서에 의해 수행되는 하나 이상의 프로그램들을 저장하기 위한 메모리를 가진 휴대용 컴퓨터에서 수행된 이미지를 암호화 하기 위한 방법.
  2. 제1 항에 있어서,
    상기 암호문의 저장 위치를 결정하고, 상기 암호화된 데이터를 상기 저장 위치에 저장하고, 및 상기 저장 위치에 대한 오프셋을 획득하는 것은
    암호화 될 이미지의 미리 설정된 사이즈의 저장 영역을 제1 정보 영역, 제2 정보 영역, 및 제3 정보 영역으로 분할하고;
    제3 정보 영역은 제1 암호문으로 채우되,
    제1 암호문은 제3 정보 영역과 동일한 사이즈의 암호화된 데이터의 부분이고, 제2 암호문은 나머지 선택되지 않은 문자이고;
    암호화 될 이미지의 끝에 제2 암호화 된 데이터를 배치하고 상기 이미지 사이즈를 저장 위치에 대한 오프셋으로서 획득하는 것을 포함하는 방법.
  3. 제2 항에 있어서,
    상기 암호화 될 이미지의 미리 설정된 사이즈의 저장 영역에 암호화 식별자 및 오프셋을 배치하는 것은,
    상기 암호화 식별자를 제1 정보 영역에 배치하고, 상기 오프셋을 제2 정보 영역에 저장하는 것을 포함하는 방법.
  4. 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역으로부터 오프셋을 획득하고,
    상기 오프셋을 기반으로 복호화 될 이미지로부터 복호화 될 이미지의 헤더 데이터에 대응하는 암호화 된 데이터를 획득하고,
    상기 복호화 될 이미지 파일에 대응하는 헤더 데이터를 얻기 위해서 암호화 된 데이터를 복호화 하고 ; 및
    복호화 될 이미지의 미리 설정된 사이즈의 저장 영역에 헤더 데이터를 배치하는 것을 포함하는,
    하나 이상의 프로세서 및 상기 하나 이상의 프로세서에 의해 수행되는 하나 이상의 프로그램들을 저장하기 위한 메모리를 가진 휴대용 컴퓨터에서 수행된 이미지 파일을 암호화하기 위한 방법.
  5. 제4 항에 있어서,
    상기 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역으로부터 오프셋을 획득하고, 상기 오프셋을 기반으로 복호화 될 이미지로부터 복호화 될 이미지의 헤더 데이터에 대응하는 암호화 된 데이터를 획득하는 것은,
    복호화 될 이미지의 미리 설정된 사이즈의 저장 영역에 오프셋을 저장하기 위한 정보 영역을 결정하고,
    상기 결정된 정보 영역에 저장된 오프셋을 획득하고,
    상기 오프셋을 기반으로 복호화 될 이미지의 끝을 결정하고; 및
    복호화 될 이미지로부터 복호화 될 이미지의 끝에서 데이터를 획득하되, 상기 복호화 될 이미지의 끝에서의 데이터는 복호화 될 이미지의 헤더 데이터에 대응하는 암호화 된 데이터인 것을 포함하는 방법.
  6. 제 4항에 있어서,
    상기 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역으로부터 오프셋을 획득하고, 상기 오프셋을 기반으로 복호화 될 이미지로부터 복호화 될 이미지의 헤더 데이터에 대응하는 암호화 된 데이터를 획득하는 것은,
    상기 오프셋을 저장하기 위한 정보 영역 및 상기 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역에 암호화 된 데이터를 저장하기 위한 정보 영역을 결정하고;
    상기 오프셋을 저장하기 위한 정보 영역에 저장된 오프셋 및 암호화 된 데이터를 저장하기 위한 정보 영역에 저장된 제1 암호화 된 데이터를 획득하고;
    상기 오프셋을 기반으로 복호화 될 이미지의 끝을 결정하고 및 복호화 될 이미지로부터 복호화 될 이미지의 끝에 있는 데이터를 획득하되, 복호화 될 이미지의 끝에 있는 데이터는 복호화 될 이미지의 헤더 데이터에 대응하는 제2 암호화 된 데이터이고;
    상기 제1 암호화 된 데이터 및 상기 제2 암호화 된 데이터를 복호화 될 이미지의 헤더 데이터에 대응하는 암호화 된 데이터로 결합하는 단계를 포함하는 방법.
  7. 제 4항에 있어서,
    상기 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역으로부터 오프셋을 획득하기 전에,
    상기 복호화 될 이미지의 암호화 식별자를 감지하고,
    상기 암호화 식별자가 감지된다면, 복호화 될 이미지가 암호화 된 이미지인것으로 판정하는 것을 더 포함하는 방법.
  8. 하나 이상의 프로세서; 및
    프로그램 모듈들을 저장하기 위한 메모리를 포함하되,
    상기 프로그램 모듈들은,
    암호화 될 이미지의 헤더 데이터의 미리 설정된 사이즈를 암호화 하고, 상기 헤더 데이터에 대응하는 암호화 된 데이터를 얻도록 구성된 암호화 모듈;
    암호화 된 데이터를 저장하기 위한 저장 위치를 결정하고, 상기 저장 위치에 암호화 된 데이터를 저장하고 및 상기 암호화 된 데이터를 저장하기 위한 오프셋을 획득하도록 구성된 저장 모듈; 및
    상기 암호화 될 이미지의 미리 설정된 사이즈의 저장 영역에 암호화 식별자 및 오프셋을 배치하도록 구성된 제1 주입 모듈을 포함하는,
    이미지를 암호화 하고 복호화 하기 위한 장치.
  9. 제8 항에 있어서,
    상기 저장 모듈은,
    상기 암호화 될 이미지의 미리 설정된 사이즈의 저장 영역을 제1 정보 영역, 제2 정보 영역, 제3 정보 영역으로 분할하도록 구성된 제2 분할 유닛;
    상기 암호화 된 데이터로부터 제3 정보 영역의 사이즈와 동일한 사이즈의 제1 암호화 된 데이터를 선택하고, 나머지 선택되지 않은 암호화 된 데이터를 제2 암호화 된 데이터로 결정하고, 제1 암호화 된 데이터를 저장하기 위한 저장 위치를 제3 정보 영역으로 결정하고, 제2 암호화 된 데이터를 저장하기 위한 저장 위치를 암호화 된 이미지의 끝으로 결정하도록 구성된 제2 저장 유닛;
    상기 제1 암호화 된 데이터를 제3 정보 영역에 저장하고, 암호화 될 이미지의 끝에 상기 제2 암호화 된 데이터를 저장하도록 구성된 제3 저장 유닛; 및
    상기 암호화 될 이미지의 이미지 사이즈를 획득하고, 상기 이미지 사이즈를 제2 암호화 된 데이터를 저장하기 위한 오프셋으로 결정하도록 구성된 제2 오프셋팅 유닛을 포함하는 장치.
  10. 제8 항에 있어서,
    상기 제1 주입 모듈은,
    제1 정보 영역에 암호화 식별자를 배치하고, 및 제2 정보 영역에 오프셋을 배치하도록 구성된 장치.
  11. 제8 항에 있어서,
    상기 저장 모듈은,
    상기 암호화 된 데이터를 저장하기 위한 저장 위치를 암호화 될 이미지의 끝이 되도록 결정하고, 상기 암호화 된 데이터를 암호화 될 이미지의 끝에 저장하도록 구성된 제1 저장 유닛; 및
    암호화 될 이미지의 이미지 사이즈를 획득하고, 상기 이미지 사이즈를 암호화 된 데이터를 저장하기 위한 오프셋으로 결정하도록 구성된 제1 오프셋팅 유닛을 포함하는 장치.
  12. 제8 항에 있어서,
    상기 제1 주입 모듈은,
    상기 암호화 될 이미지의 미리 설정된 사이즈의 저장 영역을 제1 저장 영역 및 제2 저장 영역으로 분할하도록 구성된 제1 분할 유닛;
    상기 암호화 식별자를 제1 정보 영역에 배치하고, 상기 오프셋을 제2 정보 영역에 배치하도록 구성된 제1 주입 유닛을 포함하는 장치.
  13. 제8 항에 있어서,
    상기 프로그램 모듈들은,
    상기 암호화 될 이미지의 헤더 데이터에 암호화 식별자를 감지하고, 암호화 식별자가 감지된다면, 상기 암호화 될 이미지를 암호화 된 이미지로 판정하는, 제1 판정 모듈을 더 포함하는 장치.
  14. 제8 항에 있어서,
    상기 프로그램 모듈들은
    상기 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역으로부터 오프셋을 획득하고, 상기 오프셋을 기반으로 암호화 된 데이터를 획득하도록 구성된 획득 모듈;
    상기 복호화 될 이미지에 대응하고, 미리 설정된 사이즈를 가진 헤더 데이터를 얻기 위해서 암호화 된 데이터를 복호화 하도록 구성된 복호화 모듈;
    상기 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역에 헤더 데이터를 배치하도록 구성된 제2 주입 모듈을 더 포함하는 장치.
  15. 제14항에 있어서,
    상기 획득 모듈은,
    상기 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역에 오프셋을 저장하기 위해서 정보 영역을 결정하고 상기 결정된 영역에 저장된 오프셋을 획득하도록 구성된 제1 획득 유닛; 및
    오프셋을 기반으로 복호화 될 이미지의 끝을 결정하고, 복호화 될 이미지로부터 복호화 될 이미지의 끝에서 데이터를 획득하되, 상기 복호화 될 이미지의 끝에 있는 데이터는 복호화 될 이미지의 헤더 데이터에 대응하는 암호화 된 데이터인 것으로 구성된 제2 획득 유닛을 포함하는 장치.
  16. 제14 항에 있어서,
    상기 획득 모듈은,
    상기 오프셋을 저장하기 위한 정보 영역 및 복호화 될 이미지의 미리 설정된 사이즈의 저장 영역에 암호화 된 데이터를 저장하기 위한 정보 영역을 결정하도록 구성된 제3 획득 유닛;
    상기 오프셋을 기반으로 복호화 될 이미지의 끝을 결정하고, 복호화 될 이미지로부터 복호화 될 이미지의 끝에 있는 데이터를 획득하되, 상기 복호화 될 이미지의 끝에 있는 데이터는 복호화 될 이미지의 헤더 데이터에 대응하는 제2 암호화 된 데이터 인 것으로 구성된 제4 획득 유닛; 및
    제1 암호화 된 데이터 및 제2 암호화 된 데이터를 사용하여 복호화 될 데이터의 헤더 데이터에 대응하는 암호화 된 데이터를 형성하도록 구성된 형성 유닛을 포함하는 장치.
  17. 제8 항에 있어서,
    상기 프로그램 모듈들은,
    암호화 식별자를 암호화 될 이미지의 미리 설정된 사이즈의 저장 영역에서 감지하고, 암호화 식별자가 감지된다면, 암호화 될 이미지를 암호화 된 이미지로 결정하도록 구성된 제2 판정 모듈을 더 포함하는 장치.
  18. 이미지 파일의 헤더 데이터의 사이즈를 얻고;
    상기 헤더 데이터를 암호화 하고;
    상기 헤더 데이터를 암호화하는 과정에서 상기 헤더 데이터에 대응하는 암호화 된 데이터를 얻고;
    상기 암호화 된 데이터는 상기 헤더 데이터의 사이즈 및 상기 암호화 된 데이터의 사이즈를 기반으로 제1 부분 및 제2 부분으로 분할되고;
    상기 헤더 데이터는 암호문의 제1 부분, 위치 정보 및 암호화 식별자로 대체되고; 및
    암호화 된 데이터의 제2 부분은 이미지 파일의 끝에 배치되는 것을 포함하는,
    프로세서 및 상기 프로세서에 의해 수행된 하나 이상의 프로그램들을 저장하기 위한 메모리를 가진 휴대용 컴퓨터에서 수행된 이미지를 암호화 하기 위한 방법.
  19. 제18 항에 있어서,
    상기 위치 정보는 암호화 된 데이터의 제2 부분의 시작을 의미하는 방법.
  20. 제18 항에 있어서,
    상기 헤더 데이터를 암호화 하기 전에, 데이터베이스에서 원본 이미지 파일의 선택된 정보를 기록하는 것을 더 포함하는 방법.
  21. 제20 항에 있어서,
    원본 이미지 파일의 선택된 정보는,
    상기 원본 이미지 파일의 명칭, 상기 원본 이미지 파일의 원래 위치, 상기 이미지 파일의 타입 및 상기 암호화 된 이미지 파일의 위치를 포함하는 방법.
  22. 제18 항에 있어서,
    상기 암호화 식별자는,
    상기 암호화 된 이미지 파일이 더 암호화 하는 것을 방지하도록 구성된 방법.
  23. 하나 이상의 프로세서;
    메모리; 및
    상기 메모리에 저장되고 상기 프로세서에 의해 수행되는 하나 이상의 프로그램들을 포함하되,
    상기 하나 이상의 프로그램들은,
    이미지 파일의 시작점에서부터 미리 설정된 사이즈의 데이터를 암호화 하고;
    상기 헤더 데이터를 암호화 하는 과정에서 상기 헤더 데이터에 대응하는 암호화 된 데이터를 얻고;
    상기 이미지 파일에서부터 미리 설정된 사이즈의 데이터를 제거하고;
    암호화 식별자를 상기 이미지 파일에 추가하고; 및
    상기 이미지 파일에서부터 분리된 위치에 암호화 된 데이터를 저장하기 위한 명령어들을 포함하는,
    휴대용 컴퓨터
  24. 제23 항에 있어서,
    상기 이미지 파일의 시작점에서부터 미리 설정된 사이즈의 데이터를 암호화 하는 것은
    상기 이미지 파일 및 암호화 된 데이터의 위치와 다른 위치에 복호화 정보를 저장하되, 상기 복호화 정보는 복호화를 위해 필요한 키를 포함하는, 휴대용 컴퓨터.
  25. 제23 항에 있어서,
    상기 메모리는,
    램, 비 휘발성 메모리 및
    원본 데이터를 얻기 위해서 암호화 된 데이터를 복호화 하고;
    복호화 된 원본 데이터를 램으로 이동하고;
    이미지 파일을 비 휘발성 메모리로부터 획득하고;
    복호화 된 원본 데이터 및 이미지 파일을 데이터 스트림으로 배치하고;
    상기 데이터 스트림으로부터 이미지를 표시하고; 및
    상기 이미지를 표시한 후, 복호화 된 원본 데이터를 램에서부터 삭제하는 명령어들을 더 포함하는 하나 이상의 프로그램을 포함하는 휴대용 컴퓨터.
  26. 제23항에 있어서,
    상기 하나 이상의 프로그램들은 헤더 데이터를 암호화 하기 전에,
    데이터베이스에서 원본 이미지 파일의 i-노드 정보를 기록하되,
    상기 i-노드 정보는 원본 이미지 파일의 명칭, 원본 이미지 파일의 원래 위치, 이미지 파일의 차입 및 암호화 된 이미지 파일의 위치를 포함하는 명령어들을 더 포함하는 휴대용 컴퓨터.
  27. 제25항에 있어서
    상기 비 휘발성 메모리는 SD 카드인 것으로 하는 휴대용 컴퓨터.
KR1020157004121A 2012-07-20 2013-07-19 이미지를 암호화 하고 복호화 하기 위한 방법, 장치 및 시스템 KR101582128B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201210252540.X 2012-07-20
CN201210252540.XA CN102819716B (zh) 2012-07-20 2012-07-20 一种加密图片、解密图片的方法、装置及系统
PCT/CN2013/079676 WO2014012516A1 (en) 2012-07-20 2013-07-19 Method, device, and system for encrypting and decrypting image

Publications (2)

Publication Number Publication Date
KR20150036679A true KR20150036679A (ko) 2015-04-07
KR101582128B1 KR101582128B1 (ko) 2016-01-04

Family

ID=47303826

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157004121A KR101582128B1 (ko) 2012-07-20 2013-07-19 이미지를 암호화 하고 복호화 하기 위한 방법, 장치 및 시스템

Country Status (5)

Country Link
US (1) US9235713B2 (ko)
KR (1) KR101582128B1 (ko)
CN (1) CN102819716B (ko)
PH (1) PH12015500102A1 (ko)
WO (1) WO2014012516A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180029331A (ko) * 2016-09-12 2018-03-21 주식회사 메디인사이드 암호화된 데이터 스트림 생성 방법 및 이를 위한 장치

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102819716B (zh) 2012-07-20 2015-02-04 腾讯科技(深圳)有限公司 一种加密图片、解密图片的方法、装置及系统
CN104102504B (zh) * 2013-04-15 2019-04-12 腾讯科技(深圳)有限公司 一种客户端皮肤图片绘制方法及绘制装置
EP3160154B1 (en) 2014-06-20 2019-05-01 Sony Corporation Information processing apparatus and information processing method
CN105451060A (zh) * 2014-08-26 2016-03-30 深圳市海思半导体有限公司 一种开机画面更换方法、系统及移动终端、播放终端
CN104915610A (zh) * 2015-06-15 2015-09-16 广州市久邦数码科技有限公司 一种私密图片的实现方法及其系统
CN105069364B (zh) * 2015-06-30 2017-11-17 广东欧珀移动通信有限公司 一种图片展示方法及移动终端
KR102444044B1 (ko) * 2015-09-25 2022-09-19 삼성전자주식회사 이미지 처리장치 및 방법
CN106850219B (zh) * 2017-01-16 2020-06-05 宇龙计算机通信科技(深圳)有限公司 一种数据处理方法及终端
CN107277028B (zh) * 2017-06-30 2020-05-19 阿里巴巴集团控股有限公司 在应用间传输聊天表情的方法及装置、设备、存储介质
KR101877535B1 (ko) 2018-02-12 2018-07-11 한화에어로스페이스 주식회사 스트리밍 영상 암호화 방법과 컴퓨터 프로그램 및 스트리밍 영상 복호화 방법과 컴퓨터 프로그램
JP7331714B2 (ja) * 2020-01-27 2023-08-23 富士通株式会社 情報処理装置、情報処理方法及びプログラム
US20210279341A1 (en) * 2020-03-05 2021-09-09 Timothy Arthur Huck Cryptographic security system, method, and program product using data partitioning
CN112437048A (zh) * 2020-11-06 2021-03-02 国民技术股份有限公司 一种图像加密方法、第一、二图像加密装置以及系统
KR102418090B1 (ko) 2020-11-27 2022-07-07 주식회사 테르텐 원본 파일을 여러개로 분할하고 분할된 파일들을 암호화하고 암호화된 파일들을 복호화하여 원본 파일을 복원하는 컴퓨터 프로그램과 그 방법
CN112633230B (zh) * 2020-12-30 2024-06-11 深圳云天励飞技术股份有限公司 一种人脸加密方法、装置、电子设备及存储介质
KR102322807B1 (ko) 2021-06-24 2021-11-08 윤상길 이미지 암복호화 장치
CN118368368B (zh) * 2024-06-17 2024-08-20 广东电网有限责任公司湛江供电局 航拍图像的加密方法、加密装置、存储介质和程序产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6425081B1 (en) * 1997-08-20 2002-07-23 Canon Kabushiki Kaisha Electronic watermark system electronic information distribution system and image filing apparatus
US20090006724A1 (en) * 2007-06-29 2009-01-01 Sandisk Corporation Method of Storing and Accessing Header Data From Memory
KR20090043044A (ko) * 2007-10-29 2009-05-06 (주)케이티에프테크놀로지스 멀티미디어 데이터의 암호화 장치, 멀티미디어 데이터의암호화 방법 및 멀티미디어 데이터의 암호화 기능을 구비한휴대용 단말기
WO2011151982A1 (ja) * 2010-06-01 2011-12-08 三菱電機株式会社 メディア暗号化装置、メディア暗号復号装置、メディア暗号化方法およびメディア暗号復号方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173291B1 (en) * 1997-09-26 2001-01-09 Powerquest Corporation Method and apparatus for recovering data from damaged or corrupted file storage media
US8214655B2 (en) * 2002-03-29 2012-07-03 Kabushiki Kaisha Toshiba Data structure of multimedia file format, encrypting method and device thereof, and decrypting method and device thereof
EP1900209A2 (en) * 2005-06-23 2008-03-19 Panasonic Avionics Corporation System and method for providing searchable data transport stream encryption
US20100095114A1 (en) * 2008-10-10 2010-04-15 Richard Greene Method and system for encrypting and decrypting data streams
CN101847249A (zh) * 2009-03-27 2010-09-29 上海德通能源环保科技有限公司 一种图像数字水印的实现方法
IL199486A0 (en) * 2009-06-22 2011-08-01 Nds Ltd Partial encryption using variable block-size parameters
CN102033887B (zh) * 2009-09-29 2016-06-08 华为技术有限公司 一种实现电子书签的方法、用户终端和书签服务器
US8190850B1 (en) * 2009-10-01 2012-05-29 Emc Corporation Virtual block mapping for relocating compressed and/or encrypted file data block blocks
CN102819716B (zh) * 2012-07-20 2015-02-04 腾讯科技(深圳)有限公司 一种加密图片、解密图片的方法、装置及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6425081B1 (en) * 1997-08-20 2002-07-23 Canon Kabushiki Kaisha Electronic watermark system electronic information distribution system and image filing apparatus
US20090006724A1 (en) * 2007-06-29 2009-01-01 Sandisk Corporation Method of Storing and Accessing Header Data From Memory
KR20090043044A (ko) * 2007-10-29 2009-05-06 (주)케이티에프테크놀로지스 멀티미디어 데이터의 암호화 장치, 멀티미디어 데이터의암호화 방법 및 멀티미디어 데이터의 암호화 기능을 구비한휴대용 단말기
WO2011151982A1 (ja) * 2010-06-01 2011-12-08 三菱電機株式会社 メディア暗号化装置、メディア暗号復号装置、メディア暗号化方法およびメディア暗号復号方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180029331A (ko) * 2016-09-12 2018-03-21 주식회사 메디인사이드 암호화된 데이터 스트림 생성 방법 및 이를 위한 장치

Also Published As

Publication number Publication date
WO2014012516A1 (en) 2014-01-23
CN102819716B (zh) 2015-02-04
US9235713B2 (en) 2016-01-12
PH12015500102B1 (en) 2015-03-02
KR101582128B1 (ko) 2016-01-04
CN102819716A (zh) 2012-12-12
PH12015500102A1 (en) 2015-03-02
US20140032929A1 (en) 2014-01-30

Similar Documents

Publication Publication Date Title
KR101582128B1 (ko) 이미지를 암호화 하고 복호화 하기 위한 방법, 장치 및 시스템
KR101597930B1 (ko) 비디오 파일 암호화 및 복호화 방법, 디바이스 그리고 모바일 단말
CN107153794B (zh) 文件加密方法和装置、文件解密方法和装置
EP3232364B1 (en) Image encryption method, image viewing method, terminals and computer storage media
KR101405720B1 (ko) 암호화 속성을 이용하는 가속 크립토그래피
CN108259171B (zh) Shader文件的保护方法及装置
KR20120030419A (ko) 호스트-식별 정보를 콘텐트에 내장시키기 위한 메모리 디바이스 및 방법
WO2011157242A2 (zh) 文件的保护方法及装置
WO2019134303A1 (zh) 直播间人气处理方法、装置、服务器及存储介质
JP2006178930A (ja) 権利情報管理方法および権利情報管理装置
KR100982515B1 (ko) 해시 체인을 이용하여 디지털 컨텐츠의 접근 횟수를제한하는 장치 및 방법
CN104253933A (zh) 拍摄的方法及设备
CN104967591A (zh) 云存储数据读写方法、设备及读写控制方法、设备
CN101916350B (zh) 终端阅读内容的保护方法及系统
US20180123789A1 (en) Apparatus and method for generating a key in a programmable hardware module
CN106709380A (zh) 一种针对磁盘数据存储区的加解密方法及系统
CN103077359A (zh) 数据解密方法和装置及系统
EP2487619A2 (en) Information processing apparatus, information processing method and program
US20150220754A1 (en) Document Security in Enterprise Content Management Systems
US7330980B2 (en) Method of and system for encrypting digital data, method of and apparatus for reproducing digital data, and computer product
CN104680083A (zh) 一种图片管理方法及装置
KR101252053B1 (ko) 블랙박스 정보 공유 시스템 및 방법
JP2007310603A (ja) 文書処理装置及び文書処理プログラム
KR20140047312A (ko) 개인 프라이버시 설정 장치 및 방법
CN104881489A (zh) 一种基于隐写术的载体文件库可扩充的隐蔽文件系统

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20181219

Year of fee payment: 4