컴퓨터, 안전
디피 - 헬만 알고리즘 : 약속
분명히, 몇 사람의 오늘 사용하여 데이터를 안전하지 않은 통신 채널을 통해, 상상 어떤 알고리즘 디피 - 헬만을. 사실, 많은 사람들이 이해하고 필요하지 않습니다. 그러나, 컴퓨터 시스템의 사용자는, 그래서 이것은 다치게 할 수 없어 이해하기 더 호기심, 말을합니다. 특히, 키 교환 디피 - 헬만은 정보 보안과 암호화의 문제에 관심이있는 사용자에게 유용 할 수 있습니다.
디피 - 헬만의 방법은 무엇입니까?
우리는 아직 기술 및 수학 세부 사항으로 이동하지 않고 알고리즘 자체의 문제에 접근한다면, 우리는 암호화 및 정보의 해독 전송 및 보호되지 않은 통신 채널의 사용과 데이터의 교환을 포함하는 두 개 이상의 컴퓨터의 사용자 나 다른 시스템간에 송수신하는 방법으로 정의 할 수 있습니다.
이 알 수있는 바와 같이, 보호 채널의 부재에서 차단하거나 전송 및 수신하는 과정에서 파일을 수정하고, 공격자가 수 있습니다. 그러나, 액세스를위한 키 분배 디피 - 헬만 송신 및 침해가 거의 완전히 제거 될 수 있도록 데이터를 수신한다. 등록이 통신 정보를 통신 채널 양측 모두 동일한 키를 사용하는 경우 (이들의 보호없이) 안전해진다.
선사 시대
알고리즘 디피 - 헬만은 다시 1976 년 세계에 소개되었다. 그것의 제작자 Uitfrid 디피 마틴 헬맨, 될 소위 공개 키 분배 시스템을 개발 랄프 머클의 작업을 기반으로 안전하고 신뢰할 수있는 데이터 암호화 방법의 그의 연구에서 사람.
는 Merkle 독점적으로 이론적 인 기초를 개발한다면, 디피와 헬먼 대중에게이 문제에 대한 실질적인 해결책을 제시했다.
간단한 설명
사실, 테스트는 현재이 분야에서 많은 전문가를 놀라게하는 암호화 암호화 기술을 기반으로합니다. 암호 선집은 꽤 오랜 역사를 포함하고 있습니다. 전체 프로세스의 본질은 두 당사자, 전자 우편, 또는 컴퓨터 프로그램의 도움으로 일부 데이터를 교환하여이 있다는 것을 확인하는 것입니다. 하지만 방어는 디피 - 헬만 알고리즘 자체가 암호 해독 키 (송수신) 두 당사자로 알려진 것을 요구하는 방식으로 이루어집니다. 이 초기 난수를 생성하는 이들의 절대적 중요하지 않은 경우 (키 계산식을 고려하면,이 점을 설명한다).
이전 기간의 데이터 암호화 방법
그것은 명확하게하기 위해, 우리는 할 수있는 가장 원시적 인 방법이 있습니다 데이터를 암호화는 대부분의 스크립트 및 오른쪽에서 왼쪽으로의 관례로, 예를 들어, 철자, 왼쪽에서 오른쪽으로되지 않습니다. 마찬가지로, 당신은 쉽게 문에서 알파벳의 문자 및 교체를 사용할 수 있습니다. 그래서 제 및 - 예를 들어, 단어, 제 네 번째 행의 두 번째 문자를 변경한다. 그 광경을보고 매우 동일한 문서는 완전한 넌센스 일 수도있다. 그러나 순서는 특정 문자를 배치해야하는지에 읽을 수있는 사람에 따라, 소스 코드를 쓴 하나. 이것은 키라고합니다.
정지는 undeciphered 텍스트와 고대 수메르와 이집트의 설형 문자 기록의 대부분은 때문에 문자의 원하는 순서를 설정하는 방법을 모른다는 사실의 암호화-분석가 이해되지 않습니다.
그리고 우리의 경우 - 디피 - 헬만의 변형은 암호 해독 키는 제한된 수의 사용자에게 알려져 있다고 가정합니다. 그러나, 여기 그들이 문자의 치환 또는 교체를 해결할 수 있는지를이 유형의 암호화 된 데이터의 송신에 간섭이 제삼자에 의해 침해 할 수 있기 때문에, 예약하는 것이 필요하다.
여기에는 AES 등의 알고리즘을 기반으로 충분히 강력한 암호 지금 거기에있는 것은 물론되지만 제 3 자 데이터를 해킹에 대한 보호의 전체 보증을 제공하지 않습니다.
자, 이제 우리는 대부분의 암호화 시스템, 실용적인 응용 프로그램과 보호의 정도에 초점을 맞 춥니 다.
디피 - 헬만 알고리즘 : 약속
하여 다른 일방의 전송시 데이터의 개인 정보 보호뿐만 아니라, 안전하게 수령을 제거하기 위해뿐만 아니라 보장하기 위해 알고리즘을 만들었습니다. 대략 이러한 전송 시스템은 통신 가능한 모든 채널에 대한 완전한 보호를 확인해야합니다, 말하기.
리콜, 모든 동맹국의 지능이 실패로 인코딩 된 메시지를 전송하는 "수수께끼"라는 암호화 기계에 대한 사냥 제 2 차 세계 대전 동안 모스 부호를. 결국, 그것은 암호 것도, 우리가 암호화에서 "고급"전문가에 대해 얘기하고 심지어는 방법을 해결하지 없습니다. 그 캡처는 독일 해군에 의해 전송 된 메시지를 해독의 열쇠를 얻은 후에 만.
디피 - 헬만 알고리즘 : 개요
따라서, 알고리즘은 몇 가지 기본 개념의 사용을 포함한다. 두 당사자 (사용자가) 연결에있을 때 우리는 가장 간단한 경우를 가정 해 봅시다. 우리는 A와 B로를 나타냅니다
그들은 두 개의 숫자를 사용 X 및 Y는, 상기 핸드 오버를 제어하기 위해,이 통신 채널에 비밀이 아니다. 질문의 전체 본질은 열쇠가 될 것입니다 값의 새로운 종류의 자신의 기준으로 만들려면 아래로 비등. 그러나! 첫 번째 호출은 큰 사용하는 소수, 처음보다 위해 항상 정수 (분할 가능), 그러나 낮은 - 그리고 두 번째.
물론, 사용자는이 숫자가 비밀로 유지하는 것에 동의합니다. 채널이 안전하지 때문에, 두 숫자는 알려진 및 기타 이해 당사자가 될 수 있습니다. 같은 메시지에 사람들이 메시지를 해독하는 비밀 키를 교환하는 이유입니다.
키를 계산하는 기본 공식
디피 - 헬만 비대칭 암호의보고가 있었다있는 소위 대칭 암호화의 시스템을 의미한다고 가정한다. 우리가 키 호스트 당사자의 계산의 주요 측면을 고려한다면, 적어도 대수을 기억해야합니다.
따라서, 예를 들어, 가입자들 각각은 임의의 수 (A 및 B)를 생성한다. 그들은 사전에 알고도 필요한 소프트웨어에 "수 놓은"할 수있다 x와 y의 값.
전송하거나 메시지를 수신하면 상기 제는 처음 사용자에게 해독 키의 전송 다음에 B = X B 모드 (Y)의 조합을 사용하는 반면, 가입자 A는 화학식 A = X 개조 Y에서 시작하여, 키 값을 계산한다. 이 첫 번째 단계이다.
이제 해당 제삼자가 처리 모두 A와 B의 계산 된 값에 가지고 있다고 가정 모두 같은 두 번째 단계는 공통 키를 계산하는 방법을 알고 있기 때문에, 그것은, 데이터를 전송하는 과정에 개입 할 수 없다.
위의 공식에서, 당신은 공통 키 계산에 머물 수 있습니다. 당신은 디피 - 헬만의 예를 보면 다음과 같이 보일 수 있습니다
1) 화학식 B A 개조 Y = X 구간 개조에 의해 X에 기초하여 제 가입자 키 계산 예를;
2) 둘째로, 초기 번호 Y에 기초 네트워크 프로토콜 옵션 B에 따라 제조 된 기존의 파라미터 (A)로부터 키 정의 A B 개조 Y = X BA를 Y 개조.
당신이 볼 수 있듯이, 최종 값은 순열도가 일치하는 경우에도. 그들이 말하는대로 따라서 쌍방에 의해 데이터를 복호화는 공통 분모로 감소된다.
데이터 전송 과정에서의 개입에 취약점
예상 할 수 있듯이, 타사의 개입이 배제되지 않는다. 그러나,이 경우에는 처음 10 (100), 또는 심지어 10,300의 수를 지정한다.
그것은 오늘의 것도 수 자체를 할 수없는 (제외 전송 시스템의 개입에 대한 초기 및 최종이 아닌 중간 옵션이) 결정하기 위해 암호 또는 접근 코드 생성기를 만들 수 없습니다하는 것은 말할 필요도 없다. 그것은 지구상의 생명이 끝날 너무 많은 시간이 걸릴 것이다. 그러나, 보안 시스템의 격차는 여전히 존재한다.
대부분의 경우 그들은 이산 대수의 지식과 연결되어 있습니다. 이러한 기술은 균열 경우 디피 - 헬만 알고리즘 (단, 초기 및 최종 매개 변수에 대해 위에서 언급 한 바와 같이)이 될 수있다. 또 다른 한가지는 지식의 단위를 가지고 있다는 것입니다.
자바 플랫폼에 대한 알고리즘을 사용하여
디피 - 헬만 알고리즘은 독점적으로 "클라이언트 - 서버"와 같은 호소와 함께 자바에서 사용된다.
즉, 서버는 연결 클라이언트 시스템이 아직되지 않고 있습니다. 이 연결되면,이 공용 또는 개인 키를 찾고에 대한 알고리즘의 성능이며, 다음 사용자는 서버 자체의 모든 기능과 데이터에 대한 전체 액세스 권한을 얻을 수 있습니다. 때때로 이것은 심지어 모바일 시스템에서 사실이다, 그러나,이 매우 소수의 사람들이 알고, 더 실행 스크립트의 형태로 보이지 않는 모드에서 작품의 집행 부분이.
플랫폼 C의 알고리즘을 사용하여 (+ / ++)
당신이«C 형»(+ / +)의 디피 - 헬만을 보면, 다음 그래서 부드러운 없다. 사실은 종종 문제가 있음을 때 자신이 부동 소수점과 관련된 언어를 프로그래밍 계산으로 대부분의 작업을. 정수 값을 설정할 때 왜, 또는 (심지어 반올림하려고 할 때 즉 지수)를 컴파일시에 문제가있을 수 있습니다. 특히 그것은 오용 INT 함수에 관한 것이다.
그러나, 원칙적으로, 작업 클래스, 같은 지수 또는 관련 부착 GMP 라이브러리를있는 실행 가능한 구성 요소의 나머지 부분에주의를 기울이고 가치가있다.
현대 암호화 알고리즘
디피 - 헬만, 아무도 할 수 이길 여전히 것으로 생각된다. 사실, AES128 및 AES256 등의 데이터 암호화 분야에서의 보호와 같은 알려진 시스템의 출현을위한 기초 역할을 누가 그는이었다.
추상의 숫자의 가용성에도 불구하고 연습 쇼는, 인간이 인식되지 않는 그러나, 이러한 유형의 사용의 시스템 (더 이상) 처음 다스의 값 있지만, 알고리즘 자체의 대부분은 백만 배의 숫자를 의미한다.
대신 에필로그의
일반적으로, 아마,이 시스템을 구성하고 알고리즘 구성 요소가 무엇인지 무엇인지 이미 분명하다. 그것은 단지 그것이 완전히 거의 아무도 사용하지 같은 큰 잠재력 부여되는 추가 남아있다.
충분히 명확 알고리즘의 다른 손과 취약성에. 직접 판단 : 사실, 이산 로그를 계산하는 프로그램을 작성, 사용자가 설정 한 초기 매개 변수뿐만 아니라, 암호화 및 암호 해독 시스템에서 생성 된 공개 키에뿐만 아니라 액세스 할 수 있습니다 작성자의 거의 모든.
가장 간단한 경우 심지어 이동 통신에서 사용할 수있는 자바 애플릿의 실행 파일의 설치를 만들기에 충분하다. 물론, 사용자는 그것에 대해 알 수 없습니다 만, 그 데이터는 사람을 악용 할 수 있습니다.
Similar articles
Trending Now