[go: up one dir, main page]

KR100842042B1 - 암호화된 실행코드에 대하여 동적으로 복호화할 수 있게 한코드블록 암호화 방법 - Google Patents

암호화된 실행코드에 대하여 동적으로 복호화할 수 있게 한코드블록 암호화 방법 Download PDF

Info

Publication number
KR100842042B1
KR100842042B1 KR1020070070975A KR20070070975A KR100842042B1 KR 100842042 B1 KR100842042 B1 KR 100842042B1 KR 1020070070975 A KR1020070070975 A KR 1020070070975A KR 20070070975 A KR20070070975 A KR 20070070975A KR 100842042 B1 KR100842042 B1 KR 100842042B1
Authority
KR
South Korea
Prior art keywords
block
code
executable code
encryption
blocks
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020070070975A
Other languages
English (en)
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 KR1020070070975A priority Critical patent/KR100842042B1/ko
Application granted granted Critical
Publication of KR100842042B1 publication Critical patent/KR100842042B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 실행코드를 기본블록들로 분할하고 분할한 기본블록들을 일정한 크기의 실행코드블록단위로 재구성하고 이렇게 재구성된 실행코드블록을 중복함으로써, 암호화된 실행코드에 대하여 동적으로 복호화할 수 있게 한 코드블록 암호화 방법에 관한 것이다.
본 발명에 따른 암호화된 실행코드에 대하여 동적으로 복호화할 수 있게 한 코드블록 암호화 방법은 분기 명령어나 점프 명령어 등의 제어이동명령어(control transfer instruction) 위치를 중심으로 실행코드를 기본블록으로 분할하는 과정과 ; 기본블록들을 실행하기에 적합한 일정크기의 블록인 실행코드블록으로 재구성하는 과정과 ; 블록암호화를 하기 전에 선행암호블록이나 키가 두 개 이상 존재하는 문제를 회피하기 위해 실행코드블록을 중복하는 과정과 ; 문제를 회피한 이후 블록암호화를 하는 과정으로 이루어짐을 특징으로 한다.
실행코드블록, 동적암호화, 암호블록, 제어이동명령어, 분기 명령어, 키

Description

