블록 암호
위키백과, 우리 모두의 백과사전.
|
|
이 문서는 위키백과의 편집 지침에 맞춰 다듬어야 합니다. 더 좋은 문서가 되도록 문서 수정을 도와주세요. 내용에 대한 의견이 있으시다면 토론 문서에서 나누어 주세요. |
|
|
이 문서의 내용은 출처가 분명하지 않습니다. 지금 바로 이 문서를 편집하여, 참고하신 문헌이나 신뢰할 수 있는 출처를 주석 등으로 표기해 주세요. 검증되지 않은 내용은 삭제될 수도 있습니다. 내용에 대한 의견은 토론 문서에서 나누어 주세요. |
암호학에서 블록 암호(block cipher)란 기밀성있는 정보를 정해진 블록 단위로 암호화 하는 대칭키 암호 시스템이다. 만약 암호화하려는 정보가 블록 길이보다 길 경우에는 특정한 운용 모드가 사용된다.(예, ECB, CBC, OFB, CFB, CTR)
스트림 암호는 블록 암호와 달리 비트 단위로 암호화 하며 이 때, LFSR,NFSR과 같은 선형연산과 비선형 연산이 사용된다.
블록 암호에 대한 안전성 증명 방법으로는 선택평문공격인 차분공격(Differential Cryptanalysis)과 알려진평문공격인 선형공격(Linear Cryptanalysis)등이 있다.
블록 암호 구조에는 페스탈(Feistel)구조와 SPN구조가 있다.
페스탈 구조는 암복호화 과정에서 역함수가 필요 없다는 장점이 있지만 구현시 스왑(Swap)단계 때문에 연산량이 많이 소요 되며 암호에 사용되는 라운드 함수를 안전하게 설계해야 한다는 단점이 있다. 대표적인 암호로는 DES가 있으며 Single DES는 안전성 문제로 현재 사용 하고 있지 않다.
한국에서는 개발된 암호 중에서는 페스탈 구조기반으로 설계된 SEED가 있다.
SPN 구조는 암복호화 과정에서 역함수가 필요하도록 설계되어야 한다는 단점이 있지만 중간에 비트의 이동없이 한번에 암복호화가 가능하기 때문에 페스탈 구조에 비해 효율적으로 설계할 수 있다. 대표적인 암호로는 AES가 있으며 AES는 현재 널리 상용되고 있다.
같이 보기 [편집]
|
블록 암호 |
||
|---|---|---|
| 알고리즘 |
|
|
| 설계 | ||
| 암호해독 | ||
| 표준 | ||
| 기타 | ||