자신만의 코드를 만드는 방법. 비밀 코드 또는 암호를 만드는 방법

anai iptography land sai ikihauwai를 지불하기 위해 불평하십시오! 수업 시간에 친구에게 메모를 작성하거나 재미를 위해 암호학(코드 및 암호 과학)을 이해하려고 할 때 이 기사는 몇 가지 기본 원칙을 배우고 개인 메시지를 인코딩하는 자신만의 방법을 만드는 데 도움이 될 수 있습니다. 어디서부터 시작해야 하는지 알아보려면 아래 1단계를 읽어보세요!


어떤 사람들은 같은 개념을 언급하기 위해 "코드"와 "암호"라는 단어를 사용하지만 이 문제를 진지하게 연구하는 사람들은 이 두 가지가 완전히 다른 개념이라는 것을 압니다. 비밀 코드는 메시지의 각 단어나 구를 다른 단어, 구 또는 일련의 문자로 바꾸는 시스템입니다. 암호는 메시지의 각 문자를 다른 문자나 기호로 대체하는 시스템입니다.

단계

코드

표준 코드

    메시지를 작성하십시오.코드북을 사용하여 신중하고 신중하게 메시지를 작성하십시오. 코드를 암호와 페어링하면 메시지가 훨씬 더 안전해집니다!

    메시지를 번역하세요.친구가 메시지를 받으면 코드북 사본을 사용하여 메시지를 번역해야 합니다. 이중 보호 방법을 사용하고 있음을 확인하십시오.

    코드 북

    경찰 코딩

    암호

    날짜 기반 암호화

    1. 날짜를 선택하세요.예를 들어 1946년 12월 16일은 스티븐 스필버그의 생일입니다. 숫자와 슬래시(12/18/46)를 사용하여 이 날짜를 작성한 다음 대시를 제거하여 6자리 숫자 121846을 얻으면 암호화된 메시지를 보내는 데 사용할 수 있습니다.

      각 문자에 숫자를 할당합니다."나는 스티븐 스필버그의 영화를 좋아합니다"라는 메시지를 상상해보십시오. 메시지 아래에 문장이 끝날 때까지 6자리 숫자를 계속해서 씁니다: 121 84612184 612184 6121846 121846121.

      메시지를 암호화합니다.왼쪽에서 오른쪽으로 글자를 쓰세요. 각 일반 텍스트 문자를 아래에 나열된 단위 수만큼 이동합니다. 문자 "M"은 한 단위 이동하여 "H"가 되고 문자 "H"는 두 단위 이동되어 "P"가 됩니다. 문자 "I"는 2 단위 이동하므로 알파벳의 시작 부분으로 이동해야 하며 "B"가 됩니다. 최종 메시지는 "Npyo hfögbuschg ynyfya chukgmse tsyuekseb"입니다.

      메시지를 번역하세요.누군가가 당신의 메시지를 읽고 싶어할 때 그들이 알아야 할 것은 당신이 인코딩에 사용한 날짜뿐입니다. 다시 코딩하려면 역 프로세스를 사용합니다. 숫자 코드를 작성한 다음 반대 순서로 문자를 반환합니다.

      • 날짜로 인코딩하면 날짜가 절대적으로 무엇이든 될 수 있다는 추가적인 이점이 있습니다. 또한 언제든지 날짜를 변경할 수 있습니다. 이렇게 하면 다른 방법보다 훨씬 쉽게 암호 시스템을 업데이트할 수 있습니다. 그러나 1945년 5월 9일과 같이 알려진 날짜는 피하는 것이 좋습니다.

    숫자로 암호화

    1. 친구와 비밀 번호를 선택하십시오.예를 들어 숫자 5.

      각 줄에 이 문자 수를 사용하여 메시지(공백 없음)를 작성합니다(마지막 줄이 더 짧더라도 걱정하지 마십시오). 예를 들어 "My cover is blown" 메시지는 다음과 같습니다.

      • 뫼프르
      • 캐비아
      • 에라스
      • 덮인
    2. 암호를 만들려면 글자를 위에서 아래로 가져 와서 적어 둡니다.메시지는 "Myikokererrypyatrtao"입니다.

      메시지를 해독하려면 친구가 총 글자 수를 세고 5로 나눈 다음 불완전한 줄이 있는지 확인해야 합니다. 그 후, 그는 각 행에 5개의 글자와 하나의 불완전한 행(있는 경우)이 있도록 이러한 글자를 열에 쓰고 메시지를 읽습니다.

    그래픽 암호

    카이사르의 재배열

    비밀 언어

    혼란스러운 언어

    사운드 코드

    헛소리

    • 보낸 사람과 받는 사람만 아는 곳에 코드를 숨깁니다. 예를 들어, 펜의 나사를 풀고 그 안에 코드를 넣고 펜을 다시 조립하고 (연필 홀더와 같은) 장소를 찾은 다음 받는 사람에게 펜의 위치와 유형을 알려줍니다.
    • 공백도 암호화하여 코드를 더욱 혼란스럽게 합니다. 예를 들어 공백 대신 문자(E, T, A, O 및 H가 가장 적합함)를 사용할 수 있습니다. 그들은 공백이라고합니다. s, b, b 및 z는 숙련된 코드 브레이커에게는 너무 명확해 보일 수 있으므로 이러한 문자나 눈에 띄는 다른 문자를 사용하지 마십시오.
    • 단어의 글자를 무작위로 재배열하여 나만의 코드를 만들 수 있습니다. "Dij yaemn in the park" - "공원에서 나를 기다려."
    • 항상 옆에 있는 상담원에게 코드를 보내십시오.
    • 터키어 아일랜드어를 사용할 때 자음 앞에 "eb"를 특별히 사용할 필요는 없습니다. "ie", "br", "of" 또는 기타 눈에 띄지 않는 문자 조합을 사용할 수 있습니다.
    • 위치 인코딩을 사용할 때 한 위치에서 다른 위치로 문자를 자유롭게 추가, 제거 및 재배열하여 해독을 훨씬 더 어렵게 만듭니다. 당신의 파트너가 당신이 하는 일을 이해하고 있는지 확인하십시오. 텍스트를 부분으로 분할하여 각각 3개, 4개 또는 5개의 문자가 있도록 한 다음 교체할 수 있습니다.
    • Caesar를 재배열하기 위해 문자를 앞으로 또는 뒤로 원하는 만큼 재배열할 수 있습니다. 순열 규칙이 각 문자에 대해 동일한지 확인하십시오.
    • 항상 해독된 메시지를 파괴합니다.
    • 자신의 코드를 사용하는 경우 다른 사람이 알아낼 수 있도록 너무 복잡하게 만들지 마십시오. 당신도 해독하기가 너무 어려울 수 있습니다!
    • 모스 부호를 사용하십시오. 이것은 가장 유명한 코드 중 하나이므로 대화 상대는 그것이 무엇인지 빠르게 이해할 것입니다.

    경고

    • 코드를 부정확하게 작성하면 암호 해독기를 혼동하도록 특별히 설계된 코드 또는 암호의 변형을 사용하지 않는 한 파트너의 디코딩 프로세스가 더 어려워집니다(물론 파트너 제외).
    • 혼란스러운 언어는 짧은 단어에 가장 잘 사용됩니다. 여분의 글자가 훨씬 더 눈에 띄기 때문에 긴 단어에는 효과적이지 않습니다. 연설에서 사용할 때도 마찬가지입니다.

행동 양식:설명적이고 예시적이며 부분적으로 탐색적입니다.

  • 주제에 대한 인지적 관심을 높일 수 있는 조건을 만드십시오.
  • 분석적 종합적 사고의 발전에 기여합니다.
  • 일반적인 과학 및 일반적인 지적 성격의 기술과 능력 형성에 기여합니다.

작업:

교육적인:

  • 코드, 코딩, 암호화와 같은 기본 개념에 대한 지식을 일반화하고 체계화합니다.
  • 가장 간단한 암호화 방법과 그 작성자에 대해 알아보십시오.
  • 암호화를 읽고 정보를 암호화하는 능력을 개발합니다.

개발 중:

  • 학생들의 인지 활동과 창의적 능력을 개발합니다.
  • 논리적이고 추상적 인 사고를 형성하십시오.
  • 비표준 상황에서 습득한 지식을 적용하는 능력을 개발합니다.
  • 상상력과 마음챙김을 개발하십시오.

교육적인:

  • 의사 소통 문화를 육성합니다.
  • 호기심을 키웁니다.

제안된 개발은 7-9학년 학생들에게 사용될 수 있습니다. 프레젠테이션은 자료를 시각적이고 접근 가능하게 만드는 데 도움이 됩니다.

사람이 살고 있는 사회는 정보의 발달 과정에서 정보를 다룹니다. 축적, 처리, 저장, 전송됩니다. (슬라이드 2. 프레젠테이션)

그리고 모든 사람이 항상 모든 것을 알아야 합니까?

당연히 아니지.

