mzseed
- 개발자
- 기록사항
2006년 4월 5일 : 첫 구현
1.1. 개요
한국정보보호진흥원에서 공개한 SEED 암호화 알고리즘을 library 로 구현한 것입니다.
ECB 방식의 block 단위의 암호화/복호화부분을 구현한 것입니다.
SEED192/256, CFB, OFB, CBC 방식도 구현한게 있기는 한데 해당 부분은 제외하고 ECB방식만 공개합니다.
SEED 알고리즘은 Feistel 구조로 이루어져 있으며, 128bits의 평문 block과 128bits의 Key 입력으로 16round 를 수행하여 128bits의 암호문을 출력하는 방식을 갖고 있습니다. Feistel 구조의 block 알고리즘은 F함수의 특성에 따라 구분이 되는데 64bits의 Feistel 형태로 구성됩니다.
ECB 방식의 block 단위의 암호화/복호화부분을 구현한 것입니다.
SEED192/256, CFB, OFB, CBC 방식도 구현한게 있기는 한데 해당 부분은 제외하고 ECB방식만 공개합니다.
SEED 알고리즘은 Feistel 구조로 이루어져 있으며, 128bits의 평문 block과 128bits의 Key 입력으로 16round 를 수행하여 128bits의 암호문을 출력하는 방식을 갖고 있습니다. Feistel 구조의 block 알고리즘은 F함수의 특성에 따라 구분이 되는데 64bits의 Feistel 형태로 구성됩니다.
1.2. SEED 알고리즘 특성
SEED KC 0 : 0x9e3779b9u (golden ratio)
SEED KC n : ROL(SEED KC 0, n)
block size
block size
- 모두 128bits (16 bytes) 로 공통
- SEED128 : 16 rounds
- SEED192 : 20 rounds
- SEED256 : 24 rounds
- SEED128 : 128bits (16 bytes)
- SEED192 : 192bits (24 bytes)
- SEED256 : 256bits (32 bytes)
- rounds * 2
- round keys * 4 (bytes)
1.3. 사용권한
mzseed library source 는 수정없이 사용하신다면 누구나 그대로 사용하셔도 좋습니다.
단, source를 수정하셔서 사용하시려고 한다면 해당 수정사항에 대한 부분을 저에게 알려주시길 바랍니다.
1.4. 다운로드
- mzseed-1.0.0 source (493.58 KB)