mzseed

개요

한국정보보호진흥원에서 공개한 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를 수정하셔서 사용하시려고 한다면 해당 수정사항에 대한 부분을 저에게 알려주시길 바랍니다.

다운로드




/*

[ FrontPage | PrintView | RawView | RSS ]

Copyright ⓒ MINZKN.COM
All Rights Reserved.

MINZKN

----

*/