암호란 사전적 의미로는 비밀을 유지하기 위하여 당사자끼리만 알 수 있도록 꾸민 약속 기호 이다.
현대에 들어서 암호(cipher 또는 cypher)는 정보를 이해할 수 없도록 암호화 하거나 다시 해독하기 위한 일련의 단계를 정의한 알고리즘이다
코드를 통한 인코딩과 암호를 통한 암호화는 둘다 본래 뜻을 알수없게 한다는 점으로 같은 의미로 볼수 있다
암호의 과정은 일반적으로 암호를 구성하고, 해독하는 키(Key)라 불리는 부가적인 정보를 통해 이루어진다 키란 일종에 규칙(약속)이다
만약 어떤 문장을 암호화 한다고 하면 "안녕!" 이란글자를 암호화(Encryption) 시키면 "BDjKRQitipOkpN+PFLmv+GRLKdzUAXGUY3+XnV8h7TM= " 이와 같은 암호문이 생긴다.
반대로 암호화된 암호문을 해독하는 것은 복호화라고 한다.
암호화와 복호화 할때 키가 같으면 대칭 암호화방식이고, 다르면 비대칭 암호화 방식이다.
대칭 암호화
암호화의 강도를 높일 때는 흔히 혼돈(Confusion)과 확산(Diffusion) 성질을 이용한다
혼돈은 암호문의 통계적 성질과 평문의 통계적 성질의 관계를 난해하게 만드는 성징이다.
단일 대칭 방식은 이러한 혼돈 성질이 부족하여 통계적 분석을 통해 쉽게 복호화가 됨
확산은 각각의 평문 비트와 비트가 암호문의 모든비트에 영향을 주는 성질이다
단일 대칭 암호화 방식은 키워드를 사용할떄 일부 문자만 영향을 주기 때문에 확산 기능도 약하다
현대 암호화 에서는 혼돈과 확산 기능을 강화하여 만들었다
대칭 암호화 종류
DES 알고리즘
64비트의 블록 암호화 알고리즘으로 56비트 크기의 키로 암호화 한다
트리플 DES 알고리즘
두개의 DES키를 이용해 두 번의 암호화와 한 번의 복호화 또는 두 번의 복호화와 한번의 암호화를 수행한다
AES 알고리즘
128비트 암호화 블록, 다양한 키의 길이(128/192/256)의 알고리즘 AES는 미국 정부가 채택한 이후 전 세계적으로 널리 사용되고 있다.
SEEED 알고리즘
한국인터넷진흥원과 국내 암호 전문가들이 순수 국내 기술로 개발한 128비트 블록의 암호 알고리즘이다
ARIA 알고리즘
경량환경 및 하드웨어에서의 효율성 향상을 위해 개발된 128비트 블록 암호 알고리즘이다.
IDEA 알고리즘
128비트의 키로 64비트 평문을 8라운드를 거쳐 64비트의 암호문을 생성한다. 모두 16비트 단위로 연산되도록 하여 16비트 프로세서에서 구현이 용의하며 주로 키 교환에 사용됨
RC5 알고리즘
키, 라운드 수가 가변인 블록 알고리즘 RC5로 64 비트의 키를 가진다 속도가 DES 알고리즘보다 10배 가량 빠름
Skipjack 알고리즘
미국의 NSA에서 개발한 Clipper 칩에 내장되는 블록 알고리즘이다. 전화기롸 같은 음성을 암호화 하는데 주로 사용되며 64비트 입출력에 80비트의 키 총 32라운드를 가진다
비대칭 암호화
ASE 알고리즘이 개발되고 대칭 암호화 방식은 복호화가 거의 불가능한 알고리즘 이긴 한데, 큰 약점으로 암호화 키를 전달 하는 문제있다. 이러한 문제를 해결 하기위해 RSA 알고리즘이 만들어 졌는데
RSA 알고리즘은 소수를 이용하고, 중요 정보 두개의 소수로 표현한 후 두 수의 곱을 힌트와 함께 암호로 전송하는것 이다
비대칭 암호화는 각 개인이 개인키 와 공개 키를 소유하는 구조를 갖는다. 공개 키는 남이 얻을 수 있지만 다른사람의 개인키를 얻을수 없다. RSA 알고리즘은 암호화의 키와 복호화의 키가 하나의 쌍을 이루어져 있고 방식은 A의 개인키로 암호화를 진행하면 A의 공개키로 복호화가 가능하고 그외는 복호화가 안된다. 반대로 A의 공개키로 암호화를 하면 복호화는 A의 개인키로만 가능하다
비대칭 암호화의 기능
기밀성 확보를 위한 암호화: 수신자의 공개키로 암호화 하여 송신한다
부인 방지를 위한 암호화: 발신자의 개인 키로 암호화하여 송신한다.
해시(Hash)
해시의 특징
위변조를 확인하기 위한 것으로 보안에서는 무결성 확보이다.
평문에 길이가 달라도 결과값의 길이는 같다
입력되는 평문의 내용이 조금 바뀌어도 해시값은 완전 달라짐
대표적인 알고리즘으로 MD5, SHA가 있다
MD 알고리즘은 RSA를 개발한 미국 사람이 공개키 기반 구조를 만들기 위해 RSA와 함꼐 개발 했다. 종류는 MD2, MD4, MD5 세가지가 있다.
SHA 알고리즘은 NAS에 의해 만들어졌다 160비트의 값을 생성하는 해쉬 함수로 MD4가 발전한 형태이고 MD5보다 조금 느리지만 좀더 안전한 것으로 알려져있다
SHA-1, SHA-256, SHA-384, SHA-512 가 있다
'Basic > 기타' 카테고리의 다른 글
스미싱 확인 방법 (0) | 2023.03.04 |
---|---|
웹(World Wide Web) (0) | 2021.11.05 |
운영체제 개념 (0) | 2021.10.25 |
Stack and Stack Frame (0) | 2021.10.21 |
[네트워크] OSI 7 계층 (0) | 2021.06.28 |