암호화된 실행코드에 대하여 동적으로 복호화할 수 있게 한 코드블록 암호화 방법{A Method for Code-blocks Encryption which Enables Dynamic Decryption of Encrypted Executable Code}
본 발명은 실행코드에 대한 암호화 방법에 관한 것으로 상세하게는 분기 명령어나 점프 명령어 등의 제어이동명령어(control transfer instruction) 위치를 중심으로 실행코드를 기본블록들로 분할하고 분할한 기본블록들을 일정한 크기의 실행코드블록단위로 재구성하고 이렇게 재구성된 실행코드블록 중 제어이동명령어의 목적지(target)에 해당하는 실행코드블록을 중복함으로써, 암호화된 실행코드에 대하여 동적으로 복호화할 수 있게 한 코드블록 암호화 방법에 관한 것이다.
실행코드를 외부로부터 은닉하기 위해 종래의 블록암호화 방식인 CBC(Cipher Block Chaining)와 키를 연결하는 방법을 이용할 수 있다.
이러한 종래의 암호화 방법에 의해 암호화된 블록들은 시스템에서 실행하기 전에 프로그램 전체에 대해서 사전에 모두 복호화하여야 한다. 왜냐하면 실행코드는 데이터와 달리 코드 중간에 제어이동명령어를 포함하고 있어 블록의 실행순서가 일정하지 않기 때문이다.
또한 이렇게 전체 블록들을 모두 복호화할 경우 실행코드를 메모리나 디스크에 임시로 저장하는 것이 불가피하므로 복호화된 실행코드가 외부로 노출될 위험이 있다.
따라서 실행코드의 안전성을 개선하기 위해서는 블록의 실행순서를 예측할 수 없는 경우에도 실시간으로 실행할 블록별로 복호화할 수 있도록 하는 암호화 방법이 필요하다.
도 4a와 도 4b는 종래의 블록암호화 방식을 도시한 블록도이다.
도 4a는 종래의 CBC방식의 블록암호화를 도시한 블록도로서, N번째 평문블록N1을 암호화할 때는 N-1번째 암호블록(N-1)2와 N번째 평문블록N1을 배타적 논리합(exclusive or, 이하 "XOR"라 통칭한다.)한 후 암호화한다. 즉, 선행된 암호블록과 현재의 평문블록을 XOR한 후 그 결과를 암호화한다.
도 4b는 종래의 키를 연결하는 방식의 블록암호화를 도시한 블록도이다.
N번째 평문블록N1을 암호화할 때는 N-1번째 평문블록(N-1)1을 이용하여 키를 생성하고, 이 키를 이용하여 N번째 평문블록N1을 암호화한다. 즉, 선행된 평문블록에서 키를 생성하고, 그 키를 이용하여 현재의 평문블록을 암호화하는 방식이다.
이와 같은 종래의 블록암호화 방식은 제어이동명령어를 포함하는 실행코드를 암호화할 때 제어이동명령어의 목적지 블록에서 문제가 발생한다. 도 5a와 도 5b는 위와 같은 종래의 방법으로 제어이동명령어를 포함하는 실행코드를 블록암호화할 때 제어이동명령어의 목적지에 해당하는 블록에서 발생하는 문제점의 예를 보이는 도면이다.
도 5a는 종래의 CBC방식으로 제어이동명령어를 포함한 실행코드를 블록암호화할 경우, 제어이동명령어의 목적지에 해당하는 블록에서 선행암호블록이 두 개 이상 존재하는 문제점의 예를 도시한 블록도이다. 도시한 바와 같이, 제어이동명령어로 인하여 평문블록21 뿐만 아니라 평문블록51에서도 평문블록31로 제어가 전이되는 경우를 보인다.
평문블록31을 암호화하기 위해서 선행암호블록과 평문블록31을 XOR하여야하는데, 평문블록31의 선행암호블록이 암호블록22와 암호블록52 두 개가 존재하므로, 평문블록31을 XOR할 때 선행암호블록이 두 개 이상이 되는 문제가 발생한다.
도 5b는 종래의 키를 연결하는 방식으로 제어이동명령어를 포함한 실행코드를 블록암호화 할 경우로서, 제어이동명령어의 목적지에 해당하는 블록에서 키가 두 개 이상 존재하는 문제점의 예를 도시한 블록도이다. 도시한 바와 같이, 제어이동명령어로 인하여 평문블록21 뿐만 아니라 평문블록51에서도 평문블록31로 제어가 전이되는 경우를 보인다.
평문블록31을 암호화하기 위해서 선행블록으로부터 키를 생성하여 얻어야 하는데, 평문블록31의 선행블록이 평문블록21과 평문블록51 두 개가 존재하므로, 평문블록31을 암호화할 시점에서 키가 두 개 이상인 문제가 발생한다.
본 발명은 위와 같은 문제점을 해결하기위해 발명된 것으로, 실행코드를 기 본블록들로 분할하고 분할한 기본블록들을 일정한 크기의 실행코드블록단위로 재구성하고 이렇게 재구성된 실행코드블록들 중 제어이동명령어의 목적지에 해당하는 실행코드블록들을 중복하여 실행코드를 암호화할 때 선행암호블록이나 키가 두 개 이상 존재하는 문제를 회피할 수 있게 함으로써 암호화된 실행코드에 대하여 동적으로 복호화할 수 있도록 하는 코드블록 암호화 방법을 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위한 본 발명에 따른 암호화된 실행코드에 대하여 동적으로 복호화할 수 있게 한 코드블록 암호화 방법은 제어이동명령어 위치를 중심으로 실행코드를 기본블록으로 분할하는 과정과 ; 기본블록들을 실행하기에 적합한 일정크기의 블록인 실행코드블록으로 재구성하는 과정과 ; 블록암호화를 하기 전에 선행암호블록이나 키가 두 개 이상 존재하는 문제를 회피하기 위해 제어이동명령어의 목적지에 해당하는 실행코드블록을 중복하는 과정과 ; 블록암호화를 하는 과정으로 이루어짐을 특징으로 한다.
본 발명은 실행코드를 기본블록들로 분할하고 분할한 기본블록들을 일정한 크기의 실행코드블록단위로 재구성하고 이렇게 재구성된 실행코드블록들 중 제어이동명령어의 목적지에 해당하는 실행코드블록을 중복하여 암호화함으로써 선행암호 블록이나 키가 두 개 이상 존재하는 문제를 회피할 수 있으므로 암호화된 실행코드에 대하여 동적으로 복호화할 수 있도록 한다.
이에 따라 실행코드를 실행할 때 코드가 외부로 노출되는 것을 최소화할 수 있다. 즉, 블록복호화모듈을 하드웨어로 구현하고 실행코드를 실행할 시스템과 연동하도록 구현할 경우 전제 실행코드가 아닌 실행 시 필요한 블록들만 복호화가 가능하여 실행코드가 외부로 노출되는 것을 최소화할 수 있는 효과가 있다.
또한, 실행코드의 역분석 방지 및 악성코드로 인한 실행코드의 오염 방지에 응용할 수 있는 효과가 있다.
이하에서는 첨부된 도면을 참조하여 기술되는 바람직한 실시예를 통하여 본 발명을 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 기술하기로 한다.
도 1은 본 발명에 따른 제어이동명령어를 포함한 실행코드를 암호화하기 위한 방법을 나타낸 순서도이고, 도 2a는 본 발명에 따른 기본블록의 크기가 실행코드블록의 크기보다 작을 때, 기본블록을 일정크기의 블록인 실행코드블록의 크기만큼 명령어를 이용하여 메우는 방법의 예를 보인 블록도이고, 도 2b는 본 발명에 따른 기본블록의 크기가 실행코드블록의 크기보다 클 때, 기본블록을 일정크기의 블록인 실행코드블록의 크기단위로 나누는 방법의 예를 보인 블록도이고, 도 3a는 본 발명에 따른 제어이동명령어를 포함한 실행코드를 CBC방식으로 블록암호화할 때, 선행암호블록이 두 개 이상 존재하는 문제를 회피하기 위해 제어이동명령어의 목적 지에 해당하는 실행코드블록을 중복하는 방법의 예를 보인 블록도이고, 도 3b는 본 발명에 따른 제어이동명령어를 포함한 실행코드를 키를 연결하는 방식으로 블록암호화할 때, 키가 두 개 이상 존재하는 문제를 회피하기 위해 제어이동명령어의 목적지에 해당하는 실행코드블록을 중복하는 방법의 예를 보인 블록도이다.
도 1에 도시한 바와 같이 본 발명에 따른 암호화된 실행코드에 대하여 동적으로 복호화할 수 있게 한 코드블록 암호화 방법은 먼저, 제어이동명령어 위치를 중심으로 실행코드를 기본블록으로 분할하는 과정과 ; 기본블록들을 실행하기에 적합한 일정크기의 블록인 실행코드블록으로 재구성하는 과정과 ; 블록암호화를 하기 전에 선행암호블록이나 키가 두 개 이상 존재하는 문제를 회피하기 위해 제어이동명령어의 목적지에 해당하는 실행코드블록을 중복하는 과정과 ; 블록암호화를 하는 과정으로 이루어진다.
상기 제어이동명령어는 분기명령어나 점프 명령어 등이 있다.
이러한 과정으로 이루어지는 본 발명의 암호화된 실행코드에 대하여 동적으로 복호화할 수 있게 한 코드블록 암호화 방법의 요지는 상기 기본블록들을 실행하기에 적합한 일정크기의 블록인 실행코드블록으로 재구성하는 과정과 블록암호화를 하기 전에 선행암호블록이나 키가 두 개 이상 존재하는 문제를 회피하기 위해 제어이동명령어의 목적지에 해당하는 실행코드블록을 중복하는 과정에 있다.
상기 기본블록을 실행코드블록으로 재구성하는 과정은 기본블록의 크기에 따라 달라진다.
즉, 상기 기본블록의 크기가 실행코드블록의 크기보다 작을 경우에는 기본블 록에 임의 명령어나 분기 명령어 또는 점프 명령어를 추가하여 실행코드블록을 구성하고, 기본블록의 크기가 실행코드블록의 크기보다 큰 경우에는 기본블록을 실행코드블록 단위로 분리하고 분리된 실행코드블록 중 기본블록의 크기보다 큰 실행코드블록에는 임의 명령어나 분기 명령어 또는 점프 명령어를 추가하여 실행코드블록을 구성한다.
도 2a에 도시한 바와 같이 기본블록의 크기가 실행코드블록의 크기보다 작을 경우에는 기본블록의 명령어에 분기(Branch)명령어(B)나 점프(Jump) 명령어(J) 또는 임의(Dummy) 명령어(D) 등을 추가하여 기본블록의 크기를 실행코드블록의 크기로 맞춘다.
즉, 실행코드블록의 크기와 기본블록의 크기의 차이가 2이면, 하나의 점프(Jump) 명령어(J)와 하나 이상의 임의(Dummy) 명령어(D)를 이용하여 빈 공간을 메운다. 여기서 임의 명령어(D)는 무작위(random)함수를 이용하여 임의의 값으로 생성한다. 대안으로 모든 빈 공간을 무연산(no operation)을 이용하여 메울 수도 있지만, 그럴 경우 암호화시에 암호블록이 보안에 약해지는 문제점을 가지므로 상기한 바와 같은 다양한 종류의 명령어들을 추가하여 메우는 것이 바람직하다.
또한, 실행코드블록의 크기와 기본블록의 크기의 차이가 1 이면, 이 빈 공간은 한 개의 무연산(no operation)으로 메울 수 있다.
도 2b는 기본블록의 크기가 실행코드블록의 크기보다 클 때로서, 기본블록을 일정크기 즉 크기 4인 실행코드블록의 크기단위로 나누는 방법의 예를 보인 블록도이다.
도면의 화살표 왼쪽이 실행코드블록 보다 큰 기본블록이고, 도면의 오른쪽이 실행코드블록으로 나눈 이후의 결과를 나타낸 것이다. 기본블록을 실행코드블록단위로 나누는 방법은 다음과 같다.
우선 기본블록의 처음부터 실행코드블록크기만큼 순서대로 나눈다. 이렇게 나눌 경우, 나누는 마지막 부분이 실행코드블록의 크기보다 작게 나눠지는 경우가 발생하는데, 이때는 도면 2a에서 설명한 블록을 메우는 방법을 이용하여 마지막 부분을 실행코드블록단위로 재구성한다.
도 3a 및 3b는 제어이동명령어를 포함한 실행코드를 위에서 설명한 CBC방식이나 키를 연결하는 방식으로 블록암호화 할 때, 선행암호블록이나 키가 두 개 이상 존재하는 문제를 회피하기 위해 제어이동명령어의 목적지에 해당하는 실행코드블록을 중복하는 방법의 예를 보인 블록도이다.
도 3a는 본 발명에 따른 분기 명령어를 포함한 실행코드를 CBC방식으로 블록암호화할 때, 선행암호블록이 두 개 이상 존재하는 문제를 회피하기 위해, 제어이동명령어의 목적지에 해당하는 실행코드블록을 중복하는 방법의 예를 보인 블록도이다.
평문블록31은 선행암호블록22와 XOR하고, 평문블록3a1은 선행암호블록52와 XOR 하므로 평문블록31에서 발생하던 선행암호블록이 두 개 이상인 문제를 회피하였다.
이후 평문블록41은 선행암호블록이 두 개 이상이지만, 평문블록3a1은 평문블록31을 중복한 것이기 때문에 선행암호블록 중 어떤 블록을 선택하든 상관없이 평 문블록41과 XOR한 결과는 동일하다.
도 3b는 본 발명에 따른 분기 명령어를 포함한 실행코드를 키를 연결하는 방식으로 블록암호화할 때, 키가 두 개 이상 존재하는 문제를 회피하기 위해 제어이동명령어의 목적지에 해당하는 실행코드블록을 중복하는 방법의 예를 보인 블록도이다.
도시한 바와 같이, 평문블록31은 암호화를 위해 평문블록21으로부터 키를 얻어오고, 평문블록3a1은 평문블록51로부터 키를 얻어온다. 결과적으로 평문블록31에서 발생하던 키가 두 개 이상 생성되는 문제는 해결되었다.
이후 평문블록41은 선행블록이 두 개 이상이지만 평문블록3a1은 평문블록31을 중복한 것이기 때문에, 선행평문블록 중 어떤 블록을 선택하든지 키 생성 결과는 같다.
도 1은 본 발명에 따른 분기 명령어나 점프 명령어 등의 제어이동명령어(control transfer instruction)를 포함한 실행코드를 암호화하기 위한 방법을 나타낸 순서도이고,
도 2a는 본 발명에 따른 기본블록의 크기가 실행코드블록의 크기보다 작을 때, 기본블록을 일정크기의 블록인 실행코드블록 크기만큼 명령어를 이용하여 메우는 방법의 예를 보인 블록도이고,
도 2b는 본 발명에 따른 기본블록의 크기가 실행코드블록의 크기보다 클 때, 기본블록을 일정크기의 블록인 실행코드블록의 크기단위로 나누는 방법의 예를 보인 블록도이고,
도 3a는 본 발명에 따른 제어이동명령어를 포함한 실행코드를 CBC방식으로 블록암호화할 때, 선행암호블록이 두 개 이상 존재하는 문제를 회피하기 위해 제어이동명령어의 목적지에 해당하는 실행코드블록을 중복하는 방법의 예를 보인 블록도이고,
도 3b는 본 발명에 따른 제어이동명령어를 포함한 실행코드를 키를 연결하는 방식으로 블록암호화할 때, 키가 두 개 이상 존재하는 문제를 회피하기 위해 제어이동명령어의 목적지에 해당하는 실행코드블록을 중복하는 방법의 예를 보인 블록도이고,
도 4a는 종래의 CBC 방식의 블록암호화를 도시한 블록도이고,
도 4b는 종래의 키를 연결하는 방식의 블록암호화를 도시한 블록도이고,
도 5a는 종래의 CBC 방식으로 제어이동명령어를 포함한 실행코드를 블록암호화할 경우, 제어이동명령어의 목적지에 해당하는 블록에서 선행암호블록이 두 개 이상 존재하는 문제점의 예를 도시한 블록도이고,
도 5b는 종래의 키를 연결하는 방식으로 제어이동명령어를 포함한 실행코드를 블록암호화 할 경우, 제어이동명령어의 목적지에 해당하는 블록에서 키가 두 개 이상 존재하는 문제점의 예를 도시한 블록도이다.