사람들은 항상 자신의 비밀을 숨기려 했습니다. 오늘 당신은 암호화 개발의 역사에 대해 알게되고 가장 간단한 암호화 방법을 배우게 될 것입니다. 메시지를 해독할 수 있습니다.

간단한 암호화 기술이 사용되었고 고대 왕국 시대와 고대에 이미 어느 정도 보급되었습니다.

암호 - 암호 - 쓰기와 같은 시대입니다. 암호화의 역사는 천년이 넘습니다. 숨겨진 의미와 암호화된 메시지가 있는 텍스트를 만드는 아이디어는 글쓰기 자체의 기술만큼이나 오래되었습니다. 이에 대한 많은 증거가 있습니다. Ugarit(시리아)의 점토판 - 해독 기술을 가르치는 연습(기원전 1200년). 이라크의 “바빌로니아 신정론”은 아크로스틱(기원전 2000년 중반)의 한 예입니다.

최초의 체계적인 암호 중 하나는 고대 유대인에 의해 개발되었습니다. 이 방법을 temura - "교환"이라고합니다.

그 중 가장 단순한 것이 "Atbash"인데, 알파벳이 중간에 나누어져 처음 두 글자 A와 B가 마지막 두 글자인 T와 Sh와 일치하도록 했습니다. Temur 암호의 사용은 성경에서 찾아볼 수 있습니다. 기원전 6세기 초에 만들어진 예레미야의 이 예언은 세상의 모든 통치자들에 대한 저주를 담고 있으며, "세작의 왕"으로 끝나는 "앗바쉬" 암호로 해독했을 때 바빌론의 왕.

(슬라이드 3) 고대 스파르타에서는 리쿠르고스 시대(기원전 5세기)에 보다 독창적인 암호화 방법이 발명되었습니다.텍스트를 암호화하기 위해 시탈라(Scitalla)가 사용되었습니다. 텍스트는 실린더의 축을 따라 한 줄씩 쓰여졌고, 테이프는 지팡이에서 풀리고 동일한 지름의 Scytall을 가진 수취인에게 전달되었습니다. 이 방법은 메시지의 문자를 교체했습니다. 암호 키는 Scitalla의 지름이었습니다. ARISTOTLE은 그러한 암호를 해독하는 방법을 생각해 냈습니다. 그는 Antiscital 암호 해독 장치를 발명했습니다.

(슬라이드 4) 작업 "자신을 확인하십시오"

(슬라이드 5) 그리스 작가 POLYBIUS는 암호화 방법으로 사용되는 신호 시스템을 사용했습니다. 그것의 도움으로 절대적으로 모든 정보를 전송할 수있었습니다. 그는 네모난 탁자에 알파벳 글자를 적고 좌표로 대치했다. 이 암호의 안정성은 훌륭했습니다. 그 주된 이유는 정사각형의 문자 순서를 지속적으로 변경할 수 있는 기능이었습니다.

(슬라이드 6) 작업 "자신을 확인하십시오"

(슬라이드 7) JULIUS CAESAR가 제안한 암호화 방법은 비밀을 보존하는 특별한 역할을 했으며 그가 "갈리아 전쟁에 관한 메모"에서 설명했습니다.

(슬라이드 8) 작업 "자신을 확인하십시오"

(슬라이드 9) Caesar 암호에는 몇 가지 수정 사항이 있습니다. 그 중 하나는 Gronsfeld 암호 알고리즘(1734년 벨기에의 José de Bronkhor, Comte de Gronsfeld, 군인이자 외교관에 의해 만들어짐)입니다. 암호화는 시프트 값이 일정하지 않고 키(감마)에 의해 설정된다는 사실에 있습니다.

(슬라이드 10) 암호화를 전송하는 사람에게는 암호 해독에 대한 저항이 중요합니다. 암호의 이러한 특성을 암호 강도라고 합니다. 암호화 강도를 높이려면 많은 알파벳 또는 다중 값 대체가 있는 암호를 허용합니다. 이러한 암호에서 열린 알파벳의 각 문자에는 하나가 아닌 여러 암호 문자가 할당됩니다.

(슬라이드 11) 암호화의 과학적 방법은 아랍 국가에서 처음 등장했습니다. 아랍어 기원 및 단어 암호 자체(아랍어 "숫자"에서). 아랍인들은 원본 텍스트를 보호하기 위해 처음으로 문자를 숫자로 대체했습니다. 그 비밀글과 그 의미는 천일야화 동화에도 언급되어 있습니다. 일부 암호에 대한 설명에 특별히 전념한 첫 번째 책은 855년에 나타났습니다. 이 책은 "고대 문자의 신비를 풀고자 하는 사람의 열망에 대한 책"이라고 불렸습니다.

(슬라이드 12) 이탈리아의 수학자이자 철학자인 GEROLAMO CARDANO는 "On Subtleties"라는 책을 썼습니다.

암호학에 대한 그의 공헌에는 두 문장이 포함되어 있습니다.

첫 번째는 일반 텍스트를 키로 사용하는 것입니다.

둘째, 그는 현재 Cardano Grid라고 불리는 암호를 제안했습니다.

이러한 제안 외에도 Cardano는 키 수를 계산하여 암호의 강도에 대한 "증명"을 제공합니다.

Cardano 그릴은 불규칙한 간격으로 한 줄의 높이와 다양한 길이의 직사각형 절단이 만들어진 단단한 재료 시트입니다. 이 격자를 필기용지에 겹쳐서 잘라낸 부분에 비밀 메시지를 쓸 수 있었습니다. 나머지 공간은 비밀 메시지를 마스킹하는 임의의 텍스트로 채워졌습니다. 이 위장 방법은 프랑스의 리슐리외 추기경과 러시아 외교관 A. 그리보예도프와 같은 많은 유명한 역사적 인물에 의해 사용되었습니다. 이러한 격자를 기반으로 Cardano는 순열 암호를 구성했습니다.

(슬라이드 13) 작업 "자신을 확인하십시오"

(슬라이드 14) 그들은 또한 러시아에서 암호화를 좋아했습니다. 사용되는 암호는 아이콘, 대체, 순열 등 서구 국가와 동일합니다.

러시아에서 암호화 서비스가 등장한 날짜는 "디지털 부서"가 있던 "대사 명령"이 형성된 순간부터 1549년(Ivan IV 통치)으로 간주되어야 합니다.

Peter I는 암호화 서비스를 완전히 재구성하여 "대사 사무실"을 만들었습니다. 이때 코드는 "디지털 알파벳"에 대한 응용 프로그램으로 암호화에 사용됩니다. 유명한 "Tsarevich Alexei의 경우"에서 "디지털 알파벳"도 고소 자료에 나타났습니다.

(슬라이드 15) 작업 "자신을 확인하십시오"

(슬라이드 16) 19세기는 암호학에서 많은 새로운 아이디어를 가져왔습니다. THOMAS JEFFERSON은 암호화 역사에서 "디스크 암호"라는 특별한 위치를 차지하는 암호화 시스템을 만들었습니다. 이 암호는 나중에 Jefferson 암호라고 하는 특수 장치를 사용하여 구현되었습니다.

1817년 DESIUS WADSWORTH는 암호화에 새로운 원리를 도입한 암호화 장치를 설계했습니다. 혁신은 그가 다양한 길이의 평문과 암호문 알파벳을 만들었다는 것입니다. 그가 이것을 한 장치는 알파벳이 있는 두 개의 움직일 수 있는 고리가 있는 디스크였습니다. 외부 링의 문자와 숫자는 제거가 가능하며 어떤 순서로든 조립할 수 있습니다. 이 암호 시스템은 주기적인 폴리알파벳 치환을 구현합니다.

(슬라이드 17) 정보를 인코딩하는 방법에는 여러 가지가 있습니다.

1819년 프랑스 육군 대위인 CHARLES BARBIER는 코딩 시스템 ecriture noctrume - 야간 쓰기를 개발했습니다. 볼록한 점과 대시가 시스템에 사용되었습니다. 시스템의 단점은 인코딩된 문자가 아니라 소리이기 때문에 시스템이 복잡하다는 것입니다.

LOUIS BRAILE은 시스템을 개선하고 자신의 암호를 개발했습니다. 이 시스템의 기초는 오늘날에도 여전히 사용되고 있습니다.

(슬라이드 18) SAMUEL MORSE는 1838년에 점과 대시를 사용하여 문자를 인코딩하는 시스템을 개발했습니다. 그는 또한 전신(1837)의 발명가이기도 합니다 - 이 시스템을 사용한 장치. 본 발명에서 가장 중요한 것은 바이너리 코드, 즉 2개의 문자만으로 문자를 인코딩한다는 점이다.

(슬라이드 19) 작업 "자신을 확인하십시오"

(슬라이드 20) 19세기 말, 암호학은 단순한 예술이 아닌 정밀과학의 특징을 갖추기 시작했고, 사관학교에서도 연구되기 시작했다. 그들 중 하나는 Saint-Cyr Line이라고 하는 자체 군사 필드 암호를 개발했습니다. Vigenère 암호 구현을 위한 알고리즘을 용이하게 하기 위해 암호 작성자의 작업 효율성을 크게 높일 수 있었습니다. 실제 암호화에 대한 라인 작성자의 기여는 암호화 해독 프로세스의 이러한 기계화에 있습니다.

