장점(암호화)
Advantage (cryptography)암호학에서, 적의 장점은 암호 알고리즘을 그러한 유형의 알고리즘의 이상화된 버전과 구별함으로써, 암호 알고리즘을 얼마나 성공적으로 공격할 수 있는지를 측정하는 척도다.이러한 맥락에서 "반복"은 그 자체가 알고리즘이며 사람이 아니라는 점에 유의한다.암호 알고리즘은 적국의 계산 자원에 대한 특정 한계(구체적 보안 참조)를 조건으로, 적에게 불가해한 장점을 가지고 있지 않은 경우 안전한 것으로 간주된다."불가결함"은 일반적으로 "O(2−p) 내"를 의미하며 여기서 p는 알고리즘과 관련된 보안 매개변수다.예를 들어, p는 블록 암호 키에 있는 비트 수입니다.
개념 설명
F는 연구 중인 함수의 신탁이 되고, G는 그러한 유형의 이상화된 함수의 신탁이 되게 한다.적수 A는 F 또는 G를 입력으로 제공하고 1 또는 0을 출력하는 확률 알고리즘이다.A의 일은 F와 G를 구분하는 것으로, 주어진 오라클에 쿼리를 하는 것을 기본으로 한다.우리는 다음과 같이 말한다 A (A )= [ ( )= 1]- [( ) = 1
예
F는 DES 블록 암호의 무작위 인스턴스가 되도록 하자.이 암호는 64비트 블록과 56비트 키를 가지고 있다.따라서 키는 가능한 두 개의64 64비트 블록에서 2개의56 순열 중 하나를 선택한다."랜덤 DES 인스턴스"는 우리의 오라클 F가 동일한 확률을 가진 2개의56 가능한 키 중에서 K가 선택되는 일부 키 K를 사용하여 DES를 계산하는 것을 의미한다.
우리는 DES 인스턴스를 이상적인 64비트 블록 암호와 비교하기를 원한다. 즉, 64비트 블록의 가능한64 순열에서 무작위로 선택된 순열화를 의미한다.이것을 무작위로 선택한 순열 G라고 부른다.스털링의 근사치에서 (2)!는64 약 .× 2047 10이므로, 어떤 순열을 선택했는지 지정하더라도 실제 컴퓨터에서 정확히 나타내기에는 너무 큰 숫자를 적어야 한다.또 다른 방법으로 보면, G는 "키 길이"가 10비트21 정도 되는 "주변인"의 한 예로서, 이것은 다시 컴퓨터에 맞추기에는 너무 크다.(단, 랜덤 오라클을 사용하여 쿼리 수에 비례하는 스토리지 공간을 사용하여 G를 구현할 수 있다.)
주의할 점은, 우리가 선택한 암호화 일반 텍스트가 주어졌기 때문에, 우리는 선택된 일반 텍스트 공격이나 CPA를 모델링하고 있으며, 우리가 계산하고 있는 이점은 주어진 적수의 CPA 장점이라고 불릴 수 있다는 것이다.만약 우리가 암호 해독을 할 수 있다면, 우리는 선택된 암호 해독 공격이나 CCA를 할 것이고, 상대편의 CCA의 장점을 발견할 것이다.
예제 1: 무작위로 추측
이 적수를 A라고0 불러라.그것은 단순히 동전을 던져버리고, 신탁통화를 하지 않고 동일한 확률로 1이나 0을 돌려준다.따라서 Pr[A0(F)=1]과 Pr[A0(G)=1]은 모두 0.5이다.이러한 확률의 차이는 0이므로 Adv(A0)는 0이다.우리가 항상 0을 반환하거나 항상 1을 반환하는 경우에도 같은 것이 적용된다: 확률은 F와 G 둘 다 같으므로 이점은 0이다.이 상대는 F와 G를 구별할 수 없다.만약 우리가 암호 설계자라면, 우리의 바램은 (아마도 달성할 수 없는) 어떤 적들이 이것보다 훨씬 더 잘 하는 것이 계산적으로 불가능하도록 만드는 것이다.만약 우리가 무차별적인 힘 검색보다 더 빠른 암호를 만들 수 있다면 우리는 성공할 것이다.
예 2: 브루트 포스 검색
이 적수(그것을1 A라고 부름)는 무력으로 그 입력의 암호화를 시도할 것이다.독자적인 DES 구현을 하고 있다.모든 0의 64비트 문자열을 암호화하도록 요청하는 단일 쿼리를 오라클에 제공한다.결과 암호 텍스트 E를0 호출하십시오.그런 다음 철저한 키 검색을 실행한다.알고리즘은 다음과 같다.
E0k = k에 대한 oracle_query(0)(0)(0, 1,...,2-156: DES(0) == E0: 반환 1
56비트 DES 키 공간 전체를 검색하고 일치하는 키를 찾을 경우 "1"을 반환한다.실제로 키를 확인하기 위해 여러 개의 일반 텍스트가 필요하다. 서로 다른 두 개의 키로 인해 하나 이상의 일반 텍스트-암호 텍스트 쌍이 일치할 수 있기 때문이다.키가 없으면 0을 반환한다.
입력오라클이 DES인 경우, 이 철저한 검색은 키를 찾을 것이 확실하므로 Pr[A1(F)=1] = 1. 입력오라클이 임의 순열인 경우 E의 가능한0 값이 2개64 있으며, 그 중 최대 2개는56 DES 키 검색에서 검사를 받게 된다.따라서 A가1 1을 반환할 확률은 최대 2이다−8.즉,
[ 1( )= - 그러므로
따라서 장점은 최소한 0.996이다.이건 거의 확실해 보이는 특수부대원이지만, 맹수 수색보다 빠르지 않기 때문에 보안상의 실패는 아니다, 결국 흉수 수색이다.