기본적인 최신 암호화 방법. 암호화 암호의 암호화 알고리즘 매개변수 이름은 무엇입니까?

기본 개념 및 정의

교육이 진행되면서 정보 사회큰 주들은 수백만 명의 사람들을 총체적으로 감시하는 기술적 수단에 접근하고 있습니다. 따라서 암호화는 기밀성, 신뢰, 승인, 전자 결제, 보안을 보장하는 주요 도구 중 하나가 되고 있습니다. 기업 보안그리고 다른 중요한 것들.

정보를 변형하여 보호하는 문제가 해결됩니다. 암호학 , 이는 두 방향으로 나뉩니다. 암호화 그리고 암호해석 . 이러한 방향의 목표는 정반대입니다.

암호화정보를 변환하기 위한 수학적 방법을 검색하고 연구하는 데 종사하고 있습니다. 관심분야 암호해석– 키를 모르고 정보를 해독할 가능성에 대해 연구합니다.

최신 암호화에는 4가지 주요 섹션이 포함됩니다.

1. 대칭 암호 시스템.

2. 공개 키 암호화 시스템.

3. 전자서명시스템.

4. 키 관리.

암호화 방법을 사용하는 주요 영역은 통신 채널을 통한 기밀 정보 전송, 전송된 메시지의 신뢰성 설정, 암호화된 형식으로 미디어에 정보 저장 등입니다.

암호화를 사용하면 키가 알려진 경우에만 읽기(복구)가 가능하도록 정보를 변환할 수 있습니다. 특정 알파벳을 기반으로 한 텍스트는 암호화 및 복호화 대상 정보로 간주됩니다.

알파벳– 정보를 인코딩하는 데 사용되는 유한한 기호 집합입니다. 예:

ü 알파벳 Z33 – 러시아어 알파벳 32자와 공백을 포함합니다.

ü 알파벳 Z256 – 다음에 포함된 문자 표준 코드 ASCII 및 KOI-8;

ü 이진 알파벳 Z2 – 두 문자(0과 1);

ü 8진수 또는 16진수 알파벳.

텍스트– 알파벳 요소의 순서가 지정된 집합입니다.

암호화– 원본(일반) 텍스트를 암호 텍스트로 바꾸는 변형 프로세스입니다.

암호 해독(역암호화) - 키를 기반으로 암호문을 원본 텍스트로 바꾸는 변환 프로세스입니다.

열쇠– 텍스트의 원활한 암호화 및 복호화를 위해 필요한 정보입니다.

암호화 시스템일반 텍스트 변환의 ​​계열 T [T 1, T 2, ..., T k]를 나타냅니다. 이 계열의 구성원은 기호로 색인화되거나 지정됩니다. 에게; 매개변수 에게열쇠입니다. 키 공간 K는 가능한 키 값의 집합입니다. 일반적으로 키는 일련의 알파벳 문자로 구성됩니다.

암호 시스템은 다음과 같이 나뉩니다. 대칭 그리고 비대칭 . 안에 대칭 암호 시스템 암호화와 복호화에 동일한 키가 사용됩니다. 안에 비대칭 시스템(공개 키) 수학적으로 서로 관련된 공개 및 비공개라는 두 개의 키가 사용됩니다. 정보는 다음을 사용하여 암호화됩니다. 공개 키는 누구나 사용할 수 있으며 메시지 수신자에게만 알려진 개인 키를 사용하여 해독됩니다.

자귀 키 배포 그리고 핵심 관리 정보 처리 프로세스를 의미하며 그 내용은 키를 편집하고 사용자 간에 배포하는 것입니다.

전자(디지털) 서명이를 텍스트에 첨부된 암호화 변환이라고 하며, 이를 통해 다른 사용자가 텍스트를 수신하면 메시지의 작성자와 진위 여부를 확인할 수 있습니다.

암호화 강도키를 알지 못한 채 해독에 대한 저항(즉, 암호해독에 대한 저항)을 결정하는 암호의 특성입니다. 암호화 강도를 나타내는 몇 가지 지표가 있습니다.

가능한 모든 키의 수;

암호해독에 필요한 평균 시간.

암호화 시스템 요구 사항

암호화 데이터 폐쇄 프로세스는 소프트웨어나 하드웨어에서 수행될 수 있습니다. 하드웨어 구현에는 훨씬 더 많은 비용이 들지만 고성능, 단순성, 보안. 소프트웨어 구현은 보다 실용적이며 사용 시 어느 정도 유연성을 허용합니다.

암호화 시스템에 대해 일반적으로 허용되는 요구 사항:

· 암호화된 메시지는 키를 사용할 수 있는 경우에만 읽을 수 있어야 합니다.

· 암호화된 메시지의 조각과 해당 일반 텍스트에서 사용된 키를 결정하는 데 필요한 작업 수는 최소한 가능한 키의 총 수여야 합니다.

· 가능한 키를 열거하여 정보를 해독하는 데 필요한 작업 수는 엄격한 하한을 갖고 가능성의 한계를 넘어야 합니다. 현대 컴퓨터(네트워크 컴퓨팅 기능을 고려)

· 암호화 알고리즘에 대한 지식은 보호의 신뢰성에 영향을 주어서는 안 됩니다.

· 키가 약간 변경되면 암호화된 메시지 유형이 크게 변경됩니다.

· 암호화 알고리즘의 구조적 요소는 변경되지 않아야 합니다.

· 암호화 프로세스 중에 메시지에 추가된 추가 비트는 암호문에 완전하고 안전하게 숨겨야 합니다.

· 암호문의 길이는 원본 텍스트의 길이와 같아야 합니다.

· 암호화 프로세스에서 순차적으로 사용되는 키 간에 간단하고 쉽게 설정된 종속성이 없어야 합니다.

· 가능한 키 세트 중 모든 키는 다음을 제공해야 합니다. 안정적인 보호정보;

· 알고리즘은 소프트웨어와 하드웨어 구현을 모두 허용해야 하며, 키 길이를 변경하면 암호화 알고리즘의 질적 저하로 이어져서는 안 됩니다.

기본 암호화 알고리즘

암호화-복호화 방법을 호출합니다. 암호 . 암호 해독에 사용되는 키는 암호화에 사용되는 키와 동일하지 않을 수 있지만 대부분의 알고리즘에서 키는 동일합니다.

키 기반 알고리즘은 두 가지 클래스로 나뉩니다. 대칭 (비밀 키 포함) 및 비대칭 (공개 키 포함). 대칭 알고리즘은 암호화와 복호화에 동일한 키를 사용하거나, 복호화 키는 단순히 암호화 키에서 계산됩니다. 비대칭 알고리즘은 서로 다른 키를 사용하며 암호화 키에서 암호 해독 키를 계산할 수 없습니다.

대칭 알고리즘스트림 암호와 블록 암호로 나누어진다. 스트림 암호화를 사용하면 정보를 비트 단위로 암호화할 수 있는 반면, 블록 암호화는 특정 데이터 비트 세트로 작동합니다( 일반적으로 블록 크기는 64비트입니다.) 이 세트를 하나의 전체로 암호화합니다.

일반적으로 암호화 키는 파일 또는 데이터 배열이며 개인 키 매체(예: 플래시 드라이브 또는 스마트 카드)에 저장됩니다. 개인키미디어는 소유자 외에는 누구도 접근할 수 없도록 하는 조치를 취하는 것이 필수입니다.

사전 복호화 없이는 암호학적으로 닫힌 메시지의 의미 수정 및 위조를 수행하는 것이 거의 불가능하다는 사실로 인해 진위성이 보장됩니다. 비밀 키를 모르면 가짜 메시지를 올바르게 암호화할 수 없습니다.

