무차별곡선 예제

나는 아기 단계 거대한 단계 스크립트와 폴라드의 로스크립트를 무차별 스크립트와 함께 네 번째 스크립트에 넣어 그들의 공연을 비교하기로 결정했습니다. 그런 다음 두 번째 부분에서는 RSA (및 모듈 형 산술을 기반으로하는 다른 암호 시스템)가 잘 작동하는 경우 왜 타원형 곡선 암호화가 필요한지 묻는 질문에 대답하려고 합니다. 베이비 스텝 거인 단계는 « 중간에 만남 »알고리즘입니다. 우리가 $Q 달러를 찾을 때까지 모든 $x $에 대한 모든 포인트를 $xP 계산하도록 강제 하는 무차별 대입 공격과는 달리, 우리는 $bP $에 대한 « 몇 가지 »값과 $Q 대한 « 몇 가지 »값을 계산합니다 – amP$는 우리가 서신을 찾을 때까지. 이 알고리즘은 다음과 같이 작동합니다: 곡선은 MOV 공격과 유사하게 작동하는 이전 FR 공격에 모두 취약하므로 Weil 또는 Tate 페어링(각각)을 사용할 수 있습니다. RSA 알고리즘은 소수의 수학을 기반으로합니다. 그것의 보안은 처음에이 숫자를 곱하기의 용이성에 대해, 두 개의 큰 소수의 제품을 팩터링의 잘 설립 된 어려움에 의존한다. ECC는 타원 곡선의 수학에서 가져온 유사한 아이디어를 사용합니다. 타원 곡선 암호화를 끊기 위해 무차별 대입 공격을 사용하는 예 의 마지막 게시물에서 우리는 두 가지 알고리즘, ECDH 및 ECDSA를 보았고, 우리는 타원 곡선에 대한 이산 로거리hm 문제가 보안에 중요한 역할을하는 방법을 보았다. 그러나, 당신이 기억한다면, 우리는 이산 로그리트 문제의 복잡성에 대한 수학적 증거가 없다고 말했습니다 : 우리는 그것이 « 어렵다 »고 믿지만 확신 할 수는 없습니다. 이 게시물의 첫 번째 부분에서, 우리는 오늘날의 기술로 실제로 얼마나 « 하드 »의 아이디어를 얻기 위해 노력할 것입니다.

나는 베이비 스텝 거대 단계 알고리즘을 사용하여 개별 로그 ariarithms를 계산하는 파이썬 스크립트를 만들었습니다. 분명히 그것은 단지 작은 순서와 곡선에서 작동: secp521r1와 함께 그것을 시도 하지 마십시오, MemoryError를 수신 하려는 경우가 아니면. 이 시리즈를 즐겼으면 좋겠어요. 저의 목표는 오늘날 타원 곡선 암호화가 무엇인지 이해하기 위한 기본 지식, 용어 및 규칙을 제공하는 것이었습니다. 내 목표에 도달하면, 당신은 지금 기존의 ECC 기반의 암호 시스템을 이해하고 « 너무 부드러운 »문서를 읽고 지식을 확장 할 수 있어야합니다. 이 시리즈를 작성할 때, 나는 많은 세부 사항을 건너 뛰고 간단한 용어를 사용할 수 있지만, 그렇게함으로써 웹이 제공하는 것을 이해할 수 없었을 것이라고 느꼈습니다. 나는 단순성과 완전성 사이에 좋은 타협을 발견했다고 믿는다. 이 시리즈를 읽음으로써 보안 ECC 암호 시스템을 구현할 수 없습니다: 보안은 우리가 많은 미묘하지만 중요한 세부 사항을 알아야 한다는 점에 유의하십시오. 스마트의 공격과 소니의 실수에 대한 요구 사항을 기억하십시오 – 이들은 안전하지 않은 알고리즘을 생성하는 것이 얼마나 쉽고 이를 악용하는 것이 얼마나 쉬운지 가르쳐야하는 두 가지 예일 뿐입니다. 또한 단계 의 수를 보면: 무차별 힘은 각 로고리헴을 계산하기 위해 평균 5193 단계를 사용했다.

This entry was posted in Non classé. Bookmark the permalink.

Comments are closed.