public-keys
공개 키는 누구와도 공유할 수 있으며 디지털 서명의 진위 여부를 확인하거나 데이터를 암호화하는 데 사용되는 암호화 키입니다.
공개 키는 공개 키 암호화의 기본이며 키 쌍의 절반을 형성합니다. 나머지 절반은 비밀로 유지해야 하는 개인 키입니다. 공개 키는 해당 개인 키에서 수학적으로 파생됩니다. 연결된 개인 키로만 해독할 수 있는 데이터를 암호화하는 데 사용됩니다. 블록체인 컨텍스트에서 공개 키는 사용자가 암호화폐 또는 기타 디지털 자산을 수신할 수 있는 주소 역할을 합니다. 또한 사용자가 해당 개인 키로 생성된 디지털 서명을 통해 디지털 자산의 소유권을 확인할 수 있도록 합니다.
공개 키는 일반적으로 긴 문자열로 표시됩니다. 시스템의 보안은 공개 키에서 개인 키를 파생시키는 수학적 어려움(일방향 함수)에 달려 있습니다. 다양한 암호화 알고리즘(예: ECDSA, RSA)은 서로 다른 키 형식과 길이를 사용하며, 이는 시스템의 보안 및 성능에 영향을 미칩니다.
graph LR
Center["public-keys"]:::main
Pre_cryptography["cryptography"]:::pre --> Center
click Pre_cryptography "/terms/cryptography"
Pre_asymmetric_encryption["asymmetric-encryption"]:::pre --> Center
click Pre_asymmetric_encryption "/terms/asymmetric-encryption"
Center --> Child_wallet_address["wallet-address"]:::child
click Child_wallet_address "/terms/wallet-address"
Rel_private_keys["private-keys"]:::related -.-> Center
click Rel_private_keys "/terms/private-keys"
Rel_digital_signatures["digital-signatures"]:::related -.-> Center
click Rel_digital_signatures "/terms/digital-signatures"
Rel_hashing["hashing"]:::related -.-> Center
click Rel_hashing "/terms/hashing"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧠 지식 테스트
🧒 5살도 이해할 수 있게 설명
Think of a [public key](/ko/terms/public-key) like your home mailbox address. Anyone can see it and drop a letter (encrypted message) in, but only you have the special key ([private key](/ko/terms/private-key)) to open the mailbox and read the letters.
🤓 Expert Deep Dive
Public keys are the public component of an asymmetric key pair, generated using algorithms like RSA, ECC (Elliptic Curve Cryptography), or Diffie-Hellman. In RSA, the public key consists of an exponent 'e' and a modulus 'n' (product of two large primes), used for encryption (C = M^e mod n). Decryption requires the private key, which includes the exponent 'd' derived from the prime factors of 'n'. The security relies on the difficulty of factoring 'n'.
In ECC, public keys are points on an elliptic curve, derived by scalar multiplication of a base point (G) with the private key (k): Q = k * G. Verification of a signature (created using the private key 'k') involves checking an equation using the public key 'Q', the message hash, and random nonces, leveraging the difficulty of the Elliptic Curve Discrete Logarithm Problem (ECDLP).
Public keys are essential for establishing secure communication channels (e.g., TLS/SSL), verifying digital signatures, and managing cryptocurrency wallets. The concept of a "trust anchor" is crucial in PKI, where a root certificate's public key is implicitly trusted, and subsequent certificates are verified hierarchically. Vulnerabilities can arise from weak key generation, improper implementation (e.g., side-channel attacks), or the eventual threat of quantum computers breaking current asymmetric algorithms, necessitating research into post-[quantum cryptography](/ko/terms/post-quantum-cryptography).