#keywords seed,library,encrypt,decrypt,block,cipher,암호화,복호화,ecb,ofb,cbc,Feistel #title mzseed [wiki:Home 대문] / [wiki:CategoryOpenProject 공개프로젝트] / [wiki:mzseed mzseed] ---- == [wiki:mzseed mzseed] == * 개발자 조재혁([mailto:minzkn@minzkn.com]) * 기록사항 2006년 4월 5일 : 첫 구현[[br]] [[TableOfContents]] === 개요 === 한국정보보호진흥원에서 공개한 SEED 암호화 알고리즘을 library 로 구현한 것입니다. ECB 방식의 block 단위의 암호화/복호화부분을 구현한 것입니다. SEED192/256, CFB, OFB, CBC 방식도 구현한게 있기는 한데 해당 부분은 제외하고 ECB방식만 공개합니다. SEED 알고리즘은 Feistel 구조로 이루어져 있으며, 128bits의 평문 block과 128bits의 Key 입력으로 16round 를 수행하여 128bits의 암호문을 출력하는 방식을 갖고 있습니다. Feistel 구조의 block 알고리즘은 F함수의 특성에 따라 구분이 되는데 64bits의 Feistel 형태로 구성됩니다. === SEED 알고리즘 특성 === SEED KC 0 : 0x9e3779b9u (golden ratio) SEED KC n : ROL(SEED KC 0, n) block size * 모두 128bits (16 bytes) 로 공통 rounds * SEED128 : 16 rounds * SEED192 : 20 rounds * SEED256 : 24 rounds user key size * SEED128 : 128bits (16 bytes) * SEED192 : 192bits (24 bytes) * SEED256 : 256bits (32 bytes) round keys * rounds * 2 round key size * round keys * 4 (bytes) === 사용권한 === mzseed library source 는 수정없이 사용하신다면 누구나 그대로 사용하셔도 좋습니다. 단, source를 수정하셔서 사용하시려고 한다면 해당 수정사항에 대한 부분을 저에게 알려주시길 바랍니다. === 다운로드 === * [attachment:mzseed-1.0.0.tar.gz mzseed-1.0.0 source] === 참고자료 === * [^http://seed.kisa.or.kr/iwt/ko/sup/EgovSeedInfo.do]