XIX 세기의 암호화 역사에서. AUGUST KIRKHOFFES의 이름이 생생하게 각인되었습니다. XIX 세기의 80 년대에 그는 64 페이지에 불과한 책 "Military Cryptography"를 출판했지만 암호 역사에서 그의 이름은 불후의 명성을 얻었습니다. 암호에 대한 6가지 특정 요구 사항을 공식화하며 그 중 2개는 암호화의 강도와 관련되고 나머지는 작동 품질과 관련됩니다. 그 중 하나(“시스템을 손상시키는 것은 특파원에게 불편을 초래해서는 안 됩니다”)는 “Kerckhoffs 규칙”으로 알려졌습니다. 이러한 모든 요구 사항은 오늘날 관련이 있습니다.

20세기에 암호화는 전자 기계가 된 다음 전자가 되었습니다. 이것은 전기 기계 및 전자 장치가 정보를 전송하는 주요 수단이되었음을 의미합니다.

(슬라이드 21) 20세기 후반, 컴퓨터 기술의 요소 기반이 발달하면서 전자 인코더가 등장했습니다. 오늘날 대부분의 암호화 도구를 구성하는 것은 전자 인코더입니다. 그들은 안정성과 암호화 속도에 대한 계속 증가하는 요구 사항을 충족합니다.

70년대에 암호화의 발전에 심각한 영향을 미친 두 가지 사건이 발생했습니다. 첫째, 암호화에서 Kerckhoffs 원칙을 "합법화"한 최초의 데이터 암호화 표준(DES)이 채택(공개!)되었습니다. 둘째, 미국 수학자 W. DIFFI와 M. HELLMAN의 작업 후에 공개 키가 있는 암호화인 "새로운 암호화"가 탄생했습니다.

(슬라이드 22) 작업 "자신을 확인하십시오"

(슬라이드 23) 적용 영역의 확장으로 인해 암호화의 역할이 증가할 것입니다.

  • 전자 서명,
  • 전자 문서의 진위 및 무결성에 대한 인증 및 확인,
  • 전자상거래 보안,
  • 인터넷 등을 통해 전송되는 정보의 보호

정보 교환의 전자 수단을 사용하는 각 사용자에게는 암호화에 대한 친숙함이 필요하므로 미래의 암호화는 컴퓨터 및 정보 기술 기술인 "제2의 문맹 퇴치"와 함께 "제3의 문맹 퇴치"가 될 것입니다.

가능한 모든 옵션을 단순히 열거하여 키를 결정하는 문제를 해결하는 것은 매우 짧은 키를 사용하는 것을 제외하고는 일반적으로 비실용적입니다. 따라서 암호 해독가가 암호를 해독할 실제 기회를 갖고 싶다면 "무차별 대입" 열거 방법을 포기하고 다른 전략을 적용해야 합니다. 많은 암호화 기법의 공개에서 개별 문자 또는 그 조합의 발생 빈도를 사용하여 통계 분석을 적용할 수 있습니다. 통계 분석을 사용하여 암호를 해독하는 문제의 솔루션을 복잡하게 만들기 위해 K. Shannon은 다음과 같은 두 가지 암호화 개념을 제안했습니다. 착란 (착란) 그리고 확산 (확산). 혼란은 키와 암호문의 관계가 가능한 한 복잡해지도록 대체를 적용하는 것입니다. 이 개념의 적용은 키 검색 영역을 좁히는 통계 분석의 사용을 복잡하게 하고 매우 짧은 암호 시퀀스의 암호 해독에도 많은 수의 키 검색이 필요합니다. 차례로, 확산은 기호와 기호 조합 간의 통계적 차이를 매끄럽게 하는 변환의 적용입니다. 결과적으로 암호 분석가가 통계 분석을 사용하면 충분히 큰 암호문을 가로채는 경우에만 긍정적인 결과를 얻을 수 있습니다.

이러한 개념에 의해 선언된 목표의 구현은 대체, 순열 및 스크램블링과 같은 기본 암호화 방법의 반복 사용을 통해 달성됩니다.

10.4.1. 대체 방법.

가장 간단하고 가장 긴 역사를 가진 것은 대체 방법이며, 그 본질은 원본 텍스트의 문자가 암호화 키로 지정된 규칙에 따라 이 또는 다른 알파벳에서 선택된 다른 문자로 대체된다는 것입니다. 텍스트에서 문자의 위치는 변경되지 않습니다. 스테이징 방법을 사용한 초기 사례 중 하나는 다음과 같습니다. 시저 암호, 가이우스 율리우스 카이사르가 갈리아 전역에서 사용했습니다. 그것에서 평문의 각 문자는 동일한 알파벳에서 가져온 다른 문자로 대체되었지만 특정 문자 수만큼 주기적으로 이동했습니다. 이 암호화 방법의 적용은 그림 10.3에 표시된 예에 설명되어 있습니다. 여기에서 암호화 변환은 5개 위치의 순환 이동이 있는 알파벳 사용을 기반으로 합니다.

쌀. 10.3, )

원본 텍스트

암호문

쌀. 10.3, )

분명히, 암호 키는 순환 시프트의 값입니다. 예에 지정된 것과 다른 키를 선택하면 암호가 변경됩니다.

대체 방법에 기반한 고전적 체계의 또 다른 예는 다음과 같은 암호화 시스템입니다. 폴리비우스 광장. 러시아어 알파벳과 관련하여이 체계는 다음과 같이 설명 할 수 있습니다. 처음에는 하나의 문자 E, Yo로 결합되었습니다. I, Y 및 b, b, 해독된 텍스트의 진정한 의미는 컨텍스트에서 쉽게 복원됩니다. 그런 다음 30개의 알파벳 기호를 65 크기의 테이블에 배치합니다. 10.4.

쌀. 10.4.

모든 일반 텍스트 문자의 암호화는 주어진 테이블에서 주소(즉, 행 및 열 번호 또는 그 반대)를 지정하여 수행됩니다. 따라서 예를 들어 CAESAR라는 단어는 52 21 23 11 41 61과 같은 폴리비우스 제곱을 사용하여 암호화됩니다. 테이블에 있는 문자의 순열 결과로 코드가 변경될 수 있다는 것은 분명합니다. Peter and Paul Fortress의 케이스메이트 투어에 참석한 사람들은 죄수들이 어떻게 서로를 두드리고 있는지에 대한 가이드의 말을 기억해야 합니다. 분명히 그들의 통신 방식은 이 암호화 방법으로 완전히 덮여 있습니다.

다중 알파벳 암호의 예는 소위 기반의 체계입니다. 트리테미우스의 프로그레시브 키. 이 암호화 방법의 기초는 그림 1에 표시된 표입니다. 10.5, 그 행은 원래 알파벳의 한 위치 사본만큼 주기적으로 이동합니다. 따라서 첫 번째 라인은 0 시프트를 갖고, 두 번째 라인은 순환적으로 왼쪽으로 한 위치 이동하고, 세 번째 라인은 첫 번째 라인을 기준으로 두 위치를 이동하는 식입니다.

쌀. 10.5.

이러한 테이블을 사용하는 암호화 방법 중 하나는 일반 텍스트의 첫 번째 문자 대신 암호화되는 문자 아래에 있는 소스 알파벳의 첫 번째 순환 시프트의 문자를 사용하고 해당 문자열에서 일반 텍스트의 두 번째 문자를 사용하는 것입니다. 두 번째 순환 이동 등 이러한 방식으로 메시지를 암호화하는 예는 다음과 같습니다(그림 10.6).

일반 텍스트

암호문

쌀. 10.6.

Trithemius 프로그레시브 키를 기반으로 하는 몇 가지 흥미로운 암호 변형이 알려져 있습니다. 그 중 하나에서 Vigenere 키 방법, 일반 텍스트의 각 후속 문자를 암호화하고 해독할 문자열을 지정하는 키워드가 사용됩니다. 키의 첫 번째 문자는 그림에서 테이블의 행을 지정합니다. 10.5에서 메시지의 첫 번째 문자가 암호화되는 경우 키의 두 번째 문자는 일반 텍스트의 두 번째 문자를 암호화하는 테이블의 행을 지정하는 식입니다. "THROMB"라는 단어를 키로 선택하면 Vigenere 키를 사용하여 암호화된 메시지를 다음과 같이 나타낼 수 있습니다(그림 10.7). 키의 개방은 암호문의 통계적 분석을 기반으로 할 수 있음은 자명하다.

일반 텍스트

암호문

쌀. 10.7.

이 방법의 변형은 소위입니다. 자동 방법 (열려 있는) 열쇠 비지네라, 여기서 키 생성단일 문자 또는 단어가 사용됩니다. 이 키는 이전에 논의된 예와 유사하게 일반 텍스트의 처음 또는 처음 몇 문자를 암호화하기 위한 초기 문자열을 제공합니다. 그런 다음 일반 텍스트 문자가 암호화 문자열을 선택하는 키로 사용됩니다. 아래 예에서 문자 "I"가 생성 키로 사용됩니다(그림 10.8).

