KR20150064042A - 디지털 데이터 블록 암호화 및 해독화 방법 - Google Patents

디지털 데이터 블록 암호화 및 해독화 방법 Download PDF

Info

Publication number
KR20150064042A
KR20150064042A KR1020157007837A KR20157007837A KR20150064042A KR 20150064042 A KR20150064042 A KR 20150064042A KR 1020157007837 A KR1020157007837 A KR 1020157007837A KR 20157007837 A KR20157007837 A KR 20157007837A KR 20150064042 A KR20150064042 A KR 20150064042A
Authority
KR
South Korea
Prior art keywords
block
length
ciphertext
blocks
plaintext
Prior art date
Application number
KR1020157007837A
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 나그라비젼 에스에이
Publication of KR20150064042A publication Critical patent/KR20150064042A/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/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/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/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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Abstract

각각 x 비트의 동일한 길이의 N개의 연속 블록(P1,P2,P3,...,PN)을 포함하는 시퀀스(SEQP)와, N개의 연속 평문 블록(P1,P2,P3,...,PN) 중 하나의 블록의 길이보다 짧은 y 비트의 길이를 가진 잔여 평문 블록(PR)으로 분할된 평문 디지털 데이터를 암호화하는 방법 및 시스템이 제공된다. N개의 연속 평문 블록(P1,P2,P3,...,PN)은 CBC 모드에 기반한 암호화 알고리즘을 이용하여 주 암호화 키(K)에 의해 암호문화된다. 주 암호화 키(K)에 최종 암호문 블록(CN)을 부가하는 것에 의해 획득된 스트링(ST) 상에 키 스케줄 기능을 적용하여, 동일한 길이를 가진 라운드 키(S1,S2,S3,...,SN)의 세트가 생성된다. 시퀀스(SEQP)의 블록의 길이와 동일한 길이를 가진 스트링(ST)을 획득하기 위해 라운드키 세트의 라운드키(S1,S2,S3,...,SN)의 전체 또는 일부분이 서로 부가된다. 이어서 잔여 암호문 블록(CR)을 획득하기 위해, 잔여 평문 블록(PR)의 길이와 동일한 길이를 가진 스트링(T)을 형성하는 스트링(ST)의 극좌 비트에 잔여 평문 블록(PR)이 부가된다. 본 발명의 방법 및 시스템은 N개의 연속 암호문 블록(C1,C2,C3,...,CN)을 포함하는 시퀀스(SEQC)와 후속하는 잔여 암호문 블록(CR)을 해독한다.

Description

