WEB

암호화 함수, 해쉬함수, information_schema

말뚝_2 2014. 7. 2. 19:07

암호화 함수

DES 함수 : 64bit 혹은 128bit등의 정해진 블록의 크기로 작업을 수행하는 블록 암호 방식을 사용하며 Feistel 구조로 이루어져 있다. 암호화와 복호화시에 같은 암호키를 쓰는 대칭 키 암호 방식을 사용하며, 56비트의 키를 사용한다. DES AES에 비해 안전하지 않은것으로 알려져있다. 전수공격으로 쉽게 해독이 가능하며, 56비트의 키 길이는 현재 컴퓨터 환경에 비해 너무 짧기 떄문이다.

AES 함수 : DES와 마찬가지로 블록암호, 대칭 키 방식을 사용한다. 2001년에 기존의 DES를 대체하기위해 개발된 레인달 암호에 기반하여 만들어졌다. 56bit의 키 길이를 가졌던 des와는 다르게 128,192,256비트 길이의 키 값을 가지지만, 이론적으로는 키 크기에 대한 제한이 없다. AES표준은 레인달 알고리즘 중 블록크기가 128bit인 알고리즘을 말한다.

SEED 함수 : 한국 정보보호 진흥원의 기술진이 개발한 128비트 및 256비트 블록을 가진 블록 암호방식을 사용하는 함수이다. ASE,DES와 마찬가지로 대칭 키 암호방식을 사용하며 DES와 같은 Feistel 구조로 이루어져있다.

FEISTEL 구조 : 함수의 종류는 아니지만, 암호화 함수를 구성하는 구조중 하나이다. 암호화 하려는 평문을 길이가 같은 두개의 정보로 나누어 키와 조합한뒤 xor연산을 거쳐 좌우를 뒤집어주는 구조이다. 암호화와 복호화 과정이 동일하기에 별도의 복호화기가 필요하지 않다. 복호화시엔 암호화연산을 반대로 한다.

해쉬함수 :

임의길이의 데이터를 고정길이의 데이터로 매핑하는 알고리즘이다. 결정론적 함수이기 때문에 같은 데이터가 들어가면 언제나 같은 데이터가 출력된다 그렇기에 다른 입력값이 들어갓음에도 동일한 출력값이 나오게될수가 있다.

MD5 : 128비트 암호화 해쉬 함수이다. 주로 프로그램이나 파일이 원본 그대로인지를 확인하는 무결성 검사에 사용된다.과거에는 보안용도로 사용되기도 했지만, 취약점이 밝혀진 후에는 보안용도로 사용하는 것을 권장하지 않는다. 임의의 길이의 메시지를 입력받아 128비트짜리 고정길이의 출력값을 낸다. 단방향 암호화이기 때문에 출력값에서 입력값을 복원하는것은 할 수 없다.

SHA : 여러가지의 관련된 해시함수들의 모음이다. Sha-0로부터 여러가지 내용의 변형이 만들어졌고, sha-1을 제외한 SHA-224, SHA-256, SHA-384, SHA-512등을 통틀어 sha-2라고 하기도 한다. 파일값이 약간만 바뀌어도 값이 크게 변할 수 있다.

 

Information_schema

Information_schemadatabase의 데이터에 대한 데이터인 metadata를 제공하는 스키마이다. 여기서 확인 가능한 데이터는 생성된 테이블 구성 정보, 생성된 계정의 권한 정보같은것이 있다. Information_schema 자신의 스키마를 제외한 Mysql서버의 다른 스키마에 대한 정보를 가지고 있다. Information_schema는 읽기전용 테이블로 데이터의 조회만이 가능하고, 데이터의 수정은 불가능하다.