일반 텍스트

암호문

쌀. 10.8.

예에서 볼 수 있듯이 암호 문자열의 선택은 평문의 내용에 따라 완전히 결정됩니다. 평문에 대한 피드백은 암호화 프로세스에 도입됩니다.

Vigenere 방법의 다른 버전은 자동 방법 (암호화) 비제네르의 열쇠. 공개 키 암호화와 마찬가지로 생성 키와 피드백도 사용합니다. 차이점은 생성 키로 암호화한 후 시퀀스의 각 후속 키 문자를 일반 텍스트에서 가져오지 않고 결과 암호에서 가져오는 것입니다. 다음은 이전과 같이 문자 "I"를 생성 키로 사용하는 이 암호화 방법을 적용하는 원리를 설명하는 예입니다(그림 10.9).

일반 텍스트

암호문

쌀. 10.9.

위의 예에서 알 수 있듯이, 각각의 후속 키 기호는 앞에 있는 암호 기호에 의해 결정되지만 공개 메시지 및 생성 키의 모든 이전 기호에 기능적으로 종속됩니다. 결과적으로 소스 텍스트의 통계적 속성의 산란 효과가 있어 암호 분석가가 통계 분석을 적용하기 어렵습니다. 이 방법의 약점은 암호문에 키의 문자가 포함되어 있다는 것입니다.

현재 표준에 따르면 Vigenere 암호화는 안전한 것으로 간주되지 않지만 주요 기여는 메시지 자체 또는 메시지의 기능을 사용하여 반복되지 않는 키 시퀀스를 생성할 수 있다는 발견입니다.

혼합 개념을 충분히 구현하는 대체 기술 구현의 변형은 비선형 변환을 기반으로 한 다음 예입니다. 정보 비트의 스트림은 미리 길이 블록으로 나뉩니다. , 각 블록은 다른 기호 중 하나로 표시됩니다. 그럼 많은
각 문자가 이 세트의 다른 문자로 대체되도록 문자가 섞입니다. 셔플 작업 후 기호는 다시 다음으로 바뀝니다. -비트 블록. 설명된 알고리즘을 구현하는 장치
, 그림에 나와 있습니다. 10.10, 여기서 표는 집합의 기호를 혼합하는 규칙을 지정합니다.
집단.

쌀. 10.10.

있다는 것을 보여주는 것은 어렵지 않다.
다른 순열 또는 관련 가능한 모델. 이와 관련하여 큰 값에서 암호 분석가의 작업은 계산상 거의 불가능해집니다. 예를 들어, 언제
가능한 대체 수는 다음과 같이 정의됩니다.
, 즉. 천문학적인 숫자이다. 분명히 그러한 가치로 이 변환 대체 블록 (치환 차단하다, 에스-block)은 실질적인 비밀이 있는 것으로 간주할 수 있습니다. 그러나 실존을 전제로 하기 때문에 실제적인 구현은 거의 불가능하다.
사이.

이제 다음을 확인하도록 합시다. 에스는 그림에 표시된 블록입니다. 10.10, 실제로 비선형 변환을 수행합니다. 이를 위해 중첩의 원리를 사용합니다. 변환
이면 선형입니다. 그런 척 하자
, ㅏ
. 그러면, 에스-블록은 비선형입니다.

10.4.2. 순열 방법.

~에 순열(또는 조옮김) 키에 따라 일반 텍스트 문자의 순서는 변경되지만 문자의 의미는 보존됩니다. 순열 암호는 블록 암호입니다. 즉, 원본 텍스트가 미리 블록으로 분할되어 키에 의해 지정된 순열이 수행됩니다.

이 암호화 방법의 가장 간단한 구현은 이전에 고려된 인터리빙 알고리즘일 수 있으며, 그 핵심은 정보 기호 스트림을 길이의 블록으로 분할하는 것입니다.
, 크기의 메모리 매트릭스에 한 줄씩 씁니다. 선과 열 및 열로 읽기. 이 알고리즘의 예는
그림에서. 10.11, 프레이즈가 녹음되는 동안 엑스="시험 시간이 곧 시작됩니다." 그런 다음 순열 장치의 출력에서 ​​다음 형식의 암호

쌀. 10.11.

순열 방법의 고려된 버전은 키를 도입하여 복잡할 수 있습니다.
그리고
, 이는 그림 1의 표에 표시된 것처럼 행 쓰기 순서와 열 읽기 순서를 각각 결정합니다. 10.12. 변환 결과는 다음과 같습니다.

쌀. 10.12.

무화과에. 10.13은 데이터의 이진 순열(선형 연산)의 예이며 데이터가 단순히 섞이거나 순열됨을 보여줍니다. 변환은 순열 블록( 순열 차단하다, -차단하다). 이 블록에 의해 구현된 순열 기술에는 스푸핑 메시지에 취약하다는 한 가지 주요 단점이 있습니다. 가짜 메시지는 그림 1에 나와 있습니다. 10.13 및 나머지 0과 함께 단일 장치를 입력에 공급하는 것으로 구성되어 내부 링크 중 하나를 감지할 수 있습니다. 암호 분석가가 일반 텍스트 공격을 사용하여 그러한 체계를 분석해야 하는 경우 그는 이러한 기만적인 메시지의 시퀀스를 전송하여 각 전송 시 한 위치씩 단일 단위를 이동합니다. 이러한 공격의 결과로 모든 입력 및 출력 연결이 설정됩니다. 이 예는 회로의 보안이 아키텍처에 의존해서는 안 되는 이유를 보여줍니다.

10.4.3. 감마법.

완벽한 비밀에 접근하려는 시도는 스크램블링 작업을 사용하는 많은 현대 통신 시스템에 의해 입증됩니다. 아래에 스크램블링감마(그리스 알파벳의 문자 의 이름을 따서 무작위 프로세스를 나타내는 수학 공식에 사용됨)라고도 하는 일반 텍스트 문자의 코드에 임의의 숫자 시퀀스 코드를 중첩하는 프로세스로 이해됩니다. 도박연속된 평문 문자를 암호문 문자로 순차적으로 변환하여 변환 속도를 높이는 스트리밍 암호화 방식을 말합니다. 따라서 예를 들어 정보 비트의 스트림은 그림 2에 표시된 모듈로 2 가산기의 한 입력에 도달합니다. 10.14, 두 번째 것은 스크램블 이진 시퀀스를 가지고 있습니다.
. 이상적으로는 시퀀스
0과 1의 가능성이 동일한 임의의 시퀀스여야 합니다. 그런 다음 출력 암호화된 스트림
정보 시퀀스와 통계적으로 독립적일 것
, 이는 완전한 비밀을 위한 충분 조건이 충족됨을 의미합니다. 사실, 그것은 완전히 무작위입니다.
그렇지 않으면 수신자가 일반 텍스트를 복구할 수 없기 때문에 필요하지 않습니다. 실제로 수신측에서 평문의 복구는 규칙에 따라 수행되어야 합니다.
, 정확히 동일한 스크램블링 시퀀스와 동일한 위상이 수신 측에서 생성되어야 합니다. 그러나 순수한 기회로 인해
이 절차는 불가능해집니다.

실제로 수신 측에서 재생할 수 있는 의사 랜덤 시퀀스(RRP)는 스크램블링으로 널리 사용됩니다. 스트림 암호화 기술은 일반적으로 다음을 기반으로 하는 생성기를 사용합니다. 피드백이 있는 선형 시프트 레지스터 (선의 피드백 옮기다 등록하다(LFSR)). 그림 1에 표시된 PSP 생성기의 일반적인 구조는 다음과 같습니다. 10.15, 다음으로 구성된 시프트 레지스터 포함 - 개별 지연 요소 또는 다음을 갖는 비트 가능한 상태 및 일부 필드 요소 저장
클록 간격 동안 비트에 상수로 저장된 요소(상태)의 승수를 포함하는 피드백 회로 , 가산기. PSS의 형성은 다음 형식의 재귀 관계로 설명됩니다.

여기서 계수
에 속하는 고정 상수입니다.
, 시퀀스의 각 다음 요소는 다음을 기반으로 계산됩니다. N이전 것.

서로 다른 레지스터 상태의 수가 유한하기 때문에(최대 ), 특정 주기 후에 상태가 이전 주기 중 하나의 형태로 반복될 때 상황은 불가피합니다. 그러나 일부 초기 로드부터 시작합니다. 고정 상태, 그림의 다이어그램. 10.15는 언급된 재귀에 의해 정의된 단일 시퀀스만 생성합니다. 따라서 레지스터 상태의 반복은 이후에 생성된 모든 심볼의 반복으로 이어지며 이는 모든 SRP가 주기적임을 의미합니다. 또한 레지스터의 0 상태(모든 숫자에 0이 있음)의 경우 항상 0으로만 구성된 무한 축퇴 시퀀스가 ​​형성됩니다. 그러한 경우는 절대적으로 유망하지 않으므로 레지스터의 0 상태는 제외되어야 합니다. 결과적으로 더 이상
시퀀스의 가능한 최대 기간을 다음 값보다 크지 않은 값으로 제한하는 레지스터의 허용된 상태
.