디지털 데이터 블록 암호화 및 해독화 방법{METHOD AND DEVICE FOR DIGITAL DATA BLOCKS ENCRYPTION AND DECRYPTION}
본 발명은 디지털 데이터를 동일한 길이의 복수의 볼록과 작은 길이를 가진 잔여 블록(residual block)으로 분할한 암호화 및 해독화 방법에 관한 것이다. 이 방법은 유료 TV 분야에서 방송 멀티미디어 서비스의 액세스 제어 데이터 패킷에 적용될 수도 있다.
암호문 블록 체이닝(CBC: Chipher Block Chaining)으로 이루어진 일련의 데이터 블록을 암호화하는 방법이 알려져 있는데, 이 방법에서 평문(plaintext)의 각각의 블록은 암호화 이전에 XOR 연산을 이용하여 선행하는 암호문 블록(ciphertext block)과 결합된다. 각각의 암호문 블록은 따라서 소정의 블록(given block) 이전에 프로세스된 모든 평문 블록에 의존한다. 평문의 전체 길이가 블록 길이의 배수(multiple)가 아닌 경우, 짧은 길이의 잔여 블록이 남게되고, RBT(Residual Block Termination)이라 불리는 전형적인 CBC 프로세스가 수행된다. 동일한 길이의 평문의 풀 블록(full blocks)은 두번 암호화되는 마지막 풀 블록(full blocks)을 제외하고 CBC 모드를 이용하여 암호화된다. 따라서 동일한 길이의 암호화된 풀 블록이 획득된다. 잔여 평문 블록은 암호화된 잔여 블록을 획득하기 위해 재암호화된 최종 풀 블록의 극좌 비트(leftmost bits)와 XOR 연산된다. 암호해독화(이하 해독화)동안, 제1 암호화된 풀 블록은 CBC 모드를 이용하여 해독된다. 여전히 암호화된 최종 풀 블록은 재암호화(re-encrypted)되고 잔여 암호문 블록은 온전한 평문을 획득하기 위해 재암호화된 최종 풀 블록의 극좌 비트로 XOR 연산된다.
2010년 10월 Morris Dworkin에 의한, NIST 스페셜 퍼블릭케이션 800-38A의 부록, "Recommendation for Block Cipher Modes of Operation: Three Variants of Ciphertext Stealing for CBC Mode"라는 문서는 3가지 변이형(variants)의 CBC 모드에 기반한 암호문 스틸링(stealing)에 대해 개시하고 있다.
CBC 모드의 가지 변이형은 그 길이가 블록 사이즈의 배수인지 아닌지와 관계없이 비트 길이가 블록 사이즈보다 크거나 같은 평문의 입력을 허용한다. NIST SP 800-38A, Ref[1]에 기재된 패딩(padding) 방법과 다르게, 이들 변이형은 암호문 확대를 방지한다.
이러한 변이형은 CBC-CS1, CBC-CS2, CBC-CS3로 표시되는데, "CS"는 "Ciphertext stealing"을 나타내는데, 이는 이들 변이형에 패딩 비트(padding bits)가 필요할 때, 그들이 끝에서 두번째(penultimate) 암호 블록으로부터 취해지기 때문이다. 변이형은 암호문 비트의 순서가 다를 뿐이다.
블록 암호화의 공지된 방법은 아래와 같이 요약될 수 있다.
Figure pct00001
위에서 회색 셀은 종래 기술의 방법 A), B), C) 및 D)의 단점을 나타낸다.
A). 잔여 블록 터미네이션("Residual block termination" 참조, 위키피디아 (Wikipedia) http://en.wikipedia.org/wiki/Residual_block_termination): 나머지(잔여 블록)는 최종 풀 암호화 블록의 암호(encryption)와 XOR연산되고, 평문을 해독하기 위한 암호의 사용을 요구한다.
B). 암호문 스틸링(Ciphertext stealing)(US5684876 또는 "Ciphertext stealing", 위키피디아 http://en.wikipedia.Org/wiki/Ciphertext_stealing#CBC_ encryption_steps): x 비트 길이를 가진 끝에서 두번째 암호화된 블록은 y와 (x-y) 비트 파트로 분할되고, 후자는 암호화 이전에 y비트의 나머지(residue)에 연결되고 이전 y비트 부분의 결과에 x비트를 스왑(swap)한다. 이는 블록을 분할하고 차례를 바꾼 블록 프로세싱(out-of-order block processing)을 필요로 하는 최소한의 간단한 방법이다.
C). 잔여 데이터의 클리어(Clear residual data): 솔루션은 y 비트 나머지(y bit residue)를 클리어하게, 즉 비밀 보호(confidentiality protection) 없이, 남겨두도록 적응되어야 한다. 이는 가장 간단하지만 적어도 안전한 방법이다.
D). 상수와의 XOR(XOR with constant): 이 방법은 나머지(residue)를 키-종속 상수(key-dependent constant)와 XOR 연산하는 것으로 이루어지며, 예를 들면 초기화 벡터(initialization vector) IV(IP TV 스크램블러에서 이용됨, ATIS-0800006: IIF Default Scrambling Algorithm(IDSA)-IPTV Interoperability Specification. ATIS, Jan 2007 참조)의 암호화 같다. 하나의 평문/암호문 쌍(pair)을 알면 방법 C).와 동일한 방법을 만들기 때문에(사용된 상수가 알려지기 때문에) 이 방법은 안정성은 낮다.
WO2008/052141A2는 인터넷 프로토콜 네트워크 상에서 MPEG-2 전송 스트림 패킷의 스크램블링 및/또는 디스크램블링의 향상된 방법 및 장치에 대해 개시하고 있다. 전송 패킷 스트림을 스크램블링하기 위해, 암호문 블록 체이닝(CBC) 하에서 향상된 암호화 표준(Advance Encryption Standard)(AES)이 이용되고, 여기서 상수 또는 프로그램 가능한 랜덤 수로 설정된 초기화 백터(IV)의 계산이 수행된다.
본 발명은 전술한 바와 같은 종래의 문제점을 해결하기 위해 안출된 발명으로서, 본 발명은 허용가능한 보안 레벨은 유지하면서 계산 프로세싱은 최소화하는 것에 의해 동일한 길이와 짧은 길이의 잔여 블록을 가진 복수의 평문 블록을 보다 효율적으로 암호화하는 방법을 제공하는 것을 목적으로 한다.
본 발명의 전술한 목적은, 각각 x 비트의 동일한 길이의 N개의 연속 블록(P1,P2,P3,...,PN)을 포함하는 시퀀스(SEQP)와, N개의 연속 평문 블록(P1,P2,P3,...,PN) 중 하나의 블록의 길이보다 짧은 y 비트의 길이를 가진 잔여 평문 블록(PR)으로 분할된 평문 디지털 데이터를 암호화하는 방법에 의해 달성되는데, 이 방법은,
a) N개의 연속 평문 블록(P1,P2,P3,...,PN)의 시퀀스(SEQP)를 전처리 모듈(pre-processing module,PM)로 입력하는 단계 - 전처리 모듈은 적어도 암호화 모듈(ciphering module,CM), 부가 모듈(addition module, AM), 레지스터, 주 암호화 키(K)를 포함하는 메모리를 포함하고, 부가 모듈(AM)은 비트들에 대해서 논리적 XOR 연산을 수행함 - ; 및
b) N개의 연속 평문 블록(P1,P2,P3,...,PN)을, CBC(cipher block chaining) 모듈에 기반한 암호화 알고리즘을 이용하여 주 암호화 키(K)에 의해 암호문화(ciphering)하는 단계 - 여기서 제1 블록은 초기화 벡터(IV)에 부가되고 후속되는 각각의 평문 블록은 주 암호화 키(K)로 암호화되기 이전에 이전 암호문화된 블록에 부가되고, 평문 블록(P1,P2,P3,...,PN)의 길이와 동일한 N개의 연속 암호문 블록(C1,C2,C3,...,CN)의 시퀀스(SEQC)가 획득됨 - ;를 포함하고,
c) 주 암호화 키(K)에 최종 암호문 블록(CN)을 부가하는 것에 의해 획득된 스트링(ST) 상에 키 스케줄 기능(key schedule function,KSF)을 적용하여, 동일한 길이를 가진 라운드 키(S1,S2,S3,...,SN)의 세트를 생성하는 단계;
d) 블록의 길이와 동일한 길이를 가진 스트링(ST)을 획득하도록, 부가 모듈(AM)에 의해 상기 라운드키 세트의 라운드키(S1,S2,S3,...,SN)의 전체 또는 일부분을 서로 부가(adding)하는 단계;
e) 잔여 암호문 블록(CR)을 획득하기 위해, 잔여 평문 블록(PR)의 길이와 동일한 길이를 가진 스트링(T)을 형성하는 스트링(ST)의 극좌 비트(most left bits)에 잔여 평문 블록(PR)을 부가하는 단계; 및
f) 이전 획득된 N개의 연속 암호문 블록(C1,C2,C3,...,CN)을 포함하는 시퀀스(SEQC)와 후속하는 잔여 암호문 블록(CR)을 출력하는 단계;를 더 포함한다.
본 발명의 다른 목적은 각각 x 비트의 동일한 길이의 N개의 연속 블록(P1,P2,P3,...,PN)을 포함하는 시퀀스(SEQP)와, N개의 연속 평문 블록(P1,P2,P3,...,PN) 중 하나의 블록의 길이보다 짧은 y 비트의 길이를 가진 잔여 평문 블록(PR)으로 분할된 평문 디지털 데이터를 암호화하도록 구성되는 시스템을 제공하는데 있으며, 이 시스템은,
a) 적어도 암호화 모듈(ciphering module,CM), 부가 모듈(addition module, AM), 레지스터, 주 암호화 키(K)를 포함하는 메모리를 포함하는 전처리 모듈(PM) - 전처리 모듈(PM)은 입력단에서 N개의 연속 평문 블록(P1,P2,P3,...,PN)의 시퀀스(SEQP)를 수신하도록 적응되고, 부가 모듈(AM)은 비트들에 대해서 논리적 XOR 연산을 수행함 - ;
b) N개의 연속 평문 블록(P1,P2,P3,...,PN)을, CBC 모드에 기반한 암호화 알고리즘을 이용하여 암호문화하도록 구성된 암호화 모듈(chiphering module,CM) - 여기서 제1 블록은 초기화 벡터(IV)에 부가되고 후속되는 각각의 평문 블록은 주 암호화 키(K)로 암호화되기 이전에 이전 암호문화된 블록에 부가되고, 평문 블록(P1,P2,P3,...,PN)의 길이와 동일한 N개의 연속 암호문 블록(C1,C2,C3,...,CN)의 시퀀스(SEQC)가 획득됨 - ;를 포함하고,
c) 주 암호화 키(K)에 최종 암호문 블록(CN)을 부가하는 것에 의해 획득된 스트링(ST) 상에 키 스케줄 기능(key schedule function,KSF)을 적용하여, 동일한 길이를 가진 라운드 키(S1,S2,S3,...,SN)의 세트를 생성하는 제너레이터;
d) 블록의 길이와 동일한 길이를 가진 스트링(ST)을 획득하도록, 상기 라운드키 세트의 라운드키(S1,S2,S3,...,SN)의 전체 또는 일부분을 서로 부가(adding)하는 부가 모듈(AM);를 더 포함하고,
e) 상기 부가 모듈은 잔여 암호문 블록(CR)을 획득하기 위해, 잔여 평문 블록(PR)의 길이와 동일한 길이를 가진 스트링(T)을 형성하는 스트링(ST)의 극좌 비트(most left bits)에 잔여 평문 블록(PR)을 부가하고,
f) 상기 전처리 모듈(PM)은 N개의 연속 암호문 블록(C1,C2,C3,...,CN)을 포함하는 시퀀스(SEQC)와 후속하는 잔여 암호문 블록(CR)을 출력단에 생성한다.
바람직한 실시예에서, 암호화, 해독화, XOR과 같은 수학적 연산은 소프트웨어 프로그램 모듈에 비교해서 속도가 빠르고 안정성이 높은 계산 능력을 위해 공지된 하드웨어 모듈을 이용하여 대부분 실행된다.
보안성(security)을 향상시키기 위해, 암호 알고리즘은 제1 평문 블록을 암호화하기 위한 초기화 백터를 이용한 CBC(cipher block chaining) 모드에 기반한다. 이 모드에서, 암호 블록들의 시퀀스의 하나의 블록은 블록 인 퀘스천(block in question) 이전에 암호화된 모든 블록들에 의존한다.
메인 암호화 또는 해독화 키에 기반하여 서브 키를 생성하는 키 스케줄 기능 또는 다른 기능은 암호화 및 해독화에 대해 공통의 구성요소이다. 이 기능은 키를, 의사-랜덤(pseudo-random) 방식으로 대부분 서브키로 불리는 라운드 키(round key)의 세트로 매핑한다.
두개의 디바이스(장치)가 통신할 때, 보안의 문제로 인해 이들 모두가 암호화 및 해독화 기능을 구현하는 것은 바람직하지 않다. 예를 들면, 스마트 카드는 텔레비전 셋탑 박스와 민감한 데이터를 통신하고,
1. 셋탑 박스 상의 암호화 하드웨어는 스마트 카드로부터 페이크 데이터(fake data)를 위조하도록 사용되어서는 안되고,
2. 스마트 카드는 제한된 하드웨어 및/또는 메모리를 가져, 암호화 기능에 대해 최소 공간 필요로 한다.
또한, 이 경우, 순차적 프로세싱(in-order processing)이 바람직한 경우, 이는 데이터 전송을 더 효율적으로 만들기 때문이다. 합리적인 보안 레벨이 제고오디어야 하고, 따라서 상이한 전파(propagation)이 바람직하다. 아래의 표는 전술한 종래 기술의 방법과 본 발명의 방법 사이의 차이점을 나타낸다.
Figure pct00002

