소식

암호화하는 가장 좋은 방법은 공개하는 것입니까? 현대 암호화가 왜 그렇게 이상합니까?

2024-07-18

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina


사진을 클릭하시면 영상으로 이동합니다!



지금! 다섯 자리 숫자를 마음속에 떠올려 부정적인 리뷰어에게 조용히 전달하려면 어떻게 해야 할까요?

원하는 숫자가 66666 또는 12345 등이라고 가정해 보겠습니다.

불량 리뷰어의 행운의 숫자 2359를 곱해주시고, 결과의 마지막 5자리만 골라 공개화면에 입력해 주시면 어떤 숫자를 생각하시는지 알겠습니다. 준비 되었나요?


다음은 디버깅할 시간입니다. 얻은 5자리에 12039를 곱합니다. 결과의 마지막 5자리가 원하는 숫자가 됩니다. 마술처럼 보이죠?

사실, 마법에 더해 훨씬 더 인상적인 기원을 갖고 있습니다. 즉, 은행 카드, 이메일, 채팅 소프트웨어도 그것과 불가분하게 연결되어 있습니다.

그렇다면 현대 암호화와 어떤 관련이 있으며 그 원리는 무엇입니까? 왜 이렇게 설계되었나요?다양한 암호화에 대해 살펴보겠습니다!

천재 수학자의 현대 암호학 아이디어

암호화폐에 관해 이야기할 때, 우리는 그 사람을 언급해야 합니다!클로드 엘우드 섀넌.


그는 1949년에 출간된 저서 '비밀 시스템의 통신 이론'에서 암호학을 수학적으로 고전 암호학과 현대 암호학으로 나누었다. 그러나 현대 암호학 이론은 너무 기초적인 것처럼 들리기 때문에 탄생 후 30년 이상 어둠 속에 방치되었습니다.

예를 들어, 현대 암호학의 Kerckhoffs 원칙은 다음과 같습니다. 암호 시스템의 모든 사람은 암호화 방법이 무엇인지 알아야 합니다. 이것은 모두가 암호화 방법을 알고 있으면서도 여전히 그것을 연구하고 있는 것이 아닌가요?

또 다른 예는 Shannon의 완벽한 비밀 유지에 부합하는 Vernam이 제안한 일회용 패드 이론입니다. 누가 다른 사람에게 일회용 비밀번호를 사용하는 것을 견딜 수 있겠습니까? 하지만 고전 코드가 겪은 함정을 읽어보면 이러한 발언이 얼마나 합리적인지 알게 될 것입니다!

고전 암호

고전 암호학 시대에는 암호학의 개념이 비교적 모호했지만, 군사 분야에서 널리 사용되었음에도 불구하고 암호학 방식은 예술적 행위에 가깝습니다.


어쨌든, 단지 개념입니다.무작위 변화를 추측해 보세요.

농담이 아닙니다. 저널 논문에 따르면 그렇게 됩니다. Wikipedia에서는 고전 암호가 대체 암호, 시프트 암호 또는 둘의 혼합으로 요약됩니다.

하지만 ~로 정의되기보다는 ~로 요약했다는 점에 유의하시기 바랍니다. 이는 고전 암호학이 여전히 상상 속의 용어임을 보여줍니다.

예를 들어 외국인들에게 중국어 자체는 사실상 고전적인 코드이다.

예를 들어, "이름이 무엇입니까?"라는 문장을 중국어로 하나씩 바꾼 다음 항목을 이동하면 "이름이 무엇입니까?"가 됩니다. 이는 기존 비밀번호 대체 마이그레이션 요구 사항에 완벽하게 부합하지 않습니까?


물론 이런 종류의 추론은 실제로 매우 상상력이 풍부하지만 결국 고전 코드북은 상상력을 사용하여 당신이 이해하고 나도 이해하지만 다른 사람들은 이해하지 못하는 새로운 언어를 창조하는 것입니다.

예를 들어진나라 전쟁서 "육도(六道)"에 언급된 음의 부적이는 어부 장자야가 적에게 들키지 않고 전선에서 신속하게 전투 보고를 전송하기 위해 길이가 다른 낚싯대를 사용하여 전투 보고를 전송하는 방법을 발명한 것입니다. 중국의 역사 기록.


또 다른 예는 기원전 700년에 고대 그리스 군대가 다음과 같은 무기를 사용했다는 것입니다.기밀 통신을 위한 스카이테일의 로그 스틱입니다.

사용법은 다음과 같습니다.

긴 양피지를 통나무 막대기에 감고 그 위에 글씨를 쓰는데, 양피지를 풀면 그 위에 혼란스러운 문자만 남게 됩니다. 같은 굵기의 막대기에 다시 같은 방법으로 감싸야만 쓰여진 내용이 나옵니다. 볼 수 있습니다.