예 10.4.1. 무화과에. 10.16, , 선형 피드백이 있는 시프트 레지스터를 기반으로 하는 생성기의 구현이 제공되며, 이는 주기의 이진 의사 난수 시퀀스를 형성합니다.
. 바이너리 PRS의 경우 1을 곱하는 것은 단순히 비트 출력을 가산기에 연결하는 것과 같습니다. 쌀. 10.16, , 레지스터의 연속적인 내용(비트 상태)과 클럭 펄스가 인가될 때 피드백 출력의 상태(다이어그램의 OS 포인트)를 보여줍니다. 시퀀스는 극단 p의 연속적인 상태의 형태로 읽힙니다. 오른쪽 순위. 다른 비트의 상태를 읽으면 동일한 시퀀스의 복사본이 하나 또는 두 개의 사이클로 이동합니다.

언뜻보기에 장기 메모리 대역폭을 사용하면 충분히 높은 보안을 제공할 수 있다고 가정할 수 있습니다. 따라서 예를 들어 IS-95 표준의 셀룰러 이동통신 시스템에서 기간의 PRP는
기본 칩 중에서. 칩 속도가 1.228810 6심벌/초일 때 주기는 다음과 같습니다.

따라서 시퀀스가 ​​그렇게 오랜 시간 동안 반복되지 않으므로 무작위로 간주되어 완벽한 기밀성을 제공할 수 있다고 가정할 수 있습니다. 그러나 의사 랜덤 시퀀스와 진정한 랜덤 시퀀스 사이에는 근본적인 차이가 있습니다. 의사 랜덤 시퀀스는 일부 알고리즘에 따라 형성됩니다. 따라서 알고리즘을 알면 시퀀스 자체도 알 수 있습니다. 이 기능의 결과로 선형 피드백 시프트 레지스터를 사용하는 암호화 방식은 알려진 평문 공격에 취약합니다.

피드백 탭, 레지스터의 초기 상태 및 전체 시퀀스를 결정하려면 암호 분석가가
평문의 비트와 그에 상응하는 암호문. 분명히 값 2 N PSP 기간보다 훨씬 짧음
. 언급된 취약점을 예로 들어 설명하겠습니다.

예 10.4.2. 기간 SRP를 스크램블링으로 사용합니다.
, 형식의 재귀를 사용하여 생성

레지스터 0001의 초기 상태에서. 결과적으로 시퀀스가 ​​형성됩니다. PSP 생성기의 피드백 구조에 대해 전혀 모르는 암호 분석가가
암호화 비트 및 이에 상응하는 공개:

그런 다음 두 시퀀스를 모듈로 2로 추가하면 암호 분석가는 스크램블 시퀀스의 조각을 마음대로 가져옵니다. 이 조각은 다른 시점에서 시프트 레지스터의 상태를 보여줍니다. 따라서 예를 들어 키 시퀀스의 처음 4비트는 특정 시점의 레지스터 상태에 해당합니다. . 이제 4비트를 선택하는 창을 오른쪽으로 한 위치 이동하면 시프트 레지스터의 상태가 연속적인 시점에서 얻어집니다.
. 피드백 회로의 선형 구조가 주어지면 다음과 같이 쓸 수 있습니다.

어디 피드백 회로에 의해 생성되고 레지스터의 첫 번째 숫자의 입력에 공급되는 PSP 기호, 및
존재 여부를 결정 - 시프트 레지스터의 비트 출력과 가산기 사이의 연결, 즉 피드백 체계.

연속 4번 시프트 레지스터의 상태를 분석하면 4개의 미지수가 있는 4개의 방정식으로 구성된 다음 시스템을 구성할 수 있습니다.

이 방정식 시스템의 솔루션은 다음과 같은 계수 값을 제공합니다.

따라서 선형 레지스터의 피드백 회로를 결정하고 그 순간의 상태를 알면 , 암호 분석가는 임의의 시점에서 스크램블링 시퀀스를 재생할 수 있으므로 가로채는 암호를 해독할 수 있습니다.

임의의 메모리 시프트 레지스터의 경우에 고려한 예를 일반화 N, 원래 방정식은 다음과 같이 나타낼 수 있습니다.

,

방정식 시스템은 다음 행렬 형식으로 작성됩니다.

,

어디
, ㅏ
.

행렬의 열이 다음과 같이 표시될 수 있습니다. 선형 독립이므로 역행렬이 있습니다.
. 따라서

.

행렬 반전에는 순서가 필요합니다. 작업, 그래서
우리는
작동 속도가 있는 컴퓨터의 경우 1μs 동안 한 번의 작업으로 행렬을 반전시키는 데 1초가 필요합니다. 분명히 시프트 레지스터의 약점은 피드백의 선형성 때문입니다.

평문과 암호화의 단편을 비교할 때 분석가가 PSP의 요소를 계산하기 어렵게 하기 위해 출력과 암호문에 대한 피드백이 사용됩니다. 무화과에. 10.17은 암호문 피드백을 도입하는 원리를 설명합니다.

쌀. 10.17.피드백이 있는 스트림 암호화.

먼저 초기 위상 값을 포함하여 생성된 SRP의 매개변수에 대한 정보가 포함된 프리앰블이 전송됩니다. 00 . 각각 N생성된 암호문 기호에 따라 새로운 위상 값이 계산되어 생성기에서 설정됩니다.
. 피드백은 감마 방법을 암호화 왜곡에 민감하게 만듭니다. 따라서 통신 채널의 간섭으로 인해 일부 수신 심볼이 왜곡될 수 있으며, 이는 PRS 위상의 잘못된 값을 계산하고 추가 디코딩을 어렵게 만들지만 수신 후 N올바른 암호문 문자 시스템이 복원됩니다. 동시에 이러한 왜곡은 잘못된 데이터를 부과하려는 공격자의 시도로 설명될 수 있습니다.

개인 데이터 도난 문제는 조용히 문명의 재앙으로 바뀌었습니다. 사용자에 대한 정보는 모든 사람이 가져옵니다. 이전에 동의를 요청한 사람(소셜 네트워크, 운영 체제, 컴퓨터 및 모바일 애플리케이션), 허가 및 요구 없이 다른 사람(모든 종류의 악의적인 범죄자 및 정보로부터 이익을 얻는 기업가) 특정인에 대해). 어쨌든 유쾌한 일은 거의 없으며 무해한 정보와 함께 공식 문서, 개인 또는 비즈니스 서신, 가족 사진과 같이 개인적으로 또는 고용주에게 해를 끼칠 수있는 잘못된 손에 무언가가 빠질 위험이 항상 있습니다.

그러나 누출을 방지하는 방법은 무엇입니까? 이것은 의심 할 여지없이 아름다운 솔루션이지만 은박지 모자는 여기에 도움이되지 않습니다. 그러나 전체 데이터 암호화는 도움이 될 것입니다. 암호화된 파일을 가로채거나 훔쳐 스파이는 그 안에 있는 어떤 것도 이해하지 못합니다. 강력한 암호화의 도움으로 모든 디지털 활동을 보호하여 이를 수행할 수 있습니다(강력한 암호는 기존 컴퓨터 성능으로 해독하는 데 최소한 한 사람의 수명보다 긴 시간이 걸리는 암호입니다). 다음은 이 문제를 해결하는 데 도움이 되는 6가지 실용적인 요리법입니다.

웹 브라우저 활동을 암호화합니다. 글로벌 네트워크는 밀접하게 위치한 사이트(yandex.ru와 같은)에 대한 귀하의 요청도 이를 앞뒤로 중계하는 많은 컴퓨터("노드")를 통해 전달되도록 설계되었습니다. 명령줄에 tracert site_address 명령을 입력하면 대략적인 목록을 볼 수 있습니다. 이러한 목록의 첫 번째 사람은 인터넷 서비스 공급자 또는 인터넷에 연결된 Wi-Fi 액세스 포인트의 소유자입니다. 그런 다음 더 많은 중간 노드가 있고 맨 끝에만 필요한 사이트가 저장된 서버가 있습니다. 그리고 귀하의 연결이 암호화되지 않은 경우, 즉 일반적인 HTTP 프로토콜을 사용하여 수행되는 경우 귀하와 사이트 사이에 있는 모든 사람이 전송된 데이터를 가로채고 분석할 수 있습니다.

따라서 간단한 작업을 수행하십시오. 사이트 주소가 "https://"로 시작하도록 주소 표시줄의 "http"에 ""를 추가합니다. 이 방법으로 트래픽 암호화(소위 SSL/TLS 보안 계층)를 활성화할 수 있습니다. 사이트가 HTTPS를 지원하는 경우 허용합니다. 그리고 매번 문제를 일으키지 않으려면 브라우저 플러그인을 설치하세요. 방문하는 모든 사이트에서 강제로 암호화를 활성화하려고 시도합니다.