본 발명에 따르면 전술한 목적을 달성할 수 있다.
본 발명은 비제한적 실시예로서 주어진 첨부된 도면을 참조한 이하의 상세한 설명을 통해 보다 명확하게 이해될 것이다.
도 1은, 본 발명의 방법의 제1 실시예의 블록도를 나타내는 도면으로, 동일한 길이의 N개의 연속적인 평문 블록들이 암호화되고, 잔여 평문 블록이 암호화 키 상에 키 스케줄 기능을 적용(applying)하여 획득된 라운드 키를 부가하는 것에 의해 형성된 스트링(string)과 결합되는 것을 나타낸 도면.
도 2는 도 1의 실시예의 블록도를 나타내는 도면으로, N개의 연속적인 암호 블록들이 해독되고, 잔여 암호문 블록이 암호 키 상에 키 스케줄 기능을 적용하여 획득된 라운드 키의 조합에 의해 형성된 스트링과 결합되는 것을 나타낸 도면.
도 3은 본 발명의 방법의 제2 실시예의 블록도를 나타낸 도면으로, 동일한 길이를 가진 N개의 연속적인 평문 블록이 체이닝 모드(chainning mode)에서 암호화되고, 잔여 평문 블록은 잔여 암호문 블록을 획득하기 위해 최종 암호문 블록과 암호화 키의 조합 상에 키 스케줄 기능을 적용하여 획득된 라운드키의 조합에 의해 형성되는 스트링과 결합된 것을 나타낸 도면.
도 4는 도 3의 실시예의 블록도를 나타낸 도면으로, N개의 연속적인 암호문 블록들이 체이닝 모드에서 해독되고, 잔여 암호문 블록이 잔여 평문 블록을 획득하기 위해 최종 암호 블록과 암호화 키의 조합 상에 키 스케줄 기능을 적용하여 획득된 라운드 키의 조합에 의해 형성된 스트링과 결합된 것을 나타낸 도면.
암호화하기 위한 평문의 디지털 데이터는 x 비트의 동일한 길이를 가진 N개 블록(P1,P2,P3,...,PN)의 시퀀스와 시퀀스의 블록(P1,P2,P3,...,PN)의 길이보다 짧은 y 비트의 길이를 가진 잔여 블록 PR로 분할된다.
유사한 방식으로, 본 발명의 방법에 의해 암호화된 암호문 데이터(ciphertext data)(C1,C2,C3,...,CN)도 x 비트의 동일한 길이를 가진 N개 블록과, 암호화된 잔여 블록 CR로 분할되고, CR은 시퀀스의 블록(C1,C2,C3,...,CN)의 길이보다 짧은 길이를 가진다. 시퀀스의 암호 블록들과 잔여 암호문 블록 CR은 시퀀스의 평문 블록과 잔여 평문 블록 PR에 대응하는 길이와 동일한 길이를 가진다.
다음의 설명에서, 블록들의 조합은 전처리 모듈(pre-processing module)에서 구현된 부가 모듈(AM:Adding Module)에 의해 다양한 블록상에서 수행된 XOR 연산에 대응한다.
암호화(Encryption)
도 1에 도시된 암호화 프로세스에서, N개 평문 블록(P1,P2,P3,...,PN)의 시퀀스(SEQP)는, 프로세서에 의해 제어되는 레지스터, 곱셈기, 부가(addition) 모듈, 인버터와 같은, 하드웨어와 소프트웨어 모듈을 포함하는 전처리 모듈로 입력된다. 전처리 모듈은 암호화 키 K를 가진 알고리즘 E를 사용하여 N개 입력 평문 블록 시퀀스(P1,P2,P3,...,PN) 상에 연속적인 암호화(E,K)를 수행하는 것에 의한 제1 프로세싱 단계를 수행하여 암호문 블록(C1,C2,C3,...,CN)의 시퀀스를 획득한다.
제2 프로세싱 단계는 평문 블록(P1,P2,P3,...,PN)을 암호화하는데 이용된 암호화 키 K로부터 발행된 2진(binary) 스트링 T로 "암호문화(ciphered)"되는 평문 잔여 블록 PR 상에 수행된다. 전처리 모듈은 암호화 키 K 상에 적용되는 키 스케줄 기능 KS와 같은 암호화 및 해독화에 공통인 구성요소 또는 기능(function)을 사용하여 라운드 키(K1,K2,K3,...,KN)를 생성한다. 이들 라운드 키(K1,K2,K3,...,KN)는 서로 결합되고, 예를 들면 라운드 키(K1,K2,K3,...,KN)의 전체 또는 일부분 상에 연속적인 부가(XOR 연산)에 의해 결합되고, 스트링
Figure pct00003
이 획득된다. 스트링 ST의 길이는 시퀀스 SEQP의 블록의 길이와 동일한 예를 들면 x 비트이다. 통상적으로 암호화 키 K는 적어도 x비트의 길이를 가진다.
잔여 평문 블록 PR의 길이가 시퀀스 SEQP의 블록 중 하나보다 작으면, 스트링 ST는 잔여 평문 블록 PR의 길이에 대응하여 y 극좌(most left) 비트를 유지하기 위해 극우(most right) 비트를 제거하여 길이가 줄어든다. 획득된 스트링 T는 잔여 평문 블록 PR에 부가되고(XOR 연산) y 비트의 길이를 가진 잔여 암호문 블록 CR이 획득되고, CR=PR
Figure pct00004
T이다.
따라서 전처리 모듈은 N개 암호문 블록의 시퀀스 SEQC와 뒤이어 잔여 암호문 블록 CR을 출력한다.
보안성을 향상하는 바람직한 실시예에 따르면, 암호화 알고리즘은 암호문 블록 체이닝(CBC) 모드에 기반하고 여기서 제1 평문 블록 P1은 초기화 벡터 IV에 더해지고, 각각의 다음번 평문 블록 P2,...,PN은 도 3에 도시된 바와 같이 키 K로 암호화되기 이전에 이전 암호문 블록 C1...CN에 더해진다. 초기화 벡터 IV는 랜덤일 수 있고, 가변적이거나 상수일 수 있다.
N개 연속적인 평문 블록(P1,P2,P3,...,PN)의 시퀀스 SEQP는 전처리 모듈 PM으로 입력되고, 전처리 모듈은 N개 연속적인 평문 블록(P1,P2,P3,...,PN)을 암호문 블록 체이닝(CBC) 모드와 미리정해진 암호화 알고리즘을 이용하여 메인 암호화 키 K로 암호화한다. 따라서 평문 블록(P1,P2,P3,...,PN)과 동일한 길이의 N개 연속적인 암호문 블록(C1,C2,C3,...,CN)의 시퀀스 SEQC가 획득된다.
라운드 키(S1,S2,S3,...,SN)는 암호화 키 K에 최종 암호문 블록 CN을 더하여 획득된 스트링 S 상에 예를 들면 키 스케줄 기능(KSF)을 적용하여 생성되고, S = CN
Figure pct00005
K(XOR 연산)이다. 라운드 키(S1,S2,S3,...,SN)의 길이는 바람직하게 시퀀스 SEQC의 암호문 블록의 길이와 동일하다.
이들 라운드 키(S1,S2,S3,...,SN)는 서로 결합되고, 예를 들면 라운드 키(S1,S2,S3,...,SN)의 전체 또는 일부분 상에 연속적인 부가(XOR 연산)에 의해 결합되고, 스트링
Figure pct00006
이 획득된다. 스트링 ST의 길이는 시퀀스 SEQP의 블록의 길이와 동일한 길이를 가진다.
잔여 암호문 블록 CR을 획득하기 위해, 잔여 평문 블록 PR은 잔여 평문 블록 PR의 길이와 동일한 y 비트의 길이를 가진 스트링 T를 형성하는 스트링 ST의 극좌 비트에 더해지고, CR = PR
Figure pct00007
T 이다.
전술한 실시예에서와 같이, 전처리 모듈은 따라서 N개 암호문 블록(C1,C2,C3,...,CN)의 시퀀스 SEQC와 뒤이어 잔여 암호문 블록 CR을 출력한다.
CBC 모드를 이용한 전술한 실시예의 이점은 각각의 암호문 블록이 소정의 블록 이전에 처리된 모든 평문 블록에 의존한다는 것이다. 하나의 블록에서의 에러는 잔여 블록을 포함한 뒤이은 모든 블록에 전파된다.
해독화(Decryption)
도 2에 도시된 해독화 프로세스에서, N개 암호문 블록(C1,C2,C3,...,CN)의 시퀀스 SEQC는, 프로세서에 의해 제어되는 레지스터, 곱셈기, 덧셈기 모듈, 인버터와 같은, 하드웨어와 소프트웨어 모듈을 포함하는 전처리 모듈(pre-processing module)로 입력된다. 전처리 모듈은 암호화 키 K를 가진 알고리즘 E의 역 알고리즘 D를 사용하여 입력된 N개 암호문 블록(C1,C2,C3,...,CN) 시퀀스 상에 연속적인 해독화(D,K)를 수행하는 것에 의한 제1 프로세싱 단계를 수행하고 평문 블록(P1,P2,P3,...,PN)의 시퀀스를 획득한다.
잔여 암호문 블록 CR은 암호문 블록(C1,C2,C3,...,CN)을 해독화하는데 이용된 암호화 키 K로부터 발행된 2진(binary) 스트링 T로 "해독(decrypted)"된다. 전처리 모듈은 암호화에서와 동일한 구성요소 또는 기능(function)을 사용하여, 예를 들면 암호화 키 K 상에 작용된 키 스케줄 기능(KSF)를 사용하여, 라운드 키(K1,K2,K3,...,KN)를 생성한다. 이들 라운드 키(K1,K2,K3,...,KN)는 서로 결합되고, 예를 들면 라운드 키(K1,K2,K3,...,KN)의 전체 또는 일부분 상에 연속적인 부가(XOR 연산)에 의해 결합되고, 스트링
Figure pct00008
이 획득된다. 스트링 ST의 길이는 블록의 길이와 동일한, 예를 들면 x 비트이다. 통상적으로 암호화 키 K는 시퀀스 SEQC의 블록들 중 하나에 대응하는 적어도 x비트의 길이를 가진다.
잔여 암호문 블록 CR의 길이가 시퀀스 SEQC의 블록 중 하나보다 작으면, 스트링 ST는 잔여 암호문 블록 CR의 길이에 대응하여 y 극좌(most left) 비트를 유지하기 위해 극우(most right) 비트를 제거하여 길이가 줄어들고, y 비트의 길이를 가진 잔여 평문 블록 PR이 획득되고, PR = CR
Figure pct00009
T이다.
잔여 암호문 블록 CR = PR
Figure pct00010
T일 때, XOR 연산은 XOR 연산 그 자체와 동일한 역을 가지고, 잔여 평문 블록은 PR = CR
Figure pct00011
T이다.
따라서 전처리 모듈은 N개 평문 블록(P1,P2,P3,...,PN)의 시퀀스 SEQP와 뒤이어 잔여 평문 블록 PR을 출력한다.
해독화 알고리즘이 암호문 블록 체이닝(CBC)에 기반한 바람직한 실시예에 따르면, 일단 해독된 제1 암호문 블록 C1은 초기화 벡터 IV에 더해지고 제1 평문 브록 P1이 획득된다. 최종 암호문 블록 CN을 제외하고 각각의 암호문 블록 C1,...CN-1은 후속하는 해독 블록에 더해지고 도 4에 도시한 바와 같이 평문 블록 P2,...,PN이 획득된다.
N개 연속적인 암호문 블록(C1,C2,C3,...,CN)의 시퀀스 SEQC는 전처리 모듈 PM으로 입력되고, 전처리 모듈은 N개 연속적인 암호문 블록(C1,C2,C3,...,CN)을 암호문 블록 체이닝(CBC) 모드와 암호화 알고리즘 E의 역인 미리정해진 해독화 알고리즘 D을 이용하여 메인 암호화 키 K로 해독한다. 따라서 암호문 블록(C1,C2,C3,...,CN)과 동일한 길이의 N개의 연속 평문 블록(P1,P2,P3,...,PN)의 시퀀스 SEQP가 획득된다.
라운드 키(S1,S2,S3,...,SN)는 암호화와 동일한 구성요소 또는 기능을, 예를 들면 키 스케줄 기능(KSF)을 암호화 키 K에 최종 암호문 블록 CN을 더하여 획득된 스트링 S 상에 적용하여 생성되고, S = CN
Figure pct00012
K(XOR 연산)이다. 라운드 키(S1,S2,S3,...,SN)의 길이는 바람직하게 시퀀스 SEQC의 암호문 블록의 길이와 동일하다.
이들 라운드 키(S1,S2,S3,...,SN)는 서로 결합되고, 예를 들면 라운드 키(S1,S2,S3,...,SN)의 전체 또는 일부분 상에 연속적인 부가(XOR 연산)에 의해 결합되고, 블록의 길이와 동일한 길이를 가진 스트링
Figure pct00013
이 획득된다.
잔여 평문 블록 PR을 획득하기 위해, 잔여 암호문 블록 CR은 잔여 암호문 블록 CR의 길이와 동일한 y 비트의 길이를 가진 스트링 T를 형성하는 스트링 ST의 극좌 비트에 더해지고, PR = CR
Figure pct00014
T 이다.
전술한 실시예에서와 같이, 전처리 모듈은 따라서 N개 평문 블록(P1,P2,P3,...,PN)의 시퀀스 SEQP와 뒤이어 잔여 잔여 평문 블록 PR을 출력한다.
실시예(Example)
예를 들면, 본 발명의 방법은, 평문 블록이 P1, P2, P3이고, P1, P2는 128비트의 길이를 가지고, P3는 32비트의 길이를 가진 잔여 평문 블록일 때, 키 K와 초기화 벡터 IV를 가진 CBC 모드에서, AES-128(Advanced Encryption Standard, with blocks of 128bit) 암호화/해독화 알고리즘을 사용하는 것에 의해 적용될 수 있고, 다음과 같이 암호화된다.
1. 주어진 초기화 벡터 IV, 128비트의 암호문 블록은 아듬과 같이 생성된다.
a. C1=AES-128_Enc(K,P1 XOR IV) 및
b. C2=AES-123_Enc(K,P2 XOR C1)
2. 128비트 스트링 S는 128 비트 C2의 최종 암호문 블록과 키 K를 XOR 연산하는 것으로 형성된다. AES-128 알고리즘의 키 스케줄 기능 KSF가 스트링 S에 대응하는 11개의 라운드 키(S1,S2,S3,...,S11)를 결정하는데 이용된다. 128 비트 스트링의 11개의 라운드 키는 서로 XOR 연산되고
Figure pct00015
이 획득되고, 스트링 ST의 첫번째 32비트가 스트링 T로서 저장된다.
3. 32비트의 잔여 암호문 블록 C3는 P3 XOR T에 의해 획득되고, 암호화된 128비트 블록 C1, C2, 후속된 잔여 암호문 블록 C3의 시퀀스 SEQC가 리턴된다.
다른 실시예(Further embodiments)
다른 실시예에 따르면, 본 발명의 방법은 암호화 키 K로부터 발행된 라운드 키에 적어도 하나의 상수 X를 부가하는 것, 예를 들면
Figure pct00016
에 의해 또는 암호화 키 K와 최종 암호문 블록 CN의 조합(S = K
Figure pct00017
CN), 예를 들면,
Figure pct00018
로부터 개별화(personalized)될 수도 있다. 상수 X의 길이는 라운드 키의 길이에 대응한다.
상수 X는 전처리 모듈을 포함하는 장치의 사양(particulars)에 대응하는, 예를 들면 전처리 모듈의 메모리에 저장된 2진 스트링의 형태인 임의의 수일 수 있다. 예를 들면, 상수는 블록 암호화/해독화를 수행하는 장치 예를 들면 텔레비전 셋탑 박스의 일련번호, 고객 또는 장치의 사용자에 연관된 번호, 특정 제품에 연관된 번호, 날자와 시간과 같은 일시적 정보, 장치 위치 코드등으로 이루어질 수 있다. 상수 X의 부가 연산(XOR)을 수행하기 위해, 본 발명의 시스템은 적당한 하드웨어/소프트웨어를 더 포함한다.
상수 X는 키 스케줄 기능(KSF)을 적용하기 이전에 주 암호화 키 K에 부가하는 것에 의해 결합될 수도 있으며, 예를 들면 CBC 알고리즘을 이용한 실시예에서 K' = K
Figure pct00019
X 또는 S' = K
Figure pct00020
CN
Figure pct00021
X이다. 상수 X의 길이는 이 경우 암호화 키 K' 또는 S'의 길이에 대응한다. 이어서 키 스케줄 기능이 획득된 키 K', S' 각각에 적용된다. 전술한 실시예에서와 같이, 본 발명의 실시예는 상수 X의 부가 연산(XOR) 수행하도록 구성된 하드웨어/소프트웨어를 더 포함한다.
상수 X는 스트링 ST의 길이를 줄인 후에 획득된 스트링 T와 결합(예를 들면 XORed)될 수 있다. 잔여 블록의 길이와 동일한 스트링 T의 길이에 의존하여, 상수는 필요하다면, 즉좌 비트의 수가 스트링 T 또는 잔여 블록의 비트의 수와 동일하도록 길이를 줄일 수 있다.
CBC 모드를 포함하는 본 발명의 실시예에서, 상수는 제1 블록을 암호화 또는 해독화하는데 이용된 초기화 벡터 IV에 대응할 수도 있다.
동일한 상수 또는 상이한 상수가 라운드 키 및/또는 암호화 키(K,S) 및/또는 스트링 T 및/또는 동일한 암호화 또는 해독화 프로세스에서의 초기치(initialization)로서 제1 블록에 결합될 수도 있음에 주의해야 한다. 예를 들면, 장치 일련번호는 초기화 벡터로서 이용될 수도 있고, 및/또는 제품 번호는 라운트 키에 결합될 수 있으며, 및/또는 단절된(truncated) 사용자 번호가 스트링 T와 결합될 수도 있다.

