술집에서 제시 할 수있는 매우 기본적인 비대칭 암호는 무엇입니까?


30

Bitcoin의 기본 사항을 부모님 께 설명하려고합니다.

비트 코인의 핵심 구성 요소 중 하나는 신원을 가장 할 수 없도록 트랜잭션에 서명하여 단순화 된 비대칭 암호를 설명해야합니다.

예제로 사용할 수있는 매우 간단한 비대칭 암호는 무엇입니까?

이 단순화 된 암호를 서명에 어떻게 사용할 수 있습니까?


17
펍에서 비트 코인에 대해 이야기하기 위해 왜 암호화에 들어가야합니까? 내 이해에 따르면 비트 코인은 분산 원장을 유지 관리하는 문제를 해결하고 특히 이중 지출 문제를 피합니다. 동기 부여는 중앙 권한을 갖지 않는 것이며, 이는 각 참여자가 트랜잭션을 승인하도록 허용하여 (은행에이 권한을 부여하는 대신) 달성 할 수 있습니다. 적대적인 참가자가 자신의 무효 거래를 승인하지 않도록 작업 증명 개념이 도입되었습니다. 공개 키 암호화에 대해 말할 필요가 없습니다.
Ariel

@Ariel Ariel에서 Ryan으로 3 BTC를 보내는 사람이 실제로 Ariel임을 알고 싶을 때 공개 키 암호화 또는 최소한 디지털 서명이 들어옵니다.
Derek Elkins

1
그렇습니다. 그러나 이것은 비트 코인에 국한되지 않으므로 부모님은 혼란 스러울 것입니다.
Ariel

1
비대칭 암호화, 블록 체인 또는 비트 코인을 설명 할 수 있습니다. 하나를 선택.
Raphael

2
이 질문은 암호화에 더 적합 할 수 있습니다 .
Raphael

답변:


28

부모 또는 친구에게 공개 키 암호화를 제시하려면 몇 가지 지침을 따르는 것이 좋습니다. 첫째, 특정 기능에 대해 이야기하지 말고, 아무도 SHAxxx에 관심이 없으며 대화를 개념적으로 유지하십시오. 공개 키 암호화로 해결 된 문제는 전에 만난 적이없는 두 당사자가 공개 채널에서 정보를 안전하게 교환 할 수 있도록하는 것입니다. 디지털 서명 또는 인증과 같은 공개 키 암호화로 달성 된 다른 응용 프로그램과 이것을 혼동하지 마십시오.

내가 본 이것의 간단한 설명은 다음과 같습니다. 두 당사자가 버킷과 여러 색상을 가지고 있고 특정 비밀 컴파운드에 동의하고 싶다고 가정하십시오. 그들은 특정 화합물과 함께 양동이를 서로 보낼 수 있지만 보낸 모든 것은 악의적 인 적에게 노출됩니다. 밑줄 가정은 색상 혼합이 쉽지만 혼합물을 성분으로 분해하는 것은 어렵다는 것입니다. 이 가정 (공식적인 측면과 쉽게 연결됨)을 통해 목표를 달성 할 수 있습니다. 공개 색상 를 선택하고 양 당사자가 비밀 색상을 선택하도록 허용하십시오 . S 1 , S 2로 표시하십시오 . 그런 다음 첫 번째 당사자는 P , S 1 의 혼합 버킷을 보냅니다.PS1,S2P,S1. 유사하게, 제 2 당사자의 혼합물을 함유하는 통 송신 . 마지막으로, 각면은 자신이받은 혼합물에 자신의 개인 색을 추가하고, 이제 두 당사자는 P , S 1 , S 2 의 혼합물 을가집니다. 공식적인 버전은 Diffie-Hellman 키 교환 프로토콜이며, 이산 로그의 경도에 의존합니다.P,S2P,S1,S2

이제 비트 코인 프로토콜에 대한 이해가 제한적이지만 부모와 대화 할 때 암호화에 들어갈 이유가 없습니다. 필자가 보았던 대부분의 일반적인 설명은 불필요하게 구현 세부 사항을 탐구하고 결과 에 실제 문제의 시력을 잃어버린 수가 0 이되도록 해시의 사전 이미지를 찾는 것에 대해 이야기하기 시작 합니다. 이전과 마찬가지로 대화를 개념적으로 유지하는 것이 좋습니다. 비트 코인은 어떤 문제를 해결하려고하는데 왜 사소하지 않습니까? 내 이해에 따르면 비트 코인은 분산 원장을 유지하는 문제를 해결합니다. 특히 이중 지출을 피하십시오.x문제. 동기는 중앙 권한을 갖지 않는 것이며, 이는 각 참여자가 트랜잭션을 승인하도록 허용하여 (은행에이 권한을 부여하는 대신) 달성 할 수 있습니다. 적대적인 참가자가 자신의 무효 거래를 승인하지 않도록 작업 증명 개념이 도입되었습니다. POW는 해시를 블랙 박스로 사용하므로 특정 후보를 언급하지 않아도됩니다.