단점: 도청자는 송수신된 데이터의 의미를 알 수 없지만 특정 사이트를 방문한 것은 알 수 있습니다.

이메일을 암호화하세요. 이메일로 보낸 편지도 중개자를 거쳐 수신자에게 도달합니다. 암호화하면 스파이가 내용을 이해하는 것을 방지할 수 있습니다. 그러나 여기서 기술 솔루션은 더 복잡합니다. 암호화 및 암호 해독을 위해 추가 프로그램을 사용해야 합니다. 지금까지 관련성을 잃지 않은 기존 솔루션은 OpenPGP 패키지 또는 무료 대응 GPG 또는 동일한 암호화 표준(예: Mailvelope)을 지원하는 브라우저 플러그인이 될 것입니다.

서신을 시작하기 전에 수신자인 귀하에게 보내는 편지를 "닫기"(암호화)하는 데 사용할 수 있는 소위 공개 암호화 키를 생성합니다. 차례로, 각 받는 사람은 자신의 키도 생성해야 합니다. 다른 사람의 키를 사용하여 소유자의 편지를 "닫을" 수 있습니다. 키와 혼동하지 않으려면 앞서 언급한 브라우저 플러그인을 사용하는 것이 좋다. 암호 키로 "닫힌" 문자는 의미 없는 문자 집합으로 바뀌며 키 소유자만 이를 "열"(해독)할 수 있습니다.

단점: 통신 시작 시 통신사와 키를 교환해야 합니다. 아무도 키를 가로채거나 변경할 수 없도록 하십시오. 손에서 손으로 전달하거나 공개 키 서버에 게시하십시오. 그렇지 않으면, 당신의 키를 당신의 것으로 교체함으로써, 스파이가 당신의 통신원을 속이고 당신의 통신을 알 수 있게 될 것입니다(소위 중간자 공격).

인스턴트 메시지를 암호화합니다. 가장 쉬운 방법은 Telegram, WhatsApp, Facebook Messenger, Signal Private Messenger, Google Allo, Gliph 등 통신을 암호화하는 방법을 이미 알고 있는 인스턴트 메신저를 사용하는 것입니다. 이 경우 외부에서 엿보는 눈으로부터 보호됩니다. 임의의 사람이 메시지를 가로채면 여러 가지 기호만 보게 됩니다. 그러나 이것은 메신저를 소유한 회사의 호기심으로부터 당신을 보호하지 못합니다. 회사에는 원칙적으로 당신이 당신의 서신을 읽을 수 있는 열쇠가 있습니다. 요청 시 법 집행 기관.

따라서 가장 좋은 솔루션은 즉시 암호화를 위한 플러그인이 포함된 일부 인기 있는 무료(오픈 소스) 메신저를 사용하는 것입니다(이러한 플러그인은 종종 "OTR"이라고 함: 기록에서 벗어나 녹음 방지). Pidgin은 좋은 선택이 될 것입니다.

단점: 이메일과 마찬가지로 메시지 가로채기(man-in-the-middle) 공격에 대해 보장되지 않습니다.


클라우드에서 문서를 암호화합니다. 구글 드라이브, 드롭박스, 원드라이브, 아이클라우드와 같은 "클라우드" 스토리지를 사용하는 경우, 누군가가 귀하의 비밀번호를 엿보거나 추측하거나 서비스 자체에서 일종의 취약점이 발견되는 경우 파일을 도용할 수 있습니다. 따라서 "클라우드"에 무엇이든 넣기 전에 암호화하십시오. 컴퓨터에 폴더를 생성하는 유틸리티를 사용하여 이러한 체계를 구현하는 것이 가장 쉽고 편리합니다. 문서는 자동으로 암호화되어 "클라우드" 디스크로 전달됩니다. 예를 들어 Boxcryptor가 그렇습니다. 같은 목적으로 TrueCrypt와 같은 응용 프로그램을 사용하는 것은 조금 덜 편리합니다. "클라우드"에서 호스팅되는 전체 암호화된 볼륨을 생성합니다.

단점: 없음.


브라우저뿐만 아니라 컴퓨터의 모든 트래픽을 암호화합니다. 예를 들어 공공 장소에서 암호화되지 않은 Wi-Fi와 같이 확인되지 않은 개방형 인터넷 연결을 사용해야 하는 경우에 유용할 수 있습니다. 여기에서 VPN을 사용할 가치가 있습니다. 다소 단순화합니다. 이것은 귀하로부터 VPN 제공자까지 확장된 암호화된 채널입니다. 공급자의 서버에서 트래픽이 해독되어 대상으로 더 전송됩니다. VPN 제공업체는 무료(VPNbook.com, Freevpn.com, CyberGhostVPN.com)와 유료 제공업체로 액세스 속도, 세션 시간 등이 다릅니다. 이러한 연결의 가장 큰 장점은 컴퓨터가 아니라 VPN 서버에서 웹에 액세스하는 것처럼 보인다는 것입니다. 따라서 VPN 제공업체가 러시아 연방 외부에 있는 경우 러시아 연방 내부에서 차단된 사이트에 액세스할 수 있습니다.

컴퓨터에 TOR를 설치하면 동일한 결과를 얻을 수 있습니다. 이 경우 공급자가 없다는 유일한 차이점이 있습니다. 이 네트워크의 다른 구성원, 즉 알 수 없는 사람이나 조직에 속한 임의의 노드를 통해 인터넷에 액세스합니다. 당신에게.

단점: 트래픽이 출구 노드, 즉 VPN 공급자의 서버 또는 임의의 TOR 참가자의 컴퓨터에서 해독된다는 것을 기억하십시오. 따라서 소유자가 원하는 경우 트래픽을 분석할 수 있습니다. 비밀번호 가로채기, 통신에서 중요한 정보 추출 등을 시도하십시오. 따라서 VPN 또는 TOR를 사용할 때 다른 암호화 도구와 결합하십시오. 또한 TOR를 올바르게 설정하는 것은 쉬운 일이 아닙니다. 경험이 없으면 TOR 키트 + Firefox 브라우저(이 경우 브라우저 트래픽만 암호화됨) 또는 Tails Linux 배포(CD 또는 플래시 드라이브에서 작동)와 같은 기성품 솔루션을 사용하는 것이 좋습니다. 여기서 모든 트래픽은 이미 TOR 를 통해 라우팅하도록 구성되어 있습니다.

플래시 드라이브 및 이동식 미디어, 모바일 장치를 암호화합니다. 작동 중인 컴퓨터에서 하드 드라이브의 암호화를 추가할 수도 있지만 적어도 잃어버릴 위험은 없습니다. 휴대용 드라이브의 경우 항상 그럴 가능성이 있습니다. 단일 문서가 아닌 전체 디스크를 한 번에 암호화하려면 BitLocker(MS Windows에 내장), FileVault(OS X에 내장), DiskCryptor, 7-Zip 등을 사용하십시오. 이러한 프로그램은 "투명하게" 작동합니다. 즉, 파일이 "즉시" 자동으로 암호화되고 해독됩니다. 그러나 예를 들어 자신의 도움으로 닫혀 있는 플래시 드라이브의 손에 들어간 공격자는 그로부터 아무 것도 추출할 수 없습니다.

스마트 폰 및 태블릿의 경우 전체 암호화를 위해 운영 체제의 내장 기능을 사용하는 것이 좋습니다. Android 기기의 경우 "설정 -> 보안", iOS 기기의 경우 "설정 -> 비밀번호"를 확인하세요.

단점: 모든 데이터가 이제 암호화된 형태로 저장되기 때문에 프로세서는 읽을 때 암호를 해독하고 쓸 때 암호화해야 하므로 시간과 에너지가 낭비됩니다. 따라서 성능 저하가 눈에 띌 수 있습니다. 디지털 장치가 실제로 얼마나 느려지는지는 사양에 따라 다릅니다. 일반적으로 최신 모델과 상위 모델이 더 나은 성능을 보입니다.


이것은 잘못된 사람에게 파일이 유출될 가능성이 우려되는 경우 취해야 할 조치 목록입니다. 그러나 그 외에도 명심해야 할 몇 가지 일반적인 고려 사항이 있습니다.

무료 개인 정보 보호 앱은 일반적으로 독점 앱보다 더 안전합니다. 무료는 소스 코드가 무료 라이선스(GNU GPL, BSD 등)로 공개되어 누구나 변경할 수 있는 것입니다. 독점 - 한 회사 또는 개발자에게 속하는 독점권. 그러한 프로그램의 소스 코드는 일반적으로 공개되지 않습니다.

암호화에는 암호 사용이 포함되므로 암호가 올바른지 확인하십시오. 길고, 임의적이며, 다양합니다.

많은 사무용 애플리케이션(텍스트 편집기, 스프레드시트 등)은 자체적으로 문서를 암호화할 수 있습니다. 그러나 그들이 사용하는 암호의 강도는 일반적으로 낮습니다. 따라서 보호를 위해 위에 나열된 범용 솔루션 중 하나를 선호하는 것이 좋습니다.

