1 |
1
라인달 암호화 및 복호화를 수행하기 위해 입력된 비트를 1바이트씩 시프트로우 및 역시프트 로우 변환을 통하여 출력하는 시프트/역시프트 로우 모듈과,
상기 시프트/역시프트 로우 모듈로부터 입력된 1바이트에 대한 암호화를 위해 하나의 S-box를 이용하여 바이트 치환 변환을 수행하는 바이트 치환 모듈과,
상기 시프트/역시프트 로우 모듈로부터 입력된 1바이트에 대한 복호화를 위해 하나의 역 S-box를 이용하여 역바이트 치환 변환을 수행하는 역바이트 치환 모듈과,
상기 바이트/역바이트 치환된 값을 입력받아 바이트 단위로 왼쪽 원순환 하면서 믹스/역믹스 칼럼 변환을 수행하여 1바이트 출력을 발생하는 믹스/역믹스 칼럼 변환 모듈과,
상기 믹스/역믹스 칼럼 변환 모듈로부터 상기 초기 입력 비트 값을 모두 수신한 경우, 상기 시프트/역시프트 로우 모듈에 상기 초기 입력 비트 값을 재입력하고, 기설정된 횟수로 상기 초기 입력 비트 값의 입출력을 수행하는 입출력 레지스터와,
상기 기설정된 횟수의 입출력을 하나의 라운드로 설정하여 상기 기설정된 횟수만큼의 라운드를 수행하고, 하나의 라운트 키를 1바이트 단위로 나누어 출력하는 라운드 키 생성기
를 포함하는 라인달 알고리즘을 이용한 암호화 및 복호화 장치
|
2 |
2
제 1항에 있어서,
상기 라운드 키 생성기는,
하나의 S-box를 시간 분할을 통하여 암호연산의 바이트 치환과, 라운드 키 생성에 사용하고, 128비트 라운드 키를 8비트 단위로 나누어 하나의 라운드에 16번 출력하는 것을 특징으로 하는 라인달 알고리즘을 이용한 암호화 및 복호화 장치
|
3 |
3
제 1항에 있어서,
상기 장치는,
상기 라운드의 입력 및 라운드의 출력을 저장하기 위한 하나의 입출력 레지스터를 이용하여 암호화 또는 복호화 연산 시, 8비트의 연산결과를 저장할 위치에 아직 사용되지 않은 입력 값이 있는 경우, 상기 연산결과를 40비트 레지스트에 잠시 이동시키고, 상기 입력 값이 사용되면, 상기 8비트 연산 결과를 상기 입출력레지스터로 전달하는 것을 특징으로 하는 라인달 알고리즘을 이용한 암호화 및 복호화 장치
|
4 |
4
제 1항에 있어서,
상기 시프트/역시프트 로우 모듈은,
라인달 암호연산을 위한 시프트 로우와 라인달 복호연산을 위한 역시프트 로우를 합하여, 16 바이트의 입력에서 시프트 로우변환 값과 역시프트 로우변환 값이 동일한 8개의 바이트는 암호 또는 복호를 선택하는 먹스를 사용하지 않고, 시프트 로우 변환과 역시프트 로우 변환 값이 동일하지 않은 바이트는 먹스들을 이용하여 암호 또는 복호를 구별한 후, 128비트 입력에 대해 8비트 출력을 가지는 것을 특징으로 하는 라인달 알고리즘을 이용한 암호화 및 복호화 장치
|
5 |
5
제 1항에 있어서,
상기 믹스/역믹스 컬럼 변환 모듈은,
상기 라인달 암호연산을 위한 믹스칼럼과 라인달 복호연산을 위한 역믹스 칼럼을 합하여, 암호 또는 복호시에 하나의 32비트 입력을 바이트 단위로 왼쪽원순환 하면서 8비트 믹스칼럼 출력과 8비트 역 믹스칼럼 출력을 동시에 발생 시키는 것을 특징으로 하는 라인달 알고리즘을 이용한 암호화 및 복호화 장치
|
6 |
6
제 1항에 있어서,
상기 초기 입력 비트는,
128비트인 것을 특징으로 하는 라인달 알고리즘을 이용한 암호화 및 복호화 장치
|