개발스토리

Intro crypt 본문

Computer Science/보안

Intro crypt

무루뭉 2020. 10. 2. 17:05

암호(cryptography)란?

● 비밀정보의 교환을 위해 생겨남.

-> 처음에는 군사용으로 주로 사용. 현재는 전자 상거래, 전자 우편, 무선 통신 등에 널리 쓰인다.

4차 산업혁명 시대 : 정보의 관리, 보호의 중요성 증대 

-> 국가, 회사, 단체, 개인에 막대한 영향을 끼친다.

암호체계의 효용성 및 안정성 분석

-> 고급 수학 이론에 기반

 

암호의 개념도

● 암호문을 도청한 해커가 alice와 bob이 주고 받은 평문의 내용을 쉽게 알아낼 수 없도록 고안하는 것이 중요하다.

● 경비도 저렴하고 사용이 편리하며 오류도 적어야 한다.

 

용어 정리

 

 

암호화란?

 암호화는 사람이 읽을 수있는 데이터 (일반 텍스트)를 이해할 수없는 암호문으로 변환하는 프로세스이다. 이러한 데이터 스크램블링은 암호화 키를 사용하는 알고리즘 작업의 결과이다. 간단히 말해서, 암호화는 데이터를 가져 와서 충분히 무작위로 만들어서 데이터를 훔친 사람이 읽을 수있는 형태로 되돌릴 수있는 키가 없으면 읽을 수 없도록 만든다.

 

현대 암호

● 제 2차 세계 대전 종전 이후 컴퓨터의 발달과 인터넷의 보급으로 현대 암호의 세계로 들어섬.

● 고급 수학이론을 활용함.

 

현대암호의 분류

 

symmetric key vs public key

encryption key와 decryption key가 같으면 symmetric, 다르면 public key이다.

차별화 요소 symmetric key public key
대칭키/비대칭키 하나의 키(대칭 키)만 사용되며 메시지를 암호화하고 해독하는 데 동일한 키가 사용된다. 공개 및 개인키라고 하는 두 개의 다른 암호화 키가 암호화 및 암호 해독에 사용된다.
복잡성과 실행 속도 간단한 기술이며, 암호화 프로세스를 빠르게 수행할 수 있다. 대칭 키 암호화보다 훨씬 복잡한 프로세스이며 느리다.
키 길이 사용되는 키의 길이는 일반적으로 보안 요구 사항에 따라 128 또는 256 비트입니다. 키의 길이가 훨씬 큽니다. 예를 들어 권장되는 RSA 키 크기는 2048 비트 이상입니다.
사용법 많은 양의 데이터를 전송해야 할 때 주로 사용됩니다. 주로 실제 데이터 전송 전에 보안 통신 채널을 인증하고 설정하기 위해 소규모 트랜잭션에 사용됩니다.
보안 비밀 키가 공유됩니다. 결과적으로 손상의 위험이 더 높습니다. 개인 키는 공유되지 않으며 전체 프로세스는 대칭 암호화에 비해 더 안전합니다.
알고리즘 예 예로는 RC4, AES, DES, 3DES 등이 있습니다. 예를 들면 RSA, Diffie-Hellman, ECC 등이 있습니다.

 

 

 symmetric key(대칭 암호화)

- 대칭 암호화의 경우 메시지 암호화 및 해독에 동일한 키가 사용된다. 전체 메커니즘은 키를 공유 비밀로 유지하는 데 의존하기 때문에 수신자와 안전하게 공유해야 메시지를 해독하는 데 사용할 수 있다. 확장성이 떨어진다.

- 대칭 암호화는 키 고갈 문제로 어려움을 겪고 있으며, 키 계층 구조의 적절한 유지 관리나 효과적인 키 순환 없이는 모든 사용이 공격자가 비밀 키를 재구성하기 위해 잠재적으로 활용할 수 있는 정보를 유출할 수 있다.

- 대칭 암호화에는 키 관리 문제가 있지만 네트워크 또는 cpu 리소스에 많은 오버헤드 없이 더 빠르게 작동한다.

 

public key(비대칭 암호화)

- 비대칭 암호화는 한 쌍의 관련 키(공개 및 개인 키)를 사용한다. 모든 사람이 접근할 수 있는 공개킨는 일반 텍스트 메시지를 보내기 전에 암호화 하는 데 사용된다. 이 메시지를 해독하고 읽으려면 개인키를 보유해야 한다. 공개 및 개인키는 수학적으로 관련되지만 개인키는 그것에서 파생될 수 없다.

- 비대칭 암호화에서는 보안을 유지해야 하므로 개인키는 키의 개시자와만 공유된다.

 

Block cypher vs stream cypher

● 둘 다 대칭키 암호화에 속한다.

Block cypher 

- 평문을 일정한 길이의 블록으로 나누어 블록단위 암호화하는 방식

- DES, AES

Stream cypher

- Bit 혹은 byte 단위로 암호화

- 키를 키스트림 생성기라는 알고리즘에 입력하여 발생되는 1비트 키의 무한수열로 평문을 암호화

- eStream, RC4

● block 방식이 stream 방식보다 느리다. 

( 뒤 포스팅에서 더 자세한 block vs stream 소개 예정 )

 

 

 

'Computer Science > 보안' 카테고리의 다른 글

Firewall(방화벽)  (0) 2020.11.09
페르마 정리와 오일러 정리  (0) 2020.10.03
모듈러 연산(mod)  (1) 2020.10.03
Block cipher  (0) 2020.10.03
Intro  (0) 2020.10.02
Comments