본문 바로가기

정처기지식, 소프트웨어 공학

CryptoGraphy

https://www.youtube.com/watch?v=NBrcJSkgYmA&list=PLuHgQVnccGMD-9lk4xmb6EG1XK1OmwC3u&index=1

Crypto비밀, Graphy=방법

CryptoGraphy=비밀을 다루는 방법

비밀을 지키기 위해서 필요한 것. 1. 암호화된 내용이 무엇인지 알수 없어야 한다=기밀성(Confidentiality) 2. 내용이 원본과 같다는 것을 확신할수 있게 하는 특성=무결성(Integrity)

 

예전에는 암호 알고리즘을 공개하지 않는 것을 통해서 암호화를 달성했다. 하지만 현대에는 암호 알고리즘을 공개하여 검증을 받는다. 대신! 암호를 만들고 풀때 비밀정보를 섞습니다. 이 정보가 있어야만 복호화가 가능합니다. 이 정보를 키(key)라고 합니다. 이것이 암호가 동작하는 가장 기본적인 흐름입니다!

 

암호법은 크게 두가지가 있음. 암호화와 복호화를 모두 할수 있는 암호법을 양방향 암호화라고 한다. 우리가 암호화하면 가장 전형적으로 떠올리는게 양방향 암호화이다. 정보를 감추는 기밀성에 초점이 맞추어져 있다.

그리고 암호화는 되지만 복호화는 되지않는 암호법이 있는데 이를 단방향 암호화라고 한다. 왜 복호화되지 않는 암호법이 필요한 것인가? 단방향 암호화는 기밀성을 위한 것이 아니라서! 오직 무결성을 위한 것이기 때문이다! 그리고 이러한 무결성만을 위하는 것 답게 암호화된 내용은 공개되어 쓰인다. 그 구체적인 예가 다음 포스팅에서 보게 되는 MySQL파일 다운로드의 예이다.

 

위 두가지가 암호법을 이루는 큰 두가지 틀이다.

 

양방향 암호화방식은 다시 대칭키 방식과 비대칭키 방식으로 나뉘어짐
대칭키 방식은 암호화와 복호화를 할 때 모두 같은 키를 사용함(전형적인 방식임).

 

반면 비대칭키 방식은 두개의 키가 사용됨.하나는 암호화를 할때 사용되고 다른 하나는 복호화를 할 때 사용됨.

 

단방향 암호화 방식에는 md5, sha가 대표적이고 양방향 암호화방식에서 대칭키 방식으로는 AES, Twofish가 대표적이고 비대칭키 방식으로는 RSA가 대표적이다.