Claims (4)

  1. 제어이동명령어 위치를 중심으로 실행코드를 기본블록으로 분할하는 과정;
    기본블록들을 실행하기에 적합한 일정크기의 블록인 실행코드블록으로 재구성하는 과정;
    블록암호화를 하기 전에 선행암호블록이나 키가 두 개 이상 존재하는 문제를 회피하기 위해 제어이동명령어의 목적지에 해당하는 실행코드블록을 중복하는 과정; 및
    블록암호화를 하는 과정;을 포함하여 이루어짐을 특징으로 하는 암호화된 실행코드에 대하여 동적으로 복호화할 수 있게 한 코드블록 암호화 방법.
  2. 제 1 항에 있어서,
    상기 기본블록을 실행코드블록으로 재구성하는 과정에 있어서 기본블록의 크기가 실행코드블록의 크기보다 작을 경우에는 기본블록에 임의 명령어나 분기 명령어 또는 점프 명령어를 추가하여 실행코드블록을 구성함을 특징으로 하는 암호화된 실행코드에 대하여 동적으로 복호화할 수 있게 한 코드블록 암호화 방법.
  3. 제 1 항에 있어서,
    상기 기본블록을 실행코드블록으로 재구성하는 과정에 있어서 기본블록의 크기가 실행코드블록의 크기보다 클 경우에는 기본블록을 실행코드블록 단위로 분리하고 분리된 실행코드블록 중 기본블록의 크기보다 큰 실행코드 블록에는 임의 명령어나 분기 명령어 또는 점프 명령어를 추가하여 실행코드블록을 구성함을 특징으로 하는 암호화된 실행코드에 대하여 동적으로 복호화할 수 있게 한 코드블록 암호화 방법.
  4. 제 1 항에 있어서,
    상기 실행코드블록을 중복하는 과정은 블록암호화를 하기 전에 선행암호블록이나 키가 두 개 이상 존재하는 문제를 회피하기 위해 제어이동명령어의 목적지에 해당하는 실행코드블록을 중복함을 특징으로 하는 암호화된 실행코드에 대하여 동적으로 복호화할 수 있게 한 코드블록 암호화 방법.