비트 코인은 이중 지출 문제 (블록 체인을 통해 발생하는 "작업 증명"알고리즘이 필수적 임)와 전송 요청의 분산 인증 (이미 논의 된 경우가 거의 없기 때문에 덜 자주 논의 됨)을 해결합니다. -비대칭 키를 통한 메시지 인증과 같은 문제 해결)
Jules

15

내가 사용하는 일반적인 은유는 많은 자물쇠를 제조하고 모든 열쇠를 보관하며 열린 자물쇠를 원하는 사람에게 보내는 것입니다. 그런 자물쇠가있는 사람은 비밀 메시지를 상자에 넣은 다음 자물쇠 중 하나를 사용하여 잠그기 전에 비밀 메시지를 보낼 수 있습니다. 아무도 있지만 열쇠는 없으므로 발신자조차도 잠긴 후 상자를 잠금 해제 할 수 없습니다. 특히 우편 서비스는 메시지를 전혀 스누핑 할 수 없습니다. 그들은 심지어 당신에게서 자물쇠를 가지고있을 수도 있지만, 상자를 잠금 해제하는 데 도움이되지는 않습니다.

(비트 코인 설명에 실제로 유용한 지 여부에 대한 특별한 의견없이 언급 된대로 귀하의 질문에 대답하기 위해이 예제를 제공합니다.)


1
이것은 비대칭 암호화에 대한 유용한 설명이지만 비트 코인이 실제로 필요한 작동 방식을 설명하는 데는 서명 확인 이 있습니다. 반대로 서명 을 열 때 깨지는 자물쇠가 있고 필요한 사람에게 키를 보냅니다. 그들. 그런 다음 메시지를 보낼 때 상자에 넣고 자물쇠를 놓아 열쇠를 가진 사람이 나에게 보냈다고 말할 수 있습니다.
Jules

@Jules이 설명이 정말 마음에 들며 탬퍼 씰과 비슷합니다.
Ryan The Leach

7

비대칭 암호를 설명 할 때의 문제 (그리고 대부분의 팝 설명이 실제로 어떤 것도 설명하지 못하는 이유)는 계산 복잡성의 배후에있는 아이디어 중 하나 인 난해한 문제가 있다는 생각과 관련이 있다는 것입니다.

일단 그 점을 알게되면, 비대칭 암호는 계산하기 쉽지만 반전하기 어려운 것으로 생각되는 함수일뿐입니다. 직접 만들 수도 있습니다. Diffie-Hellman 키 교환 원래 구현을 참조하십시오.


3
That's not the whole story. It has to be hard to invert unless you have the private key.
Ben Millwood

+1 for Diffie-Hellman. It is a simple enough protocol to explain, which corresponds to the colors example.
Ariel

4

쉽게 설명 할 수있는 비대칭 암호화 시스템이 없다고 생각합니다. 대신 어떻게하는지 설명 하지 말고 설명 하십시오. 실제로 PGP의 작동 방식을 설명하기 위해 최근에이 작업을 수행해야했습니다. BitCoin의 경우 메시지 서명에 두 번째 부분에 집중하십시오.

두 개의 관련 숫자를 만들 수 있습니다. 하나는 개인 키 라고하고 다른 하나는 공개 키라고 합니다. 나는 첫 번째 비밀을 지키고 두 번째는 모두에게 말한다. 나에게 메시지를 보내려는 사람은 누구나 공개 키를 가져 와서 메시지를 암호화합니다. 이 작업이 완료되면 아무도 보낸 사람뿐만 아니라 메시지를 해독 할 수 없습니다. 메시지를 받으면 개인 키로 해독 할 수 있습니다.

또는 개인 키로 메시지를 암호화하고 암호화 된 메시지와 암호화되지 않은 메시지를 다른 사람에게 보낼 수 있습니다. 공개 키가 있으면 메시지의 암호화 된 부분을 해독 할 수 있으며 암호화되지 않은 부분과 동일합니다. 이것은 내가 메시지를 암호화 한 사람임을 나타냅니다.

키 생성 방법을 묻는다면

나는 두 개의 매우 큰 소수를 생각한 다음 수학 함수를 통해 변환합니다. 개인 키와 공개 키를 뱉어냅니다.

물론 이것은 비대칭 암호화가 일반적으로 메시지 자체 대신 세션 키 (암호화) 또는 해시 (서명 검증)에서 작동하지 않는다는 사실을 강조합니다. 또한 개인 키를 개인 키로 유지 해야 한다는 매우 중요한 요구 사항도 무시합니다. 액세스 권한이있는 모든 사람이 사용자 인 것처럼 가장 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.