코난의 암호 막대는 여기서 영감을 얻었습니다.

물론 카이사르 암호, 펜스 암호 등 흥미로운 고전 암호도 많이 있습니다. . .

여기에 추가하는 것은 다재다능한 친구들에게 맡기겠지만, 고전 암호학에는 치명적인 약점이 있습니다. 바로 대칭성이 너무 높다는 것입니다. 무슨 뜻이에요?

이 대칭에는 두 가지 의미가 있습니다. 첫째, 기존 암호화의 암호화는 가역적입니다. 암호화 방법을 알면 해독 방법을 쉽게 추론할 수 있습니다. 그렇다면 고대인은 단지 고대인이고 어리석은 사람이 아닙니다. 살아있는 사람을 잡으면 이 코드를 어떻게 사용할지 알 수 있지 않을까요?


대칭의 또 다른 의미는 평문을 어떻게 대체하더라도 평문과 암호문 사이에는 항상 일대일 대응이 존재한다는 것입니다. 그러나 이 역시 언어의 사용이 규칙적이라는 큰 단점이 있습니다. .

예를 들어, 이 차트는 Pitt.com이 3조 5천억 개의 원고를 분석한 문자 및 단어 사용 빈도 분석 보고서입니다. 어떻게 대체하든, 몇 겹의 대체 단계를 거치든, 가로채는 암호문이 있는 한은 이를 보여줍니다. 너무 많으면 항상 주파수 분석 방법으로 선택됩니다.


물론, 문제가 발견되었음에도 불구하고 고전 암호학자들이 이 문제를 잘 해결하지 못한 것은 분명하며, 심지어 고전 암호학이 실제로는 효과가 없다는 것을 간접적으로 증명하기도 했습니다.

예를 들어, 제2차 세계 대전 중에고전 암호학의 정점 - 에니그마.


암호화할 때 암호화하고 싶은 평문(dianzan)을 기기 키보드에 입력하기만 하면, 불이 켜지는 것이 암호화된 암호문이다. 더욱이, 평문의 동일한 문자가 다른 암호문으로 암호화되므로 빈도 분석 방법을 효과적으로 방지할 수 있습니다.

게다가그것이 어떻게 작동하는지 아는 것조차 해독하기 어렵습니다.

이것은 어떻게 이루어 집니까?

로터 장치인 에니그마 기계의 내부로 왔습니다. 이 장치의 입력 휠 오른쪽 끝에는 키보드의 26개 문자와 연결된 26개의 접점이 있습니다.


장치의 중간 부분은 동일한 26개의 접점이 있는 여러 개의 바퀴로 구성되어 있지만 입력 휠과 다소 다릅니다. 휠 내부에는 입력 보드의 문자가 매번 통과할 때마다 복잡한 전환 메커니즘이 추가로 있습니다. 바퀴를 통해 한 번 교체되었습니다.


장치 끝에는 반사판이라는 장치가 있는데, 여기에는 여전히 26개의 접점이 있습니다. 여기 접점은 쌍으로 결합되어 수영 경기에서와 동일한 반전 지점을 형성합니다.

그리고 여기에서 문자를 다시 교환한 후에도 다시 바퀴로 돌아가서 다시 교환해야 최종적으로 출발점으로 돌아갑니다.


이로써 암호화 프로세스가 완료됩니다. 이는 여러 교체의 중첩임을 알 수 있지만 실제로 Enigma 기계에는 키보드를 누를 때마다 특수 레버 장치가 휠을 한 번 회전시킵니다. , 바퀴에는 특별한 바퀴 패턴이 있습니다. 이전 바퀴가 한 번 회전하면 다음 바퀴도 한 번 회전합니다.

이로 인해 각 문자를 누를 때 사용되는 암호화 회로가 달라지므로 주파수 분석 방법이 무효화됩니다.


또한, 작동 방식을 알고 있더라도 이러한 설계를 리버스 엔지니어링하는 것은 매우 어렵습니다.

방금 언급한 3줄의 바퀴 모양의 룰렛 바퀴가 있는 원래의 Enigma 기계를 예로 들겠습니다. 룰렛 휠의 초기 위치를 설정합니다.

또한, 안전을 위해 일련의 교환 메커니즘을 외부에 부착합니다. 즉, o와 e가 연결되어 있을 때 o를 누르면 실제로 e를 누르는 것과 같습니다.

매번 교환을 위해 무작위로 6쌍을 선택한다고 가정해 보겠습니다. 확률 이론의 알고리즘에 따르면 이러한 초기 위치에만 이미 1,700조 개가 넘는 가능성이 있습니다.