익명성/프라이버시가 필요한 작업의 경우 별도의 브라우저를 "편집증" 모드로 유지하는 것이 더 편리합니다(예: 앞서 언급한 Firefox + TOR 번들).

웹에서 자주 사용되는 Javascript는 스파이에게 정말 유용한 도구입니다. 따라서 숨길 것이 있다면 브라우저 설정에서 자바스크립트를 차단하는 것이 좋다. 또한 무조건 광고 차단(AdBlockPlus와 같이 이 기능을 구현하는 모든 플러그인 설치): 최근에는 배너를 가장한 악성 코드가 자주 전송됩니다.

그럼에도 불구하고 악명 높은 "Yarovaya 법"이 시행되면(계획에 따르면 2018년 7월 1일에 발생해야 함) 러시아의 모든 암호에 대한 예비 키를 국가로 이전해야 합니다. 그렇지 않으면 암호가 인증되지 않습니다. . 그리고 인증되지 않은 암호화를 사용하는 경우 일반 스마트 폰 소유자조차도 디지털 장치를 압수하여 3,000 루블의 벌금을 물 수 있습니다.

추신 이 기사는 Christiaan Colen의 사진을 사용합니다.

기사가 마음에 든다면 - 시정 또는 공공 서비스와 관련된 친구, 지인 또는 동료에게 추천하십시오. 우리는 그것이 그들에게 유용하고 유쾌할 것이라고 생각합니다.
자료 재인쇄 시 출처 링크가 필요합니다.

고대 세계에서 통신 암호화의 필요성이 대두되었고 단순 치환 암호가 등장했습니다. 암호화된 메시지는 많은 전투의 운명을 결정했고 역사의 흐름에 영향을 미쳤습니다. 시간이 지남에 따라 사람들은 점점 더 고급 암호화 방법을 발명했습니다.

그런데 코드와 암호는 다른 개념입니다. 첫 번째는 메시지의 각 단어를 코드 단어로 바꾸는 것을 의미합니다. 두 번째는 특정 알고리즘을 사용하여 정보의 각 기호를 암호화하는 것입니다.

정보의 코딩이 수학에 의해 채택되고 암호 이론이 개발된 후 과학자들은 이 응용 과학의 유용한 속성을 많이 발견했습니다. 예를 들어, 디코딩 알고리즘은 고대 이집트나 라틴어와 같은 죽은 언어를 푸는 데 도움이 되었습니다.

스테가노그래피

스테가노그래피는 코딩 및 암호화보다 오래되었습니다. 이 예술은 아주 오랫동안 존재해 왔습니다. 문자 그대로 "숨겨진 쓰기" 또는 "암호 쓰기"를 의미합니다. 스테가노그래피가 코드나 암호의 정의를 완전히 충족하지는 않지만 엿보는 눈으로부터 정보를 숨기기 위한 것입니다.

스테가노그래피는 가장 간단한 암호입니다. 밀랍으로 덮인 삼키는 메모가 전형적인 예이거나 자란 머리카락 아래에 숨어있는 면도 머리의 메시지입니다. 스테가노그래피의 가장 분명한 예는 많은 영어 탐정 책에 설명되어 있는 방법으로, 신문을 통해 메시지가 전송될 때 문자가 눈에 띄지 않게 표시됩니다.

스테가노그래피의 주요 단점은 세심한 낯선 사람이 알아차릴 수 있다는 것입니다. 따라서 비밀 메시지가 쉽게 읽히지 않도록 암호화 및 코딩 방법을 스테가노그래피와 함께 사용합니다.

ROT1 및 Caesar 암호

이 암호의 이름은 ROTate 1 letter forward이며 많은 학생들에게 알려져 있습니다. 단순 치환 암호입니다. 그 본질은 각 문자가 알파벳 순으로 1 문자 앞으로 이동하여 암호화된다는 사실에 있습니다. A -\u003e B, B -\u003e C, ..., Z -\u003e A. 예를 들어 "우리 Nastya는 큰 소리로 외친다"라는 문구를 암호화하고 "일반 Obtua dspnlp rmbsheu"를 얻습니다.

ROT1 암호는 임의의 수의 오프셋으로 일반화할 수 있으며 ROTN이라고 합니다. 여기서 N은 문자 암호화가 오프셋되어야 하는 숫자입니다. 이 형태의 암호는 고대부터 알려져 왔으며 "Caesar 암호"라고 불립니다.

Caesar 암호는 매우 간단하고 빠르지만 단순한 단일 순열 암호이므로 깨지기 쉽습니다. 비슷한 단점이 있어 아이들의 장난에만 적합합니다.

전치 또는 순열 암호

이러한 유형의 단순 순열 암호는 더 심각하며 얼마 전까지만 해도 활발히 사용되었습니다. 미국 남북 전쟁과 제1차 세계 대전 중에는 메시지를 보내는 데 사용되었습니다. 그의 알고리즘은 문자를 제자리에 재배열하는 것으로 구성됩니다. 메시지를 역순으로 작성하거나 문자를 쌍으로 재배열합니다. 예를 들어 "Morse code is also a cipher" -> "akubza ezrom - ezhot rfish"라는 구문을 암호화해 보겠습니다.

각 문자 또는 문자 그룹에 대해 임의의 순열을 결정하는 우수한 알고리즘을 통해 암호는 단순 해독에 저항할 수 있게 되었습니다. 하지만! 정해진 시간에만. 암호는 단순한 무차별 대입 또는 사전 매칭으로 쉽게 깨지기 때문에 오늘날 모든 스마트폰이 암호 해독을 처리할 수 있습니다. 따라서 컴퓨터의 출현과 함께이 암호는 어린이 범주에도 포함되었습니다.

모스 식 부호

알파벳은 정보 교환의 수단이며 주요 임무는 메시지를 더 간단하고 이해하기 쉽게 전달하는 것입니다. 이것은 암호화의 목적과 상반됩니다. 그럼에도 불구하고 가장 단순한 암호처럼 작동합니다. 모스 시스템에서 각 문자, 숫자 및 구두점에는 대시와 점 그룹으로 구성된 고유한 코드가 있습니다. 전신을 사용하여 메시지를 전송할 때 대시와 점은 길고 짧은 신호를 의미합니다.

전신과 알파벳은 1840년에 "그의" 발명품에 처음으로 특허를 낸 것이었지만, 그 이전에 러시아와 영국에서 유사한 장치가 발명되었습니다. 그러나 이제 누가 신경을 쓰겠습니까 ... 전신과 모스 부호는 세계에 매우 큰 영향을 미쳤으며 대륙 거리에 걸쳐 거의 즉각적인 메시지 전송이 가능했습니다.

단일 알파벳 치환

위에서 설명한 ROTN 및 모스 부호는 단일 알파벳 대체 글꼴의 예입니다. 접두사 "모노"는 암호화 중에 원본 메시지의 각 문자가 단일 암호화 알파벳의 다른 문자 또는 코드로 대체됨을 의미합니다.

단순 치환 암호는 해독하기 어렵지 않으며 이것이 주요 단점입니다. 그들은 간단한 열거로 추측됩니다. 예를 들어 러시아어에서 가장 많이 사용되는 문자는 "o", "a", "i"인 것으로 알려져 있습니다. 따라서 암호문에서 가장 자주 나타나는 문자는 "o", "a" 또는 "and"를 의미한다고 가정할 수 있습니다. 이러한 고려 사항을 기반으로 컴퓨터 열거 없이도 메시지를 해독할 수 있습니다.

1561년부터 1567년까지 스코틀랜드 여왕 메리 1세는 여러 조합으로 구성된 매우 복잡한 단일 알파벳 치환 암호를 사용했다고 알려져 있습니다. 그러나 그녀의 적들은 메시지를 해독할 수 있었고 정보는 여왕에게 사형을 선고하기에 충분했습니다.

Gronsfeld 암호 또는 다중 알파벳 치환

단순 암호는 암호화에 의해 쓸모없다고 선언됩니다. 따라서 그들 중 많은 부분이 개선되었습니다. Gronsfeld 암호는 Caesar 암호의 수정입니다. 이 방법은 해킹에 훨씬 더 강하며 인코딩된 정보의 각 문자가 주기적으로 반복되는 다른 알파벳 중 하나를 사용하여 암호화된다는 사실에 있습니다. 이것은 가장 단순한 치환 암호의 다차원적 응용이라고 말할 수 있습니다. 사실, 그론스펠드 암호는 아래에서 논의되는 것과 매우 유사합니다.

AFGX 암호화 알고리즘

이것은 독일이 사용하는 가장 유명한 1차 세계 대전 암호입니다. 암호라는 이름은 암호화 알고리즘이 모든 암호문에서 이 문자를 번갈아 사용했기 때문에 붙여진 것입니다. 문자 자체의 선택은 전신선을 통해 전송될 때의 편의성에 따라 결정되었습니다. 암호의 각 문자는 2로 표시됩니다. 숫자를 포함하고 ADFGVX라고 하는 좀 더 흥미로운 버전의 ADFGX 사각형을 살펴보겠습니다.

