KR101005276B1 - 데이터 의존 연산을 사용하는 암호화 방법 - Google Patents
데이터 의존 연산을 사용하는 암호화 방법 Download PDFInfo
- Publication number
- KR101005276B1 KR101005276B1 KR1020080001717A KR20080001717A KR101005276B1 KR 101005276 B1 KR101005276 B1 KR 101005276B1 KR 1020080001717 A KR1020080001717 A KR 1020080001717A KR 20080001717 A KR20080001717 A KR 20080001717A KR 101005276 B1 KR101005276 B1 KR 101005276B1
- Authority
- KR
- South Korea
- Prior art keywords
- bit
- output
- input
- column
- bits
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
Description
y2 = vzx1 vz vx2 zx1 zx2 x1
상기 수학식 1에서 제 1 출력인 y1은 vzx2와 vx2와 vx1과 zx1과 z와 x2 각각을 순서대로 배타적 논리합의 연산을 한 결과이다. 제 2 출력인 y2는 vzx1과 vz와 vx2와 zx1과 zx2와 x1 각각을 순서대로 배타적 논리합의 연산을 한 결과이다.
y2 = vzx1 vzx2 vz vx1 vx2 zx1 zx2 x1
상기 각 F2/2는 x1, x2의 변수를 입력받아서 v, z의 컨트롤 변수를 이용하여 제 1 출력 y1, 제 2 출력 y2를 출력하며, 상기 수학식 2에서 제 1 출력인 y1는 vzx1과 vzx2와 vx1과 vx2와 zx1과 zx2와 z와 v와 x2 각각을 순서대로 배타적 논리합의 연산을 한 결과이다. 제 2 출력인 y2는 vzx1과 vzx2와 vz와 vx1과 vx2와 zx1과 zx2와 x1 각각을 순서대로 배타적 논리합의 연산을 한 결과이다.
Claims (34)
- 평문을 입력받으며, 상기 평문을 이용하여 소정의 연산을 수행한 결과인 데이터에 의존하여 암호화 연산을 수행하는 단계를 포함하며,상기 암호화 연산을 수행하는 단계는 복수인 것을 특징으로 하며,상기 암호화 연산을 수행하는 단계는;상기 평문을 특정 비트를 기준으로하여 복수의 서브평문으로 분할하는 단계;상기 분할된 서브 평분과 기 설정된 라운드키를 이용하여 연산하는 단계;상기 라운드 키를 이용한 연산의 출력을 입력을 받아서 제 1 암호화 연산을수행하는 단계;상기 제 1 암호화 연산의 출력 및 상기 라운드 키를 이용한 연산의 출력을입력받아 비트를 확장하는 단계; 및상기 라운드 키를 이용한 연산의 출력을 입력 변수로 하고, 상기 비트확장된값을 컨트롤 변수로하여 제 2 암호화 연산을 수행하는 단계;를 포함하는 데이터의존 연산을 사용하는 암호화 연산방법.
- 삭제
- 제 1항에 있어서,상기 라운드키를 이용하여 연산을 수행하는 단계는 현재 평문이 전체 라운드에서 몇 번째 라운드에 해당하는지에 따라 상이한 라운드 키를 서브평문과 연산하는 것을 특징으로 하는 데이터 의존 연산을 사용하는 암호화 연산방법.
- 제 3항에 있어서,1번째 라운드는 K1이 라운드 키 값이 되고, 2번째 라운드는 K2가 라운드 키 값이 되며, 3번째 라운드는 K3가 라운드 키 값이 되고, 4번째 라운드는 K4가 라운드 키 값이 되며, 5번째 라운드는 K1이 라운드 키 값이 되고, 6번째 라운드는 K4가 라운드 키 값이 되며, 7번째 라운드는 K2가 라운드 키 값이 되고, 8번째 라운드는 K3가 라운드 키 값이 되고, 9번째 라운드는 K2가 라운드 키 값이 되며,상기 K1 내지 K4는 외부로부터 입력된 256비트의 비밀키를 4개의 64비트로 분할한 부분키인 것을 특징으로 하는 데이터 의존 연산을 사용하는 암호화 연산방법.
- 제 1항에 있어서,상기 비트를 확장하는 단계는 (V1, Z1, V2, Z2, V3, Z3)의 조절벡터를 생성하며,V1은 상기 입력에 대응되고, Z1은 상기 입력을 우측으로 2 비트만큼 순환이동한 값에 대응되고, V2는 상기 입력을 우측으로 6비트만큼 순환이동한 값에 대응되며, Z2는 상기 입력을 우측으로 8비트만큼 순환이동한 값에 대응되고, V3는 입력을 우측으로 10비트만큼 순환이동한 값에 대응되며, Z3는 입력을 우측으로 12비트만큼 순환이동한 값에 대응되는 것을 특징으로 하는 데이터 의존 연산을 사용하는 암호화 연산방법.
- 제 1항에 있어서,상기 제 1 암호화 연산을 수행하는 단계는;상기 라운드 키를 이용한 연산의 출력의 비트를 분할한 각 출력값을 입력변수와 컨트롤 변수로 하여 제 1 연산을 수행하는 단계;상기 제 1 연산의 출력을 입력받아 각 비트들을 상호간에 치환하고, 특정 값에 매칭하는 제 2 연산을 수행하는 단계;상기 라운드 키를 이용한 연산의 출력을 입력받아 상기 제 2 연산의 역으로 제 3 연산을 수행하는 단계; 및상기 제 3 연산의 출력을 입력변수로 하고, 상기 제 2 연산의 출력을 컨트롤 변수로 하여 제 4 연산을 수행하는 단계;를 포함하는 것을 특징으로 하는 데이터 의존 연산을 사용하는 암호화 연산방법.
- 제 6항에 있어서,상기 제 1 연산을 수행하는 단계는 복수의 F2/2를 포함하며,상기 각 F2/2는 x1, x2를 입력받아 v, z를 컨트롤 변수로 하여 y1, y2를 출력하며,상기 y1은 vzx2와 vx2와 vx1과 zx1과 z와 x2 각각을 순서대로 배타적 논리합의 연산을 한 결과이며,상기 y2는 vzx1와 vz와 vx2와 zx1과 zx2와 x1 각각을 순서대로 배타적 논리합 연산을 한 결과인 것을 특징으로 하는 데이터 의존 연산을 사용하는 암호화 연산방법.
- 제 6항에 있어서,상기 제 2 연산을 수행하는 단계는 상기 제 1 연산의 출력의 비트들을 상호간에 치환하는 제 1 치환단계;상기 제 1 치환단계에서 치환한 값들을 기 설정된 특정 값으로 매칭하는 제 1 매칭단계;상기 제 2 매칭단계에서 매칭된 값의 비트들을 상호간에 치환하는 제 2 치환단계; 및상기 제 2 치환단계에서 치환한 값들을 기 설정된 특정 값으로 매칭하는 제 2 매칭단계;를 포함하는 데이터 의존 연산을 사용하는 암호화 연산방법.
- 제 8항에 있어서,상기 제 1 치환단계는 1번째 비트는 1번째 비트로 출력되고, 2번째 비트는 10번째 비트와 상호간에 치환되어 출력되고, 3번째 비트는 3번째 비트로 출력되고, 4번째 비트는 12번째 비트와 상호간에 치환되어 출력되고, 5번째 비트는 5번째 비트로 출력되고, 6번째 비트는 14번째 비트와 상호간에 치환되어 출력되고, 7번째 비트는 7번째 비트로 출력되고, 8번째 비트는 16번째 비트와 상호간에 치환되어 출력되고, 9번째 비트는 9번째 비트로 출력되고, 11번째 비트는 11번째 비트로 출력되고, 13번째 비트는 13번째 비트로 출력되고, 15번째 비트는 15번째 비트로 출력되는 것을 특징으로 하는 데이터 의존 연산을 사용하는 암호화 연산방법.
- 제 8항에 있어서,상기 제 2 치환단계는 1번째 비트는 1번째 비트로 출력되고, 2번째 비트는 5번째 비트와 상호간에 치환되어 출력되고, 3번째 비트는 9번째 비트와 상호간에 치환되어 출력되고, 4번째 비트는 13번째 비트와 상호간에 치환되어 출력되고, 6번째 비트는 6번째 비트로 출력되고, 7번째 비트는 10번째 비트와 상호간에 치환되어 출력되고, 8번째 비트는 14번째 비트와 상호간에 치환되어 출력되고, 11번째 비트는 11번째 비트로 출력되고, 12번째 비트는 15번째 비트와 상호간에 치환되어 출력되고, 16번째 비트는 16번째 비트로 출력되는 것을 특징으로 하는 데이터 의존 연산을 사용하는 암호화 연산방법.
- 제 6항에 있어서,상기 제 4 연산은 상기 제 1 연산과 동일한 연산과정을 수행하는 것을 특징으로 하는 데이터 의존 연산을 사용하는 암호화 연산방법.
- 제 1항에 있어서, 상기 제 2 암호화 연산을 수행하는 단계는;상기 라운드 키를 이용한 연산의 출력을 입력변수로 하고, 상기 비트확장된 값을 컨트롤 변수로 하여 제 5 연산을 수행하는 단계;상기 제 5 연산의 출력의 비트들을 상호간에 치환하는 제 3 치환단계; 및상기 제 3 치환의 출력을 입력변수로 하고, 상기 제 2 연산의 출력을 입력받아 비트를 확장한 출력을 컨트롤 변수로 하여 제 6 연산을 수행하는 단계;를 포함하는 데이터 의존 연산을 사용하는 암호화 연산방법.
- 제 12항에 있어서, 상기 제 5 연산을 수행하는 단계는 복수의 F8/24를 포함하며,상기 입력의 1번째 비트부터 8번째 비트는 제 1 F8/24로 입력되고, 9번째 비트부터 16번째 비트는 제 2 F8/24로 입력되고, 17번째 비트부터 24번째 비트는 제 3 F8/24로 입력되고, 제 25번째 비트부터 32번째 비트는 제 4 F8/24로 입력되는 것을 특징으로 하는 데이터 의존 연산을 사용하는 암호화 연산방법.
- 제 12항에 있어서,상기 제 3 치환단계는 상기 라운드 키를 이용한 연산의 출력에서 1번째 비트는 1번째 비트로 출력되고, 2번째 비트는 9번째 비트와 상호간에 치환되어 출력되고, 3번째 비트는 17번째 비트와 상호간에 치환되어 출력되고, 4번째 비트는 25번째 비트와 상호간에 치환되어 출력되고, 5번째 비트는 5번째 비트로 출력되고, 6번째 비트는 13번째 비트와 상호간에 치환되어 출력되고, 7번째 비트는 21번째와 상 호간에 치환되어 출력되고, 8번째 비트는 29번째 비트와 상호간에 치환되어 출력되고, 10번째 비트는 10번째 비트로 출력되고, 11번째 비트는 18번째 비트와 상호간에 치환되어 출력되고, 12번째 비트는 26번째 비트와 상호간에 치환되어 출력되고, 14번째 비트는 14번째 비트로 출력되고, 15번째 비트는 22번째 비트로 출력되고, 16번째 비트는 30번째 비트와 상호간에 치환되어 출력되고, 19번째 비트는 19번째 비트로 출력되고, 20번째 비트는 27번째 비트와 상호간에 치환되어 출력되고, 23번째 비트는 23번째 비트로 출력되고, 24번째 비트는 31번째 비트와 상호간에 치환되어 출력되고, 28번째 비트는 28번째 비트로 출력되고, 32번째 비트는 32번째 비트로 출력되는 것을 특징으로 하는 데이터 의존 연산을 사용하는 암호화 연산방법.
- 제 12항에 있어서, 상기 제 6 연산을 수행하는 단계는 복수의 F-18/24를 포함하며,상기 입력의 1번째 비트부터 8번째 비트는 제 1 F-18/24로 입력되고, 9번째 비트부터 16번째 비트는 제 2 F-18/24로 입력되고, 17번째 비트부터 24번째 비트는 제 3 F-18/24로 입력되고, 제 25번째 비트부터 32번째 비트는 제 4 F-18/24로 입력되는 것을 특징으로 하는 데이터 의존 연산을 사용하는 암호화 연산방법.
- 제 1항에 있어서, 상기 암호화 연산을 수행하는 단계는;상기 평문을 특정 비트를 기준으로 하여 복수의 서브평문으로 분할하는 단계;상기 분할된 서브 평분과 기 설정된 라운드키를 이용하여 연산하는 단계;상기 라운드 키를 이용한 연산의 출력을 입력을 받아서 제 3 암호화 연산을 수행하는 단계;상기 제 3 암호화 연산의 출력 및 상기 라운드 키를 이용한 연산의 출력을 입력받아 비트를 확장하는 단계; 및상기 라운드 키를 이용한 연산의 출력을 입력 변수로 하고, 상기 비트확장된 값을 컨트롤 변수로하여 제 4 암호화 연산을 수행하는 단계;를 포함하는 데이터 의존 연산을 사용하는 암호화 연산방법.
- 제 16항에 있어서,상기 라운드키를 이용하여 연산을 수행하는 단계는 현재 평문이 전체 라운드에서 몇 번째 라운드에 해당하는지에 따라 상이한 라운드 키를 서브평문과 연산하는 것을 특징으로 하는 데이터 의존 연산을 사용하는 암호화 연산방법.
- 제 17항에 있어서,1번째 라운드는 K1이 라운드 키 값이 되고, 2번째 라운드는 K2가 라운드 키 값이 되며, 3번째 라운드는 K3가 라운드 키 값이 되고, 4번째 라운드는 K4가 라운드 키 값이 되며, 5번째 라운드는 K2이 라운드 키 값이 되고, 6번째 라운드는 K1가 라운드 키 값이 되며, 7번째 라운드는 K3가 라운드 키 값이 되고, 8번째 라운드는 K4가 라운드 키 값이 되고, 9번째 라운드는 K3가 라운드 키 값이 되며, 10번째 라운드는 K2가 라운드 키 값이 되고, 11번째 라운드는 K1이 라운드 키 값이 된다.상기 K1 내지 K4는 외부로부터 입력된 256비트의 비밀키를 4개의 64비트로 분할한 부분키인 것을 특징으로 하는 데이터 의존 연산을 사용하는 암호화 연산방법.
- 제 16항에 있어서,상기 비트를 확장하는 단계는 (V4, Z4, V5, Z5, V6, Z6)의 조절 벡터를 생성하며,V4는 상기 제 3 암호화 연산의 입력에 대응되고, Z4은 제 3 암호화 연산의 입력을 우측으로 5비트만큼 순환이동한 값에 대응되고, V5는 제 3 암호화 연산의 입력을 우측으로 10비트만큼 순환이동한 값에 대응되고, Z5는 제 3 암호화 연산의 입력을 우측으로 15비트만큼 순환이동한 값에 대응되고, V6는 제 3 암호화 연산의 입력을 우측으로 20비트만큼 순환이동한 값에 대응되고, Z6는 제 3 암호화 연산의 입력을 우측으로 25비트만큼 순환이동한 값에 대응되는 것을 특징으로 하는 데이터 의존 연산을 사용하는 암호화 연산방법.
- 제 16항에 있어서, 상기 제 3 암호화 연산을 수행하는 단계는;상기 라운드 키를 이용한 연산의 출력을 비트 분할한 각 출력값을 입력변수와 컨트롤 변수로 하여 제 7 연산을 수행하는 단계;상기 제 7 연산의 출력을 입력받아 각 비트들을 상호간에 치환하고, 특정 값에 매칭하는 제 8 연산을 수행하는 단계;상기 라운드 키를 이용한 연산의 출력을 입력받아 상기 제 8 연산의 역으로 제 9 연산을 수행하는 단계; 및상기 제 9 연산의 출력을 입력변수로 하고, 상기 제 8 연산의 출력을 컨트롤 변수로 하여 제 10 연산을 수행하는 단계;를 포함하는 것을 특징으로 하는 데이터 의존 연산을 사용하는 암호화 연산방법.
- 제 20항에 있어서, 상기 제 7 연산을 수행하는 단계는 복수의 F2/2를 포함하며,상기 각 F2/2는 x1, x2를 입력받아 v, z를 컨트롤 변수로 하여 y1, y2를 출력하며,상기 y1는 vzx1과 vzx2와 vx1과 vx2와 zx1과 zx2와 z와 v와 x2 각각을 순서대로 배타적 논리합의 연산을 한 결과이며,상기 y2는 vzx1과 vzx2와 vz와 vx1과 vx2와 zx1과 zx2와 x1 각각을 순서대로 배타적 논리합의 연산을 한 결과인 것을 특징으로 하는 데이터 의존 연산을 사용하는 암호화 연산방법.
- 제 20항에 있어서,상기 제 8 연산을 수행하는 단계는 상기 제 7 연산의 출력의 비트들을 상호간에 치환하는 제 4 치환단계;상기 제 4 치환단계에서 치환한 값들을 기 설정된 특정 값으로 매칭하는 제 3 매칭단계;상기 제 3 매칭단계에서 매칭된 값의 비트들을 상호간에 치환하는 제 5 치환단계; 및상기 제 5 치환단계에서 치환한 값들을 기 설정된 특정 값으로 매칭하는 제 4 매칭단계;를 포함하는 데이터 의존 연산을 사용하는 암호화 연산방법.
- 제 22항에 있어서,상기 제 4 치환단계는 1번째 비트는 1번째 비트로 출력되고, 2번째 비트는 18번째 비트와 상호간에 치환되어 출력되며, 3번째 비트는 3번째 비트로 출력되고, 4번째 비트는 20번째 비트와 상호간에 치환되어 출력되며, 5번째 비트는 5번째 비트로 출력되고, 6번째 비트는 22번째 비트와 상호간에 치환되어 출력되며, 7번째 비트는 7번째 비트로 상호간에 치환되어 출력되고, 8번째 비트는 24번째 비트와 상호간에 치환되어 출력되며, 9번째 비트는 9번째 비트로 출력되고, 10번째 비트는 26번째 비트와 상호간에 치환되어 출력되며, 11번째 비트는 11번째 비트로 출력되고, 12번째 비트는 28번째 비트와 상호간에 치환되어 출력되며, 13번째 비트는 13 번째 비트로 출력되고, 14번째 비트는 30번째 비트와 상호간에 치환되어 출력되며, 15번째 비트는 15번째 비트로 출력되고, 16번째 비트는 32번째 비트와 상호간에 치환되어 출력되며, 17번째 비트는 17번째 비트로 출력되고, 19번째 비트는 19번째 비트로 출력되고, 21번째 비트는 21번째 비트로 출력되고, 23번째 비트는 23번째 비트로 출력되고, 25번째 비트는 25번째 비트로 출력되고, 27번째 비트는 27번째 비트로 출력되고, 29번째 비트는 29번째 비트로 출력되고, 31번째 비트는 31번째 비트로 출력되는 것을 특징으로 하는 데이터 의존 연산을 사용하는 암호화 연산방법.
- 제 22항에 있어서,상기 제 5 치환단계는 입력되는 값에서 1번째 비트는 1번째 비트로 출력되고, 2번째 비트는 5번째 비트와 상호간에 치환되어 출력되고, 3번째 비트는 9번째 비트와 상호간에 치환되어 출력되고, 4번째 비트는 13번째 비트와 상호간에 치환되어 출력되고, 6번째 비트는 6번째 비트로 출력되고, 7번째 비트는 10번째 비트와 상호간에 치환되어 출력되고, 8번째 비트는 14번째 비트와 상호간에 치환되어 출력되고, 11번째 비트는 11번째 비트로 출력되고, 12번째 비트는 25번째 비트와 상호간에 치환되어 출력되고, 16번째 비트는 16번째 비트로 출력되고, 17번째 비트는 17비트로 출력되고, 18번째 비트는 21번째 비트와 상호간에 치환되어 출력되고, 19번째 비트는 25번째 비트와 상호간에 치환되어 출력되고, 20번째 비트는 29번째 비트와 상호간에 치환되어 출력되고, 22번째 비트는 22번째 비트로 출력되고, 23번째 비트는 26번째 비트와 상호간에 치환되어 출력되고, 24번째 비트는 30번째 비트와 상호간에 치환되어 출력되고, 27번째 비트는 27번째 비트로 출력되고, 28번째 비트는 31번째 비트와 상호간에 치환되어 출력되고, 32번째 비트는 32번째 비트로 출력되는 것을 특징으로 하는 데이터 의존 연산을 사용하는 암호화 연산방법.
- 제 20항에 있어서,상기 제 10 연산은 상기 제 7 연산과 동일한 연산과정을 수행하는 것을 특징으로 하는 데이터 의존 연산을 사용하는 암호화 연산방법.
- 제 20항에 있어서, 상기 제 4 암호화 연산을 수행하는 단계는;상기 라운드 키를 이용한 연산의 출력을 입력받아 비트들을 상호간에 치환하는 제 6 치환단계;상기 제 6 치환단계의 출력을 입력변수로 하고, 상기 비트를 확장한 값을 컨트롤 변수로 하여 제 11 연산을 수행하는 단계;상기 제 11 연산의 출력의 비트들을 상호간에 치환하는 제 7 치환단계;상기 제 7 치환단계의 출력을 입력변수로 하고, 상기 9 연산의 출력을 입력받아 비트를 확장한 값을 컨트롤 변수로 하여 제 12 연산을 수행하는 단계; 및상기 제 12 연산의 출력의 비트들을 상호간에 치환하는 제 8 치환단계;를 포함하는 데이터 의존 연산을 사용하는 암호화 연산방법.
- 제 26항에 있어서, 상기 제 6 치환단계는 입력되는 값에서 홀수번째 비트는 동일한 비트로 출력되고, 짝수번째 비트는 (2j, 2j+32)비트로 출력되며, 상기 j는 1 이상 32 이하의 값인 것을 특징으로 하는 데이터 의존 연산을 사용하는 암호화 연산방법.
- 제 26항에 있어서, 상기 제 11 연산을 수행하는 단계는 복수의 F8/24를 포함하며,상기 입력의 1번째 비트부터 8번째 비트는 제 1 F8/24로 입력되고, 9번째 비트부터 16번째 비트는 제 2 F8/24로 입력되고, 17번째 비트부터 24번째 비트는 제 3 F8/24로 입력되고, 제 25번째 비트부터 32번째 비트는 제 4 F8/24로 입력되고, 제 33번째 비트부터 40번째 비트는 제 5 F8/24로 입력되고, 제 41번째 비트부터 48번째 비트는 제 6 F8/24로 입력되고, 제 49번째 비트부터 56번째 비트는 제 7 F8/24로 입력되고, 제 57번째 비트부터 64번째 비트는 제 8 F8/24로 입력되는 것을 특징으로 하는 데이터 의존 연산을 사용하는 암호화 연산방법.
- 제 13항 또는 제 28항에 있어서, 상기 F8/24는 3열의 복수의 F2/2를 포함하며,제 1열 복수의 F2/2는 상기 라운드 키 연산부의 출력을 입력받고, V1, Z1을 컨트롤 변수로 하여 연산을 수행하며, 제 1열 1번째 F2/2의 제 1 출력은 제 2열 1번째 F2/2로 입력되고, 제 2 출력은 제 2열 3번째 F2/2로 입력되고, 제 1열 2번째 F2/2의 제 1 출력은 제 2열 1번째 F2/2로 입력되며, 제 2 출력은 제 2열 3번째 F2/2로 입력되고, 제 1열 3번째 F2/2의 제 1 출력은 제 2열 2번째 F2/2로 입력되고, 제7 2 출력은 제 2열 4번째 F2/2로 입력되며, 제 1열 4번째 F2/2의 제 1 출력은 제 2열 2번째 F2/2로 입력되고, 제 2 출력은 제 2열 4번째 F2/2로 입력되며,제 2열 복수의 F2/2는 상기 제 1열 복수의 F2/2의 출력을 입력받고, V2, Z2를 컨트롤 변수로 하여 연산을 수행하며, 제 2열 1번째 F2/2의 제 1 출력은 제 3열 1번째 F2/2로 입력되고, 제 2 출력은 제 3열 2번째 F2/2로 입력되며, 제 2열 2번째 F2/2의 제 1 출력은 제 3열 1번째 F2/2로 입력되고, 제 2 출력은 제 3열 2번째 F2/2로 입력되며, 제 2열 3번째 F2/2의 제 1 출력은 제 3열 3번째 F2/2로 입력되고, 제 2 출력은 제 3열 4번째 F2/2로 입력되며, 제 2열 4번째 F2/2의 제 1 출력은 제 3열 3번째 F2/2로 입력되고, 제 2 출력은 제 3열 4번째 F2/2로 입력되며,제 3열 복수의 F2/2는 상기 제 2열 복수의 F2/2의 출력을 입력받고, V3, Z3를 컨트롤 변수로 하여 연산을 수행하는 것을 특징으로 하는 데이터 의존 연산을 사용하는 암호화 연산방법.
- 제 26항에 있어서, 상기 제 12 연산을 수행하는 단계는 복수의 F-18/24를 포함하며,상기 입력의 1번째 비트부터 8번째 비트는 제 1 F-18/24로 입력되고, 9번째 비트부터 16번째 비트는 제 2 F-18/24로 입력되고, 17번째 비트부터 24번째 비트는 제 3 F-18/24로 입력되고, 제 25번째 비트부터 32번째 비트는 제 4 F-18/24로 입력되고, 33번째 비트부터 40번째 비트는 제 5 F-18/24로 입력되고, 41번째 비트부터 48번째 비트는 제 6 F-18/24로 입력되고, 49번째 비트부터 56번째 비트는 제 7 F-18/24로 입력되고, 57번째 비트부터 64번째 비트는 제 8 F-18/24로 입력되는 것을 특징으로 하는 데이터 의존 연산을 사용하는 암호화 연산방법.
- 제 15항에 있어서, 상기 제 F-18/24은 3열의 복수의 F2/2를 포함하며,제 1열 복수의 F2/2는 상기 제 3 치환단계의 출력을 입력받고, V3, Z3를 컨트롤 변수로 하여 연산을 수행하며, 제 1열 1번째 F2/2의 제 1 출력은 제 2열 1번째 F2/2로 입력되고, 제 2 출력은 제 2열 2번째 F2/2로 입력되며, 제 1열 2번째 F2/2의 제 1 출력은 제 2열 1번째 F2/2로 입력되고, 제 2 출력은 제 2열 2째 F2/2로 입력되며, 제 1열 3번째 F2/2의 제 1 출력은 제 2열 3번째 F2/2로 입력되고, 제 2 출력은 제 2열 4번째 F2/2로 입력되며, 제 1열 4번째 F2/2의 제 1 출력은 제 2열 3번째 F2/2로 입력되고, 제 2 출력은 제 2열 4번째 F2/2로 입력되며,제 2열 복수의 F2/2는 상기 제 1열 복수의 F2/2의 출력을 입력받고, V2, Z2를 컨트롤 변수로 하여 연산을 수행하며, 제 2열 1번째 F2/2의 제 1 출력은 제 3열 1번째 F2/2로 입력되고, 제 2 출력은 제 3열 2번째 F2/2로 입력되며, 제 2열 2번째 F2/2의 제 1 출력은 제 3열 3번째 F2/2로 입력되고, 제 2 출력은 제 3열 4번째 F2/2로 입력되며, 제 2열 3번째 F2/2의 제 1 출력은 제 3열 1번째 F2/2로 입력되고, 제 2 출력은 제 3열 2번째 F2/2로 입력되며, 제 2열 4번째 F2/2의 제 1 출력은 제 3열 3번째 F2/2로 입력되고, 제 2 출력은 제 3열 4번째 F2/2로 입력되며,제 3열 복수의 F2/2는 상기 제 2열 복수의 F2/2의 출력을 입력받고, V1, Z1를 컨트롤 변수로 하여 연산을 수행하는 것을 특징으로 하는 데이터 의존 연산을 사용하는 암호화 연산방법.
- 제 26항에 있어서,상기 제 7 치환단계는 입력되는 값에서 1번째 비트는 1번째 비트로 출력되고, 2번째 비트는 9번째 비트와 상호간에 치환되어 출력되고, 3번째 비트는 17번째 비트로 출력되고, 4번째 비트는 25번째 비트와 상호간에 치환되어 출력되고, 5번째 비트는 33번째 비트와 상호간에 치환되어 출력되고, 6번째 비트는 41번째 비트와 상호간에 치환되어 출력되고, 7번째 비트는 49번째 비트와 상호간에 치환되어 출력되고, 8번째 비트는 57번째 비트와 상호간에 치환되어 출력되고, 10번째 비트는 10번째 비트로 출력되고, 11번째 비트는 18번째 비트와 상호간에 치환되어 출력되고, 12번째 비트는 26번째 비트와 상호간에 치환되어 출력되고, 15번째 비트는 50번째 비트와 상호간에 치환되어 출력되며, 16번째 비트는 58번째 비트와 상호간에 치환되어 출력되고, 19번째 비트는 19번째 비트로 출력되고, 20번째 비트는 27번째 비트와 상호간에 치환되어 출력되며, 21번째 비트는 35번째 비트와 상호간에 치환되 어 출력되고, 22번째 비트는 43번째 비트와 상호간에 치환되어 출력되며, 23번째 비트는 51번째 비트와 상호간에 치환되어 출력되고, 24번째 비트는 59번째 비트와 상호간에 치환되어 출력되며, 28번째 비트는 28번째 비트로 출력되고, 29번째 비트는 36번째 비트와 상호간에 치환되어 출력되며, 30번째 비트는 44번째 비트와 상호간에 치환되어 출력되고, 31번째 비트는 52번째 비트와 상호간에 치환되어 출력되며, 32번째 비트는 60번째 비트와 상호간에 치환되어 출력되며, 37번째 비트는 37번째 비트로 출력되고, 38번째 비트는 45번째 비트와 상호간에 치환되어 출력되며, 39번째 비트는 53번째 비트와 상호간에 치환되어 출력되며, 40번째 비트는 61번째 비트와 상호간에 치환되어 출력되며, 46번째 비트는 46번째 비트로 출력되고, 47번째 비트는 54번째 비트와 상호간에 치환되어 출력되며, 48번째 비트는 62번째 비트와 상호간에 치환되어 출력되며, 55번째 비트는 55번째 비트로 출력되고, 56번째 비트는 63번째 비트와 상호간에 치환되어 출력되며, 64비트는 64비트로 출력되는 것을 특징으로 하는 데이터 의존 연산을 사용하는 암호화 연산방법.
- 제 26항에 있어서, 상기 제 8 치환단계는 상기 제 6 치환단계와 동일한 연산과정을 수행하는 것을 특징으로 하는 데이터 의존 연산을 사용하는 암호화 연산방법.
- 제 3항 또는 제 17항에 있어서,상기 라운드 키를 이용한 연산은 상기 라운드 키와 상기 서브평문과의 배타 적 논리합 연산인 것을 특징으로 하는 데이터 의존 연산을 사용하는 암호화 연산방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080001717A KR101005276B1 (ko) | 2008-01-07 | 2008-01-07 | 데이터 의존 연산을 사용하는 암호화 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080001717A KR101005276B1 (ko) | 2008-01-07 | 2008-01-07 | 데이터 의존 연산을 사용하는 암호화 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090076007A KR20090076007A (ko) | 2009-07-13 |
KR101005276B1 true KR101005276B1 (ko) | 2011-01-04 |
Family
ID=41333176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080001717A Expired - Fee Related KR101005276B1 (ko) | 2008-01-07 | 2008-01-07 | 데이터 의존 연산을 사용하는 암호화 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101005276B1 (ko) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050147244A1 (en) | 2003-12-30 | 2005-07-07 | Alexander Moldovyan | Method for cryptographic transformation of binary data blocks |
KR20070086509A (ko) * | 2004-12-09 | 2007-08-27 | 인텔 코오퍼레이션 | 암호 작성 프로세싱의 스피드를 증가시키는 방법 및 장치 |
-
2008
- 2008-01-07 KR KR1020080001717A patent/KR101005276B1/ko not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050147244A1 (en) | 2003-12-30 | 2005-07-07 | Alexander Moldovyan | Method for cryptographic transformation of binary data blocks |
KR20070086509A (ko) * | 2004-12-09 | 2007-08-27 | 인텔 코오퍼레이션 | 암호 작성 프로세싱의 스피드를 증가시키는 방법 및 장치 |
Non-Patent Citations (1)
Title |
---|
Handbook 2006. |
Also Published As
Publication number | Publication date |
---|---|
KR20090076007A (ko) | 2009-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DK1686722T3 (en) | Block encryption device and block encryption method comprising rotation key programming | |
EP1927212B1 (en) | Homophonic substitution symmetric key encryption | |
JP4905000B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
US8635452B2 (en) | Method for generating a cipher-based message authentication code | |
KR20090094086A (ko) | 암호 처리 장치, 암호 처리 방법과 컴퓨터 프로그램 | |
Alawida | A novel DNA tree-based chaotic image encryption algorithm | |
JP2007316614A (ja) | ハッシュ値生成装置、プログラム及びハッシュ値生成方法 | |
CN106034021B (zh) | 轻量级双模兼容aes加解密模块及其方法 | |
RU2124814C1 (ru) | Способ шифрования блоков цифровых данных | |
JP6044738B2 (ja) | 情報処理装置、プログラム及び記憶媒体 | |
CN116846542A (zh) | 一种数据加密和解密方法、装置及电子设备 | |
CN114124359A (zh) | 保留格式加密数据的方法、装置、电子设备及存储介质 | |
Alhag et al. | An enhancement of data encryption standards algorithm (DES) | |
JP6052166B2 (ja) | 暗号化方法、暗号化装置および暗号化プログラム | |
KR101005276B1 (ko) | 데이터 의존 연산을 사용하는 암호화 방법 | |
JP5113833B2 (ja) | 中央演算処理装置の演算能力を高めるための暗号方法および暗号装置 | |
CN1833399B (zh) | 瑞恩多尔块密码装置及其加密/解密方法 | |
US9058507B2 (en) | Signal processor with an encrypting or decrypting device in a memory system | |
Shakiba et al. | Non-isomorphic biclique cryptanalysis of full-round Crypton | |
CN110071927B (zh) | 一种信息加密方法、系统及相关组件 | |
KR20020087331A (ko) | 부분 라운드간 파이프라인 기법을 이용한 AES Rijndael암호 및 복호 회로 | |
CN112311527A (zh) | 一种主密钥变换为多项式表格子密钥查表的加密方法 | |
Sekhar et al. | Implementation of Parallelism on Block Cipher Modes Using Des In Lab View | |
Alharbi et al. | Proposal of an Efficient Encryption Algorithm for Securing Communicated Information | |
KR20030059500A (ko) | 에스.피.엔(spn) 구조를 가지는 블록 암호를 이용한유사난수 발생기 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20080107 |
|
PA0201 | Request for examination | ||
PG1501 | Laying open of application | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20100112 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20101008 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20101224 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20101227 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
FPAY | Annual fee payment |
Payment date: 20130717 Year of fee payment: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20130717 Start annual number: 4 End annual number: 4 |
|
FPAY | Annual fee payment |
Payment date: 20151030 Year of fee payment: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20151030 Start annual number: 6 End annual number: 6 |
|
LAPS | Lapse due to unpaid annual fee | ||
PC1903 | Unpaid annual fee |
Termination category: Default of registration fee Termination date: 20171004 |