이후 세대의 에니그마 기계는 룰렛 휠의 개수를 한 번에 8개로 늘렸고, 역계산을 수행하는 데 필요한 계산량이 기하급수적으로 늘어났습니다. 컴퓨터 이전 시대에는 철저한 역방향 방법을 통해 코드를 해독하는 것이 거의 불가능했습니다. 탠 껍질.

게다가 당시의 에니그마 기계는 초기 계획을 매일 바꾸곤 했습니다. 즉, 당일에 계산을 할 수 없으면 다음 날 다시 계산된다는 의미이기도 합니다. 이는 무차별 대입 크래킹에 또 다른 수준의 어려움을 추가합니다.


하지만 제2차 세계대전에 대해 아는 친구들은 컴퓨터가 탄생하기도 전에 에니그마 기계가 결국 깨졌다는 사실을 알고 있습니다.

1940년, 컴퓨터의 아버지, 영국 수학자앨런 튜링, Enigma 기계를 해독했습니다.


그런데 방금 컴퓨터 없이는 크랙이 불가능하다고 말하지 않았나요? 이 말은 사실 맞는데 독일인들은 너무 오만하고 너무 오만해서 무슨 글을 올려도 "heil hitle"이라고 말해야 합니다.


게다가 독일인들도 보고를 좋아하고 때때로 상급자에게 다음과 같은 메시지를 보냅니다. 상급자에게 보고했는데 아무 일도 일어나지 않았습니다! 한 문장 더: heil hitle.

에티켓에 따르면 지휘관은 받았다고 대답해야 했어요 ~ 논리적으로 말하면이 큰 일을 그냥 직접보고하는 것이 좋습니다. 적어도 독일인에게는 수장의 비밀을 모두 알려줍니다. 이 Yu Zhong을 포함하여 상태를 유지해야합니다! 수수께끼가 필요합니다!

이 엄격하고 자유로운 작업을 통해 튜링은 곧 비밀과 비밀에 해당하는 많은 단서를 얻을 수 있었고, 그와 그의 동료들은 이러한 단서에 의지했습니다.고든 웰치먼그는 "Bomb Machine"이라는 암호 해독 기계를 발명했으며 실제로 Enigma 기계를 역설계했습니다.

따라서 이는 고전적인 암호와 마찬가지로 암호화 방법을 아는 대칭 암호화 방법이 복호화 방법을 알 수 있다는 것을 다시 한 번 보여줍니다. 이는 근본적으로 시간 문제일 뿐입니다.


현대 암호화

메시지를 보낸 사람은 암호화하는 방법만 알고 해독하는 방법은 모르고, 메시지를 받는 사람은 암호화하는 방법과 해독하는 방법을 모두 아는 암호화 방법이 있습니까?

사실 이것은 현대 암호학의 연구 방향 중 하나, 즉 비대칭 암호화를 구현하는 방법입니다.


이 암호화 방법은 키의 개념을 도입하고 키를 공개 키와 개인 키로 나누어 암호화에 사용하고, 개인 키는 복호화에 사용합니다. 이렇게 하면 암호화 방법이 공개되더라도 개인 키가 안전하다면 암호화 시스템이 깨지지 않습니다.

따라서 현대 암호학자의 공개 암호화 방법 실행은 실제로 암호화 시스템의 보안에 영향을 미치지 않습니다.

우리가 시작했던 마법 게임을 기억하시나요?

2359는 누구나 암호화에 사용할 수 있는 공개 키입니다. 이론적으로 복호화에 사용되는 개인 키 12039를 보호하는 한 이는 비대칭 암호화입니다.

원리도 매우 간단합니다. 공개키와 개인키를 곱하면 결과는 28400001이 됩니다. 즉, 다섯 자리 이내의 숫자에 두 개를 곱하면 00001을 곱한 것과 같습니다.


그러나 이는 분명히 애플리케이션 수준 비대칭 암호화에 충분히 안전하지 않습니다. 더 나아가려면 수학의 특수 기능을 사용해야 합니다.

~라고 불리는트랩도어 일방향 기능, 단방향 트랩도어 함수라고도 합니다. 이 함수의 전진 방향을 계산하는 것은 매우 쉽지만 뒤로 밀어내는 것은 거의 불가능합니다. 그러나 몇 가지 핵심 정보를 알고 있으면 뒤로 밀어내는 것이 매우 쉬워집니다. .

예를 들어매우 유명한 RSA 알고리즘,뱅킹, 이메일, 채팅 소프트웨어 등 숫자와 관련된 거의 모든 영역이 보호되고 있으며 단일 트랩도어 기능을 사용하는 암호화 원칙이 적절한 수준이라고 볼 수 있습니다.


암호화할 때 공개 키 데이터를 지수화한 다음 나머지를 찾아 암호문을 얻으면 됩니다. 간단한 예를 들면, 암호화할 숫자는 5이고, 공개키는 (7, 33)이다. 공개키 데이터에 따라 평문 5를 7제곱한 후 찾으면 된다. 암호문 14를 얻기 위해 모듈러스 33을 사용합니다.

