암호화 ?

어떤 평문을 암호문으로 바꾸는 것을 암호화라고 하고, 이때 사용되는것을 암호화 열쇠라고 한다.그리고, 암호문을 평문으로 바꾸는 것은 복호화이라고 하며, 이때는 복호화열쇠가 사용된다.

 

암호화알고리즘에 사용되는 단어로는

plaintext(cleartext; 평문):  전달해야 할 내용 
ciphertext(암호문): 암호화한 내용 
encryption(encipher; 암호화): 어떤 내용을 위장하는 것 
decryption(decipher; 복호화): 암호문을 평문으로 복구하는 것 
cryptographic algorithm(cipher, 암호화 알고리즘): 암호화와 복호화를 위해 사용하는 수학함수
. 일반적으로 암호화 함수와 복호화 함수 두 개로 이루어진다. 
key(키): 암호화 알고리즘의 파라미터. 암호화와 복호화를 위하여 평문 또는 암호문과 키가 함께 적용 되어야 한다.

등이 있다.

 

암호화방식에는 두가지 방법이 있는데 대칭형 암호화방식과 비대칭형 암호화방식이 있다.
◎ 대칭형 암호화방식(Symmetric Algorithm)
비밀키 암호화 방식 (Secret Key Algorithm) 이라고도 할수있다.
특징으로는 암호화와 복호화에 사용되는 키가 동일하다는 것이다.
장점은 암호화 및 복호화가 빠르며, 데이터 전송이 적고, 다양한 암호화기법이 존재한다.
단점으로는 송신자와 수신자 사이의 안전한 키 교환 문제가 발생한다.
예로써는.. SEED, DES, IDEA, RC2, RC5 등이 있다. 


◎ 비대칭형 암호화방식(Asymmetric Algorithm )
공개키 암호화 방식 (Public Key Algorithm) 이며,
두 개의 쌍으로 이루어진 키를 사용한다.
공개키 (Public Key) 는 모든 사람이 알 수 있도록 공개되어진다. 예를 들어

공인인증기관같은곳에 게시되는 형태이다. 
개인키 (Private Key) 는 자신만이 알 수 있도록 개인이 보관을 한다.
장점은 비밀키 전달 불필요에 따른 키 교환 문제 없고, 정보의 기밀 유지 이외에 다른 목적(무결성, 부인방지 등)으로도 사용 가능하다.
단점은 암호화 및 복호화가 느리고(대칭형에 비해 약 1000배), 많은 양의 자료를 암호화 · 복호화 하기 불편하다.
예로써는.. RSA(Rivest-Shamir-Adleman), Diffie-Hellman, ECC(Elliptic Curve Cryptography) 등이 있다.

 

공개키 암호 알고리즘

암호화 키와 복호화 키라는 상이한 두 개의 키를 사용하는데, 이 키들은 키 생성 알고리즘을 통해서 생성되어 하나는 타인들에게 공개되고, 나머지 하나는 사용자 자신만이 비밀리에 사용합니다. 이들 각각을 공개키(pubic key), 비밀키(secret key)라고 부릅니다
송신자가 수신자에게 어떤 메시지를 보낼 때, 수신자의 공개치를 이용하여 암호화해서 보내며, 수신자는 자신에게 도착한 암호문을 자신의 비밀키를 사용하여 평문으로 복귀하여 읽게 됩니다. 공개키 암호 알고리즘은 
비대칭 암호 알고리즘
 또는 이중키 암호 알고리즘이라고 부릅니다.

장점 
1. 사용자 입장에서 볼 때, 오직 자신의 비밀키 한 개만 잘 보관하면 되므로 대칭키 암호화

    알고리즘보다 훨씬 적은 수의 키 유지하면 된다 
2. 비밀키는 사용자 오직 자신만이 알고 있다. (전자서명과 같은 전자상거래 보안에 있서

   중요 역할 ) 
단점 
1. 암호화 및 복호화 속도가 느리다. 
2. 키의 길이가 대칭키 암호 알고리즘보다는 크기 때문에 계산 효율성이 저하된다. 

주요 공개키 암호화 알고리즘으로는 소인수 분해의 어려움을 이용하여 키를 생성하도록 하는 RSA 암호 알고리즘과 Rabin 암호 알고리즘, knapsack 문제를 이용한 Merkle-Hellman Knapsack 암호 알고리즘 그리고 최근에 제시된 타원곡선 암호(ECC: Elliptic Curve Cryptography) 알고리즘 등이 있습니다. 
특히 RSA 암호 알고리즘의 경우, 512비트, 768비트, 1024비트의 가변적인 길이의 키를 사용하며, 암호화의 기본이 되는 평문의 길이 역시 가변적이지만 사용하는 키의 길이보다 작기만 하면 됩니다.

 


 

해시 알고리즘

암호화 기술에서 해시(hash) 알고리즘은 핵심 기술에 속합니다.
해쉬 알고리즘은 
임의의 길이를 가지고 있는 메시지를 받아들여 고정된 길이의 출력 값으로 바꾸어주는 함수
로서, 이 때 출력 값을 해시 값(hash value) 혹은 메시지 다이제스트(message digest)라고 부릅니다
해시 알고리즘을 사용하면 같은 해시 값을 갖는 두 개의 다른 입력 메시지를 찾아내기란 불가능하므로 하나의 해시 값을 가지고 원래의 입력된 메시지를 예측할 수가 없게 됩니다. 따라서 데이터 전송 도중에 송신자 외의 제3자에 의해서 데이터가 변조되었는지를 쉽게 파악할 수 있게 되어 전자서명 등에 유용하게 사용됩니다. 이런 성격 때문에 해시 알고리즘을 
일방향
(one-way) 해시 알고리즘이라고도 부릅니다
대표적인 해시 알고리즘으로는 MD4(Message Digest 4), MD5(Message Digest 5), SHA(Secure Hash Algorithm)-1등이 있습니다. MD4나 MD5의 경우 해시 값으로 128비트를 사용하며, SHA-1의 경우 160비트를 사용합니다

출 처 : 
http://blog.naver.com/jsj29?Redirect=Log&logNo=70002633255

+ Recent posts