Hardner

Symmetric Key Crypto(대칭 키 암호) 본문

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


'Computer > Crypto math' 카테고리의 다른 글

[Stream cipher] RC4  (0) 2018.04.14
[Stream Cipher] A5/1  (0) 2018.04.14
Security Threats(보안 위험)  (0) 2018.04.12
Security Cornerstones(보안 초석)  (0) 2018.04.12
Euclidean Algorithm C로 구현.  (0) 2018.04.03