공개 키는 .NET 어셈블리에서 해독하는 데 어떻게 사용됩니까?

StackOverflow https://stackoverflow.com/questions/670615

  •  21-08-2019
  •  | 
  •  

문제

.NET 서명 어셈블리는 공개 키가 포함되어 있지만 공개 키는 RSA의 암호화에 사용됩니다. 그러면 .NET은 서명 된 어셈블리의 암호 해독을 위해 공개 키를 어떻게 사용합니까?

자, 서명 된 어셈블리에는 해시가 포함되어 있지만 해시는 공개 키가 아닌 개인 키를 사용하여 암호화됩니다. 따라서 .NET 개인 키의 이유와 방법은 암호화 및 암호 해독을위한 공개 키에 사용됩니다. Rsacryptopad와 같은 모든 소프트웨어는 암호화를 위해 암호화를 위해 공개 키를 사용한다는 것을 의미합니다.

도움이 되었습니까?

해결책

공공-민간 키 쌍은 전체 어셈블리를 암호화하는 데 사용되지 않습니다. 대신 익숙합니다 징후 어셈블리.

어셈블리와 같은 파일에 서명하려면 약간 단순화하고 파일 해시를 가져 와서 개인 키로 해시를 이행합니다. 파일을 사용하는 사람은 파일 자체 해시를 직접 작성한 다음 공개 키를 사용하여 암호화 된 해시를 해독 하여이 두 해시를 확인하여 서명을 확인합니다. 이것은 두 가지를 증명합니다.

  1. 어셈블리는 개인 키로 제작 된 WHO에서 나온 것입니다.
  2. 어셈블리를 해제했을 때 해시가 된 해시가 현재와 동일하기 때문에 어셈블리는 다른 사람에 의해 변경되지 않았습니다. 서명 된 어셈블리를 변경할 수는 없으며 개인 키가 필요한 암호화 된 해시를 변경해야하므로 아무도 변경할 수 없습니다.

디지털 서명에 대한 자세한 내용이 있습니다. 이 위키 백과 기사.

공공-민간 핵심 쌍의 가장 큰 장점은 그들이 어느 쪽이든 일한다는 것입니다. 따라서 개인 키로 암호화 된 것이 공개 키로 만 해독 될 수 있지만 공개 키로 암호화 된 것이 개인 키로 해독 될 수 있습니다. 이 후자는 누군가가 당신에게 무언가를 보내고 싶다면 당신만이 당신만이 당신의 자유롭게 사용할 수있는 공개 키로 암호화 할 수 있지만 개인 키로 당신만이 그것을 해독 할 수 있다는 것을 의미합니다.

키는 쌍으로만 작동하기 때문에 암호화 비대칭 - 다른 사람은 단순히 공개 키로 수행 한 암호화를 단순히 귀하에게 메시지를 전 할 수 없습니다.

다른 팁

아이디어는 서명만이 될 수 있다는 것입니다 만들어진 사용 사적인 열쇠, 그러나 그 후에는 누구나 공공의 키 캔 확인 서명. 서명에는 암호 해독이 필요하지 않습니다-서명은 단순히 일반 텍스트 어셈블리에 추가됩니다.

어셈블리 서명의 목적은 소스를 확인하는 것입니다. 내가 내 집회에 서명한다면, 당신에게 그것을 보내면, 당신은 그것이 나에게서 온 것이라고 합리적으로 확신해야하며, 길을 따라 변조되지 않았다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top