전송된 데이터에 특수 코드를 첨부하여 데이터 무결성이 보장됩니다( 모조품 인서트 ), 비밀 키를 사용하여 생성됩니다. 모조 삽입은 유형입니다 체크섬, 즉. 메시지의 무결성을 검사하는 메시지의 일부 참조 특성입니다. 시뮬레이션된 삽입을 생성하는 알고리즘은 복잡한 암호화 법칙에 따라 메시지의 각 비트에 대한 종속성을 보장해야 합니다. 메시지의 무결성은 비밀 키를 사용하여 수신된 메시지에 해당하는 시뮬레이션된 삽입을 생성하고 이를 시뮬레이션된 삽입의 수신된 값과 비교함으로써 메시지 수신자에 의해 확인됩니다. 일치하는 경우에는 보낸 사람이 받는 사람에게 전달되는 도중에 정보가 수정되지 않은 것으로 판단됩니다.

대칭 암호화는 예를 들어 소유자가 없을 때 정보에 대한 무단 액세스를 방지하기 위해 "자신을 위해" 정보를 암호화하는 데 이상적입니다. 저는 암호화 속도가 빠릅니다. 단일 키 암호화 시스템을 사용하면 많은 중요한 정보 보안 문제를 해결할 수 있습니다. 하지만 독립형 사용대칭 암호 시스템 컴퓨터 네트워크사용자 간에 암호화 키를 배포하는 문제가 발생합니다.

암호화된 데이터 교환을 시작하기 전에 모든 수신자와 비밀 키를 교환해야 합니다. 대칭형 암호화 시스템의 비밀 키 전송은 공개 통신 채널을 통해 수행될 수 없습니다. 비밀 키는 보안 채널을 통해(또는 택배를 사용하여) 발송인과 수신자에게 전송되어야 합니다. 네트워크에서 순환하는 메시지를 효과적으로 보호하려면 자주 변경되는 수많은 키가 필요합니다(각 사용자 쌍당 하나의 키). 다수의 사용자에게 비밀키를 배포하는 문제는 시간이 많이 걸리고 복잡한 작업입니다. 네트워크에서는 N(N-1)/2개의 비밀 키가 N명의 사용자에게 배포되어야 합니다.

비대칭 암호공개 키를 모든 사람이 사용할 수 있도록 허용합니다(예: 신문에 게재). 이를 통해 누구나 메시지를 암호화할 수 있습니다. 그러나 암호 해독 키를 소유한 사용자만이 이 메시지를 해독할 수 있습니다. 암호화 키는 다음과 같습니다. 공개 키 이며, 암호 해독 키는 다음과 같습니다. 개인 키 또는 비밀 키 .

개인 키와 공개 키는 쌍으로 생성됩니다. 비밀 키는 소유자에게 남아 있어야 하며 무단 액세스로부터 안정적으로 보호되어야 합니다(대칭 알고리즘의 암호화 키와 유사). 공개 키의 사본은 비밀 키 소유자가 정보를 교환하는 암호화 네트워크의 각 가입자가 보관해야 합니다.

공개 키 암호화 시스템은 다음과 같은 속성을 갖는 소위 비가역적 또는 단방향 기능을 사용합니다. 엑스값을 계산하기가 상대적으로 쉽습니다. 에프엑스(f(x))그러나 만일 yM = j(x)그렇다면 값을 계산하는 쉬운 방법은 없습니다. 엑스. 되돌릴 수 없는 기능 클래스 세트는 다양한 공개 키 시스템을 생성합니다.

비대칭 암호체계에서 암호화된 정보를 전송하는 과정은 다음과 같이 진행된다.

준비 단계:

· 가입자 B는 키 쌍(비밀 키 k in 및 공개 키 K in)을 생성합니다.

· 공개 키 K는 가입자 A와 다른 가입자에게 전송됩니다(또는 공유 리소스 등에서 사용할 수 있게 됩니다).

용법 ( A와 B 사이의 정보 교환 ):

· 가입자 A는 가입자 B의 공개 키 K를 사용하여 메시지를 암호화하고 암호문을 가입자 B에게 보냅니다.

· 가입자 B는 자신의 비밀 키 k를 사용하여 메시지를 해독합니다. 다른 누구도 해독할 수 없어 이 메시지, 왜냐하면 가입자 B의 비밀키를 가지고 있지 않습니다.

비대칭 암호화 시스템의 정보 보호는 메시지 수신자의 키 k의 비밀성에 기반합니다.

장점대칭 암호화 시스템 이전의 비대칭 암호화 시스템:

ü 비대칭 암호 시스템에서 해결됨 복잡한 문제사용자 간 키 배포로 인해 각 사용자는 자신의 키 쌍을 직접 생성할 수 있으며 사용자의 공개 키는 네트워크 통신을 통해 자유롭게 게시 및 배포될 수 있습니다.

ü 사용자 수에 대한 키 수의 2차 의존성이 사라집니다. 비대칭 암호화 시스템에서 사용되는 키 수는 대칭 시스템에서와 같이 2차가 아닌 선형 종속성(N 사용자 시스템에서는 2N 키가 사용됨)으로 가입자 수와 관련됩니다.

ü 비대칭 암호 시스템을 사용하면 서로 신뢰하지 않는 당사자 간의 상호 작용을 위한 프로토콜을 구현할 수 있습니다. 왜냐하면 비대칭 암호 시스템을 사용할 때 개인 키는 소유자에게만 알려져야 하기 때문입니다.

결함비대칭 암호 시스템:

ü 현재 비대칭 알고리즘에 사용되는 함수의 비가역성에 대한 수학적 증거는 없습니다.

ü 암호화 및 암호 해독은 매우 리소스 집약적인 작업을 사용하므로 비대칭 암호화는 대칭 암호화보다 훨씬 느립니다. 같은 이유로 비대칭 알고리즘을 사용하여 하드웨어 암호화기를 구현하는 것은 하드웨어 대칭 알고리즘을 구현하는 것보다 훨씬 어렵습니다.

ü 공개 키가 대체되지 않도록 보호해야 할 필요성.

최신 암호화-복호화 알고리즘은 매우 복잡하며 수동으로 수행할 수 없습니다. 진정한 암호화 알고리즘은 컴퓨터나 특수 하드웨어 장치에서 사용하도록 설계되었습니다. 대부분의 응용 프로그램에서 암호화는 소프트웨어로 수행되며 사용 가능한 암호화 패키지가 많이 있습니다.

대칭 알고리즘은 비대칭 알고리즘보다 빠릅니다. 실제로 두 가지 유형의 알고리즘이 함께 사용되는 경우가 많습니다. 공개 키 알고리즘은 무작위로 생성된 비밀 키를 전송하는 데 사용되며, 이 비밀 키는 메시지를 해독하는 데 사용됩니다.

많은 고품질 암호화 알고리즘이 널리 사용 가능합니다. 가장 유명한 대칭 알고리즘은 DES와 IDEA입니다. 최고의 비대칭 알고리즘은 RSA입니다. 러시아에서는 GOST 28147-89가 암호화 표준으로 채택되었습니다.

표 1은 암호정보 폐쇄의 분류를 나타낸다.

1 번 테이블