KR1020070070975A 2007-07-16 2007-07-16 암호화된 실행코드에 대하여 동적으로 복호화할 수 있게 한코드블록 암호화 방법 Active KR100842042B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070070975A KR100842042B1 (ko) 2007-07-16 2007-07-16 암호화된 실행코드에 대하여 동적으로 복호화할 수 있게 한코드블록 암호화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070070975A KR100842042B1 (ko) 2007-07-16 2007-07-16 암호화된 실행코드에 대하여 동적으로 복호화할 수 있게 한코드블록 암호화 방법

Publications (1)

Publication Number Publication Date
KR100842042B1 true KR100842042B1 (ko) 2008-06-30

Family

ID=39772718

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070070975A Active KR100842042B1 (ko) 2007-07-16 2007-07-16 암호화된 실행코드에 대하여 동적으로 복호화할 수 있게 한코드블록 암호화 방법

Country Status (1)

Country Link
KR (1) KR100842042B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101236835B1 (ko) * 2011-02-28 2013-02-25 삼성중공업 주식회사 암호 코드를 이용한 암호화 및 복호화 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0163717B1 (ko) * 1995-05-10 1999-03-20 김광호 영상전화기의 음성부복호화기
KR100240372B1 (ko) 1994-09-30 2000-01-15 이토가 미찌야 데이타를 부호화 및 복호화하는 장치 및 방법
KR20010102990A (ko) * 1999-01-22 2001-11-17 도날드 디. 먼둘 일제 송신 메시지의 코딩 방법 및 시스템
KR20040077754A (ko) * 2002-01-22 2004-09-06 노키아 코포레이션 이미지/비디오 부호기들 및/또는 복호기들에서 변환계수들의 부호화
KR20060073598A (ko) * 2003-08-13 2006-06-28 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 디지털 전송시스템을 위한 암호화 및 복호화 방법
KR100628280B1 (ko) 1997-08-05 2007-01-31 미크로나스 게엠베하 데이타시퀀스의암호화또는해독방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100240372B1 (ko) 1994-09-30 2000-01-15 이토가 미찌야 데이타를 부호화 및 복호화하는 장치 및 방법
KR0163717B1 (ko) * 1995-05-10 1999-03-20 김광호 영상전화기의 음성부복호화기
KR100628280B1 (ko) 1997-08-05 2007-01-31 미크로나스 게엠베하 데이타시퀀스의암호화또는해독방법
KR20010102990A (ko) * 1999-01-22 2001-11-17 도날드 디. 먼둘 일제 송신 메시지의 코딩 방법 및 시스템
KR20040077754A (ko) * 2002-01-22 2004-09-06 노키아 코포레이션 이미지/비디오 부호기들 및/또는 복호기들에서 변환계수들의 부호화
KR20060073598A (ko) * 2003-08-13 2006-06-28 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 디지털 전송시스템을 위한 암호화 및 복호화 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101236835B1 (ko) * 2011-02-28 2013-02-25 삼성중공업 주식회사 암호 코드를 이용한 암호화 및 복호화 방법

