1 |
1
에스박스(S-BOX)의 출력 값을 연산하기 위해 사용되는 테이블을 저장하되, 상기 테이블은 스칼라 제곱 테이블(T1), 곱셈 테이블(T2), G((22)2) 마스킹 역원 테이블(T3), 이소모피즘(isomorphism) 테이블(T4), 이소모피즘(isomorphism) + 아핀 변환3(affine transform3) 테이블(T41), 이소모피즘(isomorphism) + 아핀 변환4(affine transform4) 테이블(T42), 역이소모피즘(inverse isomorphism) 테이블(T5), 역이소모피즘(inverse isomorphism) + 아핀 변환1(affine transform1) 테이블(T51), 역이소모피즘(inverse isomorphism) + 아핀 변환2(affine transform2)(T52) 테이블 중 적어도 하나인 비활성 메모리; 및마스킹된 난수, 마스킹된 입력값 및 상기 테이블을 이용하여 에스박스(S-BOX)의 출력 값을 연산하는 에스박스 연산부를 포함하는 아리아(ARIA) 암호 장치
|
2 |
2
제 1 항에 있어서,키 에디션(key addition) 연산 순서를 랜덤하게 생성하는 연산 순서 생성부; 및상기 연산 순서에 기초하여 마스킹된 입력 값과 마스킹된 라운드 키 값을 연산하여, 연산된 값을 출력하는 키 에디션부;를 더 포함하는 아리아(ARIA) 암호 장치
|
3 |
3
제 2 항에 있어서,상기 에스박스 연산부는상기 마스킹된 난수, 상기 키 에디션부에서 상기 연산된 출력 값 및 상기 테이블을 이용하여 상기 에스박스의 출력 값을 연산하는 아리아(ARIA) 암호 장치
|
4 |
4
삭제
|
5 |
5
제 1항에 있어서,상기 에스박스 연산부는에스 박스가 4개(MS1, MS2, MS3, MS4)인 경우, MS1 및 MS2의 출력 값을 아래의 알고리즘을 이용하여 연산하는, 이며 이와 동일한 표시들은 이와 동일한 의미이고, 여기서, B는 8x8 행렬이고, a, b는 8x1 벡터이고, Ah는 B의 상위 절반에 해당하는 비트이고, Al는 B의 하위 절반에 해당하는 비트이고, x는 입력된 데이터 값이고, m, m'은 마스킹 난수이고, m, m'은 8비트이고, mh는 m의 상위 4비트이고, ml은 m의 하위 4비트를 의미하고, 또한, "003e#003e#"은 비트를 오른쪽으로 이동시키는 연산을 의미하고, "003c#003c#"은 비트를 왼쪽으로 이동시키는 연산을 의미하고, "||" 연산은 수평접합(horizontal concatenation)연산을 의미하고, ""연산은 XOR 연산을 의미하고, "RETURN a"은 특정 함수에서 빠져나가면서 a라는 값을 출력하라는 명령어를 의미하는아리아(ARIA) 암호 장치
|
6 |
6
제 1 항에 있어서,상기 에스박스 연산부는에스 박스가 4개(MS1, MS2, MS3, MS4)인 경우, MS3 및 MS4의 출력 값을 아래의 알고리즘을 이용하여 연산하는,여기서,이며 이와 동일한 표시들은 이와 동일한 의미이고, 여기서, B는 8x8 행렬이고, c는 8x1 벡터이고, Ah는 B의 상위 절반에 해당하는 비트이고, Al는 B의 하위 절반에 해당하는 비트이고, x는 입력된 데이터 값이고, m, m'은 마스킹 난수이고, m, m'은 8비트이고, mh는 m의 상위 4비트이고, ml은 m의 하위 4비트를 의미하고, 또한, "003e#003e#"은 비트를 오른쪽으로 이동시키는 연산을 의미하고, "003c#003c#"은 비트를 왼쪽으로 이동시키는 연산을 의미하고, "||" 연산은 수평접합(horizontal concatenation)연산을 의미하고, ""연산은 XOR 연산을 의미하고, "RETURN a"은 특정 함수에서 빠져나가면서 a라는 값을 출력하라는 명령어를 의미하는아리아(ARIA) 암호 장치
|
7 |
7
마스킹된 난수를 생성하는 단계; 및상기 생성된 마스킹된 난수, 마스킹된 입력값 및 에스박스(S-BOX)의 출력 값을 연산하기 위해 사용되는 테이블을 이용하여 에스박스의 출력 값을 연산하는 단계를 포함하되, 상기 테이블은 스칼라 제곱 테이블(T1), 곱셈 테이블(T2), G((22)2) 마스킹 역원 테이블(T3), 이소모피즘(isomorphism) 테이블(T4), 이소모피즘(isomorphism) + 아핀 변환3(affine transform3) 테이블(T41), 이소모피즘(isomorphism) + 아핀 변환4(affine transform4) 테이블(T42), 역이소모피즘(inverse isomorphism) 테이블(T5), 역이소모피즘(inverse isomorphism) + 아핀 변환1(affine transform1) 테이블(T51), 역이소모피즘(inverse isomorphism) + 아핀 변환2(affine transform2)(T52) 테이블 중 적어도 하나인 아리아(ARIA) 암호 방법
|
8 |
8
제 7 항에 있어서,키 에디션(key addition) 연산 순서를 랜덤하게 생성하는 단계; 및상기 연산 순서에 기초하여 마스킹된 입력 값과 마스킹된 라운드 키 값을 연산하여, 연산 값을 출력하는 단계를 더 포함하는 아리아(ARIA) 암호 방법
|
9 |
9
제 8 항에 있어서,상기 연산 단계는상기 마스킹된 난수, 상기 연산된 출력 값 및 상기 테이블을 이용하여 상기 에스박스의 출력 값을 연산하는 아리아(ARIA) 암호 방법
|
10 |
10
삭제
|
11 |
11
제 7 항에 있어서,상기 연산 단계는 에스 박스가 4개(MS1, MS2, MS3, MS4)인 경우, MS1 및 MS2의 출력 값을 아래의 알고리즘을 이용하여 연산하는, 여기서, 이며 이와 동일한 표시들은 이와 동일한 의미이고, 여기서, B는 8x8 행렬이고, a, b는 8x1 벡터이고, Ah는 B의 상위 절반에 해당하는 비트이고, Al는 B의 하위 절반에 해당하는 비트이고, x는 입력된 데이터 값이고, m, m'은 마스킹 난수이고, m, m'은 8비트이고, mh는 m의 상위 4비트이고, ml은 m의 하위 4비트를 의미하고, 또한, "003e#003e#"은 비트를 오른쪽으로 이동시키는 연산을 의미하고, "003c#003c#"은 비트를 왼쪽으로 이동시키는 연산을 의미하고, "||" 연산은 수평접합(horizontal concatenation)연산을 의미하고, ""연산은 XOR 연산을 의미하고, "RETURN a"은 특정 함수에서 빠져나가면서 a라는 값을 출력하라는 명령어를 의미하는아리아(ARIA) 암호 방법
|
12 |
12
제 7 항에 있어서,상기 연산 단계는 에스 박스가 4개(MS1, MS2, MS3, MS4)인 경우, MS3 및 MS4의 출력 값을 아래의 알고리즘을 이용하여 연산하는,여기서, 이며 이와 동일한 표시들은 이와 동일한 의미이고, 여기서, B는 8x8 행렬이고, c는 8x1 벡터이고, Ah는 B의 상위 절반에 해당하는 비트이고, Al는 B의 하위 절반에 해당하는 비트이고, x는 입력된 데이터 값이고, m, m'은 마스킹 난수이고, m, m'은 8비트이고, mh는 m의 상위 4비트이고, ml은 m의 하위 4비트를 의미하고, 또한, "003e#003e#"은 비트를 오른쪽으로 이동시키는 연산을 의미하고, "003c#003c#"은 비트를 왼쪽으로 이동시키는 연산을 의미하고, "||" 연산은 수평접합(horizontal concatenation)연산을 의미하고, ""연산은 XOR 연산을 의미하고, "RETURN a"은 특정 함수에서 빠져나가면서 a라는 값을 출력하라는 명령어를 의미하는,아리아(ARIA) 암호 방법
|