변환 유형 변환 방법 방법의 종류 구현 방법
암호화 교체(대체) 단순(단일 알파벳) 음식물.
다중 알파벳 단일 회로 일반 음식물.
다중 알파벳 단일 회로 모노포닉 음식물.
음식물.
재배치 단순한 음식물.
표에 따르면 복잡하다 음식물.
복잡한 노선 음식물.
분석적 변환 행렬 대수학의 규칙에 따르면 음식물.
특별한 종속성의 경우 음식물.
구밍 유한한 단거리 범위로 하드웨어 프로그램.
유한한 장거리 하드웨어 프로그램.
끝없는 범위로 하드웨어 프로그램.
결합된 교체+재배열 하드웨어 프로그램.
교체+게임 하드웨어 프로그램.
재배치+게임 하드웨어 프로그램.
검밍+검밍 하드웨어 프로그램.
코딩 의미론적 특수 테이블(사전)에 따르면 음식물.
상징적 코드 알파벳별 음식물.
다른 유형 절단 의미론적 하드웨어 프로그램.
기계 음식물.
압축-팽창

나.아래에 암호화 보호된 메시지의 각 문자가 변환되는 암호화 클로저 유형을 나타냅니다.

알려진 모든 암호화 방법은 대체(대체), 순열, 분석 변환, 감마 및 결합 암호화의 다섯 가지 그룹으로 나눌 수 있습니다. 이러한 각 방법에는 여러 가지 종류가 있을 수 있습니다.

방법의 종류 대사 (치환 ):

1) 단순한 (모노 알파벳) – 암호화된 텍스트의 문자가 동일한 알파벳의 다른 문자로 대체됩니다. 암호문의 양이 크면 암호문에 문자가 나타나는 빈도는 (텍스트가 작성된 언어의) 알파벳 문자 출현 빈도에 더 가깝고 해독은 매우 간단합니다. 이 방법현재는 거의 사용되지 않으며 암호화된 텍스트가 짧은 경우에 사용됩니다.

2) 다중 알파벳 대체는 다소 복잡한 규칙에 따라 원본 텍스트의 문자를 다른 알파벳의 문자로 바꾸는 것으로 구성된 가장 간단한 변환 유형입니다. 높은 암호화 강도를 보장하려면 큰 키를 사용해야 합니다.

~에 다중 알파벳 단일 회로 일반 대체는 여러 알파벳을 사용하여 소스 텍스트의 문자를 대체하며 알파벳은 순차적이고 주기적으로 변경됩니다. 첫 번째 문자는 첫 번째 알파벳의 해당 문자로 대체되고, 두 번째 문자는 두 번째 알파벳의 문자로 대체됩니다. 선택한 모든 알파벳이 사용될 때까지. 그 후에는 알파벳 사용이 반복됩니다.

특징 다중 알파벳 단일 회로 모노포닉 대체란 암호문에 있는 모든 문자의 출현 빈도가 동일하도록 알파벳의 수와 구성을 선택하는 것입니다. 이러한 상황에서는 통계적 처리를 이용한 암호문의 암호해석이 어려워진다. 소스 텍스트에서 자주 발생하는 기호의 경우 거의 발생하지 않는 기호보다 더 많은 수의 대체 요소가 제공된다는 사실로 인해 기호 발생 빈도의 정렬이 이루어집니다.

다중 알파벳 다중 회로대체는 암호화를 위해 여러 세트의 알파벳(회로)이 주기적으로 사용되며 일반적으로 각 회로에는 고유한 개별 적용 기간이 있다는 사실로 구성됩니다. 이 기간은 원칙적으로 알파벳의 윤곽선이 변경된 암호화 후 문자 수로 계산됩니다.

방법 순열 - 암호화 변환의 간단한 방법입니다. 일반적으로 다른 방법과 조합하여 사용됩니다. 이 방법은 암호화된 문자 블록 내의 특정 규칙에 따라 암호화된 텍스트의 문자를 재배열한다는 사실로 구성됩니다. 순열 방법을 사용하는 모든 암호화 및 복호화 절차는 충분히 정형화되어 있으며 알고리즘적으로 구현될 수 있습니다.

단순순열에 의한 암호화는 다음과 같이 수행된다.

· 반복되지 않는 문자가 포함된 키워드를 선택하세요.

· 암호문은 기호 아래 연속된 줄로 작성됩니다. 예어;

· 암호문은 키 문자가 알파벳에 있는 순서대로(또는 디지털인 경우 자연 계열의 숫자 순서로) 열에 기록됩니다.

예:

일반 텍스트: 조심하세요

키: 5 8 1 3 7 4 6 2

암호화 방식:

B U D E q O(q는 공백)

S TO R O G N S

각각 2개의 문자를 그룹화하고 암호화된 텍스트를 얻습니다.

DOOOYREZHBSqNTOUT

단순순열에 의한 암호화의 단점은 암호문의 길이가 길면 암호문에 키 기호의 패턴이 나타날 수 있다는 점이다. 이러한 단점을 없애기 위해 특정 문자 수를 암호화한 후 키를 변경할 수 있습니다. 키를 자주 변경하면 암호화 강도를 크게 높일 수 있습니다. 그러나 동시에 암호화 및 암호 해독 프로세스의 구성은 더욱 복잡해집니다.

복잡한 테이블 재배치암호화된 텍스트의 문자를 기록하기 위해 일부 복잡한 요소가 도입되는 특수 테이블이 사용된다는 사실에 있습니다. 테이블은 차원을 임의로 선택할 수 있는 행렬입니다. 단순 순열의 경우처럼 암호화된 텍스트의 문자가 여기에 기록됩니다. 문제는 특정 수의 테이블 셀이 사용되지 않는다는 것입니다. 사용되지 않는 요소의 수와 위치는 추가 암호화 키입니다. 블록으로 암호화된 텍스트( 엑스 N에스) 요소가 테이블에 기록됩니다( 엑스 N -테이블 크기, 에스 –사용되지 않은 요소 수). 다음으로 암호화 절차는 단순 재배열과 유사하다.

테이블의 크기, 키 문자의 순서, 사용되지 않은 요소의 수와 위치를 변경하여 필요한 암호문 강도를 얻을 수 있습니다.