Similar Documents

Publication Publication Date Title
JP5822970B2 (ja) 擬似ランダム生成、データ暗号化、およびメッセージ暗号化ハッシングのための暗号化デバイス
US20160080143A1 (en) Multi-Block Cryptographic Operation
JP6345237B2 (ja) 平文データを暗号化するための方法および装置
KR101847492B1 (ko) 데이터 암호화 장치 및 방법, 데이터 복호화 장치 및 방법
JP5184489B2 (ja) 命令レベルのソフトウェア暗号化のための方法及び装置
US9189425B2 (en) Protecting look up tables by mixing code and operations
US20060023875A1 (en) Enhanced stream cipher combining function
RU2666281C2 (ru) Электронное устройство блочного шифрования, подходящее для обфускации
KR20100069610A (ko) 연쇄화된 암호화 모드를 위한 방법 및 디바이스
US8718280B2 (en) Securing keys of a cipher using properties of the cipher process
US9692592B2 (en) Using state reordering to protect against white box attacks
US7925009B2 (en) Hybrid data encryption
KR20080073348A (ko) 멀티 레인 고속 암호화 및 복호화
US8699702B2 (en) Securing cryptographic process keys using internal structures
US20210152326A1 (en) White-box encryption method for prevention of fault injection attack and apparatus therefor
KR960032188A (ko) 소프트웨어 암호화·복호화방법, 소프트웨어 암호화 시스템 및 소프트웨어 복호화 시스템
US20130067211A1 (en) Operational mode for block ciphers
JP3769804B2 (ja) 解読化方法および電子機器
EP1507356A2 (en) Cryptographic method
KR100842042B1 (ko) 암호화된 실행코드에 대하여 동적으로 복호화할 수 있게 한코드블록 암호화 방법
US20040120521A1 (en) Method and system for data encryption and decryption
US11070356B2 (en) Text encryption
JPS6281145A (ja) デ−タ暗号化方式
JP4287397B2 (ja) 暗号文生成装置、暗号文復号装置、暗号文生成プログラム及び暗号文復号プログラム
JP4708914B2 (ja) 解読化方法

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20070716