Claims (10)

  1. 각각 x 비트의 동일한 길이의 N개의 연속 블록(P1,P2,P3,...,PN)을 포함하는 시퀀스(SEQP)와, N개의 연속 평문 블록(P1,P2,P3,...,PN) 중 하나의 블록의 길이보다 짧은 y 비트의 길이를 가진 잔여 평문 블록(PR)으로 분할된 평문 디지털 데이터를 암호화하는 방법에 있어서, 상기 방법은,
    a) N개의 연속 평문 블록(P1,P2,P3,...,PN)의 시퀀스(SEQP)를 전처리 모듈(pre-processing module,PM)로 입력하는 단계 - 전처리 모듈은 적어도 암호화 모듈(ciphering module,CM), 부가 모듈(addition module, AM), 레지스터, 주 암호화 키(K)를 포함하는 메모리를 포함하고, 부가 모듈(AM)은 비트들에 대해서 논리적 XOR 연산을 수행함 - ; 및
    b) N개의 연속 평문 블록(P1,P2,P3,...,PN)을, CBC(cipher block chaining) 모드에 기반한 암호화 알고리즘을 이용하여 주 암호화 키(K)에 의해 암호문화(ciphering)하는 단계 - 여기서 제1 블록은 초기화 벡터(IV)에 부가되고 후속되는 각각의 평문 블록은 주 암호화 키(K)로 암호화되기 이전에 이전 암호문화된 블록에 부가되고, 평문 블록(P1,P2,P3,...,PN)의 길이와 동일한 N개의 연속 암호문 블록(C1,C2,C3,...,CN)의 시퀀스(SEQC)가 획득됨 - ;를 포함하고,
    c) 주 암호화 키(K)에 최종 암호문 블록(CN)을 부가하는 것에 의해 획득된 스트링(ST) 상에 키 스케줄 기능(key schedule function,KSF)을 적용하여, 동일한 길이를 가진 라운드 키(S1,S2,S3,...,SN)의 세트를 생성하는 단계;
    d) 블록의 길이와 동일한 길이를 가진 스트링(ST)을 획득하도록, 부가 모듈(AM)에 의해 상기 라운드키 세트의 라운드키(S1,S2,S3,...,SN)의 전체 또는 일부분을 서로 부가(adding)하는 단계;
    e) 잔여 암호문 블록(CR)을 획득하기 위해, 잔여 평문 블록(PR)의 길이와 동일한 길이를 가진 스트링(T)을 형성하는 스트링(ST)의 극좌 비트(most left bits)에 잔여 평문 블록(PR)을 부가하는 단계; 및
    f) 이전 획득된 N개의 연속 암호문 블록(C1,C2,C3,...,CN)을 포함하는 시퀀스(SEQC)와 후속하는 잔여 암호문 블록(CR)을 출력하는 단계;를 더 포함하는 것을 특징으로 하는 암호화 방법.
  2. 제1항에 따른, 연속적인 암호문 블록(C1,C2,C3,...,CN)의 시퀀스와 후속하는 잔여 암호문 블록(CR)을 해독화(decrypting)하는 방법에 있어서,
    a) N개의 연속 암호문 블록(C1,C2,C3,...,CN)의 시퀀스(SEQC)를 전처리 모듈(PM)로 입력하는 단계 - 전처리 모듈은 적어도 해독화 모듈(deciphering module,DM), 부가 모듈(AM), 레지스터, 주 암호화 키(K)를 포함하는 메모리를 포함하고 있음 - ; 및
    b) 암호문 블록(C1,C2,C3,...,CN)과 동일한 길이의 N개의 연속 평문 블록(P1,P2,P3,...,PN)의 시퀀스(SEQP)를 획득하기 위해, N개의 연속 암호문 블록(C1,C2,C3,...,CN)을, CBC 모드와 미리결정된 암호화 알고리즘을 이용하여 주 암호화 키(K)에 의해 비암호문화(deciphering)하는 단계;
    c) 주 암호화 키(K)에 최종 암호문 블록(CN)을 부가하는 것에 의해 획득된 스트링(S) 상에 키 스케줄 기능(KSF)을 적용하여, 동일한 길이를 가진 라운드 키(S1,S2,S3,...,SN)의 세트를 생성하는 단계;
    d) 블록의 길이와 동일한 길이를 가진 스트링(ST)을 획득하도록, 부가 모듈(AM)에 의해 상기 라운드키 세트의 라운드키(S1,S2,S3,...,SN)의 전체 또는 일부분을 서로 부가(adding)하는 단계;
    e) 잔여 평문 블록(PR)을 획득하기 위해, 잔여 암호문 블록(CR)의 길이와 동일한 길이를 가진 스트링(T)을 형성하는 스트링(ST)의 극좌 비트(most left bits)에 잔여 암호문 블록(CR)을 부가하는 단계; 및
    f) 이전 획득된 N개의 연속 평문 블록(P1,P2,P3,...,PN)을 포함하는 시퀀스(SEQP)와 후속하는 잔여 평문 블록(PR)를 출력하는 단계를 포함하는 것을 특징으로 하는 해독화 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 초기화 벡터(IV)는 상기 전처리 모듈(PM)을 포함하는 장치의 사양(particulars)에 연관된 상수(constant)인 것을 특징으로 하는 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    전처리 모듈(PM)을 포함하는 장치의 사양에 연관된 적어도 하나의 상수는 주 암호화 키(K)로부터, 또는 최종 암호문 블록(CN)에 주 암호화 키(K)을 부가한 것으로부터 발행된(issued) 라운드 키(S1,S2,S3,...,SN)에 부가되는 것을 특징으로 하는 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    전처리 모듈(PM)을 포함하는 장치의 사양에 연관된 적어도 하나의 상수는 키 스케줄 기능(KSF)을 적용하기 이전에 주 암호화 키(K) 또는 최종 암호문 블록(CN)에 부가된 주 암호화 키(K)에 부가되는 것을 특징으로 하는 방법.
  6. 각각 x 비트의 동일한 길이의 N개의 연속 블록(P1,P2,P3,...,PN)을 포함하는 시퀀스(SEQP)와, N개의 연속 평문 블록(P1,P2,P3,...,PN) 중 하나의 블록의 길이보다 짧은 y 비트의 길이를 가진 잔여 평문 블록(PR)으로 분할된 평문 디지털 데이터를 암호화하도록 구성되는 시스템에 있어서,
    적어도 암호화 모듈(ciphering module,CM), 부가 모듈(addition module, AM), 레지스터, 주 암호화 키(K)를 포함하는 메모리를 포함하는 전처리 모듈(PM) - 전처리 모듈(PM)은 입력단에서 N개의 연속 평문 블록(P1,P2,P3,...,PN)의 시퀀스(SEQP)를 수신하도록 적응되고, 부가 모듈(AM)은 비트들에 대해서 논리적 XOR 연산을 수행함 - ;
    b) N개의 연속 평문 블록(P1,P2,P3,...,PN)을, CBC 모드에 기반한 암호화 알고리즘을 이용하여 암호문화하도록 구성된 암호화 모듈(chiphering module,CM) - 여기서 제1 블록은 초기화 벡터(IV)에 부가되고 후속되는 각각의 평문 블록은 주 암호화 키(K)로 암호화되기 이전에 이전 암호문화된 블록에 부가되고, 평문 블록(P1,P2,P3,...,PN)의 길이와 동일한 N개의 연속 암호문 블록(C1,C2,C3,...,CN)의 시퀀스(SEQC)가 획득됨 - ;를 포함하고,
    c) 주 암호화 키(K)에 최종 암호문 블록(CN)을 부가하는 것에 의해 획득된 스트링(ST) 상에 키 스케줄 기능(key schedule function,KSF)을 적용하여, 동일한 길이를 가진 라운드 키(S1,S2,S3,...,SN)의 세트를 생성하는 제너레이터;
    d) 블록의 길이와 동일한 길이를 가진 스트링(ST)을 획득하도록, 상기 라운드키 세트의 라운드키(S1,S2,S3,...,SN)의 전체 또는 일부분을 서로 부가(adding)하는 부가 모듈(AM);를 더 포함하고,
    e) 상기 부가 모듈은 잔여 암호문 블록(CR)을 획득하기 위해, 잔여 평문 블록(PR)의 길이와 동일한 길이를 가진 스트링(T)을 형성하는 스트링(ST)의 극좌 비트(most left bits)에 잔여 평문 블록(PR)을 부가하고,
    f) 상기 전처리 모듈(PM)은 N개의 연속 암호문 블록(C1,C2,C3,...,CN)을 포함하는 시퀀스(SEQC)와 후속하는 잔여 암호문 블록(CR)을 출력단에 생성하도록 더 구성된 것을 특징으로 하는 시스템.
  7. 제6항에 따른, 전처리 모듈(PM)에 의해 암호화된 연속적인 암호문 블록(C1,C2,C3,...,CN)의 시퀀스와 후속하는 잔여 암호문 블록(CR)을 해독화(decrypting)하도록 구성된 시스템에 있어서,
    a) 적어도 해독화 모듈(deciphering module,DM), 부가 모듈(AM), 레지스터, 주 암호화 키(K)를 포함하는 메모리를 포함하는 전처리 모듈(PM) - 전처리 모듈은 입력단에서 N개의 연속 암호문 블록(C1,C2,C3,...,CN)의 시퀀스(SEQC)를 수신하도록 적응됨 - ;
    b) 암호문 블록(C1,C2,C3,...,CN)과 동일한 길이의 N개의 연속 평문 블록(P1,P2,P3,...,PN)의 시퀀스(SEQP)를 획득하기 위해, N개의 연속 암호문 블록(C1,C2,C3,...,CN)을, CBC 모드에 기반한 해독화 알고리즘을 이용하여 주 암호화 키(K)에 의해 비암호문화(deciphering)하는 해독화 모듈(DM)를 포함하고,
    c) 주 암호화 키(K)에 최종 암호문 블록(CN)을 부가하는 것에 의해 획득된 스트링(S) 상에 키 스케줄 기능(KSF)을 적용하여, 동일한 길이를 가진 라운드 키(S1,S2,S3,...,SN)의 세트를 생성하는 제너레이터;
    d) 블록의 길이와 동일한 길이를 가진 스트링(ST)을 획득하도록, 상기 라운드키 세트의 라운드키(S1,S2,S3,...,SN)의 전체 또는 일부분을 서로 부가(adding)하는 부가 모듈(AM);을 더 포함하고,
    e) 상기 부가 모듈(AM)은 잔여 평문 블록(PR)을 획득하기 위해, 잔여 암호문 블록(CR)의 길이와 동일한 길이를 가진 스트링(T)을 형성하는 스트링(ST)의 극좌 비트(most left bits)에 잔여 암호문 블록(CR)을 부가하고;
    f) 상기 전처리 모듈(PM)은 출력단에서 N개의 연속 평문 블록(P1,P2,P3,...,PN)을 포함하는 시퀀스(SEQP)와 후속하는 잔여 평문 블록(PR)를 생성하도록 더 구성된 것을 특징으로 하는 시스템.
  8. 제6항 또는 제7항에 있어서,
    상기 초기화 벡터(IV)는 상기 전처리 모듈(PM)을 포함하는 장치의 사양(particulars)에 연관된 상수(constant)인 것을 특징으로 하는 시스템.
  9. 제6항 내지 제8항 중 어느 한 항에 있어서,
    전처리 모듈(PM)을 포함하는 장치의 사양에 연관된 적어도 하나의 상수를 주 암호화 키(K)로부터, 또는 최종 암호문 블록(CN)에 주 암호화 키(K)을 부가한 것으로부터 발행된(issued) 라운드 키(S1,S2,S3,...,SN)에 부가하도록 구성된 하드웨어/소프트웨어를 더 포함하는 것을 특징으로 하는 시스템.
  10. 제6항 내지 제9항 중 어느 한 항에 있어서,
    전처리 모듈(PM)을 포함하는 장치의 사양에 연관된 적어도 하나의 상수를, 키 스케줄 기능(KSF)을 적용하기 이전에 주 암호화 키(K) 또는 최종 암호문 블록(CN)에 부가된 주 암호화 키(K)에 부가하도록 구성된 하드웨어/소프트웨어를 더 포함하는 것을 특징으로 하는 시스템.