복잡한 노선 재배치암호화 강도가 높으며 해밀턴 유형 경로를 따라 복잡한 순열 방법을 사용합니다. 이 경우 특정 하이퍼큐브의 정점을 이용하여 암호문의 기호를 기록하는데, 암호문의 기호는 해밀턴 경로(Hamilton's Route)를 이용하여 계산되며, 여러 가지 경로가 사용된다.

암호화 방법 분석 변환 사용 충분히 신뢰할 수 있는 정보 폐쇄를 제공합니다. 이를 위해 행렬 대수 방법(예: 행렬에 벡터를 곱함)을 사용할 수 있습니다. 행렬이 키로 사용되고 소스 텍스트 문자가 벡터 구성 요소로 대체되면 결과 벡터의 구성 요소는 암호문 문자가 됩니다. 복호화는 행렬에 벡터를 곱하는 것과 동일한 규칙을 사용하여 수행되며, 클로저를 수행하는 데 사용된 행렬의 역행렬만 기초로 사용되며 닫힌 텍스트의 해당 기호 수는 요소 벡터로 사용됩니다. . 결과 벡터의 값은 일반 텍스트 문자의 디지털 값과 동일합니다.

구밍- 이 방법은 키를 기반으로 생성된 의사 무작위 시퀀스를 소스 텍스트에 겹쳐놓는 것으로 구성됩니다. 소스 텍스트에 감마를 적용하는 절차는 두 가지 방법으로 수행할 수 있습니다. 안에 첫 번째 방법소스 텍스트 및 감마의 기호는 디지털 등가물로 대체된 다음 모듈로 추가됩니다. 에게, 여기서 K는 알파벳의 문자 수입니다.

t c = (t p + t g) 모드 K, 어디 티씨, tp,tg –암호문, 평문, 감마의 기호.

두 번째 방법은 소스 텍스트의 기호와 감마를 바이너리 코드 형태로 표현한 후 해당 숫자를 모듈로 2로 추가하는 방법입니다. 감마 연산 시 모듈로 2를 추가하는 대신 다른 방법을 사용할 수 있습니다. 논리 연산, 예를 들어 논리적 동등성 또는 논리적 비동등성 규칙에 따른 변환입니다. 이러한 대체는 원본 텍스트와 감마의 기호로부터 암호화된 메시지의 기호를 형성하기 위한 규칙을 선택하는 또 다른 키를 도입하는 것과 같습니다.

감마 방법을 사용한 암호화 강도는 주로 감마의 속성, 즉 기간 길이와 통계 특성의 균일성에 의해 결정됩니다. 후자의 속성은 한 기간 내에서 다양한 기호의 모양에 패턴이 없음을 보장합니다.

감마의 우수한 통계적 특성으로 인해 암호화 강도는 해당 기간에 의해서만 결정됩니다. 또한 감마 기간의 길이가 암호화된 텍스트의 길이를 초과하는 경우 해당 암호는 이론적으로 절대적으로 안전합니다. 임의의 임의 기호 시퀀스(예: 숫자 PI의 숫자 시퀀스)를 무한 감마로 사용할 수 있습니다. 컴퓨터를 사용하여 암호화하는 경우 의사 난수 센서를 사용하여 감마 시퀀스가 ​​생성됩니다.

결합된 암호화 방법여러 개를 동시에 사용 다양한 방법으로, 즉. 두 가지 이상의 방법을 사용하여 원본 텍스트를 순차적으로 암호화합니다. 이는 암호화 강도를 높이는 매우 효과적인 수단입니다.

조합 암호의 일반적인 예는 미국 DES(National Data Encryption Standard)입니다.

II.아래에 코딩 이러한 유형의 암호화 종결은 보호된 데이터의 일부 요소(반드시 개별 문자일 필요는 없음)가 미리 선택된 코드(숫자, 알파벳, 영숫자 조합 등)로 대체될 때 이해됩니다.

이 방법에는 의미론적 인코딩과 기호 인코딩이라는 두 가지 종류가 있습니다. ~에 의미론적 코딩 코딩되는 요소는 매우 구체적인 의미(단어, 문장, 문장 그룹)를 갖습니다. ~에 문자 인코딩 보호된 메시지의 각 문자는 인코딩됩니다. 기호 인코딩은 본질적으로 대체 암호화와 동일합니다.

올바르게 사용하면 코드는 다른 기존 시스템보다 해독하기가 훨씬 더 어렵습니다. 여기에는 세 가지 이유가 있습니다. 첫째로, 긴 길이의 코드가 사용됩니다(암호화의 경우 - 수백 비트, 코드북 - 수십만 - 백만 비트). 둘째, 코드는 중복성을 제거합니다. 암호 분석가의 작업은 더욱 어려워집니다. 제삼, 코드는 상대적으로 큰 일반 텍스트 블록(단어 및 구문)에서 작동하므로 암호 분석가에게 귀중한 "단서"를 제공할 수 있는 로컬 정보를 숨깁니다.

에게 단점코딩을 할 때 키가 제대로 사용되지 않았기 때문이라고 생각해야 합니다. 단일 단어나 구문을 코딩할 때 코드북의 아주 작은 부분만 사용됩니다. 결과적으로 코드를 집중적으로 사용하면 부분적으로 분석될 수 있으며 알려진 일반 텍스트가 있는 경우 공격에 특히 민감합니다. 이러한 이유로 신뢰성을 높이려면 코드를 더 자주 변경해야 합니다.

III. 다른 방법 암호화 폐쇄에는 데이터 분석/다양화 및 데이터 압축이 포함됩니다. 데이터 해부/폭발 보호된 데이터의 배열은 보호된 정보의 내용을 공개할 수 없는 요소로 절단되고 이러한 방식으로 선택된 요소는 서로 다른 메모리 영역에 배치된다는 사실로 구성됩니다. 반대 절차를 데이터 수집이라고 합니다. 데이터를 배포하고 수집하는 알고리즘이 비밀로 유지되어야 한다는 것은 매우 분명합니다.

데이터 압축자주 발생하는 동일한 데이터 문자열 또는 동일한 문자 시퀀스를 미리 선택된 일부 문자로 대체하는 것을 나타냅니다.

해시 함수

해시 함수파일, 메시지 또는 일부 데이터 블록의 다이제스트 또는 "지문"을 얻기 위해 설계된 단방향 기능입니다.

처음에는 해싱 함수가 진위 여부를 식별하고 결정하기 위해 임의 길이의 정보 시퀀스에 대한 고유한 이미지를 생성하는 함수로 사용되었습니다. 이미지 자체는 고정된 길이(일반적으로 30, 60, 64, 128, 256 또는 512비트)의 작은 블록이어야 합니다. 따라서 대규모 배열이나 데이터베이스를 사용하는 검색 작업 및 기타 정렬 작업이 크게 단순화됩니다. 시간이 훨씬 적게 걸립니다. 필요한 오류 확률을 보장하려면 해싱 함수에 대한 여러 요구 사항을 제공해야 합니다.

· 해시 함수는 삽입, 방출, 순열과 같은 텍스트 M의 모든 종류의 변경에 민감해야 합니다.

· 해시 함수는 되돌릴 수 없는 속성을 가져야 합니다. 즉, 필요한 해시 함수 값을 갖는 문서 "M"을 선택하는 작업은 계산적으로 다루기 어려워야 합니다.

· 서로 다른 두 문서의 해시 함수 값(길이에 관계없이)이 일치할 확률은 무시할 수 있어야 합니다.

다수의 기존 수학 함수가 이러한 요구 사항을 충족할 수 있습니다. 정렬, 검색 등의 기능을 사용하는 경우 그러나 이후 인증 이론에 대한 Simonson의 연구를 바탕으로 통신 채널 및 통신 시스템의 메시지 인증 체계에서 해싱 방법을 사용하는 것이 타당성이 분명해졌습니다. 이와 관련하여 암호학 분야 연구에서는 새로운 해시 함수 개발 및 기존 해시 함수 개선과 관련된 다양한 방향이 열렸습니다. 해싱 함수를 사용하는 주요 아이디어는 현대 암호화 메커니즘 및 인증 방법 개발을 위한 주요 제품인 단방향 함수를 파생시키는 것입니다.
단방향 해싱 함수와 관련된 기본 개념을 살펴보겠습니다.

대부분의 해시 함수는 단방향 함수를 기반으로 합니다. 에프( ), 길이의 출력 값을 생성합니다. N두 개가 주어졌을 때 입력 값길이 N. 이러한 입력은 소스 텍스트 블록입니다. 그리고 해시값 안녕-1이전 텍스트 블록(그림 1):

Hi = f(Mi, Hi–1).

마지막 텍스트 블록을 입력할 때 계산된 해시 값은 전체 메시지 M의 해시 값이 됩니다.

그림 1. 단방향 해시 함수 다이어그램

결과적으로 단방향 해시 함수는 입력 텍스트의 길이에 관계없이 항상 고정 길이 n의 출력을 생성합니다. 해싱 알고리즘은 반복적이므로 해싱 함수를 반복 알고리즘이라고도 합니다. 해싱 알고리즘의 본질은 일방성입니다. 이 기능은 압축, 혼합, 소멸 등 한 방향으로만 작동해야 하지만 복원은 불가능합니다. 이러한 구성표를 사용하면 소스 텍스트의 변경 사항을 추적하여 데이터 무결성을 보장하고 알고리즘에서 변경 사항을 추적할 수 있습니다. 전자 서명또한 데이터의 신뢰성을 보장합니다. 그러나 순수한 형태이러한 기능의 신뢰성은 확인할 수 없습니다.

일반적으로 새로운 암호화 알고리즘은 대중이 사용할 수 있도록 게시되고 전문 연구 센터에서 연구됩니다. 이러한 연구 결과는 대중의 소비를 위해 출판되기도 합니다.

대칭 알고리즘
암호화 알고리즘은 대칭형(AES, GOST, Blowfish, CAST, DES)과 비대칭형(RSA, El-Gamal)의 두 가지 큰 클래스로 나뉩니다. 대칭 암호화 알고리즘은 동일한 키를 사용하여 정보를 암호화하고 해독하는 반면, 비대칭 알고리즘은 두 개의 키(하나는 암호화용, 다른 하나는 암호 해독용)를 사용합니다.

암호화된 정보를 다른 위치로 전송해야 하는 경우 암호 해독 키도 전송해야 합니다. 약점여기서는 데이터 전송 채널입니다. 안전하지 않거나 탭하면 암호 해독 키가 공격자에게 전달될 수 있습니다. 비대칭 알고리즘을 기반으로 하는 시스템에는 이러한 단점이 없습니다. 이러한 시스템의 각 참가자는 공개 키와 비밀 키라는 한 쌍의 키를 갖습니다.

암호화 키
이것은 무작위이거나 특별히 생성된 비트 시퀀스입니다. 가변 매개변수암호화 알고리즘.
동일한 알고리즘을 사용하지만 다른 키를 사용하여 동일한 데이터를 암호화하면 결과도 달라집니다.

일반적으로 암호화 프로그램(WinRAR, Rohos 등)에서는 사용자가 지정한 비밀번호로 키가 생성됩니다.

암호화 키는 다양한 길이로 제공되며 일반적으로 비트 단위로 측정됩니다. 키 길이가 길어질수록 암호의 이론적 강도도 높아집니다. 실제로 이것은 항상 사실이 아닙니다.

암호화에서는 암호화 메커니즘이 비밀이 아닌 값이며 공격자가 완전한 정보를 얻을 수 있다고 믿어집니다. 원천암호화 알고리즘 및 암호문(Kerkhoff의 규칙). 발생할 수 있는 또 다른 가정은 공격자가 암호화되지 않은(일반) 텍스트의 일부를 알고 있을 수 있다는 것입니다.

암호화 알고리즘의 강점.
암호화 알고리즘은 달리 입증될 때까지 강력한 것으로 간주됩니다. 따라서 암호화 알고리즘이 공개되고, 5년 이상 존재했으며, 심각한 취약점이 발견되지 않았다면 그 강도가 보안 목적에 적합하다고 가정할 수 있습니다. 기밀 정보.

이론적이고 실용적인 내구성.
1949년 K.E. Shannon은 "비밀 시스템의 통신 이론"이라는 기사를 출판했습니다. Shannon은 실용적이고 이론적인 측면에서 암호화 시스템의 강점을 고려했습니다. 이론적 강도에 관한 결론은 여전히 ​​비관적입니다. 키의 길이는 일반 텍스트의 길이와 같아야 합니다.
따라서 Shannon은 암호화 시스템의 실질적인 강점 문제도 고려했습니다. 공격자가 다음과 같은 경우 시스템을 신뢰할 수 있습니까? 제한된 시간가로채는 메시지를 분석하기 위한 컴퓨팅 리소스는 무엇입니까?

일반적으로 취약점은 일부 알고리즘을 사용하여 데이터를 암호화하는 프로그램에서 발견됩니다. 이 경우 프로그래머는 프로그램 논리나 암호화 프로토콜에 오류를 범합니다. 덕분에 프로그램 작동 방식(낮은 수준)을 연구하여 궁극적으로 비밀 정보에 액세스할 수 있습니다.

암호화 알고리즘 해킹
공격자가 비밀 키를 계산하고 원래 암호화 알고리즘과 동등한 변환 알고리즘을 수행할 수 있으면 암호화 시스템이 손상된 것으로 간주됩니다. 그리고 이 알고리즘이 실시간으로 실행될 수 있도록 말이죠.

암호화에는 암호화된 메시지를 깨거나 위조하는 문제를 연구하는 암호화 분석이라는 하위 섹션이 있습니다. 암호 분석에는 여러 가지 방법과 방법이 있습니다. 가장 널리 사용되는 방법은 암호화 키의 가능한 모든 값을 직접 검색하는 방법(소위 "무차별 대입" 방법)입니다. 본질 이 방법원하는 키가 선택될 때까지 암호화 키의 가능한 모든 값을 검색하는 것으로 구성됩니다.

실제로 이는 공격자가 다음을 수행해야 함을 의미합니다.

  • 암호화 시스템(예: 프로그램)과 암호화된 메시지의 예를 마음대로 사용하세요.
  • 암호화 프로토콜을 이해합니다. 즉, 프로그램이 데이터를 암호화하는 방법입니다.
  • 이 암호화 시스템의 키를 열거하기 위한 알고리즘을 개발하고 구현합니다.
키가 올바른지 여부를 확인하는 방법은 무엇입니까?
그것은 모두에 달려 있습니다 특정 프로그램그리고 암호화 프로토콜의 구현. 일반적으로 암호 해독 후 "쓰레기"가 나타나면 이는 잘못된 키입니다. 그리고 텍스트가 어느 정도 의미가 있으면(확인할 수 있음) Key가 올바른 것입니다.

암호화 알고리즘
AES (린달). 현재 미국 연방 암호화 표준입니다. 2001년 12월 4일 상무부에 의해 표준으로 승인되었습니다. 이 결정은 연방 관보에 게재된 순간(2001년 6월 12일)부터 발효되었습니다. 블록 크기가 128비트인 암호 버전이 표준으로 채택되었습니다.

GOST 28147-8.데이터 암호화 및 모방 방지에 대한 러시아 연방 표준입니다. 처음에는 등급(OB 또는 SS - 정확히 알 수 없음)이 있었지만 등급이 연속적으로 낮아졌으며 1989년 소련 국가 표준을 통해 알고리즘이 공식적으로 수행될 때 제거되었습니다. 알고리즘은 칩보드로 유지됩니다(아시다시피 칩보드는 지판으로 간주되지 않습니다). 1989년에는 소련의 공식 표준이 되었고, 소련 붕괴 이후에는 러시아 연방의 연방 표준이 되었습니다.

복어키 요소를 생성하는 복잡한 방식은 알고리즘에 대한 무차별 대입 공격을 상당히 복잡하게 만들지 만, 키가 자주 변경되고 각 키에 소량의 데이터가 암호화되는 시스템에서는 사용하기에 부적합합니다. 이 알고리즘은 동일한 키를 사용하여 대량의 데이터를 암호화하는 시스템에 가장 적합합니다.

DES미국 연방 암호화 표준 1977-2001. 1977년 미국 연방 표준으로 채택되었습니다. 2001년 12월 새로운 표준의 도입으로 인해 그 지위를 상실하였습니다.

깁스어떤 의미에서는 DES와 유사합니다.

국가 기밀의 암호화 보호 수단은 여전히 ​​​​무기와 동일합니다. 세계에서 실제로 암호화폐 회사를 보유하고 있는 국가는 거의 없습니다. 좋은 뜻정보 보호. 많은 선진국에서도 그러한 기회는 없습니다. 이러한 기술을 지원하고 개발할 수 있는 학교가 없습니다. 러시아는 이 모든 것이 개발된 세계에서 몇 안 되는 국가 중 하나입니다. 그러한 국가가 5개 정도 있을 수 있습니다. 더욱이, 상업 및 공공 부문 모두에서 암호학파가 초기 단계부터 지속성을 유지해 온 기업과 조직이 있습니다.

암호화 알고리즘

오늘날에는 암호 분석(암호화 강도)에 상당한 저항을 갖는 암호화 알고리즘이 많이 있습니다. 암호화 알고리즘은 세 그룹으로 나뉩니다.

  • 대칭 알고리즘
  • 비대칭 알고리즘
  • 해시 함수 알고리즘

대칭 알고리즘

대칭 암호화에는 암호화와 복호화에 동일한 키를 사용하는 것이 포함됩니다. 대칭 알고리즘에는 두 가지 주요 요구 사항이 적용됩니다. 즉, 암호화 개체의 모든 통계 패턴이 완전히 손실되고 선형성이 부족합니다. 대칭 시스템을 블록 및 흐름 시스템으로 나누는 것이 일반적입니다.

블록 시스템에서는 원본 데이터를 블록으로 나눈 후 키를 사용하여 변환합니다.

스트리밍 시스템에서는 특정 시퀀스(출력 감마)가 생성되어 이후에 메시지 자체에 중첩되고 감마가 생성될 때 스트림에서 데이터 암호화가 발생합니다. 대칭 암호화 시스템을 사용한 통신 다이어그램이 그림에 나와 있습니다.

여기서 M은 일반 텍스트, K는 개인 채널을 통해 전송되는 비밀 키, En(M)은 암호화 작업, Dk(M)은 암호 해독 작업입니다.

일반적으로 대칭 암호화는 소스 데이터의 대체 및 순열의 복잡하고 다단계 조합을 사용하며 많은 단계(패스)가 있을 수 있으며 각 단계는 "패스 키"에 해당해야 합니다.

대체 작업은 지정된 특정 법칙에 따라 메시지 비트를 섞음으로써 모든 통계를 제거하여 대칭 암호의 첫 번째 요구 사항을 충족합니다. 두 번째 요구 사항, 즉 알고리즘을 비선형으로 만들려면 순열이 필요합니다. 이는 원래 배열에 액세스하여 주어진 크기의 메시지의 특정 부분을 표준 값으로 대체함으로써 달성됩니다.

대칭 시스템은 비대칭 시스템에 비해 장점과 단점을 모두 갖고 있습니다.

대칭 암호의 장점은 다음과 같습니다. 고속암호화, 비슷한 강도, 더 많은 지식 및 구현 용이성을 갖춘 더 짧은 필수 키 길이. 대칭 알고리즘의 단점은 주로 필요한 교환 중에 키가 손상될 가능성이 높기 때문에 키 교환이 복잡하고 대규모 네트워크에서 키 관리가 복잡하다는 점으로 간주됩니다.

대칭 암호의 예

  • GOST 28147-89 - 국내 암호화 표준
  • 3DES(삼중 DES, 삼중 DES)
  • RC6(리베스트 암호화)
  • 투피쉬
  • SEED - 한국 암호화 표준
  • Camellia – 일본 암호화 표준
  • CAST(개발자 Carlisle Adams 및 Stafford Tavares의 이니셜을 따옴)
  • XTEA는 구현하기 가장 쉬운 알고리즘입니다.
  • AES – 미국 암호화 표준
  • DES – 미국 최대 AES의 데이터 암호화 표준

비대칭 알고리즘

비대칭 시스템은 공개 키 암호화 시스템이라고도 합니다. 이는 공개 키가 숨겨진 채널이 아닌 공개 채널을 통해 전송되고 이를 사용하여 전자 서명을 확인하고 데이터를 암호화하는 데이터 암호화 방법입니다. 전자 서명을 해독하고 생성하려면 비밀 키인 두 번째 키가 사용됩니다.

비대칭 암호 시스템의 설계 자체는 단방향 함수 f(x)의 아이디어를 사용합니다. 여기서 함수 자체의 값을 알면 x를 찾기는 쉽지만 f(x) 자체를 찾는 것은 거의 불가능합니다. , x 값만 알고 있습니다. 그러한 기능의 예는 다음과 같습니다. 전화 번호부사람의 성과 이니셜을 알면 번호를 쉽게 알 수 있지만, 번호를 알면 주인을 찾기가 극히 어려운 대도시.

비대칭 시스템의 작동 원리

두 명의 가입자 A와 B가 있고 가입자 B가 가입자 A에게 암호화된 메시지를 보내려고 한다고 가정해 보겠습니다. 그는 공개 키를 사용하여 메시지를 암호화하고 이미 암호화된 메시지를 개방형 통신 채널을 통해 전송합니다. 메시지를 받은 구독자 A는 비밀 키를 사용하여 이를 해독하고 읽습니다.

여기서 설명이 필요합니다. 메시지를 받을 때 구독자 A는 악의를 품은 사람이 구독자 A를 가장하고 그의 공개 키를 자신의 공개 키로 대체할 수 없도록 구독자 B에게 자신의 신원을 인증해야 합니다.

비대칭 글꼴의 예

  • RSA(Rivest-Shamir-Adleman, Rivest-Shamir-Adleman)
  • DSA(디지털 서명 알고리즘)
  • Elgamal(엘가말 암호 시스템)
  • Diffie-Hellman(Diffie-Hellman 키 교환)
  • ECC(타원곡선 암호화, 타원곡선 암호화)

해시 함수

해싱(영어 해시에서 유래)은 임의 길이의 초기 정보 배열을 고정 길이의 비트 문자열로 변환하는 것입니다.

많은 해시 함수 알고리즘이 있지만 암호화 강도, 비트 심도, 계산 복잡성 등의 특성이 다릅니다.

우리는 암호학적으로 강력한 해시 함수에 관심이 있습니다. 여기에는 일반적으로 두 가지 요구 사항이 있습니다.

  • 주어진 메시지 C에 대해 동일한 해시를 가진 다른 메시지 C를 찾는 것은 거의 불가능합니다.
  • 동일한 해시를 가진 메시지 쌍(SS")을 찾는 것은 거의 불가능합니다.

요구 사항을 각각 1종 충돌과 2종 충돌에 대한 저항이라고 합니다. 이러한 함수의 경우 또 다른 요구 사항이 여전히 중요합니다. 인수가 약간 변경되면 함수 자체도 크게 변경되어야 합니다. 따라서 해시 값은 인수의 개별 비트에 대한 정보도 제공해서는 안 됩니다.

해시 알고리즘의 예

  • 애들러-32
  • SHA-1
  • SHA-2(SHA-224, SHA-256, SHA-384, SHA-512)
  • 하발
  • N-해시
    • RIPEMD-160
  • RIPEMD-256
  • RIPEMD-320
  • 타래
  • 스네프루
  • 타이거(TTH)
  • 소용돌이
  • GOST R34.11-94 (GOST 34.311-95)
  • IP 인터넷 체크섬(RFC 1071)

암호화 기본 요소

암호화된 정보에 더 큰 암호화 강도를 제공하기 위해 상대적으로 간단한 변환(기본값)을 암호화 시스템에서 반복적으로 사용할 수 있습니다. 대체, 순열, 순환 이동 또는 감마를 기본 요소로 사용할 수 있습니다.

양자 암호화

디지털 기술의 암호화

이야기

암호학은 고대 과학이며, 그 원래 목적은 다음과 같습니다. 문자 메시지, 특정 알고리즘의 도움으로 이 메시지, 즉 키를 해독하는 데 대한 특별한 지식이 없는 사람에게는 의미가 없게 되었습니다.

처음에는 오늘날 퍼즐에만 사용되는 방법, 즉 현대인의 의견으로는 가장 간단한 방법이 사용되었습니다. 이러한 암호화 방법에는 예를 들어 각 문자가 알파벳에서 엄격하게 정의된 거리만큼 떨어져 있는 다른 문자로 대체되는 대체 방법이 포함됩니다. 또는 문자가 단어 내에서 특정 순서로 바뀌는 순열 암호화 방법입니다.

고대에는 암호화가 주로 군사 및 상업 업무, 간첩 활동, 밀수업자들 사이에서 사용되었습니다.

얼마 후 역사가들은 또 다른 관련 과학인 스테가노그래피의 출현 날짜를 결정합니다. 이 과학은 메시지를 전송한다는 사실 자체를 가리는 것을 다루고 있습니다. 그것은 고대부터 시작되었으며, 여기에는 페르시아인과의 전투 전에 스파르타 왕 레오니다스가 건조하고 쉽게 세탁할 수 있는 용액으로 덮은 텍스트가 새겨진 태블릿을 받은 영수증이 있습니다. 청소할 때 스타일러스로 왁스에 남은 자국이 선명하게 보입니다. 오늘날에는 메시지를 숨기기 위해 동정 잉크, 마이크로도트, 마이크로필름 등이 사용됩니다.

수학의 발전과 함께 수학적 암호화 알고리즘이 등장하기 시작했지만 이러한 모든 유형의 암호화 정보 보호는 통계 데이터를 다양한 수준으로 보존하고 취약한 상태로 남아 있었습니다. 이러한 취약성은 아랍 백과사전학자 알 킨디(al-Kindi)가 AD 9세기에 개발한 빈도 분석의 발명으로 인해 특히 두드러졌습니다. 그리고 Leon Battista Alberti가 (아마도) 다중 알파벳 글꼴을 발명한 후인 15세기에야 보호가 질적 글꼴로 전환되었습니다. 새로운 레벨. 그러나 17세기 중반 Charles Babbage는 다중 알파벳 글꼴이 빈도 분석에 부분적으로 취약하다는 설득력 있는 증거를 제시했습니다.

메커니즘의 발전으로 암호화를 용이하게 하는 장치와 메커니즘을 만드는 것이 가능해졌습니다. Trithemius 사각형 보드 및 Thomas Jefferson의 디스크 암호와 같은 장치가 등장했습니다. 하지만 이 모든 장치는 20세기에 만들어진 장치와 비교할 수 없습니다. 예를 들어 가장 유명한 것이 Enigma인 회전식 기계와 같이 매우 복잡한 다양한 암호화 기계와 메커니즘이 나타나기 시작한 것이 바로 이때였습니다.

20세기 과학이 급속히 발전하기 전에는 암호학자들이 언어적 대상만을 다루어야 했지만, 20세기에는 다양한 수학적 방법과 이론, 통계학, 조합론, 정수론, 추상대수학을 사용할 수 있는 가능성이 열렸습니다.

그러나 암호화 과학의 진정한 혁신은 모든 정보를 컴퓨터를 사용하여 비트로 나누어 이진 형식으로 표현할 수 있는 능력의 출현과 함께 이루어졌으며, 이로 인해 지금까지 전례 없는 암호화 강도를 갖춘 글꼴을 만들 수 있게 되었습니다. 물론 이러한 암호화 시스템은 해킹될 수 있지만 대부분의 경우 해킹에 소요되는 시간은 그만한 가치가 없습니다.

오늘 우리는 양자 암호화의 중요한 발전에 대해 이야기할 수 있습니다.

문학

  • Barichev S.G., Goncharov V.V., Serov R.E. 기초 현대 암호화. - M.: *Varfolomeev A. A., Zhukov A. E., Pudovkina M. A. 스트림 암호 시스템. 저항 분석의 기본 특성 및 방법. M.: PAIMS, 2000.
  • Yashchenko V.V. 암호화 소개. 상트페테르부르크: 피터, 2001. .
  • GOST 28147-89. 정보 처리 시스템. 암호화 보호. 암호화 변환 알고리즘. M.: 1989년 표준에 따른 소련 민법.
  • GOST R 34.10-94. 정보 기술. 암호화 정보 보호. *GOST R 34.11-94. 정보 기술. 암호화 정보 보호. 해시 함수. 엠., 1995.
  • GOST R 34.10-2001 정보 기술. 암호화 정보 보호. 전자 디지털 서명을 생성하고 확인하는 프로세스입니다. 엠., 2001.
  • Nechaev V.I. 암호화 요소(정보 보안 이론의 기초). M.: 고등학교, 1999.
  • Zhelnikov V. 파피루스에서 컴퓨터로의 암호화. M.: AVR, 1996.

개인 정보를 보호하려면 데이터 암호화가 매우 중요합니다. 이 기사에서는 다양한 방식오늘날 데이터를 보호하는 데 사용되는 암호화 방법.

알고 계셨나요?
로마 시대에는 율리우스 카이사르(Julius Caesar)가 적군이 편지와 메시지를 읽을 수 없도록 암호화하는 방법을 사용했습니다. 특히 전쟁 중에 군사 전술로서 중요한 역할을 했습니다.

인터넷의 기능이 지속적으로 성장함에 따라 점점 더 많은 비즈니스가 온라인으로 수행되고 있습니다. 그 중 가장 중요한 것은 인터넷뱅킹, 온라인결제, 이메일, 기밀 데이터 및 정보 교환을 포함하는 비공개 및 공식 메시지 교환 등. 이 데이터가 잘못된 사람의 손에 들어가면 개인 사용자뿐만 아니라 전체 사용자에게 해를 끼칠 수 있습니다. 온라인 시스템사업.

이러한 일이 발생하지 않도록 개인 데이터 전송을 보호하기 위해 여러 가지 네트워크 보안 조치가 취해졌습니다. 그 중 가장 중요한 것은 암호화라고 알려진 데이터를 암호화하고 해독하는 프로세스입니다. 오늘날 대부분의 시스템에서 사용되는 세 가지 주요 암호화 방법은 해싱, 대칭 및 비대칭 암호화입니다. 안에 다음 줄, 이러한 각 암호화 유형에 대해 자세히 설명하겠습니다.

암호화 유형

대칭 암호화

대칭 암호화에서는 일반 텍스트라고 알려진 일반적으로 읽을 수 있는 데이터가 암호화되어 읽을 수 없게 됩니다. 이 데이터 스크램블링은 키를 사용하여 수행됩니다. 데이터가 암호화되면 수신자에게 안전하게 전송할 수 있습니다. 수신자에서는 암호화된 데이터가 인코딩에 사용된 것과 동일한 키를 사용하여 디코딩됩니다.

따라서 대칭 암호화에서 키가 가장 중요한 부분임이 분명합니다. 이 정보에 접근하는 사람은 누구나 개인 데이터를 해독할 수 있으므로 외부인이 볼 수 없도록 숨겨야 합니다. 이것이 바로 이러한 유형의 암호화를 "비밀 키"라고도 하는 이유입니다.

안에 현대 시스템아, 키는 일반적으로 강력한 비밀번호나 완전히 무작위 소스에서 나오는 데이터 문자열입니다. 이는 대칭 암호화 소프트웨어에 공급되어 입력 데이터를 비밀로 유지하는 데 사용됩니다. 데이터 스크램블링은 DES(데이터 암호화 표준), AES(고급 암호화 표준) 또는 IDEA(국제 데이터 암호화 알고리즘)와 같은 대칭 암호화 알고리즘을 사용하여 수행됩니다.

제한

이러한 유형의 암호화에서 가장 취약한 부분은 저장 및 인증된 사용자에 대한 전송 측면에서 키의 보안입니다. 해커가 이 키를 얻을 수 있다면 암호화된 데이터를 쉽게 해독하여 암호화의 전체 목적을 무효화할 수 있습니다.

또 다른 단점은 다음과 같습니다. 소프트웨어, 데이터를 처리하는 것은 암호화된 데이터로는 작동할 수 없습니다. 따라서 이 소프트웨어를 사용하려면 먼저 데이터를 디코딩해야 합니다. 소프트웨어 자체가 손상되면 공격자가 쉽게 데이터를 얻을 수 있습니다.

비대칭 암호화

비대칭 키 암호화는 전송되는 메시지를 암호화하는 데 키를 사용한다는 점에서 대칭 키와 유사하게 작동합니다. 그러나 그는 동일한 키를 사용하는 대신 완전히 다른 키를 사용하여 이 메시지를 해독합니다.

인코딩에 사용되는 키는 모든 네트워크 사용자가 사용할 수 있습니다. 따라서 이를 "공개" 키라고 합니다. 반면, 복호화에 사용되는 키는 비밀로 유지되며 사용자 본인이 개인적으로 사용하도록 되어 있습니다. 따라서 이 키를 "개인" 키라고 합니다. 비대칭 암호화는 공개 키 암호화라고도 합니다.

이 방법을 사용하면 메시지를 복호화하는데 필요한 비밀키를 매번 전송할 필요가 없고, 대개 사용자(수신자)만이 알고 있기 때문에 해커가 메시지를 복호화할 가능성이 매우 높다. 낮추다.

Diffie-Hellman 및 RSA는 공개 키 암호화를 사용하는 알고리즘의 예입니다.

제한

많은 해커들은 이러한 유형의 암호화를 우회하기 위해 중간자 공격을 공격 형태로 사용합니다. 비대칭 암호화에서는 다른 사람이나 서비스와 데이터를 안전하게 교환하는 데 사용되는 공개 키가 제공됩니다. 그러나 해커는 네트워크 속임수를 사용하여 사용자가 안전한 회선에 있다고 믿게 만드는 동안 사용자와 통신하도록 속입니다.

이러한 유형의 해킹을 더 잘 이해하려면 대화를 가로채려는 의도를 가지고 상호 작용하는 두 당사자인 Sasha와 Natasha와 해커인 Sergei를 생각해 보세요. 먼저 Sasha는 네트워크를 통해 나타샤에게 공개 키를 요청하는 메시지를 보냅니다. Sergei는 이 메시지를 가로채서 그녀와 관련된 공개 키를 획득하고 이를 사용하여 Sasha의 공개 키 대신 자신의 공개 키가 포함된 거짓 메시지를 Natasha에게 암호화하고 보냅니다.

나타샤는 이 메시지가 사샤에게서 온 것이라고 생각하고 이제 세르게이의 공개 키로 메시지를 암호화하여 다시 보냅니다. 이 메시지는 Sergei에 의해 다시 가로채어 해독되고 수정되었으며(원하는 경우) Sasha가 원래 보낸 공개 키를 사용하여 다시 암호화된 후 Sasha에게 다시 전송되었습니다.

따라서 사샤는 이 메시지를 받았을 때 그 메시지가 나타샤로부터 온 것이라고 믿게 되었으며 반칙 행위를 인식하지 못했습니다.

해싱

해싱 기술은 해시 함수라고 알려진 알고리즘을 사용하여 지정된 데이터로부터 해시라고 알려진 특수 문자열을 생성합니다. 이 해시에는 다음과 같은 속성이 있습니다.

  • 동일한 데이터는 항상 동일한 해시를 생성합니다.
  • 해시만으로는 원시 데이터를 생성할 수 없습니다.
  • 동일한 해시를 생성하기 위해 다양한 입력 조합을 시도하는 것은 실용적이지 않습니다.

따라서 해싱과 다른 두 가지 데이터 암호화 형식의 주요 차이점은 데이터가 암호화되면(해시) 원래 형식(해독)으로 다시 검색할 수 없다는 것입니다. 이 사실은 해커가 해시에 손을 대더라도 메시지 내용을 해독할 수 없기 때문에 해시가 그에게 아무 소용이 없음을 보장합니다.

MD5(Message Digest 5)와 SHA(Secure Hashing Algorithm)는 널리 사용되는 두 가지 해싱 알고리즘입니다.

제한

앞서 언급했듯이 특정 해시에서 데이터를 해독하는 것은 거의 불가능합니다. 그러나 이는 강력한 해싱이 구현된 경우에만 해당됩니다. 충분한 리소스와 무차별 대입 공격을 사용하여 해싱 기술을 취약하게 구현하는 경우 끈질긴 해커가 해시와 일치하는 데이터를 찾을 수 있습니다.

암호화 방법의 조합

위에서 논의한 것처럼, 이들 세 가지 암호화 방법 각각에는 몇 가지 단점이 있습니다. 그러나 이러한 방법을 조합하여 사용하면 안전하고 매우 효과적인 암호화 시스템을 구성할 수 있습니다.

대부분의 경우 개인 키와 공개 키 기술을 결합하여 함께 사용합니다. 개인 키 방식을 사용하면 빠른 복호화가 가능하고, 공개 키 방식을 사용하면 비밀 키를 보다 안전하고 편리하게 전송할 수 있습니다. 이러한 방법의 조합을 "디지털 봉투"라고 합니다. 암호화 프로그램 이메일 PGP는 "디지털 봉투" 기술을 기반으로 합니다.

해싱은 비밀번호의 강도를 확인하는 수단으로 사용됩니다. 시스템이 비밀번호 자체 대신 비밀번호 해시를 저장하면 해커가 이 해시를 손에 넣더라도 이를 이해(읽기)할 수 없기 때문에 더 안전할 것입니다. 확인하는 동안 시스템은 수신 비밀번호의 해시를 확인하고 결과가 저장된 비밀번호와 일치하는지 확인합니다. 이렇게 하면 실제 비밀번호는 변경하거나 확인해야 하는 짧은 순간에만 표시되므로 비밀번호가 잘못된 사람의 손에 들어갈 가능성이 크게 줄어듭니다.

해싱은 비밀 키를 사용하여 데이터를 인증하는 데에도 사용됩니다. 해시는 데이터와 이 키를 사용하여 생성됩니다. 따라서 데이터와 해시만 표시되고 키 자체는 전송되지 않습니다. 이렇게 하면 데이터나 해시가 변경되면 쉽게 감지할 수 있습니다.

결론적으로 이러한 기술을 사용하면 데이터를 읽을 수 없는 형식으로 효율적으로 인코딩하여 보안을 유지할 수 있습니다. 대부분의 최신 시스템은 일반적으로 보안을 강화하기 위해 강력한 알고리즘 구현과 함께 이러한 암호화 방법을 조합하여 사용합니다. 보안 외에도 이러한 시스템은 사용자의 신원을 확인하고 수신된 데이터가 변조되지 않도록 하는 등 많은 추가 이점을 제공합니다.

공유하다