에프 G V 엑스
제이 5 시간
2 이자형 아르 자형 V 9
에프 8 와이 N 케이 V
G 에프 6 영형
V 4 G 엑스 에스 3
엑스 7 0

ADFGX 제곱 알고리즘은 다음과 같습니다.

  1. 열과 행을 지정하기 위해 임의의 n개의 문자를 사용합니다.
  2. N x N 행렬을 만듭니다.
  3. 우리는 셀에 무작위로 흩어져 있는 알파벳, 숫자, 기호를 매트릭스에 입력합니다.

러시아어에 대해 비슷한 사각형을 만들어 보겠습니다. 예를 들어 정사각형 ABCD를 만들어 보겠습니다.

하지만 G
하지만 그녀의 시간 b/b 하지만 I/Y
시간 V/F G/K
W W 엑스
G 아르 자형 영형
에프 에스 ~에

이 행렬은 셀 행에 두 글자가 포함되어 있기 때문에 이상해 보입니다. 이것은 받아 들일 수 있으며 메시지의 의미는 손실되지 않습니다. 쉽게 복원할 수 있습니다. 다음 표를 사용하여 "Compact cipher"라는 문구를 암호화해 보겠습니다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14
구절 에게 영형 하지만 에게 시간 에스 와이 그리고 에프 아르 자형
암호 bv 근위 연대 GB 어디 에이그 bv DB ab dg 지옥 지옥 bb 하아

따라서 최종 암호화된 메시지는 "bvgvgbgdagbvdbabdgvdvaadbbga"와 같습니다. 물론 독일인들은 몇 가지 더 많은 암호를 통해 유사한 라인을 수행했습니다. 그리고 그 결과 해킹에 매우 강한 암호화된 메시지를 얻었다.

비제네르 암호

이 암호는 단순한 텍스트 대체 암호이지만 단일 알파벳 암호보다 크래킹에 대한 내성이 훨씬 더 높습니다. 그러나 강력한 알고리즘으로 인해 오랫동안 해킹이 불가능하다고 여겨졌습니다. 그것에 대한 첫 번째 언급은 16세기로 거슬러 올라갑니다. Vigenère(프랑스 외교관)는 발명가로 잘못 알려져 있습니다. 문제가 무엇인지 더 잘 이해하려면 러시아어에 대한 Vigenère 테이블(Vigenère square, tabula recta)을 고려하십시오.

"Kasperovich가 웃는다"라는 문구를 암호화하여 진행합시다. 그러나 암호화가 성공하려면 키워드가 필요합니다. "비밀번호"로 설정합니다. 이제 암호화를 시작하겠습니다. 이를 위해 키를 반복하거나 잘라내어 키의 문자 수가 암호화된 구의 문자 수와 일치하도록 키를 여러 번 씁니다.

이제 좌표 평면에서와 같이 문자 쌍의 교차점인 셀을 찾고 있으며 K + P \u003d b, A + A \u003d B, C + P \u003d C 등을 얻습니다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
암호: 코메르산트 와 함께 시간 G SCH 에프 이자형 와이 엑스 에프 G 하지만

우리는 "Kasperovich가 웃는다" = "bvusnyugshzh eihzhgal"을 얻습니다.

Vigenère 암호를 푸는 것은 매우 어렵습니다. 빈도 분석이 작동하려면 키워드의 길이를 알아야 하기 때문입니다. 따라서 해킹은 키워드의 길이를 무작위로 던져 비밀 메시지를 해독하는 것입니다.

완전히 임의의 키 외에도 완전히 다른 Vigenère 테이블을 사용할 수 있다는 점도 언급해야 합니다. 이 경우 Vigenère 사각형은 한 줄씩 이동한 러시아어 알파벳으로 구성됩니다. 이는 ROT1 암호를 나타냅니다. 그리고 Caesar 암호와 마찬가지로 오프셋은 무엇이든 될 수 있습니다. 또한 문자의 순서는 알파벳순일 필요가 없습니다. 이 경우 테이블 자체가 키가 될 수 있으며, 키를 알면서도 메시지를 읽을 수 없는 것을 알지 못합니다.

코드

실제 코드는 개별 코드의 각 단어에 대한 일치 항목으로 구성됩니다. 그들과 함께 작업하려면 소위 코드 북이 필요합니다. 사실, 이것은 단어를 코드로 번역한 내용만 포함하는 동일한 사전입니다. 코드의 일반적이고 단순화된 예는 ASCII 테이블(간단한 문자의 국제 암호)입니다.

코드의 주요 장점은 해독하기가 매우 어렵다는 것입니다. 주파수 분석은 해킹당하면 거의 작동하지 않습니다. 코드의 약점은 사실 책 자체에 있습니다. 첫째, 그들의 준비는 복잡하고 비용이 많이 드는 과정입니다. 둘째, 적의 경우 원하는 대상으로 변하고 책의 일부라도 가로채면 모든 코드를 완전히 변경해야 합니다.

20세기에는 많은 주에서 코드를 사용하여 비밀 데이터를 전송했으며, 일정 기간이 지나면 코드북을 변경했습니다. 그리고 그들은 이웃과 상대방의 책을 적극적으로 사냥했습니다.

"수수께끼"

에니그마가 제2차 세계 대전 중 나치의 주요 암호 기계였다는 것은 누구나 알고 있습니다. Enigma의 구조는 전기 및 기계 회로의 조합을 포함합니다. 암호가 어떻게 나올지는 Enigma의 초기 구성에 따라 다릅니다. 동시에 Enigma는 작동 중에 구성을 자동으로 변경하여 전체 길이에 걸쳐 여러 가지 방법으로 하나의 메시지를 암호화합니다.

가장 단순한 암호와 달리 Enigma는 수조 개의 가능한 조합을 제공하여 암호화된 정보를 해독하는 것을 거의 불가능하게 만들었습니다. 차례로 나치는 특정 날짜에 메시지를 전송하는 데 사용하는 특정 조합을 매일 준비했습니다. 그래서 에니그마가 적의 손에 들어가더라도 매일 올바른 구성을 입력하지 않으면 메시지를 해독하는 데 아무런 역할도 하지 않았다.

그들은 히틀러의 전체 군사 캠페인 동안 수수께끼를 풀기 위해 적극적으로 노력했습니다. 1936년 영국에서는 이를 위해 최초의 컴퓨팅 장치 중 하나(튜링 머신)가 제작되었으며, 이는 미래 컴퓨터의 원형이 되었습니다. 그의 임무는 동시에 수십 개의 에니그마의 작동을 시뮬레이션하고 도청된 나치 메시지를 실행하는 것이었습니다. 그러나 Turing의 기계조차도 때때로 메시지를 해독할 수 있었습니다.

공개 키 암호화

그 중 가장 인기있는 것은 기술 및 컴퓨터 시스템의 모든 곳에서 사용됩니다. 그 본질은 원칙적으로 두 개의 키가 있다는 것입니다. 그 중 하나는 공개적으로 전송되고 두 번째는 비밀(비공개)입니다. 공개 키는 메시지를 암호화하는 데 사용되며 개인 키는 메시지를 해독하는 데 사용됩니다.

공개 키는 단위와 숫자 자체를 세지 않고 제수가 두 개뿐인 매우 큰 숫자인 경우가 가장 많습니다. 이 두 제수는 함께 비밀 키를 형성합니다.

간단한 예를 살펴보겠습니다. 공개 키를 905로 설정합니다. 제수는 숫자 1, 5, 181 및 905입니다. 그러면 비밀 키는 예를 들어 숫자 5*181이 됩니다. 너무 쉽게 말씀하시는 건가요? 공개번호가 60자리 숫자라면? 많은 수의 제수를 계산하는 것은 수학적으로 어렵습니다.

좀 더 현실적인 예로 ATM에서 돈을 인출한다고 상상해보십시오. 카드를 읽을 때 개인 데이터는 특정 공개 키로 암호화되고 은행 측에서는 비밀 키로 정보를 해독합니다. 그리고 이 공개 키는 작업마다 변경할 수 있습니다. 그리고 가로채는 경우 키 제수를 빠르게 찾을 수 있는 방법이 없습니다.

글꼴 지속성

암호화 알고리즘의 암호화 강도는 해킹에 저항하는 능력입니다. 이 매개변수는 모든 암호화에서 가장 중요합니다. 분명히 모든 전자 장치에서 해독할 수 있는 단순 치환 암호는 가장 불안정한 암호 중 하나입니다.

현재까지 암호의 강도를 평가할 수 있는 통일된 표준이 없습니다. 이것은 힘들고 긴 과정입니다. 그러나 이 분야에서 표준을 만든 많은 위원회가 있습니다. 예를 들어 NIST USA에서 개발한 고급 암호화 표준 또는 AES 암호화 알고리즘에 대한 최소 요구 사항입니다.

참고로 Vernam 암호는 가장 잘 깨지는 암호로 인식됩니다. 동시에 알고리즘에 따르면 가장 간단한 암호라는 장점이 있습니다.