Computer/Crypto math
Symmetric Key Crypto(대칭 키 암호)
Hardner
2018. 4. 13. 16:02
Symmetric Key Crypto(대칭 키 암호)
Symmetric Key algorithm이란?
암호화 알고리즘의 한 종류로, 암호화와 복호화에 같은 암호 키를 사용하는 알고리즘을 말한다.
대칭 키 암호에서는 암호화와 복호화를 하는데 있어서 같은 암호 키를 공유 해야 한다.
장점: 암호화 연산 속도가 빠르기 때문에 효율적인 암호 시스템을 구축할 수 있다.
단점: 키 전달 및 관리가 어렵다. (암호키는 암호화되지 않는 평문이고, 분실하거나 타인에게 노출되면 보안이 취약해짐.)
대칭키 암호화 방식은 데이터를 변환하는 방식에 따라 Stream cipher, Block cipher로 구분된다.
Stream cipher
- Stream cipher like a one-time pad. ( 스트림 암호는 일회용 패드 처럼 )
- Key is relatively short. (키가 비교적 짧다.)
- Key is stretched into a long key stream. ( 키가 긴 키 스트림으로 확장된다. )
- Key stream is then used like a one-time pad. ( 키 스트림은 일회용패드처럼 사용된다. )
- Not as popular today as block ciphers. (현재는 블록암호만큼 인기있지는 않다. )
Block cipher
- Block cipher based on codebook concept. (블록 암호는 코드북 개념을 기반. )
- Block cipher key determines a codebook. ( 블록 암호 키는 코드북으로 알아낸다. )
- Each key yields a different codebook. ( 각 키는 다른 코드북을 만들어낸다. )
- Employ both "confusion" and "diffusion". ( 혼돈과 확산으로 쓴다. )
- Plaintext and ciphertext consists of fixed sized blocks.( 평문과 암호문은 고정된 크기의 블록으로 구성되어있다. )
- Split plaintext into fixed sized blocks. ( 평문을 고정된 크기의 블록들로 나눈다. )
- Generate ciphertext blocks from plaintext blocks. ( 평문 블록들로부터 암호문 블럭을 만들어낸다. )
- Ciphertext obtained from platintext by iterating a round function. (암호문은 라운드함수를 반복하여 평문에서 얻었음. )
- This function is applied at each round. (이 함수는 매 라운드마다 진행된다. )
- Input to round function consists of ( 라운드 함수 입력은 다음과 같이 구성된다. )
- Key
- Output of previous round
- Usually implemented in software. ( 일반적으로 소프트웨어로 구현된다. )
이미지 출처: http://jihwan4862.tistory.com/88