KR1020157007837A 2012-10-05 2013-10-03 디지털 데이터 블록 암호화 및 해독화 방법 KR20150064042A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261709996P 2012-10-05 2012-10-05
EP12187340.0 2012-10-05
US61/709,996 2012-10-05
EP12187340.0A EP2717511A1 (en) 2012-10-05 2012-10-05 Method and device for digital data blocks encryption and decryption
PCT/EP2013/070610 WO2014053589A1 (en) 2012-10-05 2013-10-03 Method and device for digital data blocks encryption and decryption

Publications (1)

Publication Number Publication Date
KR20150064042A true KR20150064042A (ko) 2015-06-10

Family

ID=46982478

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157007837A KR20150064042A (ko) 2012-10-05 2013-10-03 디지털 데이터 블록 암호화 및 해독화 방법

Country Status (4)

Country Link
US (1) US9219606B2 (ko)
EP (2) EP2717511A1 (ko)
KR (1) KR20150064042A (ko)
WO (1) WO2014053589A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2884692B1 (en) * 2013-12-13 2020-05-20 Nxp B.V. Updating software on a secure element
EP3119031A1 (en) * 2015-07-16 2017-01-18 ABB Schweiz AG Encryption scheme using multiple parties
US10887080B2 (en) * 2017-03-16 2021-01-05 King Fahd University Of Petroleum And Minerals Double-hashing operation mode for encryption
US20200279258A1 (en) * 2019-03-01 2020-09-03 Visa International Service Association Mobile payments using multiple cryptographic protocols
CN112468993B (zh) * 2020-09-25 2023-07-04 中信科智联科技有限公司 消息发送方法、接收方法、装置及设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5684876A (en) * 1995-11-15 1997-11-04 Scientific-Atlanta, Inc. Apparatus and method for cipher stealing when encrypting MPEG transport packets
US7483535B2 (en) * 2004-09-15 2009-01-27 Hewlett-Packard Development Company, L.P. Transmission of generalized scalable bit-streams
US8345713B2 (en) * 2006-10-25 2013-01-01 Verizon Patent And Licensing Inc. Methods and apparatus for content scrambling in a communications system
US8538012B2 (en) * 2007-03-14 2013-09-17 Intel Corporation Performing AES encryption or decryption in multiple modes with a single instruction
EP2197144A1 (en) * 2008-12-15 2010-06-16 Thomson Licensing Methods and devices for a chained encryption mode

