이 장에서는 기본적인 코딩 용어와 개념을 소개합니다. 우리의 목표는 우리의 쇼를 널리 알리는 것입니다.
일부 간단한 경우에는 주제에 대한 가능한 가장 큰 일반적인 그림을 제공합니다.
(2) (기본 용어
모든 암호화 시스템의 아이디어는 기밀 정보를 숨기고 무의미하게 만드는 것입니다.
권한이 없는 사람은 이해할 수 없습니다. 두 가지 용도는
그녀는 초 채널을 통과
암호화는 컴퓨터 파일이나 파일에 데이터를 안전하게 저장하는 데 가장 일반적으로 사용됩니다.
암호화한다고 다른 사람이 멈추지 않습니다.
인터넷만큼 안전합니다. 아무튼 정말
그것은 그들이 그것에 접근할 수 있게 하지만 그들이 보는 것을 이해할 수 없도록 합니다.
숨길 정보는 일반적으로 "원시 텍스트"라고 하며,
이를 숨기는 과정을 "암호화"라고 합니다. 원래 암호문은 "암호문" 또는
암호문은 텍스트 정보를 인코딩하기 위한 일련의 규칙이라고 하기 때문에
원래 "암호화 알고리즘". 일반적으로 알고리즘은 키에 의존합니다.
메시지와 함께 소개입니다. 수신자가 메시지를 검색하려면
암호문 과정에는 "복호화 알고리즘"이 있어야 합니다.
적절한 "복호화 키"는 암호문에서 원본 텍스트를 검색합니다.
일반적으로 이러한 "암호화 알고리즘" 중 하나를 구성하는 일련의 규칙이 고려됩니다.
매우 복잡하고 세심한 설계가 필요합니다. 그러나 이 책의 목표의 틀 내에서 가능하다.
독자는 이러한 알고리즘을 데이터를 이미지로 변환하기 위한 "마법의 공식"으로 생각할 수 있습니다.
암호화 키를 사용하여 읽을 수 없습니다.
다음 그림은 "비밀번호 시스템"을 사용하여 메시지를 보호하는 개략도를 제공합니다.
활동:
메시지 알고리즘 메시지
암호화
텍스트 A(알고리즘 참조
코드 추출
암호화 키 $ 복호화 키 $
메시지가 전송되는 동안 가로채는 사람을 "인터셉터"라고 합니다. 이, 사용
다른 저자들은 "도청자", "라이벌", "차가운" 및 "나쁜 사람"과 같은 다른 이름을 지었습니다.
그러나 경우에 따라 상대방이 "좋은 사람"이 될 수 있습니다.
때때로 우리는 나중에 자세히 논의할 것입니다. 상대방이 알면서도
암호 해독 알고리즘의 경우 일반적으로 암호 해독 키를 모릅니다. 희망
이러한 지식 부족은 상대방이 원본 텍스트를 이해하는 데 방해가 됩니다. 암호화는 과학이다
암호화 시스템의 설계 및 "암호문 분석"은
그 동안 적절한 키를 모른 채 원문에 대한 정보가 도출됩니다. 에 관해서는
암호화는 암호화 및 암호문 분석을 포함하는 일반적인 용어입니다.
요 ~
암호문 분석이 유일한 방법이 아닐 수도 있음을 아는 것이 중요합니다.
상대방은 원문을 볼 수 있습니다.
예를 들어 누군가가 장치에 암호화된 데이터를 저장합니다.
이 사람은 잠금 해제 키를 검색할 방법이 필요합니다
노트북; 선험적
저장된 정보의 암호화된 읽기. 여기에 붙여넣기 위해 종이에 이 키를 쓰는 것이 포함되는 경우
노트북 덮개에는 컴퓨터를 훔치는 사람이
아르 자형. 이 예는 간단한 예입니다
암호문 분석을 위한 키 없음
보호하기 위해 우수한 암호화 알고리즘을 사용하는 것 이상임을 보여줍니다.
비밀을 지켜야 한다
디코더 키. 대칭 시스템의 경우 기밀성이 요구됩니다.
또한 비대칭 시스템의 경우 이 키에 대한 지식이 올바르지 않습니다.
상대방에게 실질적인 이익이 됩니다. 사실, 이 키는 선언될 수 있으며 일반적으로
그렇게 될 것입니다. 따라서 발신자와 수신자는 암호문을 교환할 필요가 없습니다.
그들 사이의 비밀. 사실, 한 사람이 다른 사람을 신뢰할 필요가 없을 수도 있습니다.
앞 단락의 진술은 간단하고 직관적으로 보이지만 결과는
그 결과는 광범위합니다. 위의 그림은 발신자와 수신자가
일치하는 키 쌍입니다. 사실, 그들이 이것을 하는 것이 어려울 수 있습니다.
질환. 예를 들어, 코딩 시스템이 대칭인 경우 다음이 필요할 수 있습니다.
비밀 메시지를 교환하기 전에 비밀 키의 값을 할당하십시오. 문제를 과소평가해서는 안 됩니다.
이러한 키에 대한 적절한 보호를 제공하십시오. 실제로 키 관리 문제는 주로
일반 - 생성, 배포, 저장, 수정 및 파괴를 포함하여 가장 어려운 부분
안전한 시스템을 확보하십시오. 일반적으로 주요 관리 문제와 관련된 문제는 다릅니다.
코딩 시스템은 대칭과 비대칭이 다릅니다. 우리가 보았듯이 코딩 시스템이
대칭적으로 기밀성을 유지하면서 키를 배포하는 기능이 필요할 수 있습니다.
가치 마하. 비대칭 코딩 시스템의 경우 이 문제는 다음과 같이 해결할 수 있습니다.
비밀로 유지할 필요가 없는 암호화 키만 배포하십시오. 그러나 문제가 있습니다
다른 하나는 각 참여자의 암호화 키가 확인되었는지 확인하는 것이며, 그 사람을 안다는 보장은 없습니다.
복호화 키의 사용자 값은 해당 복호화 키의 "소유자"의 ID로 선언됩니다.
대칭 코딩 시스템과 비대칭 코딩 시스템의 차이점을 소개할 때 다음과 같이 가정했습니다.
알고리즘의 상대를 알 수 있습니다. 물론 이것이 항상 사실인 것은 아닙니다. 그리고
코딩 시스템의 설계자는 인터셉터가
가능한 한 많은 일반 지능과 지적 잠재력. 저기
암호화에서 잘 알려진 원칙은 모든 암호화 시스템의 보안이 보존에 의존해서는 안 된다는 것입니다.
암호화 알고리즘의 기밀성, 이는 시스템의 무결성을 보존에 따라 상응하게 만듭니다.
비밀 복호화 키만.
암호화 연구의 목표 중 하나는 암호화를 설계하거나 ...
암호화 시스템의 구현은 시스템이 구현하기에 충분히 안전한지 평가합니다.
구현. 암호화 시스템의 보안을 평가하기 위해 다음 세 가지 가정을 합니다.
"최악의 경우"가 있습니다.
최악의 경우 1: 암호문 분석을 수행하는 당사자는 알고 있습니다.
완벽한 코딩 시스템.
최악의 경우 2: 암호문 분석을 수행하는 당사자는 동일한 금액을 얻습니다.
이 기사보다 큽니다.
최악의 경우 3: 암호문을 파싱하는 당사자가 암호문을 알고 있음
지정된 양의 암호문의 원본에 해당합니다.
이러한 상황에서 "위대한"과 "운명"이라는 단어의 의미를 파악하려고 노력해야 합니다.
실제 지정"은 고려되는 코딩 시스템에 따라 다릅니다.
최악의 경우 1은 우리가 의존해서는 안 된다고 믿는 것을 의미합니다.
암호화 시스템의 세부 정보를 기밀로 유지하십시오. 그러나 이것이 우리가 코딩 시스템을 허용한다는 것을 의미하지는 않습니다.
모두를위한. 물론 상대방의 임무는 모르면 더 힘들겠지만
현재 사용되는 암호화 시스템은 어느 정도 숨길 수 있습니다. 예를 들어,
최신 전자 시스템의 경우 암호화 알고리즘을 장치 자체에 숨길 수 있습니다.
마이크로 전자 부품을 사용하여 전체 알고리즘을 숨길 수 있습니다.
내부에 작은 "칩"이 있습니다. 알고리즘을 얻으려면 상대방이 "개방"해야합니다.
슬라이드 중 하나인 이것은 섬세하고 잠재적으로 시간이 많이 소요되는 프로세스이지만
실행될 수도 있었고 상대방이 능력과 인내심이 부족하다고 가정할 수 없습니다.
이것을 할 수 있어야 합니다. 마찬가지로 포함된 알고리즘의 모든 부분을 숨길 수 있습니다.
잘 작성된 프로그램을 통해 기계의 프로그램으로. 다시 강조하자면
인내심과 기술이 있는 한 이를 공개할 수 있으며 특정 알고리즘을 사용할 수도 있습니다.
경우에 따라 상대방에게 제공됩니다. 모든 코딩 시스템 제조업체 또는 디자이너의 관점에서,
많이 삭제
최악의 경우 1은 기본 가설입니다.
모든 암호화 시스템의 기밀성을 유지하는 것은 궁극적인 책임입니다.
최악의 조건 2는 합리적인 가정입니다. 불가능한 경우
가로채는 과정에서 암호화 시스템을 사용할 필요가 없습니다. 다만, 이의가 있을 수 있는 경우에는 계속 당사자가 진행시기를 결정할 수 없는 것으로 가정합니다.
가장 안전한 선택은 가능성을 가정하는 것입니다
명시적으로 반대; 그 다음부터
모든 글자를 가로챕니다.
최악의 경우 3도 현실적인 가정입니다. 상대방이 할 수 있는
메시지 전송을 추적하고 진행하여 이러한 정보를 얻을 수 있는 능력
똑똑한 추측. 반대로 상대방도 원문을 선택할 수 있습니다.
비밀번호를 알고 있습니다. 이것의 역사적 "고전적인" 예 중 하나는 다음과 같습니다.
제2차 세계 대전 중, 라이트 부표는
원본 텍스트 메시지에서 독일어 단어 Leuchttonne의 발생은 인코딩됩니다.
Enigma 암호 사용(B Johnson의 The Secret War 참조
영국 방송 공사 발행).
원본과 텍스트의 존재를 이용하는 이의신청 절차를 이의신청 절차라고 합니다.
Maaroufni 암호 "알려진 소스 텍스트를 가로채는 과정". 상대방이 텍스트를 선택한 경우
원래는 폭발 부표의 예처럼
특정 상황에서 값싼 저수준 보안의 필요성을 인식합니다.
. 대부분의 비군사 응용 프로그램의 경우 암호화 시스템에서 보안을 제공합니다.
일반 비용에 관한 장은 상업적인 관점에서 정당화되어야 합니다. 또한
그러나 보안 보호 도구를 추가하면 비용이 많이 들 수 있습니다.
코딩 시스템의 전반적인 성능 효율성을 줄입니다. 여기에서 자연스럽게 유지해야 할
보안 상황은 최소입니다. 일반적인 방법은 보안 수준을 설정하는 것입니다.
정보를 보호하는 데 필요한 시간을 예상합니다. 우리가 그것을 부르면
시스템에서 요구하는 "커버리지 시간"을 입력한 다음 제공해야 하는 보안 수준을 대략적으로 나타냅니다.
코딩 시스템에서. 예를 들어, 전술 네트워크에 적절한 암호화 시스템을 사용하는 것을 고려하십시오.
당분간 그것을 통해 전달되는 정보를 덮는 시간은 훨씬 "약한" 몇 분을 초과하지 않습니다.
.전략적 시스템이 요구하는 암호화 시스템의 관점에서 볼 때 정보 커버리지 시간은
정부 기밀 및 의료 기록과 같은 계약.
복호화 알고리즘이 비밀이 아니라고 가정할 때 직관적인 방법은 단 하나
가로채는 데 사용됩니다. 적어도 이론상으로는 상대방이 시도할 수 있습니다.
그들은 가능한 모든 해독 키를 추측하고 올바른 키를 식별하기를 "희망"합니다. 부르다
이 가로채기 프로세스는 "글로벌 키 검색", 즉 "차단 프로세스"입니다.
과도한 힘. 물론 그런 차단만이 성공할 수 있다
인터셉터에 올바른 키를 식별할 수 있는 방법이 있거나 실제로
더 일반적입니다. 상대방이 잘못된 키를 제거할 수 있는 경우입니다. 존재하다
예를 들어 알려진 원문에 대해 이의를 제기하는 절차가 있는 경우
해당하는 올바른 소스 텍스트를 생성하지 않는 모든 암호 해독 키
그 뜻이 아냐
전체, 오른쪽 키. 하지만 우리가 서로를 고려할 때 알 수 있듯이
라미네이트 텍스트용
저항
적절한 양의 일반 텍스트 및 코딩된 텍스트 쌍이 없는 경우 간단한 예
대조적으로 디코더 키는 잘못된 선택이 많이 있을 수 있습니다.
이것은 사용 가능한 전체 암호문에 대한 정답을 제공합니다. 만약 언어가
서신이 딱딱한 언어 구조를 특징으로 하는 경우 통계적 방법을 사용할 수 있습니다.
특정 주요 언어를 제외합니다.
이제 우리는 평가를 위한 몇 가지 기본 기준을 명확히 하기 시작할 수 있는 단계에 도달했습니다.
특정 애플리케이션에 대한 특정 코딩 체계의 적합성. 시스템 사용자는 다음과 같이 시간을 처리하기로 결정합니다.
(2) (카이사르의 검
카이사르 대왕이 저서 "갈리아 전쟁"에서 언급한 "카이사르의 칼날"은 최초의
비밀번호 사용의 예. 이 코드에 따르면 A부터 W까지의 문자가 인코딩됩니다.
알파벳 순서로 세 번째 문자를 사용하여 각각을 나타냅니다. 대표되는 동안
문자 X, Y, Z는 각각 문자 A, B, C입니다. 카이사르를 사용하면서도
"Shift 작업"은 세 글자로 구성되며 유사한 코드를 사용할 수 있습니다.
1에서 25 사이의 숫자를 사용하십시오. 실제로 코딩 시스템에서 오프셋을 볼 수 있습니다.
Caesar 암호를 예로 들어 보겠습니다.
우리는 다시 그림을 사용하여 카이사르 코드 중 하나를 보여줍니다.
하나의 중앙을 중심으로 두 개의 에피소드를 표시합니다. 바깥쪽 원에 여유 공간이 있습니다.
돌아서 다. 바깥쪽 고리의 문자 A로 시작하여 안쪽 고리의 문자 A를 둘러싸면,
오프셋이 2이면 C에서 A가 되는 식입니다. 거기, 그럼,
제로 오프셋을 포함한 26개의 조정 위치(물론 오프셋과 동일)
26입니다. (변위 이동 횟수는 암호화 키와 복호화 키에 의해 결정됩니다.
카이사르의 검.
시프트 수가 합의되면 Caesar 암호로 인코딩이 구현됩니다.
원문의 각 글자를 이너링으로 취급하여
그리고 그림과 같이 앞의 글자로 바꾸세요. 디코딩 과정에서,
우리는 반대 과정을 수행합니다. 따라서 그림에 따르면 단문 메시지의 암호문은
3개의 동작을 상쇄할 때 원본 DOG는 GRJ에 있고 CAT는 원본 텍스트입니다.
FDW 암호문은 동일합니다. 독자가 코드 시스템을 더 잘 이해할 수 있도록
Caesar, 확인하려면 네 가지 진술이 필요합니다. 오프셋 이동 횟수가 7인 경우 암호문은 다음과 같습니다.
VERY는 CLYF에 해당하지만 SUN으로 밝혀졌습니다.
짹짹.
17 무브먼트, 즉 코딩된 텍스트에 해당하는 텍스트
Caesar 암호의 경우 암호 키와 디코더 키는 동일합니다.
변위 이동 횟수와 관련하여 인코딩 및 디코딩 규칙이 다릅니다. 그러나 우리는 할 수 있습니다
두 가지 기본이 일치하도록 문법을 약간 변경하지만 암호화 및 디코딩 키는 다릅니다.
비밀번호. 예를 들어, 변위 0 또는 26에서 이것을 보았고 이 경우 동일한 효과를 얻을 수 있습니다.
0에서 25 사이의 이동 횟수의 변위는 이동 횟수의 코드입니다.
변위는 디코더가 새로운 변위를 얻는 이동 수와 동일합니다.
26에서 원래 변위 수를 뺍니다. 예를 들어-.
8개의 모션 오프셋으로 인코딩하는 것은 8개의 모션 오프셋으로 디코딩하는 것과 동일합니다.
인코더 및 디코더
한 세대
18 = 8−26 ِّ. 이를 통해 두 작업에서 동일한 규칙을 사용할 수 있습니다.
18개 동작에 대해 변위 복호화를 수행함으로써 변위 복호화는 8개 동작에 해당한다.
앞에서 복잡한 키에 대한 포괄적인 검색에 대해 언급했습니다.
26자만 사용하는 Caesars 암호 시스템은 이러한 유형의 공격에 취약합니다. 이 목표를 달성하는 방법에 대한 예를 제공하기 전에 시민을 언급해야 합니다.
시스템의 또 다른 약점: 키 쌍을 알면 키를 식별할 수 있습니다.
매우 적은 양
. 원본 텍스트와 해당 암호문의 문자, 즉
정.