PA0201 Request for examination
E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20080528

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20080623

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20080624

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20110601

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20120524

Start annual number: 5

End annual number: 5

FPAY Annual fee payment

Payment date: 20130603

Year of fee payment: 6

PR1001 Payment of annual fee

Payment date: 20130603

Start annual number: 6

End annual number: 6

FPAY Annual fee payment

Payment date: 20140602

Year of fee payment: 7

PR1001 Payment of annual fee

Payment date: 20140602

Start annual number: 7

End annual number: 7

FPAY Annual fee payment

Payment date: 20150602

Year of fee payment: 8

PR1001 Payment of annual fee

Payment date: 20150602

Start annual number: 8

End annual number: 8

FPAY Annual fee payment

Payment date: 20160601

Year of fee payment: 9

PR1001 Payment of annual fee

Payment date: 20160601

Start annual number: 9

End annual number: 9

FPAY Annual fee payment

Payment date: 20170609

Year of fee payment: 10

PR1001 Payment of annual fee

Payment date: 20170609

Start annual number: 10

End annual number: 10

FPAY Annual fee payment

Payment date: 20180530

Year of fee payment: 11

PR1001 Payment of annual fee

Payment date: 20180530

Start annual number: 11

End annual number: 11

PR1001 Payment of annual fee

Payment date: 20210512

Start annual number: 14

End annual number: 14

PR1001 Payment of annual fee

Payment date: 20240709

Start annual number: 17

End annual number: 17