암호화된 방식에 따라 일반 텍스트를 해독하려는 경우 첫 번째 단계에서 막히게 됩니다. 33에서 나머지 숫자 14를 찾을 수 있는 무한한 가능성이 있기 때문입니다. 이는 또한 일반 텍스트가 무엇인지 판단하는 것이 불가능하다는 것을 의미합니다. . 무엇.


그러나 우리가 개인 키(3, 33)를 보유하고 있다면 나머지를 찾기 위해 개인 키의 데이터에 따라 암호문을 다시 지수화하면 됩니다. 일반 텍스트를 복원할 수 있습니다 5. 이렇게 하면 암호화와 복호화 프로세스가 분리되므로 되돌릴 수 없으므로 공개 키를 통해 개인 키를 계산할 수 있습니까?

개인키와 공개키의 생성 과정을 살펴보겠습니다.

먼저 두 개의 소수를 선택합니다. 소수의 곱은 N으로 기록됩니다. 오일러 함수 ψ(n) = (p-1) * (q-1)을 통해 함수 ψ를 계산합니다. E. E는 다음을 충족해야 합니다. E 모듈로 Φ(n)의 곱셈 역수를 계산하여 1을 만족하는 개인 키를 얻습니다.

공개 키만 알고 개인 키를 계산하려면 처음 두 소수를 가져와야 합니다.

여기서 취한 소수는 모든 사람의 이해의 편의를 위해 상대적으로 작으며 일반적으로 이 소수는 매우 크므로 공개키에서 두 소수의 곱을 알 수 있다고 하더라도 우리는 두 소수를 역으로 추론하고자 합니다. 인수분해를 통해 숫자는 현재 계산 수준에 따르면 적어도 이 비디오는 천만을 초과할 것입니다.


하지만 이론적으로는 양자 컴퓨터가 작동할 수 있습니다. . Shor의 알고리즘을 효과적으로 실행하기 위해 양자 컴퓨터에서 4096개의 논리적 큐비트를 모을 수 없다면 말이죠. 그러나 양자에는 오류 수정이 필요하므로 작동하는 양자 컴퓨터에는 최소한 수백만 개의 물리적 큐비트가 필요합니다.


음, 현재 가장 발전된 것의 규모는 수십에서 수백 큐비트에 불과합니다. 이는 또한 RSA 알고리즘과 유사한 단방향 트랩도어 기능의 무차별 대입 크래킹이 기본적으로 향후 수십 년 동안 불가능하다는 것을 의미합니다.

그러므로 지금 우리에게는암호화 알고리즘은 이미 매우 강력하지만 이것이 절대적인 보안을 의미하는 것은 아닙니다.

마침내

이러한 강력한 암호화 알고리즘은 은행 카드에 있는 돈이 마음대로 변조되지 않도록 보장할 수 있기 때문입니다.

그러나 사용자의 예방의식이 강하지 않은 경우, 특정 웹사이트에 비밀번호를 입력하거나, 동일한 사용자 이름과 비밀번호로 여러 앱을 등록하는 등 해커가 무차별 대입 크랙을 시도할 가능성이 매우 높습니다.


암호학의 모든 시대를 되돌아보면 엄격한 암호학의 가장 큰 허점은 항상 사람이었던 것 같습니다.

미국 암호학자 Bruce Schneier는 "보안은 사슬과 같아서 가장 약한 고리에 달려 있다"고 말했습니다.

정보 보안의 세계에서는 기술이 높은 벽을 쌓을 수 있지만, 인간 세계에서는 감정이 보안의 가장 큰 취약점이 되었습니다.

비록 암호화가 지루하더라도 우리는 여전히 열정으로 가득 차 있으며 더 많은 사람들이 이를 알고 깨닫기를 바랍니다.경계하고 자신을 보호하십시오. 이것이 현대 암호화의 궁극적인 목표입니다.

기사 쓰기:주황색

비디오 제작:스테이션 B의 나쁜 리뷰어

아트 에디터:환옌

사진, 출처

암호화 개발 및 기술—샤오웨이(Xiao Wei)

고전 암호학—Tan Yifu, Song Peifei, Li Zichen(Beijing Institute of Graphic Arts)

수학을 잘 못하는 사람도 이해할 수 있는 알고리즘 - 테크니컬 에그선생님

카이사르 암호, 완벽한 암호화, 현대 암호학에 대한 예비 연구 - Le Zhengchuixing

단방향 트랩도어 기능 기반 암호화 알고리즘 - Guo Shushi 및 Zhang Xinyu

"암호화 기술 일러스트" - 유키 히로시 작성, Zhou Ziheng 번역

비밀번호 전쟁 - Xiaolangdibulang