KR20100005203A - 간단하고 효율적인 원패스 인증 암호화 방법 - Google Patents

간단하고 효율적인 원패스 인증 암호화 방법 Download PDF

Info

Publication number
KR20100005203A
KR20100005203A KR1020097020898A KR20097020898A KR20100005203A KR 20100005203 A KR20100005203 A KR 20100005203A KR 1020097020898 A KR1020097020898 A KR 1020097020898A KR 20097020898 A KR20097020898 A KR 20097020898A KR 20100005203 A KR20100005203 A KR 20100005203A
Authority
KR
South Korea
Prior art keywords
block
initial vector
blocks
sequence
plain text
Prior art date
Application number
KR1020097020898A
Other languages
English (en)
Other versions
KR101091246B1 (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 KR20100005203A publication Critical patent/KR20100005203A/ko
Application granted granted Critical
Publication of KR101091246B1 publication Critical patent/KR101091246B1/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/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
    • H04KSECRET COMMUNICATION; JAMMING OF COMMUNICATION
    • H04K1/00Secret communication
    • H04K1/04Secret communication by frequency scrambling, i.e. by transposing or inverting parts of the frequency band or by inverting the whole band
    • 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

Abstract

본 발명은 동일한 레벨의 안정성을 제공하면서 기존의 단일 패스 인증 암호화 방식보다 더 효율적인 암호화 방법 및 장치를 제공한다. 이들 방법의 필수 부분인 초기 벡터는 증분으로 안전한 방식으로 선택된다. 또한 이것은 그 방법의 다른 필수 부분인 페어와이즈 디퍼런셜 균일 시퀀스 또는 XOR 유니버설 시퀀스를 생성하는 증분적 방법을 유도한다. 이들 시퀀스의 증분적 생성은 암호화되는 서로 다른 평문 텍스트 메시지에 걸쳐서까지 연장하고, 암호화하는 시간을 실질적으로 절약하게 한다. 암호화의 다른 단계는 여분의 것으로 보이고 이전 방식 이상으로 절약하게 된다. 다른 실시예는 평문 블럭을 두 세트로 나누고, 한 세트에서의 암호화 모드의 블럭 암호 및 다른 세트에서의 복호화 모드의 블럭 암호를 이용하여, 유리한 하드웨어 해결책에 이른다.

Description

간단하고 효율적인 원패스 인증 암호화 방법{A SIMPLE AND EFFICIENT ONE-PASS AUTHENTICATED ENCRYPTION SCHEME}
본 발명은 메시지 무결성(integrity)을 보장하면서 입력 메시지를 암호화하여 출력 메시지로 변환하는 방법 및 장치에 관한 것이다.
암호화 시스템은 데이터 처리 분야에서 알려져 있다. 일반적으로, 이들 시스템은, 암호문(cipher-text) 메시지를 생성하는 암호화 키, 대칭형 키 블럭 암호(symmetric key block cipher)를 사용하여, 평문(plain-text) 입력 메시지에 대해 암호화 동작을 실행함으로써 동작한다. 그러면, 암호화된 메시지는 신뢰성 없고 불안정안 채널을 통해 비밀 키를 공유하는 수신기로 송신될 수 있다. 암호화된 메시지의 수신기는 평문 블럭을 복구하기 위해 동일한 키를 이용하여 대응하는 복호화 동작을 실행한다. 동일한 키가 메시지의 송신기 및 수신기 양쪽에서 사용되기 때문에, 프로세스는 "대칭형 키" 프로세스라고 불린다.
메시지 무결성에 관한 문제가 있다. 부연하면, 암호문 메시지의 수신기가 암호문을 복호화할 수 있다고 하여도, 수신기는 암호문이 송신 중에 우연히 또는 고의로 변경되지 않았다는 것을 확신할 수 없다. 메시지 무결성을 확보하기 위해, 암호문 메시지가 메시지 인증 코드(message authentication code, MAC)와 함께 수신된다. 이 MAC는 암호화 해쉬(cryptographic hash) 함수를 이용하여 암호문으로부터 송신기에 의해 생성된다.
최근, 미국 특허 7,093,126호 및 6,963,976호에서 기술된 IACBC, IAPM을 포함하여, 여러가지의 원패스 인증 암호화 방식이 제안되고 있다. 이들 방식은 암호화 및 메시지 무결성을 모두 제공한다. 이들 방식의 그 이상의 변형은 미국 특허 7,046,802호의 방식 OCB에 기술되어 있다.
그러나, 이들 방식은 그들 메커니즘에서 별도의 단계를 요구하는데, 이 비용은 계산적으로 10~100% 더 비쌀 수 있다. 또한, 이들 방식은 하드웨어 및 소프트웨어의 최적화를 가능한 최대 범위까지 이용하지 못한다.
본 발명의 목적은, 안전하게 암호문을 생성하고, 그 안에 메시지 무결성을 확보하기 위한 체크(checks)를 포함하는, 개선된 암호화 방식 및 장치를 마련하는 것이다.
본 발명의 다른 목적은, MAC에 기반한 방식 및 다른 인증 암호화 방식과 마찬가지로, 적어도 동일한 레벨의 안전성을 유지하면서, 더 적게 추가되는 계산 비용으로 싱글 패스(single pass)의 메시지 무결성을 가진 암호문을 생성하는 암호화 및 복호화 방식 및 장치를 제공하는 것이다.
이들 및 다른 목적은 본 발명의 암호화/복호화 방법 및 장치로 달성된다. 상기 방법 및 장치는 사전 결정된 블럭 암호를 이용하고, 이는 고정된 블럭 사이즈의 암호화 및 복호화를 지원한다. 또한 상기 방법 및 장치는 통상 비밀이 유지되는 블럭 암호용 키를 이용한다.
방법의 실시예는, 평문 메시지를 복수의 평문 블럭으로 분할함으로써, 사용자에게 공급된 안전 초기 벡터(safe initial vector)를 이용하여 평문 메시지를 암호화하고, 복수의 암호문 블럭을 형성하기 위해 안전 초기 벡터 및 블럭 암호를 이용하여 평문 블럭을 암호화하는 단계를 포함한다. 싱글 패스 기술은 이러한 처리에 이용되어 암호문 블럭에 메시지 무결성 체크를 포함시키고, 다시 안전 초기 벡터를 이용한다. 또한 상기 방법은 평문 블럭을 재형성하기 위해 블럭 암호 및 동일한 키를 이용하여 암호문 블럭을 복호화하고, 재형성된 평문 블럭의 무결성을 테스트하기 위해 암호문 블럭 내의 메시지 무결성 체크를 테스트하는 단계를 더 포함한다.
안전 초기 벡터를 이용하여 암호문 블럭 내에 메시지 무결성 체크를 포함시키고, 경우에 따라 다를 수 있지만, 아래에 정의될 의미에서 페어와이즈 디퍼런셜 균일한(pair-wise differentially uniform) 의사 랜덤수의 세트를 생성하기 위해 이 안전 초기 벡터를 확장시키고, 암호문 블럭이 형성됨에 따라 암호문 블럭에 메시지 무결성 체크를 내장시키는 데 의사 랜덤수의 세트를 이용하는 실시예를 채용하는 것이 종종 유리하다. 이들 실시예에서, 복호화 프로세스 중에, 안전 초기 벡터 및 의사 랜덤수의 세트는 암호문 블럭으로부터 얻어지고, 암호문 블럭이 복호화되면, 이들 의사 랜덤수의 세트는 암호문 블럭으로부터 평문 블럭을 재형성하는 데 사용된다. 또한, 테스트 단계는 사전 결정된 테스트를 재형성된 평문 블럭에 적용하여 재형성된 평문 블럭의 무결성을 테스트하는 단계를 유리하게 포함한다.
다른 실시예에서, 메시지 무결성 체크는 암호문 블럭 및 부분 블럭 태그 내에 내장된다. 그러한 실시예에서는, 재형성된 평문 블럭이 사전 결정된 테스트를 이용하여 태그에 대하여 테스트되고, 이것은 다른 암호화 또는 복호화 단계를 포함할 수 있다.
다른 실시예에서, 상기 방법은, 평문 메시지를 복수의 평문 블럭으로 분할함으로써, 사용자에게 공급된 초기 벡터(IV)를 사용하는 평문 메시지를 암호화하고, 그들을 두 세트로 분할함으로써 평문 블럭을 암호화하고, 하나의 세트에서의 암호화 모드의 블럭 암호 및 다른 세트에서의 복호화 모드의 블럭 암호를 이용하여 복수의 암호문 블럭을 형성하는 단계를 포함한다. 상기 방법은, 암호문 블럭을, 대응하는 두 세트로 분할함으로써 암호화하고, 각각의 하나의 세트에서의 암호화 모드의 블럭 암호 및 각각의 다른 세트에서의 복호화 모드의 블럭 암호를 사용하여 평문 블럭을 재형성하는 단계를 더 포함한다. 메시지 무결성 체크는 상술한 실시예와 같이 내장된다.
t 개의 평문 메시지의 시퀀스를 암호화할 때, 인덱스 i는 1 내지 t까지이고, n비트수(또는 초기 벡터)의 시퀀스는 IV1, IV2, ..., IVt인 len[i] 블럭까지의 각 길이는, 모든 메시지 인덱스 i, i1에 대해, 1 내지 t이고, i는 i1과 다른 것이며, 번호 j는 0 내지 len[i]+1까지이고, j1은 0 내지 len[i1]+1까지이고, IVi+j는 IVi1+j1과 동일하지 않은 경우에, 안전하다고 말한다.
일 실시예에서, 각 메시지의 초기 벡터는 랜덤하고 독립적으로 선택될 수 있고, 그렇게 선택된 초기 벡터는 매우 높은 확률로 상기 정의에 의해 안전할 것이다.
다른 실시예에서, 동일한 비밀 키를 사용하여 암호화될 제 1 메시지에 대해, 초기 벡터는 1로 설정될 수 있다. 즉, IV1은 1로 초기화될 수 있다. 그 때부터, 귀납적으로, 다음 메시지의 IV는 이전 메시지의 IV에, 2를 더한 정수 블럭의 이전 메시지의 길이를 더한 것으로 설정될 수 있다. 이것은 상기 방법이 안전 초기 벡터 증분을 생성하게 한다.
n비트 랜덤수 시퀀스의 S1, S2, ..., Sm는, 각 Si가 균일하게 분포되어 있으면, 페어와이즈 디퍼런셜 균일이라고 불리고, 모든 i, i1에 대해, i는 i1과 동일하지 않고, i, i1은 1 내지 m까지이고, 모든 n 비트 상수 c에 대해, Si 및 Si1의 n비트 배타적 논리합(exclusive-or)이 c와 같을 확률은 많아야 2의 -n승이다. 그러한 시퀀스는 또한 암호화 분야에서 XOR-유니버설(universal)이라고도 불린다.
본 발명의 또 다른 이익 및 이점은 첨부 도면을 참고하여 기술되는 다음의 상세한 설명으로부터 명백해질 것이며, 이들은 본 발명의 예시적 실시예를 특정 및 도시한다.
도 1은 일반적인 종래의 암호화/복호화 절차를 도시하는 도면,
도 2는 종래의 암호화 메커니즘을 도시하는 도면,
도 3은 종래의 복호화 메커니즘을 도시하는 도면,
도 4는 메시지 무결성을 또한 보장하는 종래의 암호화 프로세스를 도시하는 도면,
도 5는 도 4의 생성기가 어떻게 동작하는지를 도시하는 흐름도,
도 6은 일반적인 종래의 복호화 프로세스의 예를 도시하는 도면,
도 7은 종래의 복호화 프로세스의 동작을 더 상세히 도시하는 도면,
도 8은 종래의 병렬화 가능한 암호화 메커니즘을 도시하는 도면,
도 9는 메시지 무결성을 가진 암호화를 위한 종래의 장치를 도시하는 도면,
도 10은 종래의 복호화 장치를 도시하는 도면,
도 11은 본 발명을 구체화하는 암호화 프로세스를 나타내는 도면,
도 12는 안전 초기 벡터를 생성하는 절차를 설명하는 도면,
도 13은 본 발명의 실시예에 따른 페어와이즈 디퍼런셜 균일 시퀀스 생성기의 동작을 나타내는 흐름도,
도 14는 본 발명을 구체화하는 다른 암호화 프로세스를 나타내는 도면,
도 15는 도 14의 생성기가 어떻게 동작하는지를 나타내는 흐름도,
도 16은 도 14의 생성기를 이용하여 메시지 무결성을 가진 암호화 장치를 나타내는 도면,
도 17은 암호화기 및 복호화기 모두를 사용하는 인증 암호화 방법을 도시하는 도면,
도 18은 대안적인 인증 암호화 프로세스를 도시하는 도면,
도 19는 출력 메시지의 크기를 감소시키는, 본 발명의 또 다른 실시예를 설명하는 도면,
도 20은 도 19의 체크섬 및 R 결합기(checksum and R combiner)의 동작을 설명하는 도면이다.
본 명세서 및 도면에서, 평문 메시지는 "P"로 나타내고, 암호문 메시지는 "C"로 나타낸다. 평문 및 암호문의 길이는 블럭으로 측정되고, 블럭은 이 구조에 사용된 블럭 암호의 입력/출력의 비트수이다. 블럭 사이즈라고 불리는 이 수를 n으로 표시할 것이다. 따라서, 평문 P가 m 블럭의 길이이면, 이 메시지의 개별적 블럭은 P1, P2, ..., Pm으로 표시된다. 마찬가지로, 암호문 블럭은 C1, C2, ..., Cm으로 표시된다.
또한, 동일한 키를 사용하는 암호화 절차의 몇가지 애플리케이션을 언급할 것이다. 예컨대, 동일한 키는 평문 메시지 P1, P2, ..., Pt를 암호화하는데 이용될 수 있다. 메시지의 인덱스는 위첨자(superscript)로 쓸 수 있는 반면, 특정 메시지의 블럭 번호의 인덱스는 아래첨자(subscript)로 쓸 수 있다.
도 1 내지 3은 일반적으로 암호 블럭 체이닝(cipher block chaining, CBC)이라고 불리는 타입의 암호화/복호화 절차를 도시한다. 이 프로세스에서, 송신측은 일정 사이즈, 예컨대, AES에 대해 n=128의 평문 메시지를 블럭 암호(101)를 이용하여 암호화하고, 암호화된 메시지는 불안정한 또는 안전하지 않은 통신 매체(102)를 통해 수신측으로 송신된다. 이 수신측은 복호화 모드(103)에서 동일한 블럭 암호를 사용하여 메시지를 복호화한다. 양쪽 모두 동일한 비밀키 K에 액세스함을 유의한다.
도 2 및 3은 각각, 기초로 되는 블럭 암호의 다수의 블럭 사이즈의 메시지에 대한 암호화 및 복호화 메커니즘을 나타낸다. 도 2를 참고하면, 메커니즘(200)은 도 1에서와 마찬가지로 암호 블럭의 시리즈(101)를 포함한다. 각 암호 블럭에는 동일한 키 K가 마련된다. 또한 첫번째 블럭(101a)에는 n 비트 길이의 랜덤수 r이 마련된다. 체인에서의 연속적인 암호 블럭의 각각에는 평문의 각각의 하나의 블럭(즉, n 비트) 및 체인에서의 이전 블럭의 출력이 제공된다. 유리하게는, 첫 번째 블럭 후의 암호 블럭의 각각에 대해, 배타적 논리합(exclusive or)의 함수가 암호 블럭에 적용된 두 개의 텍스트 블럭에 적용된다. 암호 블럭(101a~101m)의 각각은 하나의 암호문 블럭을 제각각 출력한다.
도 3을 참조하면, 메커니즘(200)에 의해 생성된 긴 암호문 블럭을 복호화하는 메커니즘(300)은 복호화 모드에서 암호 블럭(103)의 시리즈 또는 체인을 포함한다. 각 블럭에는 동일한 키 K 및 암호문 블럭(n 비트의 각각)의 각각의 하나가 마련된다. 체인(103)의 첫번째 블럭(103a)에 대해, 그 블럭 및 첫번째 암호문 블럭 의 출력에 배타적 논리합 동작이 적용된다. 체인(103)의 다른 블럭에 대해, 그 블럭의 출력 및 이전 블럭의 입력에 배타적 논리합 동작이 적용된다. 암호 블럭의 출력에 실행된 배타적 논리합 동작은 원래의 평문 블럭을 생성한다.
도 4 내지 10은 암호화/복호화 프로세스를 도시하고, 이것은 또한 종래기술인 메시지 무결성을 보장한다. 일반적으로, 암호화 프로세스는 세 단계를 포함한다. 제 1 단계는 랜덤 생성 및 그 확장이다. 제 2 단계는 랜덤의 더 큰 확장이며, 제 3 단계는 암호문을 생성하기 위해 상기 생성된 랜덤을 이용하는 평문의 실제 암호화이다.
더 자세하게는, 제 1 단계에서, 랜덤수 r이 생성된다. 랜덤 r은 랜덤을 생성하는 공지의 기술 중 어느 것에 의해 생성될 수 있다. 이 수 r은 키 K2를 갖는 암호 블럭(101)에 적용되어 의사 랜덤수 R을 생성한다. 또한 수 R은 랜덤을 확장하는 임의의 다른 공지의 수단에 의해 얻어질 수도 있다.
이 수 R은 페어와이즈 디퍼런셜 균일 시퀀스 생성기(402)에 공급된다. 이하에 논의되는 프로세스를 이용하는 이 생성기는 각각 n 비트 길이인 S 값의 시리즈, SO, S1, S2, ..., Sm을 출력한다.
도 5는 생성기(402)가 어떻게 작용하는지를 도시하는 흐름도(500)이다.
이 생성기는 공지의 리니어 피드백 시프트 레지스터(LFSR)로서 작용할 수 있다. 우선 갈로아 필드(Galois field) GF(2^n)를 나타내는 1차 다항식 g(x)가 선택된다. 그러한 다항식은 공지된 것이고 문헌에도 공개되어 있다. g는 g(x)-x^n을 나타내는 n 비트 수를 나타낸다고 하자. 단계 501에서, 변수 i는 0과 동일하게 설 정되고, S0은 R과 동일하게 설정되며, 단계 502에서, i는 m과 비교된다. i가 m보다 더 크면, 루틴은 종료된다. 그렇지 않으면, 루틴은 503, 504, 505로 진행한다. 단계 503에서, 변수 Si는 임시 변수 t로 복사된다. 단계 504에서 t는 왼쪽으로 1비트 시프트된다. 단계 505에서, 이전의 시프트 동작으로부터 생성된 자리올림(carry)이 있는지 체크한다. 있다면, 수량(quantity) g와 t가 비트 단위의 배타적 논리합 동작에 의해 결합되어 새로운 t를 생성한다. 생성된 자리올림이 없다면, t는 그대로이다. 단계 507에서, 변수 Si+1은 t로 설정되고 I는 1 증분되며, 루틴은 단계 502로 되돌아간다. 이 프로세스의 중요한 이점은, 확장이 블럭 암호 호출(invocation) 등의 어떤 암호화 동작을 요구하지 않는다는 것이다.
다시 도 4를 참조하면, r 및 S 값이 생성된 후에, 평문 P1~Pm의 블럭이 암호화되어 암호문 블럭 C0~Cm+1을 얻는다. m+2개의 암호 블럭(101)의 시리즈는 이것을 하는데 사용된다. 암호 블럭의 각각에는 키 K1이 제공된다. 또한 첫번째 블럭(101a)에는 랜덤수 r이 제공된다. 마지막 블럭(101n)을 제외한, 후속하는 암호 블럭의 각각에는 평문 블럭과 선행하는 암호 블럭의 출력의 각각의 하나의 조합이 제공된다. 특히, 이 조합은 두 개의 입력에 대해 1 비트 위치 단위로 실행된 배타적 논리합 동작의 결과이다. 시리즈의 마지막 암호 블럭(101n)에는 (i) 이전 블럭의 출력 및 (ii) 평문 블럭 P1, P2, ..., Pm의 시퀀스에 대해 실행된 배타적 논리합 동작의 시리즈의 결과의 조합이 제공된다. 이 조합은 두 개의 입력에 대해 실행된 배타적 논리합 동작의 결과이다.
첫번째 암호 블럭(101)의 출력은 암호문 C0의 첫번째 블럭이다. 암호문의 다른 블럭 C1~Cm은 각 암호 블럭의 출력 및 S 값의 각기 하나에 1 비트 위치 단위로 배타적 논리합 동작을 실행함으로써 얻어진다. 특히, S1~Sm은 블럭(101b~101m)의 출력에 각각 적용되고, S0은 마지막 블럭(101n)의 출력에 적용된다.
도 6은 일반적인 복호화 프로세스의 예를 도시한다. 이 프로세스에서, 암호문 블럭은 평문 블럭을 출력하는 복호화(601)에 적용된다. 그 후에 이들 평문 블럭은, Pm+1이 평문 블럭 P1, ..., Pm의 시퀀스에 1 비트 위치 단위로 배타적 논리합 함수를 적용하는 것에 의해 얻어진 결과와 동일한지를 판정하는데 사용된다. Pm+1이 각각 이 결과와 동일하거나 또는 동일하지 않은지에 따라, 메시지는 무결성 테스트에서 통과 또는 실패한다.
도 7은 복호화(601)의 동작예를 더 상세히 도시한다. 이 도면에 도시되어 있는 바와 같이, 복호화는 복호화 또는 반대의 모드에서 암호 블럭(103)의 시리즈를 포함한다. 암호 블럭의 각각에는 키 K 및 암호문 블럭 C0, ..., Cm+1이 각각 하나씩 제공된다. 또, 첫 번째 블럭(103a)을 제외한 이들 블럭의 각각에는 S 값이 각각 하나씩 제공된다. 특히, 블럭(103b~103m)에는 S1 내지 Sm이 각각 제공되고, 마지막 암호 블럭(103m+1)에는 S0이 제공된다. 각 암호 블럭에 제공된 C와 S 값에 대해 배타적 논리합 동작이 실행된다.
첫번째 암호 블럭(103a)의 출력은 랜덤수 r이다. 암호 블럭(103b~103m+1)의 각각에 대해, 그 블럭의 출력 및 이전 블럭의 입력에 대해 배타적 논리합 함수가 적용되어, 평문 블럭 P1~Pm을 각각 하나씩 얻는다.
아래의 의사 코드(pseudo code)는 페어와이즈 디퍼런셜 균일 랜덤 시퀀스 S0, S1, ..., Sm을 생성하는 대안적인 방법이다. 또, 이 대안적인 방식은 1차 다항식 g(x) 및 갈로아 필드의 산술을 사용한다.
Figure 112009061206086-PCT00001
페어와이즈 디퍼런셜 균일 랜덤 시퀀스 S0, S1, ..., Sm을 생성하는 또 다른 공지의 기술이 있다. 또 다시, 이것은 일차 다항식 g(x)를 사용한다. 아래는 공지의 그레이 코드(Gray code)를 사용하여 시퀀스를 생성하는 의사 코드이다.
Figure 112009061206086-PCT00002
이러한 페어와이즈 디퍼런셜 균일 시퀀스를 생성하기 위한 많은 다른 방법이 있다. 그 시퀀스가 페어와이즈 디퍼런셜 균일 특성을 만족하는 한, 이것은 메시지 무결성을 가진 암호화 방식을 보장하기 위해 상술한 바와 같이 내장될 수 있다.
도 8은 병렬화 가능한 암호화 메커니즘(800)을 도시한다. 이 메커니즘에서, 각 블럭에는 키 K1이 마련된다. 또 첫번째 블럭(101a)에는 랜덤수 r이 제공된다. 마지막 블럭을 제외하고 후속하는 암호 블럭의 각각에는, 평문 블럭의 각각의 하나와 S값의 각각의 하나의 조합이 제공된다. 특히, 이 조합은 두 개의 입력에 대해 1 비트 위치 단위로 실행된 배타적 논리합 동작의 결과이다. 시리즈의 마지막 암호 블럭(101n)은 (i) Sm과 (ii) 평문 블럭 P1, P2, ..., Pm의 시퀀스에 대해 실행된 배타적 논리합 동작의 시리즈의 결과의 조합이 제공된다. 이 조합은 두 입력에 대해 실행된 배타적 논리합 동작의 결과이다.
도 4의 시스템에서와 같이, 메커니즘(800)의 첫번째 암호 블럭(101a)의 출력은 암호문의 첫번째 블럭 C0이다. 암호문의 다른 블럭 C1~Cm은 각각의 암호문의 출력과 S값의 각각의 하나에 1비트 위치 단위로 배타적 논리합 동작을 실행함으로써 얻어진다. 특히 S1~Sm은 블럭(101b~101m)의 출력에 각각 적용되고, S0은 시리즈의 마지막 암호 블럭의 출력에 적용된다.
도 9는 메시지 무결성을 가진 암호화 장치를 도시한다. 도시된 상기 장치는, 제 1 랜덤수를 생성하는 랜덤 생성기(901)와, 상기 제 1 랜덤수를 제 1 의사 랜덤수로 변환하는 랜덤 변환기(902)와, 상기 제 1 랜덤수 및/또는 상기 제 1 의사 랜덤수의 랜덤을 페어와이즈 디퍼런셜 균일 의사 랜덤수의 세트로 더 확장시키는 페어와이즈 애디티브 균일 시퀀스 생성기(903)와, 상기 평문 메시지를 복수의 평문 블럭으로 분할하고, 상기 평문 블럭을 암호화하여 복수의 암호문 블럭을 형성하는 암호화기(905)와, 상기 복수의 평문 블럭을 적어도 하나의 체크섬으로 결합하는 체크섬 생성기(908)와, 상기 제 1 랜덤수 및/또는 상기 제 1 의사 랜덤수와 함께 상기 페어와이즈 디퍼런셜 균일 의사 랜덤수의 세트를 채용하고, 상기 암호문 블럭에 메시지 무결성 체크를 내장시키는 무결성 추출기 및 검사기(907)를 포함한다.
도 10은 복호화 장치를 도시한다. 도시된 상기 장치는, 상기 암호문 메시지(1006)를 복수의 암호문 블럭으로 분할하고, 복수의 평문 블럭을 형성하기 위해 상기 암호문 블럭을 복호화하는 복호화기(1005)와, 적어도 하나의 상기 평문 블럭을 제 1 의사 랜덤수로 변환하는 랜덤 변환기(1002)와, 적어도 하나의 상기 평문 블럭 및/또는 상기 제 1 의사 랜덤수를 페어와이즈 디퍼런셜 균일 의사 랜덤수의 세트로 더 확장시키는 페어와이즈 애디티브 균일 시퀀스 생성기(1003)와, 적어도 두 개의 체크섬을 형성하고 복수의 출력 블럭을 형성하기 위해, 상기 제 1 의사 랜덤수 및/또는 상기 페어와이즈 디퍼런셜 균일 의사 랜덤수의 세트 및/또는 상기 적어도 하나의 평문 블럭을 결합하는 체크섬 생성기(1008)와, 메시지 무결성 체크의 성공을 선언하기 위해 상기 적어도 두 개의 체크섬을 비교하는 무결성 추출기 및 검사기(1007)를 포함한다.
지금까지, 인증 암호화를 위한 종래의 기술, 즉, 싱글 패스의 메시지 무결성을 가진 암호화를 설명했다. 또한 설명한 방법 중 일부는 병렬화가 가능했다.
도 11은 도 8의 종래 기술과 비교할 수 있는 본 발명을 설명한다. 랜덤 r을 새로운 랜덤 R로 확장시키기 위해 블럭 암호(101x)를 사용하지 않기 때문에, 본 발명은 블럭 암호를 필요로 하지 않는다. 대신에, 안전 IV(또는 초기 벡터) 생성기는, 페어와이즈 디퍼런셜 균일 시퀀스 생성기(402)를 적용하기 전에 r을 R로 변환할 필요가 없는 방식에서 r을 생성하는 데 사용된다. 도 11의 페어와이즈 디퍼런셜 균일 시퀀스 생성기는, 도 5의 프로세스(500) 대신 도 13과 관련하여 아래에 설명하는 프로세스(1300)를 이용함에 따라, 이제 1102로 번호가 붙여진다. 후에 명백해지는 바와 같이, 프로세스(1300)는 프로세스(500)와 다른 점이 있다. 다양한 실시예에서 도시하는 바와 같이, 안전 IV 생성기의 사용은 비용이 많이 드는 블럭 암호(101x)의 단계의 필요성을 없앤다. 블럭 암호 호출인 단계(101x)가 또한 블럭 암호 호출인 단계(101a~101n)와 비용면에서 동일하다고 하여도, 단계(101a~101n)는 병렬로 실행될 수 있는 반면, 단계(101x)는 단계(101a~101n) 중 어느 단계가 실행되기 전에 실행되어야 한다는 점을 유의한다. 또한 최대 하나 또는 두 개의 단계(101), 즉 m=0 또는 1인 애플리케이션이 있다.
도 12는 안전 IV 생성기의 실시예를 설명한다. 비밀 키를 사용하여 암호화될 제 1 메시지에 대해, 초기 벡터는 1로 설정되고 가변 카운트도 1로 설정된다. 이하, 다음 메시지의 초기 벡터는 2를 더한 블럭의 이전 메시지의 길이에 이전 메시지를 더한 것의 초기 벡터로 되도록 계산된다. 도 12로부터 명백하듯이, 이 구현예는 종래에 행해진 바와 같은 블럭 암호를 사용하는 것을 통해 매우 절약된다.
도 13은 새로운 페어와이즈 디퍼런셜 균일 시퀀스 생성기(1300)가 어떻게 구현되는지를 설명한다. 이것은 프로세스(500)와 대조될 수 있다. 첫번째 단계, 즉 1301에만 변경되는데, 501에서와 같이 R을 사용하는 것 대신에, S0은 r에 갈로아 필드 GF(2^n)의 키 k2를 곱한 것으로 설정된다. 이 곱셉 단계는 좀더 비용이 들 수 있는데, 다음 실시예에서는, 이 단계를 어떻게 생략할 수 있는지 볼 수 있다.
도 14는 본 발명의 다른 실시예를 설명하는 것으로, 안전 IV를 생성하는 단계 및 페어와이즈 디퍼런셜 균일 시퀀스를 생성하는 단계가 하나의 단계 1401로 결합된다. 이 결합의 전체적 이점은, 이것이 서로 다른 메시지에 걸쳐서도 초기 벡터 r 및 페어와이즈 디퍼런셜 균일 시퀀스 양쪽을 증가하도록 생성하는 것이다. 하나의 메시지 암호화로부터 다음으로의 상태를 유지하기 때문에 안정적이라고 말한다.
도 15는 생성기(1401)이 어떻게 작용하는지를 도시하는 흐름도(1500)이다. 이 생성기는 모든 메시지에 걸쳐 증분이라는 점만 제외하고, 도 5에서와 같은 공지의 선형 피드백 시프트 레지스터(LFSR)로서 작용한다. 생성기(500)에서와 같이, 갈로아 필드 GF(2^n)을 나타내는 첫번째 1차 다항식 g(x)가 선택된다. g는 g(x)-x^n을 나타내는 n 비트 수를 나타낸다고 하자. 단계 1502 내지 1507은 단계 502 내지 507과 동일하다. 이들 단계는 다항식으로서 표현되는 현재의 S값 Si에 필드 GF(2^n)의 x를 곱한다. 단계 1508 내지 1512가 새롭게 포함된다. 출력될 초기 벡터는 변수 r로 유지되고, 이것은 현재의 비밀키를 사용하여 암호화될 제 1 메시지에 대해서도 1로 설정된다.
또한, 제 1 메시지에 대해, 단계 1510에서 S0은 제 2 비밀키 k2로 초기화된다. 이 평문 메시지가 제 1 메시지가 아니면 S0은 변수 "prev"로 초기화되고, 이 는 이전 메시지의 계산된 값 S[m+1]이다. 단계 1502에서 체크된 바와 같이, 시퀀스 S0~S[m+1]이 계산된 후에, 단계 1511에서, 초기 벡터 r 및 시퀀스 S가 출력된다. 그 후 단계 1512에서, r은 현재의 그 값에, 현재의 메시지의 길이 m에 2를 더한 값을 더한 값으로 증가되고, 다음 메시지를 위해 사용될 r에 저장된다. 또한, 변수 "prev"는 단지 계산된 S[m+1]로 설정된다.
본 발명의 중요한 이점은, 안전 초기 벡터 방식 및 증분 생성기(1500) 방식이 인증 암호화를 위한 종래 기술과 마찬가지로 안전하다는 것이 증명되는 것으로부터 공식적으로 밝혀진다.
도 14의 101a~101n에 사용된 키 k1과는 별도의 추가적인 키인 비밀키 k2는, 키 k1 및 주어진 블럭 암호(101)로 상수, 예컨대, 0을 암호화함으로써 키 k1 자체로부터 실제로 생성될 수 있다. k1로부터 k2를 생성하는 이 방법이 안전하다는 것이 증명될 수 있다.
도 16은 개선된 증분 디퍼런셜 균일 시퀀스 생성기(1401)로 메시지 무결성을 가진 암호화 장치를 나타낸다. 상기 장치는, 상기 평문 메시지(1602)를 복수의 평문 블럭으로 분할하고, 상기 평문 블럭을 암호화하여 복수의 암호문 블럭(1604)을 생성하는 암호화기(1603)와, 상기 복수의 평문 블럭을 적어도 하나의 체크섬으로 결합하는 체크섬 생성기(1606)와, 상기 페어와이즈 디퍼런셜 균일 의사 랜덤수를 채용하여 상기 암호문 블럭에 메시지 무결성 체크를 내장시키는 무결성 추출기 및 검사기(1605)를 포함한다.
도 17은 긴 메시지를 암호화하면서 암호화기(101)와 복호화기(103) 모두를 사용하는 인증 암호화의 새로운 방법을 설명한다. 대조적으로, 종래기술에서는 예컨대, 도 4 및 도 8을 참조하면, 긴 메시지를 암호화하면서 동일한 암호화기(101)가 모든 메시지 블럭에 사용되었다. 마찬가지로, 종래기술에서(도 7 참조) 긴 메시지를 복호화하면서 동일한 복호화기(103)가 모든 블럭에 사용되었다. 도 17에서 설명된 방법의 중요한 관점은 긴 메시지를 암호화하면서, 상기 평문 블럭(도 8 참조)을 두 세트로 분할할 수 있고, 그 첫번째 세트에서 암호화기(101)가 채용될 수 있고, 그 두번째 세트에서 복호화기(103)가 채용될 수 있다. 이것에는 대부분의 하드웨어 방식이 101 및 103의 수단 모두를 갖는 이점이 있고, 본 발명에 의해 스루풋을 두배로 할 수 있다.
도 18은 도 14에 설명된 발명도 마찬가지로 포함하는 본 발명의 다른 실시예를 설명한다. 복호화기(103)는 동일한 블럭에서 사용되는 반면, 암호화기(103)는 다른 블럭에서 사용된다. 본 발명의 중요한 관점은 위와 같이 함으로써 그 방식의 안전성에 영향을 미치지 않는다는 것을 증명함으로써 밝혀진다.
도 19는 출력 메시지의 사이즈를 한 블럭 감소시키는 인증 암호화의 대안적인 실시예를 설명한다. 이것은 제한된 저장 공간을 갖는 저장 장치에 출력이 저장되어야 하는 경우에 유리할 수 있다. 이 도면은 도 8(종래기술)과 비교되어야 할 것이다. 중요한 차이점은, 출력 블럭 C0이 없고, 암호화기(101n)로의 입력이 다르다는 것이다. 이전에 C0으로서 출력된 값 r은 이제 체크섬 및 r 결합기(checksum & r combiner)(1901)에 의해 C[m+1]로 통합된다. 101n의 출력으로의, S0에 의한 포스트화이트닝(post-whitening)이 없다는 것을 유의한다(도 8과 비교). 이것은, S0은 r에 의존하고, 복호화 프로세스가 r로의 액세스를 갖지 않으면 S0을 계산할 수 없기 때문에 중요하다. 그러나, 이 방식이 종래기술의 인증 암호화 방식만큼 안전하다는 것을 증명할 수 있다.
도 20은 체크섬 및 r 결합기를 설명한다. 우선 n 비트 체크섬이 상기 평문 블럭으로부터 계산된다(도 8 참조). 예컨대, 128비트의 AES를 사용하면 n=128이다.
다음으로, 체크섬은 n/2 비트, 즉, AES의 예의 경우에는 64비트로 되도록 잘라버림된다(truncated). 다음에, 이 실시예는 r 자체가 n/2 비트만에 의해 명백하게 표현될 수 있다고 가정한다. 따라서, 잘라버림된 체크섬과 r은 연결되어 n 비트를 생성한다.
본 발명은 하드웨어, 소프트웨어 또는 하드웨어 및 소프트웨어의 조합으로 실현될 수 있다. 본 발명은 하나의 컴퓨터 시스템에 집중시키는 방식 또는 서로 다른 구성요소가 몇 개의 연결된 컴퓨터 시스템에 걸쳐 분산되는 분산 방식으로 실현될 수 있다. 임의의 종류의 컴퓨터 시스템 - 또는 여기에 설명한 방법을 실행하기 위해 적용된 다른 장치 - 도 적당하다. 하드웨어 및 소프트웨어의 일반적인 조합은, 로딩(loading) 및 실행될 때, 여기 설명한 방법을 실행하도록 컴퓨터 시스템을 제어하는 컴퓨터 프로그램을 갖는 범용 컴퓨터 시스템일 수 있다. 본 발명은 또한 컴퓨터 프로그램 제품에 내장될 수 있는데, 이것은, 여기 설명한 방법의 구현을 가능하게 하는 모든 특징을 포함하고, 컴퓨터 시스템에 로딩될 때 이들 방법을 실행할 수 있다.
이러한 맥락의 컴퓨터 프로그램 수단 또는 컴퓨터 프로그램은, 직접 또는 다른 언어, 코드 또는 표기로의 변환 후의 특정 기능의 실행 및/또는 서로 다른 물질 형태로의 재생성의 실행을 하기 위해, 시스템이 정보 처리 능력을 갖도록 의도된 명령의 세트의 임의의 언어, 코드 또는 표기의 임의의 표현을 포함한다.
다른 방식으로 개시된 발명을 적용하거나 또는 당업자에게 알려진 방법으로 본 발명을 수정함으로써 다른 유리한 결과가 실현될 수 있다.
여기 개시된 발명은 상술한 목적을 충족시키기 위한 것임이 명백하고, 여러가지 변형예 및 실시예가 당업자에 의해 고안될 수 있음이 인식될 것이며, 첨부의 청구범위는 그러한 변형예 및 실시예가 본 발명의 진정한 사상 및 범위 내에 포함되게 하는 것을 의도한다.

Claims (10)

  1. n 비트 블럭 암호를 사용하여 평문 메시지(plain-text messages)의 시퀀스를 암호화하는 방법으로서,
    제 1 및 제 2 비밀키를 선택하는 단계와,
    초기 벡터를 초기화하는 단계와,
    상기 제 2 비밀키 및 상기 초기 벡터를 이용하여 페어와이즈 디퍼런셜 균일 시퀀스 생성기(pair-wise differentially uniform sequence generator)를 초기화하는 단계와,
    복수의 평문 메시지 중 적어도 하나를 암호화기(encryptor)로 입력하는 단계와,
    상기 페어와이즈 디퍼런셜 균일 시퀀스 생성기를 이용하여 페어와이즈 디퍼런셜 균일 랜덤수의 시퀀스를 생성하는 단계와,
    상기 페어와이즈 디퍼런셜 균일 시퀀스 생성기를 업데이트하는 단계와,
    상기 초기 벡터를 업데이트하는 단계와,
    내장된 메시지 무결성 체크(message integrity check)를 갖는 복수의 암호문 메시지 중 적어도 하나를 생성하기 위해, 상기 암호화기에서, 상기 복수의 평문 메시지, 상기 초기 벡터, 상기 페어와이즈 디퍼런셜 균일 랜덤수, 및 상기 제 1 비밀키 중 적어도 하나를 처리하는 단계를 포함하는
    암호화 방법.
  2. 제 1 항에 있어서,
    상기 제 1 및 제 2 비밀키를 선택하는 단계는 상기 제 1 및 제 2 비밀키를 선택하기 위해 키 동의 프로토콜(key-agreement protocol)을 이용하는 단계를 포함하는
    암호화 방법.
  3. 제 1 항에 있어서,
    상기 제 1 및 제 2 비밀키를 선택하는 단계는 상기 제 1 및 제 2 비밀키를 랜덤하고 독립적으로 선택하는 단계를 포함하는
    암호화 방법.
  4. 제 1 항에 있어서,
    상기 제 1 및 제 2 비밀키를 선택하는 단계는 키 동의 프로토콜을 이용하여 상기 제 1 비밀키를 선택하고, 키 유도 함수(key derivation function)를 이용하여 상기 제 2 비밀키를 유도하는 단계를 포함하는
    암호화 방법.
  5. 제 1 항에 있어서,
    상기 초기 벡터를 초기화하는 단계는 초기 벡터를 n 이하의 비트 사이즈의 일정한 값의 수로 설정하는 단계를 포함하는
    암호화 방법.
  6. 제 1 항에 있어서,
    상기 처리하는 단계는,
    상기 복수의 평문 메시지 중 하나를 복수의 n 비트 평문 블럭으로 분할하는 단계와,
    상기 복수의 평문 블럭을 적어도 하나의 체크섬(checksum) 블럭으로 결합하는 단계와,
    복수의 암호문 블럭(cipher-text blocks)을 얻기 위해, 상기 블럭 암호, 상기 제 1 비밀키, 상기 페어와이즈 디퍼런셜 균일 랜덤수의 시퀀스를 이용하여 상기 복수의 평문 블럭 및 상기 체크섬 블럭을 암호화하는 단계와,
    상기 복수의 암호문 블럭 내에 메시지 무결성 체크를 내장시키기 위해 상기 페어와이즈 디퍼런셜 균일 랜덤수의 시퀀스를 이용하는 단계를 포함하는
    암호화 방법.
  7. 평문 메시지의 암호화를 발생시키기 위해 내장된 컴퓨터 판독 가능한 프로그램 코드 수단을 갖는 컴퓨터 사용 가능한 매체를 포함하는 컴퓨터 프로그램 제품으로서,
    상기 컴퓨터 프로그램 제품 내의 상기 컴퓨터 판독 가능한 프로그램 코드 수단은, 컴퓨터가 청구항 1에 기재된 단계들을 실행하게 하기 위한 컴퓨터 판독 가능한 프로그램 코드 수단을 포함하는
    컴퓨터 프로그램 제품.
  8. 평문 메시지를 암호화하는 방법 단계를 실행하기 위해 기계에 의해 실행 가능한 명령의 프로그램을 유형적으로(tangibly) 내장시키는, 상기 기계에 의해 판독 가능한 프로그램 저장 장치로서,
    상기 방법 단계는,
    제 1 및 제 2 비밀키를 선택하는 단계와,
    초기 벡터를 초기화하는 단계와,
    상기 제 2 비밀키 및 상기 초기 벡터를 이용하여 페어와이즈 디퍼런셜 균일 시퀀스 생성기를 초기화하는 단계와,
    복수의 평문 메시지 중 적어도 하나를 암호화기로 입력하는 단계와,
    상기 페어와이즈 디퍼런셜 균일 시퀀스 생성기를 이용하여 페어와이즈 디퍼 런셜 균일 랜덤수의 시퀀스를 생성하는 단계와,
    상기 페어와이즈 디퍼런셜 균일 시퀀스 생성기를 업데이트하는 단계와,
    상기 초기 벡터를 업데이트하는 단계와,
    내장 메시지 무결성 체크를 갖는 복수의 암호문 메시지 중 적어도 하나를 생성하기 위해, 상기 암호화기에서, 복수의 평문 메시지, 상기 초기 벡터, 상기 페어와이즈 디퍼런셜 균일 랜덤수, 상기 제 1 비밀키 중 적어도 하나를 처리하는 단계를 포함하되,
    상기 제 1 및 제 2 비밀키를 선택하는 단계는 키 동의 프로토콜을 이용하여 상기 제 1 비밀키를 선택하고, 키 유도 함수를 이용하여 상기 제 2 비밀키를 유도하는 단계를 포함하고,
    상기 초기 벡터를 초기화하는 단계는 상기 초기 벡터를 n 이하의 비트 사이즈의 일정한 값의 수로 설정하는 단계를 포함하고,
    상기 페어와이즈 디퍼런셜 균일 시퀀스 생성기를 초기화하는 단계는 상기 생성기를 상기 제 2 비밀키로 설정하는 단계를 포함하고,
    상기 초기 벡터를 업데이트하는 단계는 상기 복수의 평문 메시지 중 하나의 길이로부터 얻어진 값을 상기 초기 벡터에 더하는 단계를 포함하는
    프로그램 저장 장치.
  9. 평문 메시지의 시퀀스 중 적어도 하나를 암호화하는 장치로서,
    복수의 초기 벡터 중 적어도 하나와, 상기 복수의 초기 벡터 중 적어도 하나를 이용하여 복수의 페어와이즈 디퍼런셜 균일 랜덤수의 시퀀스 중 적어도 하나를 생성하는 생성기와,
    상기 평문 메시지의 시퀀스 중 적어도 하나를 복수의 평문 블럭으로 분할하고, 상기 평문 블럭을 암호화하여 복수의 암호문 블럭 중 적어도 하나를 형성하는 암호화기와,
    상기 복수의 평문 블럭 중 적어도 하나를 적어도 하나의 체크섬으로 결합하는 체크섬 생성기와,
    상기 복수의 페어와이즈 디퍼런셜 균일 랜덤수의 시퀀스 중 적어도 하나를 이용하여, 상기 복수의 암호문 블럭 중 적어도 하나에 메시지 무결성 체크를 내장시키는 메시지 무결성 임베더(embedder)를 포함하는
    암호화 장치.
  10. 제 9 항에 있어서,
    상기 장치는 복수의 평문 메시지의 시퀀스를 암호화하고,
    상기 생성기는 복수의 페어와이즈 디퍼런셜 균일 랜덤수의 시퀀스를 생성하고,
    상기 암호화기는 상기 복수의 평문 메시지의 각각을 암호화하기 위해 복수의 페어와이즈 디퍼런셜 균일 랜덤수의 시퀀스의 각각을 이용하는
    암호화 장치.
KR1020097020898A 2007-03-21 2008-03-17 간단하고 효율적인 원패스 인증 암호화 방법 KR101091246B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/688,890 US8107620B2 (en) 2007-03-21 2007-03-21 Simple and efficient one-pass authenticated encryption scheme
US11/688,890 2007-03-21
PCT/US2008/003504 WO2008115476A1 (en) 2007-03-21 2008-03-17 A simple and efficient one-pass authenticated encryyption scheme

Publications (2)

Publication Number Publication Date
KR20100005203A true KR20100005203A (ko) 2010-01-14
KR101091246B1 KR101091246B1 (ko) 2011-12-07

Family

ID=39766248

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097020898A KR101091246B1 (ko) 2007-03-21 2008-03-17 간단하고 효율적인 원패스 인증 암호화 방법

Country Status (5)

Country Link
US (1) US8107620B2 (ko)
EP (1) EP2137856A4 (ko)
JP (1) JP5462636B2 (ko)
KR (1) KR101091246B1 (ko)
WO (1) WO2008115476A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI366371B (en) * 2007-10-17 2012-06-11 Via Tech Inc Encryption and decryption methods
US8452984B2 (en) * 2008-08-28 2013-05-28 Alcatel Lucent Message authentication code pre-computation with applications to secure memory
CN102291377A (zh) * 2010-06-17 2011-12-21 侯方勇 一种数据安全传送方法和装置
JP5365750B2 (ja) 2011-01-31 2013-12-11 日本電気株式会社 ブロック暗号化装置、復号装置、暗号化方法、復号方法およびプログラム
US9361479B2 (en) 2011-04-29 2016-06-07 Stephen Lesavich Method and system for electronic content storage and retrieval using Galois fields and geometric shapes on cloud computing networks
US9137250B2 (en) 2011-04-29 2015-09-15 Stephen Lesavich Method and system for electronic content storage and retrieval using galois fields and information entropy on cloud computing networks
US9569771B2 (en) 2011-04-29 2017-02-14 Stephen Lesavich Method and system for storage and retrieval of blockchain blocks using galois fields
US9037564B2 (en) 2011-04-29 2015-05-19 Stephen Lesavich Method and system for electronic content storage and retrieval with galois fields on cloud computing networks
CN102315933B (zh) * 2011-10-18 2014-02-05 飞天诚信科技股份有限公司 一种更新密钥的方法及系统
CA2914785C (en) * 2013-04-18 2019-12-17 RISOFTDEV, Inc. System and methods for encrypting data
ES2717999T3 (es) * 2014-12-03 2019-06-26 Nagravision Sa Método criptográfico por bloques para cifrar/descifrar mensajes y dispositivos criptográficos para implementar este método
JP6386198B1 (ja) 2017-02-21 2018-09-05 三菱電機株式会社 暗号化装置及び復号装置
TW201919361A (zh) * 2017-11-09 2019-05-16 張英輝 以雜文加強保護之區塊加密及其解密之方法
US10680801B2 (en) * 2017-11-15 2020-06-09 International Business Machines Corporation Data distribution against credential information leak
US10491578B1 (en) * 2018-03-30 2019-11-26 Sap Se Mitigation of offline ciphertext-only attacks

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5972840A (ja) * 1982-10-20 1984-04-24 Toru Fujiwara キ−配送用符号化装置
US5297208A (en) * 1992-08-05 1994-03-22 Roger Schlafly Secure file transfer system and method
US5794207A (en) * 1996-09-04 1998-08-11 Walker Asset Management Limited Partnership Method and apparatus for a cryptographically assisted commercial network system designed to facilitate buyer-driven conditional purchase offers
US6226742B1 (en) * 1998-04-20 2001-05-01 Microsoft Corporation Cryptographic technique that provides fast encryption and decryption and assures integrity of a ciphertext message through use of a message authentication code formed through cipher block chaining of the plaintext message
US6693976B1 (en) * 2000-03-21 2004-02-17 Lucent Technologies Inc. Method of wireless communication using structured unitary space-time signal constellations
US7093126B1 (en) * 2000-04-14 2006-08-15 International Business Machines Corporation Encryption schemes with almost free integrity awareness
US20020048364A1 (en) * 2000-08-24 2002-04-25 Vdg, Inc. Parallel block encryption method and modes for data confidentiality and integrity protection
US7046802B2 (en) * 2000-10-12 2006-05-16 Rogaway Phillip W Method and apparatus for facilitating efficient authenticated encryption
US6963976B1 (en) * 2000-11-03 2005-11-08 International Business Machines Corporation Symmetric key authenticated encryption schemes
US7200227B2 (en) * 2001-07-30 2007-04-03 Phillip Rogaway Method and apparatus for facilitating efficient authenticated encryption
GB0124686D0 (en) * 2001-10-15 2001-12-05 Hewlett Packard Co A scheme for splitting trusted authorities based on the shamir's secret sharing
US7225332B2 (en) * 2002-12-17 2007-05-29 Intel Corporation Methods and apparatus to perform cryptographic operations on received data
US8687800B2 (en) * 2006-08-15 2014-04-01 Alcatel Lucent Encryption method for message authentication

Also Published As

Publication number Publication date
KR101091246B1 (ko) 2011-12-07
US8107620B2 (en) 2012-01-31
JP5462636B2 (ja) 2014-04-02
US20080232591A1 (en) 2008-09-25
JP2010522477A (ja) 2010-07-01
EP2137856A4 (en) 2014-05-07
EP2137856A1 (en) 2009-12-30
WO2008115476A1 (en) 2008-09-25

Similar Documents

Publication Publication Date Title
KR101091246B1 (ko) 간단하고 효율적인 원패스 인증 암호화 방법
US8416947B2 (en) Block cipher using multiplication over a finite field of even characteristic
JP6740902B2 (ja) 認証暗号化方法、認証復号方法および情報処理装置
US7945049B2 (en) Stream cipher using multiplication over a finite field of even characteristic
US20120008767A1 (en) System for encrypting and decrypting a plaintext message with authentication
RU2005104945A (ru) Эффективное шифрование и аутентификация для систем обработки данных
US20150244518A1 (en) Variable-length block cipher apparatus and method capable of format preserving encryption
JP2008122967A (ja) ストリーム暗号を利用したメッセージ認証コード生成方法とストリーム暗号を利用した認証暗号化方法及びストリーム暗号を利用した認証復号化方法
KR20100069610A (ko) 연쇄화된 암호화 모드를 위한 방법 및 디바이스
US11153068B2 (en) Encryption device, encryption method, decryption device and decryption method
US11463235B2 (en) Encryption device, encryption method, program, decryption device, and decryption method
WO2013065241A1 (ja) インクリメンタルmacタグ生成装置、方法及びプログラム並びにメッセージ認証装置
JP2004363739A (ja) 改竄検知可能な、共通鍵暗号の暗号化装置または復号化装置
CN113779645A (zh) 一种量子数字签名和量子数字签密方法
JPH09312643A (ja) 鍵共有方法及び暗号通信方法
CN106165340B (zh) 加密方法、程序和系统
KR20040083794A (ko) 어플리케이션 데이터의 암호화 및 복호화 방법
Al Mahri et al. A fault-based attack on AEZ v4. 2
JP2015082077A (ja) 暗号化装置、制御方法、及びプログラム
JP2000004223A (ja) 暗号・認証システム
CN114039720B (zh) 一种基于lfsr哈希的无条件安全的认证加密方法
JP5293612B2 (ja) 暗号化装置、復号装置、暗号化方法、復号方法およびプログラム
Haunts et al. Symmetric Encryption
CN116527232A (zh) 一种数据加密、解密方法、装置及存储介质
CN114124354A (zh) 确定性鉴别加解密装置及方法

Legal Events

Date Code Title Description
A201 Request for 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: 20141128

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151127

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161128

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171128

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181127

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20191126

Year of fee payment: 9