1 |
1
입력으로 인가되는 8비트의 비트스트링을 8비트의 치환된 비트스트링으로 치환하되, 상기 8비트의 치환된 비트스트링에 존재하는 8개의 비트 값들 중 연속된 2개의 비트 값을 제외한 나머지 6개의 비트 값들이 모두 "0"의 값이 할당되도록 설계되어 있는 16개의 서로 다른 치환 테이블들 - 상기 16개의 서로 다른 치환 테이블들은 4개의 치환 테이블들 별로 그룹화되어 있고, 각 그룹 내의 4개의 치환 테이블들은 상기 8비트의 치환된 비트스트링에서 상기 연속된 2개의 비트 값의 위치가 모두 상이하게 존재하도록 설계된 치환 테이블들임 - 이 저장되어 있는 치환 테이블 저장부;64비트의 크기를 갖는 평문 데이터가 입력되면, 선정된(predetermined) 비밀키로 암호화를 수행하여 64비트의 크기를 갖는 전처리 암호화 데이터를 생성하고, 상기 64비트의 크기를 갖는 전처리 암호화 데이터를 구성하는 비트스트링을 8비트의 비트스트링들 별로 분할하여 8비트의 분할 비트스트링들을 8개 생성하는 데이터 분할부;상기 8개의 8비트의 분할 비트스트링들을 4개씩 분리하여 상기 치환 테이블 그룹들 별로 존재하는 4개의 치환 테이블들에 각각 입력으로 인가함으로써, 상기 치환 테이블 그룹들 별로 8비트의 치환 분할 비트스트링을 2개씩 생성하는 데이터 치환부; 및상기 치환 테이블 그룹들 별로 2개씩 생성된 8비트의 치환 분할 비트스트링들을 모두 연접하여 64비트의 크기를 갖는 암호화 데이터를 생성하는 암호화 데이터 생성부를 포함하는 전치가 반영된 치환 테이블을 이용한 프레젠트 기반의 암호화 장치
|
2 |
2
제1항에 있어서,상기 치환 테이블 그룹들 중 제1 치환 테이블 그룹에 존재하는 4개의 치환 테이블들은하기의 표 1의 프레젠트 암호화용 치환 테이블인 S-BOX에서의 입력 값에 대응하는 4비트의 비트스트링 2개가 연접되어 있는 8비트의 비트스트링이 입력으로 인가된다면, 상기 S-BOX에서의 상기 입력 값인 상기 4비트의 비트스트링 2개에 대응하는 2개의 출력 값들을 연접한 8비트의 비트스트링에서 첫 번째 자리와 다섯 번째 자리에 위치하는 비트 값을 상기 8비트의 치환된 비트스트링 내에서 상기 연속된 2개의 비트 값으로 할당 - 상기 8비트의 치환된 비트스트링 내에서 상기 연속된 2개의 비트 값이 할당되는 위치는 상기 제1 치환 테이블 그룹에 존재하는 4개의 치환 테이블들 각각에 대해 서로 상이하게 설계되어 있음 - 하고, 나머지 비트 값을 "0"으로 할당함으로써, 상기 입력으로 인가되는 8비트의 비트스트링이 상기 8비트의 치환된 비트스트링으로 치환되도록 설계되어 있고,상기 치환 테이블 그룹들 중 제2 치환 테이블 그룹에 존재하는 4개의 치환 테이블들은상기 S-BOX에서의 입력 값에 대응하는 4비트의 비트스트링 2개가 연접되어 있는 8비트의 비트스트링이 입력으로 인가된다면, 상기 S-BOX에서의 상기 입력 값인 상기 4비트의 비트스트링 2개에 대응하는 2개의 출력 값들을 연접한 8비트의 비트스트링에서 두 번째 자리와 여섯 번째 자리에 위치하는 비트 값을 상기 8비트의 치환된 비트스트링 내에서 상기 연속된 2개의 비트 값으로 할당 - 상기 8비트의 치환된 비트스트링 내에서 상기 연속된 2개의 비트 값이 할당되는 위치는 상기 제2 치환 테이블 그룹에 존재하는 4개의 치환 테이블들 각각에 대해 서로 상이하게 설계되어 있음 - 하고, 나머지 비트 값을 "0"으로 할당함으로써, 상기 입력으로 인가되는 8비트의 비트스트링이 상기 8비트의 치환된 비트스트링으로 치환되도록 설계되어 있으며,상기 치환 테이블 그룹들 중 제3 치환 테이블 그룹에 존재하는 4개의 치환 테이블들은상기 S-BOX에서의 입력 값에 대응하는 4비트의 비트스트링 2개가 연접되어 있는 8비트의 비트스트링이 입력으로 인가된다면, 상기 S-BOX에서의 상기 입력 값인 상기 4비트의 비트스트링 2개에 대응하는 2개의 출력 값들을 연접한 8비트의 비트스트링에서 세 번째 자리와 일곱 번째 자리에 위치하는 비트 값을 상기 8비트의 치환된 비트스트링 내에서 상기 연속된 2개의 비트 값으로 할당 - 상기 8비트의 치환된 비트스트링 내에서 상기 연속된 2개의 비트 값이 할당되는 위치는 상기 제3 치환 테이블 그룹에 존재하는 4개의 치환 테이블들 각각에 대해 서로 상이하게 설계되어 있음 - 하고, 나머지 비트 값을 "0"으로 할당함으로써, 상기 입력으로 인가되는 8비트의 비트스트링이 상기 8비트의 치환된 비트스트링으로 치환되도록 설계되어 있고,상기 치환 테이블 그룹들 중 제4 치환 테이블 그룹에 존재하는 4개의 치환 테이블들은상기 S-BOX에서의 입력 값에 대응하는 4비트의 비트스트링 2개가 연접되어 있는 8비트의 비트스트링이 입력으로 인가된다면, 상기 S-BOX에서의 상기 입력 값인 상기 4비트의 비트스트링 2개에 대응하는 2개의 출력 값들을 연접한 8비트의 비트스트링에서 네 번째 자리와 여덟 번째 자리에 위치하는 비트 값을 상기 8비트의 치환된 비트스트링 내에서 상기 연속된 2개의 비트 값으로 할당 - 상기 8비트의 치환된 비트스트링 내에서 상기 연속된 2개의 비트 값이 할당되는 위치는 상기 제4 치환 테이블 그룹에 존재하는 4개의 치환 테이블들 각각에 대해 서로 상이하게 설계되어 있음 - 하고, 나머지 비트 값을 "0"으로 할당함으로써, 상기 입력으로 인가되는 8비트의 비트스트링이 상기 8비트의 치환된 비트스트링으로 치환되도록 설계되어 있는 전치가 반영된 치환 테이블을 이용한 프레젠트 기반의 암호화 장치
|
3 |
3
제2항에 있어서,상기 치환 테이블 그룹들 각각에 존재하는 4개의 치환 테이블들 중 각 치환 테이블 그룹들 내에서의 첫 번째 치환 테이블에 대해서는 상기 8비트의 치환된 비트스트링 내에서 상기 연속된 2개의 비트 값이 할당되는 위치가 첫 번째와 두 번째 자리로 설계되어 있고, 두 번째 치환 테이블에 대해서는 상기 8비트의 치환된 비트스트링 내에서 상기 연속된 2개의 비트 값이 할당되는 위치가 세 번째와 네 번째 자리로 설계되어 있으며, 세 번째 치환 테이블에 대해서는 상기 8비트의 치환된 비트스트링 내에서 상기 연속된 2개의 비트 값이 할당되는 위치가 다섯 번째와 여섯 번째 자리로 설계되어 있고,네 번째 치환 테이블에 대해서는 상기 8비트의 치환된 비트스트링 내에서 상기 연속된 2개의 비트 값이 할당되는 위치가 일곱 번째와 여덟 번째 자리로 설계되어 있는 전치가 반영된 치환 테이블을 이용한 프레젠트 기반의 암호화 장치
|
4 |
4
제3항에 있어서,상기 데이터 치환부는상기 8개의 8비트의 분할 비트스트링들을 4개씩 분리하여 제1 분할 비트스트링 그룹과 제2 분할 비트스트링 그룹을 생성하는 그룹 생성부;상기 제1 치환 테이블 그룹에 존재하는 4개의 치환 테이블들 각각에 대해 상기 제1 분할 비트스트링 그룹 내에 속해있는 4개의 8비트의 분할 비트스트링들을 하나씩 입력으로 인가하여 8비트의 크기를 갖는 4개의 제1 치환 비트스트링들을 생성하고, 상기 4개의 제1 치환 비트스트링들에 대해 서로 배타적 논리합 연산을 수행하여 8비트의 크기를 갖는 제1 치환 분할 비트스트링을 생성하는 제1 데이터 치환부;상기 제1 치환 테이블 그룹에 존재하는 4개의 치환 테이블들 각각에 대해 상기 제2 분할 비트스트링 그룹 내에 속해있는 4개의 8비트의 분할 비트스트링들을 하나씩 입력으로 인가하여 8비트의 크기를 갖는 4개의 제2 치환 비트스트링들을 생성하고, 상기 4개의 제2 치환 비트스트링들에 대해 서로 배타적 논리합 연산을 수행하여 8비트의 크기를 갖는 제2 치환 분할 비트스트링을 생성하는 제2 데이터 치환부;상기 제2 치환 테이블 그룹에 존재하는 4개의 치환 테이블들 각각에 대해 상기 제1 분할 비트스트링 그룹 내에 속해있는 4개의 8비트의 분할 비트스트링들을 하나씩 입력으로 인가하여 8비트의 크기를 갖는 4개의 제3 치환 비트스트링들을 생성하고, 상기 4개의 제3 치환 비트스트링들에 대해 서로 배타적 논리합 연산을 수행하여 8비트의 크기를 갖는 제3 치환 분할 비트스트링을 생성하는 제3 데이터 치환부;상기 제2 치환 테이블 그룹에 존재하는 4개의 치환 테이블들 각각에 대해 상기 제2 분할 비트스트링 그룹 내에 속해있는 4개의 8비트의 분할 비트스트링들을 하나씩 입력으로 인가하여 8비트의 크기를 갖는 4개의 제4 치환 비트스트링들을 생성하고, 상기 4개의 제4 치환 비트스트링들에 대해 서로 배타적 논리합 연산을 수행하여 8비트의 크기를 갖는 제4 치환 분할 비트스트링을 생성하는 제4 데이터 치환부;상기 제3 치환 테이블 그룹에 존재하는 4개의 치환 테이블들 각각에 대해 상기 제1 분할 비트스트링 그룹 내에 속해있는 4개의 8비트의 분할 비트스트링들을 하나씩 입력으로 인가하여 8비트의 크기를 갖는 4개의 제5 치환 비트스트링들을 생성하고, 상기 4개의 제5 치환 비트스트링들에 대해 서로 배타적 논리합 연산을 수행하여 8비트의 크기를 갖는 제5 치환 분할 비트스트링을 생성하는 제5 데이터 치환부;상기 제3 치환 테이블 그룹에 존재하는 4개의 치환 테이블들 각각에 대해 상기 제2 분할 비트스트링 그룹 내에 속해있는 4개의 8비트의 분할 비트스트링들을 하나씩 입력으로 인가하여 8비트의 크기를 갖는 4개의 제6 치환 비트스트링들을 생성하고, 상기 4개의 제6 치환 비트스트링들에 대해 서로 배타적 논리합 연산을 수행하여 8비트의 크기를 갖는 제6 치환 분할 비트스트링을 생성하는 제6 데이터 치환부;상기 제4 치환 테이블 그룹에 존재하는 4개의 치환 테이블들 각각에 대해 상기 제1 분할 비트스트링 그룹 내에 속해있는 4개의 8비트의 분할 비트스트링들을 하나씩 입력으로 인가하여 8비트의 크기를 갖는 4개의 제7 치환 비트스트링들을 생성하고, 상기 4개의 제7 치환 비트스트링들에 대해 서로 배타적 논리합 연산을 수행하여 8비트의 크기를 갖는 제7 치환 분할 비트스트링을 생성하는 제7 데이터 치환부; 및상기 제4 치환 테이블 그룹에 존재하는 4개의 치환 테이블들 각각에 대해 상기 제2 분할 비트스트링 그룹 내에 속해있는 4개의 8비트의 분할 비트스트링들을 하나씩 입력으로 인가하여 8비트의 크기를 갖는 4개의 제8 치환 비트스트링들을 생성하고, 상기 4개의 제8 치환 비트스트링들에 대해 서로 배타적 논리합 연산을 수행하여 8비트의 크기를 갖는 제8 치환 분할 비트스트링을 생성하는 제8 데이터 치환부를 포함하는 전치가 반영된 치환 테이블을 이용한 프레젠트 기반의 암호화 장치
|
5 |
5
제4항에 있어서,상기 암호화 데이터 생성부는상기 제1 치환 분할 비트스트링, 상기 제2 치환 분할 비트스트링, 상기 제3 치환 분할 비트스트링, 상기 제4 치환 분할 비트스트링, 상기 제5 치환 분할 비트스트링, 상기 제6 치환 분할 비트스트링, 상기 제7 치환 분할 비트스트링 및 상기 제8 치환 분할 비트스트링을 연접함으로써, 64비트의 크기를 갖는 상기 암호화 데이터를 생성하는 전치가 반영된 치환 테이블을 이용한 프레젠트 기반의 암호화 장치
|
6 |
6
제1항에 있어서,상기 암호화 데이터의 생성이 완료되면, 상기 암호화 데이터를 입력으로 해서 상기 데이터 분할부, 상기 데이터 치환부 및 상기 암호화 데이터 생성부에 따른 암호화 프로세스를 복수의 라운드만큼 반복 수행하여 64비트의 크기를 갖는 최종 암호화 데이터의 생성을 제어하되, 상기 선정된 비밀키에 대해 선정된 비트 단위의 순환 시프트(Cyclic Shift) 연산을 수행하여 각 암호화 프로세스의 라운드에서 사용할 복수의 비밀키들을 생성함으로써, 상기 데이터 분할부가 각 암호화 프로세스의 라운드별로 대응되는 비밀키를 이용하여 전처리 암호화 데이터를 생성하도록 제어하는 반복 암호화 라운드 수행 제어부를 더 포함하는 전치가 반영된 치환 테이블을 이용한 프레젠트 기반의 암호화 장치
|
7 |
7
입력으로 인가되는 8비트의 비트스트링을 8비트의 치환된 비트스트링으로 치환하되, 상기 8비트의 치환된 비트스트링에 존재하는 8개의 비트 값들 중 연속된 2개의 비트 값을 제외한 나머지 6개의 비트 값들이 모두 "0"의 값이 할당되도록 설계되어 있는 16개의 서로 다른 치환 테이블들 - 상기 16개의 서로 다른 치환 테이블들은 4개의 치환 테이블들 별로 그룹화되어 있고, 각 그룹 내의 4개의 치환 테이블들은 상기 8비트의 치환된 비트스트링에서 상기 연속된 2개의 비트 값의 위치가 모두 상이하게 존재하도록 설계된 치환 테이블들임 - 이 저장되어 있는 치환 테이블 저장부를 유지하는 치환 테이블 유지 단계;64비트의 크기를 갖는 평문 데이터가 입력되면, 선정된(predetermined) 비밀키로 암호화를 수행하여 64비트의 크기를 갖는 전처리 암호화 데이터를 생성하고, 상기 64비트의 크기를 갖는 전처리 암호화 데이터를 구성하는 비트스트링을 8비트의 비트스트링들 별로 분할하여 8비트의 분할 비트스트링들을 8개 생성하는 데이터 분할 단계;상기 8개의 8비트의 분할 비트스트링들을 4개씩 분리하여 상기 치환 테이블 그룹들 별로 존재하는 4개의 치환 테이블들에 각각 입력으로 인가함으로써, 상기 치환 테이블 그룹들 별로 8비트의 치환 분할 비트스트링을 2개씩 생성하는 데이터 치환 단계; 및상기 치환 테이블 그룹들 별로 2개씩 생성된 8비트의 치환 분할 비트스트링들을 모두 연접하여 64비트의 크기를 갖는 암호화 데이터를 생성하는 암호화 데이터 생성 단계를 포함하는 전치가 반영된 치환 테이블을 이용한 프레젠트 기반의 암호화 방법
|
8 |
8
제7항에 있어서,상기 치환 테이블 그룹들 중 제1 치환 테이블 그룹에 존재하는 4개의 치환 테이블들은하기의 표 2의 프레젠트 암호화용 치환 테이블인 S-BOX에서의 입력 값에 대응하는 4비트의 비트스트링 2개가 연접되어 있는 8비트의 비트스트링이 입력으로 인가된다면, 상기 S-BOX에서의 상기 입력 값인 상기 4비트의 비트스트링 2개에 대응하는 2개의 출력 값들을 연접한 8비트의 비트스트링에서 첫 번째 자리와 다섯 번째 자리에 위치하는 비트 값을 상기 8비트의 치환된 비트스트링 내에서 상기 연속된 2개의 비트 값으로 할당 - 상기 8비트의 치환된 비트스트링 내에서 상기 연속된 2개의 비트 값이 할당되는 위치는 상기 제1 치환 테이블 그룹에 존재하는 4개의 치환 테이블들 각각에 대해 서로 상이하게 설계되어 있음 - 하고, 나머지 비트 값을 "0"으로 할당함으로써, 상기 입력으로 인가되는 8비트의 비트스트링이 상기 8비트의 치환된 비트스트링으로 치환되도록 설계되어 있고,상기 치환 테이블 그룹들 중 제2 치환 테이블 그룹에 존재하는 4개의 치환 테이블들은상기 S-BOX에서의 입력 값에 대응하는 4비트의 비트스트링 2개가 연접되어 있는 8비트의 비트스트링이 입력으로 인가된다면, 상기 S-BOX에서의 상기 입력 값인 상기 4비트의 비트스트링 2개에 대응하는 2개의 출력 값들을 연접한 8비트의 비트스트링에서 두 번째 자리와 여섯 번째 자리에 위치하는 비트 값을 상기 8비트의 치환된 비트스트링 내에서 상기 연속된 2개의 비트 값으로 할당 - 상기 8비트의 치환된 비트스트링 내에서 상기 연속된 2개의 비트 값이 할당되는 위치는 상기 제2 치환 테이블 그룹에 존재하는 4개의 치환 테이블들 각각에 대해 서로 상이하게 설계되어 있음 - 하고, 나머지 비트 값을 "0"으로 할당함으로써, 상기 입력으로 인가되는 8비트의 비트스트링이 상기 8비트의 치환된 비트스트링으로 치환되도록 설계되어 있으며,상기 치환 테이블 그룹들 중 제3 치환 테이블 그룹에 존재하는 4개의 치환 테이블들은상기 S-BOX에서의 입력 값에 대응하는 4비트의 비트스트링 2개가 연접되어 있는 8비트의 비트스트링이 입력으로 인가된다면, 상기 S-BOX에서의 상기 입력 값인 상기 4비트의 비트스트링 2개에 대응하는 2개의 출력 값들을 연접한 8비트의 비트스트링에서 세 번째 자리와 일곱 번째 자리에 위치하는 비트 값을 상기 8비트의 치환된 비트스트링 내에서 상기 연속된 2개의 비트 값으로 할당 - 상기 8비트의 치환된 비트스트링 내에서 상기 연속된 2개의 비트 값이 할당되는 위치는 상기 제3 치환 테이블 그룹에 존재하는 4개의 치환 테이블들 각각에 대해 서로 상이하게 설계되어 있음 - 하고, 나머지 비트 값을 "0"으로 할당함으로써, 상기 입력으로 인가되는 8비트의 비트스트링이 상기 8비트의 치환된 비트스트링으로 치환되도록 설계되어 있고,상기 치환 테이블 그룹들 중 제4 치환 테이블 그룹에 존재하는 4개의 치환 테이블들은상기 S-BOX에서의 입력 값에 대응하는 4비트의 비트스트링 2개가 연접되어 있는 8비트의 비트스트링이 입력으로 인가된다면, 상기 S-BOX에서의 상기 입력 값인 상기 4비트의 비트스트링 2개에 대응하는 2개의 출력 값들을 연접한 8비트의 비트스트링에서 네 번째 자리와 여덟 번째 자리에 위치하는 비트 값을 상기 8비트의 치환된 비트스트링 내에서 상기 연속된 2개의 비트 값으로 할당 - 상기 8비트의 치환된 비트스트링 내에서 상기 연속된 2개의 비트 값이 할당되는 위치는 상기 제4 치환 테이블 그룹에 존재하는 4개의 치환 테이블들 각각에 대해 서로 상이하게 설계되어 있음 - 하고, 나머지 비트 값을 "0"으로 할당함으로써, 상기 입력으로 인가되는 8비트의 비트스트링이 상기 8비트의 치환된 비트스트링으로 치환되도록 설계되어 있는 전치가 반영된 치환 테이블을 이용한 프레젠트 기반의 암호화 방법
|
9 |
9
제8항에 있어서,상기 치환 테이블 그룹들 각각에 존재하는 4개의 치환 테이블들 중 각 치환 테이블 그룹들 내에서의 첫 번째 치환 테이블에 대해서는 상기 8비트의 치환된 비트스트링 내에서 상기 연속된 2개의 비트 값이 할당되는 위치가 첫 번째와 두 번째 자리로 설계되어 있고, 두 번째 치환 테이블에 대해서는 상기 8비트의 치환된 비트스트링 내에서 상기 연속된 2개의 비트 값이 할당되는 위치가 세 번째와 네 번째 자리로 설계되어 있으며, 세 번째 치환 테이블에 대해서는 상기 8비트의 치환된 비트스트링 내에서 상기 연속된 2개의 비트 값이 할당되는 위치가 다섯 번째와 여섯 번째 자리로 설계되어 있고,네 번째 치환 테이블에 대해서는 상기 8비트의 치환된 비트스트링 내에서 상기 연속된 2개의 비트 값이 할당되는 위치가 일곱 번째와 여덟 번째 자리로 설계되어 있는 전치가 반영된 치환 테이블을 이용한 프레젠트 기반의 암호화 방법
|
10 |
10
제9항에 있어서,상기 데이터 치환 단계는상기 8개의 8비트의 분할 비트스트링들을 4개씩 분리하여 제1 분할 비트스트링 그룹과 제2 분할 비트스트링 그룹을 생성하는 그룹 생성 단계;상기 제1 치환 테이블 그룹에 존재하는 4개의 치환 테이블들 각각에 대해 상기 제1 분할 비트스트링 그룹 내에 속해있는 4개의 8비트의 분할 비트스트링들을 하나씩 입력으로 인가하여 8비트의 크기를 갖는 4개의 제1 치환 비트스트링들을 생성하고, 상기 4개의 제1 치환 비트스트링들에 대해 서로 배타적 논리합 연산을 수행하여 8비트의 크기를 갖는 제1 치환 분할 비트스트링을 생성하는 제1 데이터 치환 단계;상기 제1 치환 테이블 그룹에 존재하는 4개의 치환 테이블들 각각에 대해 상기 제2 분할 비트스트링 그룹 내에 속해있는 4개의 8비트의 분할 비트스트링들을 하나씩 입력으로 인가하여 8비트의 크기를 갖는 4개의 제2 치환 비트스트링들을 생성하고, 상기 4개의 제2 치환 비트스트링들에 대해 서로 배타적 논리합 연산을 수행하여 8비트의 크기를 갖는 제2 치환 분할 비트스트링을 생성하는 제2 데이터 치환 단계;상기 제2 치환 테이블 그룹에 존재하는 4개의 치환 테이블들 각각에 대해 상기 제1 분할 비트스트링 그룹 내에 속해있는 4개의 8비트의 분할 비트스트링들을 하나씩 입력으로 인가하여 8비트의 크기를 갖는 4개의 제3 치환 비트스트링들을 생성하고, 상기 4개의 제3 치환 비트스트링들에 대해 서로 배타적 논리합 연산을 수행하여 8비트의 크기를 갖는 제3 치환 분할 비트스트링을 생성하는 제3 데이터 치환 단계;상기 제2 치환 테이블 그룹에 존재하는 4개의 치환 테이블들 각각에 대해 상기 제2 분할 비트스트링 그룹 내에 속해있는 4개의 8비트의 분할 비트스트링들을 하나씩 입력으로 인가하여 8비트의 크기를 갖는 4개의 제4 치환 비트스트링들을 생성하고, 상기 4개의 제4 치환 비트스트링들에 대해 서로 배타적 논리합 연산을 수행하여 8비트의 크기를 갖는 제4 치환 분할 비트스트링을 생성하는 제4 데이터 치환 단계;상기 제3 치환 테이블 그룹에 존재하는 4개의 치환 테이블들 각각에 대해 상기 제1 분할 비트스트링 그룹 내에 속해있는 4개의 8비트의 분할 비트스트링들을 하나씩 입력으로 인가하여 8비트의 크기를 갖는 4개의 제5 치환 비트스트링들을 생성하고, 상기 4개의 제5 치환 비트스트링들에 대해 서로 배타적 논리합 연산을 수행하여 8비트의 크기를 갖는 제5 치환 분할 비트스트링을 생성하는 제5 데이터 치환 단계;상기 제3 치환 테이블 그룹에 존재하는 4개의 치환 테이블들 각각에 대해 상기 제2 분할 비트스트링 그룹 내에 속해있는 4개의 8비트의 분할 비트스트링들을 하나씩 입력으로 인가하여 8비트의 크기를 갖는 4개의 제6 치환 비트스트링들을 생성하고, 상기 4개의 제6 치환 비트스트링들에 대해 서로 배타적 논리합 연산을 수행하여 8비트의 크기를 갖는 제6 치환 분할 비트스트링을 생성하는 제6 데이터 치환 단계;상기 제4 치환 테이블 그룹에 존재하는 4개의 치환 테이블들 각각에 대해 상기 제1 분할 비트스트링 그룹 내에 속해있는 4개의 8비트의 분할 비트스트링들을 하나씩 입력으로 인가하여 8비트의 크기를 갖는 4개의 제7 치환 비트스트링들을 생성하고, 상기 4개의 제7 치환 비트스트링들에 대해 서로 배타적 논리합 연산을 수행하여 8비트의 크기를 갖는 제7 치환 분할 비트스트링을 생성하는 제7 데이터 치환 단계; 및상기 제4 치환 테이블 그룹에 존재하는 4개의 치환 테이블들 각각에 대해 상기 제2 분할 비트스트링 그룹 내에 속해있는 4개의 8비트의 분할 비트스트링들을 하나씩 입력으로 인가하여 8비트의 크기를 갖는 4개의 제8 치환 비트스트링들을 생성하고, 상기 4개의 제8 치환 비트스트링들에 대해 서로 배타적 논리합 연산을 수행하여 8비트의 크기를 갖는 제8 치환 분할 비트스트링을 생성하는 제8 데이터 치환 단계를 포함하는 전치가 반영된 치환 테이블을 이용한 프레젠트 기반의 암호화 방법
|
11 |
11
제10항에 있어서,상기 암호화 데이터 생성 단계는상기 제1 치환 분할 비트스트링, 상기 제2 치환 분할 비트스트링, 상기 제3 치환 분할 비트스트링, 상기 제4 치환 분할 비트스트링, 상기 제5 치환 분할 비트스트링, 상기 제6 치환 분할 비트스트링, 상기 제7 치환 분할 비트스트링 및 상기 제8 치환 분할 비트스트링을 연접함으로써, 64비트의 크기를 갖는 상기 암호화 데이터를 생성하는 전치가 반영된 치환 테이블을 이용한 프레젠트 기반의 암호화 방법
|
12 |
12
제7항에 있어서,상기 암호화 데이터의 생성이 완료되면, 상기 암호화 데이터를 입력으로 해서 상기 데이터 분할 단계, 상기 데이터 치환 단계 및 상기 암호화 데이터 생성 단계에 따른 암호화 프로세스를 복수의 라운드만큼 반복 수행하여 64비트의 크기를 갖는 최종 암호화 데이터의 생성을 제어하되, 상기 선정된 비밀키에 대해 선정된 비트 단위의 순환 시프트(Cyclic Shift) 연산을 수행하여 각 암호화 프로세스의 라운드에서 사용할 복수의 비밀키들을 생성함으로써, 상기 데이터 분할 단계에서 각 암호화 프로세스의 라운드별로 대응되는 비밀키를 이용하여 전처리 암호화 데이터가 생성되도록 제어하는 반복 암호화 라운드 수행 제어 단계를 더 포함하는 전치가 반영된 치환 테이블을 이용한 프레젠트 기반의 암호화 방법
|
13 |
13
제7항 내지 제12항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체
|
14 |
14
제7항 내지 제12항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램
|