리루

암호와 종류와 느낌 본문

# Study/OS

암호와 종류와 느낌

뚱보리루 2017. 3. 31. 16:30

출처: http://human2p.tistory.com/entry/암호화-종류-방식 [Jack's Blog In Wonderland]

---------------------------------------------------------------------------------------------------------------------------------

 

1. 암호화 방식

 

1-1) 대칭키 방식

 대칭키(비밀키 암호화) : 대칭키 암호(Symmetric-key cryptosystem) 방식에서는 암호화에 사용되는 암호화키와 복호화에 사용되는 복호화키가 동일하다는 특징이 있으며, 이 키를 송신자와 수신자 이외에는 노출되지 않도록 비밀히 관리해야 한다. 우리가 일반적으로 사용하는 암호라는 의미로 ‘관용 암호’라고도 하며 키를 비밀히 보관해야 한다는 의미로 ‘비밀키 암호(Secret-key cryptosystem)’라고도 한다. 대칭키 암호 방식은 데이터를 변환하는 방법에 따라 블록 암호와 스트림 암호로 구분된다.

a. 블록 암호 : 블록 암호는 고정된 크기의 블록 단위로 암·복호화 연산을 수행하며 각 블록의 연산에는 동일한 키가 이용된다.

* DES

가장 오래되고, 세계적으로 가장 널리 사용되는 고전적 암호화 알고리즘이다. 파일이나 패킷을 암호화할 때 많이 사용된다. 하지만, 64비트 입력 블록과 56비트 짧은 비밀키를 사용하기 때문에, 더 이상 안전하지 않다고 간주하고 있다. 그러나, 국가 기밀을 다룰 정도로 극히 중요한 보안이 아니라면, 여전히 가장 널리 사용되는 알고리즘이다.

* AES

미국 NIST에서 공모해서 표 준화한 새로운 알고리즘이다. 128비트 입력 블록을 도입함으로써, 보안성을 향상했으며, 최근에 세계적으로 널리 사용되는 알고리즘이다.

* SEED

KISA 주관으로 ETRI와 함께 국내에서 만들어진 알고리즘이다. 역시, 128비트 입력 블록을 사용하고 있고, 국제 표준에 부합하는 알고리즘이다.

* HIGHT

 

b.스트림 암호 : 스트림 암호는 블록 단위로 암·복호화되는 블록 암호와는 달리 이진화된 평문 스트림과 이진 키스트림 수열의 XOR 연산으로 암호문을 생성하는 방식이다

* A5/1, A5/2, A5/3

 

 

1-2) 비대칭키 방식

 비대칭키(공개키 암호화) : 공개키 암호는 비밀키 암호와 달리 송신자와 수신자가 다른 키를 사용하여 비밀 통신을 수행한다. 송신자는 수신자의 공개키에 해당하는 정보를 사용하여 데이터를 암호화하여 네트워크를 통해 전송한다. 수신자는 자신의 공개키에 해당하는 비밀키로 암호화된 데이터를 복호화하여 평문을 복원한다.

공개키 암호는 다른 유저와 키를 공유하지 않더라도 암호를 통한 안전한 통신을 한다는 장점을 갖는다. 각 사용자는 자신에게 전송하기 위해 사용될 키를 공개하고, 공개된 키 정보로 암호화된 정보를 복호화할 수 있는 키를 비밀로 보유하고 있음으로써 누구나 암호화할 수 있지만 공개키에 대응되는 비밀키를 가진 당사자만 복호화할 수 있는 특징을 가진다. n명의 사용자로 구성된 네트워크를 고려하면 각 사용자는 공개키와 비밀키 두 개를 보유하고 있으므로 네트워크 전체적으로 2n개의 키가 요구된다. 그리고 각 유저는 2개의 키만 보유하고 있으면 된다.

a. RSA

b. EIGamal

c. ECC

d. 전자 서명


1-3) 해시함수

 

 

2. PGP(Pretty Good Privercy)

(보충필요)

 

3. 암호화 유사 용어

 

2-1) MD5(해시 알고리즘)

 결로적으로 해시 알고리즘으로써 암호화 알고리즘이 아니라원문에서 엑기스를 뽑아내는 것이다, digest code를 생성해 내는 것이다.굳이 암호화 알고리즘이라고 우기면단방향 암호화 알고리즘 정도로 정의할 수 있을 것이다단방향이기 때문에, digest code로 원문을 복원할 수 없다암호화만 가능하고복호화는 불가능하다.

(사용예) 유닉스 passwd file, 대용량 파일 (CD 이미지 등다운로드 check sum  

 

2-2) Base64(텍스트 인코딩)

uuencode 처럼 바이너리를 텍스트 아스키 코드로 인코딩하는 것이다. (사용 예)HTTP 주소(URL)에 한글이 포함될 때아스키로 변환해서 전송 암호화된 바이너리 데이터를 아스키로 변환할 때 사용

 

 

'# Study > OS' 카테고리의 다른 글

Process Concept  (0) 2017.04.27
Memory Management Strategies  (0) 2017.04.25
[Virtual Memory] Frame management  (0) 2017.01.08
[Virtual Memory] Page replacement  (0) 2017.01.08