암호화는 일종의 키 또는 암호화 알고리즘을 사용하여 읽을 수있는 텍스트를 읽을 수없는 텍스트로 변환하여 정보를 숨기는 프로세스를 말합니다.
암호화를 사용하여 보호되는 정보에는 이메일, 파일 및 기타 민감한 데이터가 포함됩니다.
암호화의 목적은 암호화 된 정보가 기밀성, 무결성, 인증 및 부인 방지를 유지하도록하는 것입니다.
암호화에는 두 가지 유형이 있습니다.
Cipher는 암호화 및 복호화에 사용되는 알고리즘을 말합니다.
암호 유형은 다음과 같습니다.
키 기반 암호 :
입력 기반 암호 :
DES는 대칭 암호화를 사용하는 데이터 암호화 표준입니다. 암호화 및 복호화에 사용되는 비밀 키는 64 비트로,이 중 56 비트는 무작위로 생성되고 나머지 8 비트는 오류 검사에 사용됩니다.
AES는 동일한 작업을 여러 번 수행하는 대칭 키 알고리즘입니다. 128 비트의 고정 크기 블록과 128, 192 및 256 비트의 세 가지 크기의 키를 사용합니다.
RC4 한 번에 한 비트 씩 작동하고 임의의 순열을 사용하는 가변 길이 키 알고리즘입니다. 대칭 키 스트림 암호 그룹에 속합니다.
RC5 가변 블록 크기, 가변 키 크기 및 가변 수의 라운드를 갖는 매개 변수화 된 알고리즘입니다. 블록 크기는 32, 64 및 128 비트 중 하나 일 수 있습니다. 키 크기는 0에서 2,040 비트 사이 일 수 있습니다. 라운드 수는 0에서 255 사이 일 수 있습니다.
RC6 RC5에서 파생되었으며 두 가지 추가 기능이 있습니다. 정수 곱셈과 4 비트 레지스터를 사용합니다 (RC5는 2 비트 레지스터를 사용함).
Twofish 알고리즘은 암호화 및 복호화에 128 비트 블록과 하나의 키를 사용하는 블록 암호입니다. 키의 크기는 0 ~ 256 비트입니다.
DSA는 개인 키와 공개 키를 모두 사용하는 비대칭 알고리즘입니다. 개인 키는 메시지에 서명 한 사람을 알려주고 공개 키는 디지털 서명을 확인합니다. 두 엔터티 간의 메시지 교환에서 각 엔터티는 공개 및 개인 키를 만듭니다.
RSA는 두 개의 큰 소수를 사용하여 계산을 수행하기 위해 모듈 식 산술 및 기본 수 이론을 사용합니다. 암호화 표준으로 간주되어 다양한 응용 분야에서 사용됩니다. RSA는 암호화 및 복호화 과정에서 개인 및 공개 키를 모두 사용합니다.
Diffie-Hellman 알고리즘은 안전하지 않은 채널을 통해 두 엔티티간에 공유 키를 생성하는 데 사용됩니다. 두 당사자가 암호화 키를 만든 다음 해당 키로 트래픽을 암호화 할 수 있습니다.
메시지 다이제스트 함수 또는 단방향 함수는 정보 블록의 고유 한 고정 크기 문자열 표현을 계산하는 데 사용됩니다. 되돌릴 수 없으며 파일 무결성을 확인하는 데 사용됩니다.
MD5는 임의의 길이 입력을 받아 입력의 128 비트 메시지 다이제스트를 생성하는 메시지 다이제스트 알고리즘입니다. 이 알고리즘은 디지털 서명 응용 프로그램, 파일 무결성 검사 및 암호 저장에 사용됩니다.
Secure Hashing Algorithm 또는 SHA는 암호화 보안 메시지 다이제스트를 생성하는 알고리즘입니다. SHA 알고리즘에는 SHA-1, SHA-2 및 SHA-3의 세 가지 세대가 있습니다. SHA-1은 160 비트 다이제스트를 생성하는 반면 SHA-2 및 SHA-3은 256, 384 및 512 비트 다이제스트를 생성합니다.
해시 기반 메시지 인증 코드 또는 HMAC는 메시지 인증 코드의 한 유형입니다. SHA-1 또는 MD5와 같은 암호화 키와 해시 기능의 조합을 사용합니다. 인증 및 무결성 검사에 사용됩니다.
PKI는 공개 키 인프라를 나타내며 디지털 인증서를 관리하는 데 필요한 하드웨어, 소프트웨어, 사람, 정책 및 절차를 나타냅니다. 교환되는 정보의 기밀성을 높이기 위해 개발 된 보안 아키텍처입니다.
서명 된 인증서는 인증 기관 (CA)에서 발급 한 인증서입니다. 여기에는 공개 키와 소유자의 신원이 포함됩니다.
자체 서명 인증서는 자신이 발급하고 서명 한 인증서입니다. 일반적으로 테스트 목적으로 사용되며 그렇지 않으면 신뢰할 수 없습니다.
디지털 서명은 비대칭 암호화를 사용하여 생성됩니다. 전송 된 데이터에 첨부되며 암호화 인증 방식을 나타냅니다.
SSL은 Secure Sockets Layer를 나타내며 네트워크 및 인터넷을 통한 메시지 전송의 보안을 보장하는 작업을 수행하는 애플리케이션 계층의 프로토콜을 나타냅니다.
TLS는 Transport Layer Security의 약자로 안전한 클라이언트-서버 연결을 설정하고 전송 중에 정보 무결성과 개인 정보를 보장하는 프로토콜을 나타냅니다.
PGP는 Pretty Good Protection의 약자로 인증 및 암호화 데이터의 암호화 및 복호화에 사용되는 프로토콜을 나타냅니다. PGP는 데이터, 디지털 서명, 이메일 암호화 / 복호화 및 기타 민감한 정보를 압축하는 데 사용됩니다.
디스크 암호화는 디스크에 저장된 모든 데이터의 암호화를 의미합니다. 목표는 디스크에 저장된 데이터를 보호하고 기밀성을 보장하는 것입니다.
암호 분석은 암호 및 암호화 된 텍스트의 암호 해독 프로세스를 나타냅니다. 암호화 시스템의 취약성을 식별하여 암호화 된 시스템에서 일반 텍스트를 추출 할 수 있습니다.
암호화에 사용되는 방법은 다음과 같습니다.
암호화를 해제하여 암호화 알고리즘의 강도를 측정하는 데 사용되는 기술은 다음과 같습니다.
암호문 전용 공격 공격자가 키를 찾고 텍스트를 암호화하기 위해 분석해야하는 암호 텍스트 모음을 보유하는 공격입니다.
알려진 평문 공격 공격자가 키를 파생하는 데 기반을 둔 일반 텍스트의 일부를 갖는 공격입니다.
선택한 일반 텍스트 공격 공격자가 생성 한 일반 텍스트와 해당 암호문을 분석하여 공격자가 키를 도출하는 공격입니다.
선택된 암호문 공격 공격자가 선택한 암호문 집합에 대한 일반 텍스트를 얻고 키를 파생하려고 시도하는 공격입니다.
무차별 대입 공격 올바른 키를 찾을 때까지 가능한 모든 키 조합이 암호문에 대해 시도되는 공격입니다. 이 공격에는 많은 시간과 처리 능력이 필요합니다.
사전 공격 공격자가 일반 텍스트 및 해당 암호문 사전을 만든 다음 해당 사전을 사용하여 암호화를 해제하는 공격입니다.