Also Published As

Publication number Publication date
EP2717511A1 (en) 2014-04-09
US20150263858A1 (en) 2015-09-17
EP2904731A1 (en) 2015-08-12
WO2014053589A1 (en) 2014-04-10
EP2904731B1 (en) 2018-12-05
US9219606B2 (en) 2015-12-22

Similar Documents

Publication Publication Date Title
JP4976107B2 (ja) データのユニットをスクランブル及びデスクランブルする方法
US8259934B2 (en) Methods and devices for a chained encryption mode
US8170204B2 (en) Method and system for extending advanced encryption standard (AES) operations for enhanced security
US9515818B2 (en) Multi-block cryptographic operation
CN108123794A (zh) 白盒密钥的生成方法和加密方法、装置及系统
US20060023875A1 (en) Enhanced stream cipher combining function
JP5901884B2 (ja) 個人向けホワイトボックス・デスクランバー
EP2487829A1 (en) Method and device for generating control words
EP2904731B1 (en) Method and device for digital data blocks encryption and decryption
Asaad et al. Partial image encryption using RC4 stream cipher approach and embedded in an image
US8804953B2 (en) Extensive ciphertext feedback
US8130949B2 (en) Partially reversible key obfuscation
KR101566416B1 (ko) 보안성이 향상된 암·복호화 장치 및 방법
KR20110042419A (ko) 멀티미디어 환경에 적용 가능한 블록암호 운용방법
Anand et al. Enhanced AES algorithm using 512 bit key implementation
GB2463031A (en) Encrypting data or providing an encryption key
Rao et al. Chaotic Algorithms used for Encryption and Decryption on Moving Images
Pathak et al. Towards the Proposal of Mobile Security Encryption Algorithm:“RHINO256”
Bengtz Analysis of new and alternative encryption algorithms and scrambling methods for digital-tv and implementation of a new scrambling algorithm (AES128) on FPGA.
CN114143022A (zh) 数据加密方法、数据传输方法和数据解密方法及相关装置
Devi et al. A Research: Image Encryption Using Chaotic and Logistic Map and Pixel Hobbling
SB et al. Keyless Approach of Separable Hiding Data into Encrypted Image
Sameenah et al. KEYLESS APPROACH OF SEPARABLE HIDING DATA INTOENCRYPTED IMAGE

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right