본문 바로가기

전체 글

(17)
Diffie-Hellman 알고리즘 Diffie-Hellman 알고리즘은 1976년 Whitfield Diffie와 Martin Hellman에 의해 발표된 공개키 암호화 기술 중 하나입니다. 이 알고리즘은 두 개체 간에 비밀 정보를 안전하게 교환하는 방법으로 작동합니다. 이 알고리즘은 상호 작용하는 두 개체가 공유 비밀 정보를 결합하여 대칭키를 생성하는 방식을 사용합니다. 이를 통해 대칭키 암호화를 사용하여 안전한 통신을 수행할 수 있습니다. Diffie-Hellman 알고리즘은 TLS/SSL 및 VPN과 같은 보안 프로토콜에서 널리 사용됩니다. 이 알고리즘은 공개키 기술의 개념을 도입하여 대칭키 교환 문제를 해결했으며, 이후 RSA 알고리즘 등의 다른 공개키 암호화 알고리즘의 기반이 되었습니다. (아래는 이해를 돕기 위한 간단한 예시로..
Rabin 알고리즘 Rabin 알고리즘은 공개키 암호화 알고리즘 중 하나로, RSA 알고리즘과 비슷하게 작동합니다. 이 알고리즘은 Miller-Rabin 소수 판별 알고리즘을 사용하여 랜덤한 소수를 생성하고, 이를 이용하여 키를 생성합니다. 암호화는 평문을 제곱한 뒤, 소수로 나눈 나머지를 계산하여 수행하며, 복호화는 수학적 원리를 이용하여 암호문의 제곱근 중 4개의 가능한 해 중 올바른 해를 찾아내는 방식으로 수행됩니다. Rabin 알고리즘은 RSA 알고리즘보다 빠르게 작동하며, 해독 문제의 어려움 때문에 안전성이 높습니다. (아래는 이해를 돕기 위한 간단한 예시로 작은 숫자를 활용해보았습니다) 공개키/개인키 생성 과정 1. 소수(p,q) 선택 Rabin 알고리즘은 RSA와 마찬가지로 1024비트 이상의 두 개의 서로 다..
RSA 알고리즘 RSA 알고리즘은 비대칭키 암호화 방식 중 가장 유명한 방식 중 하나이며, 1977년 로널드 리베스트(Ron Rivest), 아디 셔미어(Adi Shamir), 레오나드 아들만(Leonard Adleman) 세 명의 수학자의 앞글자를 따서 RSA로 명칭됩니다. RSA 알고리즘은 소인수분해 문제를 기반으로 하기 때문에, 현재까지 발견된 가장 안전한 암호화 방식 중 하나로 평가받고 있습니다. RSA 알고리즘은 사용되는 키 길이에 따라 명칭이 정해지는데, 주로 사용되는 RSA 알고리즘은 617자리의 RSA-2048입니다. (아래는 이해를 돕기 위한 간단한 예시로 작은 숫자를 활용해보았습니다. 실제 사용되는 RSA는 2048비트의 숫자이며, 출력되는 암호화 결과는 보통 Base64 형태로 표현됩니다.) 공개키/..
공개키&개인키 방식의 암호화 암호화의 진화, 비대칭키의 등장 기존의 대칭키 방식은 암호화와 복호화에 동일한 키를 사용하기 때문에, 키가 유출될 경우에는 보안성이 크게 약화될 수 있습니다. 또한 대칭키 방식은 상대방에게 키를 전달해야하는데, 이 과정에서 중간자 공격 등의 위협이 발생할 수 있습니다. 이러한 대칭키의 한계를 극복하기 위해, 1970년대에 비대칭키 암호화 방식이 개발되었습니다. 이 방식은 암호화와 복호화에 각각 다른 키를 사용하여, 키를 교환하는 과정에서 발생할 수 있는 위협을 최소화할 수 있습니다. 따라서, 비대칭키 방식은 대칭키 방식보다 안전하고 효과적인 암호화 방식으로 인정받고 있습니다. 비대칭키의 장점은 다음과 같습니다: 보안성 향상: 대칭키는 암호화와 복호화에 같은 키를 사용하기 때문에, 키가 유출되면 해독될 위..
블록체인 용어 정리 - 3 (사이드체인, 스테이트 채널, 롤업, 플라즈마, 발리디움) Layer 2 L2에 대표적으로 사이드체인(Sidechain)과 L2 솔루션(스테이트 채널, 롤업, 플라즈마, 발리디움)이 있습니다. 사이드체인 사이드체인은 메인 체인과 양방향 브릿지로 연결된 블록체인을 의미합니다. 사이드체인은 메인 체인 기준으로 외부에 연결된 블록체인으로 오프체인 구조입니다. L1에 연결된 L2 블록체인은 사이드체인에 해당하며, 위의 인터체인 예시에서 코스모스의 Hub & Zone 구조의 블록체인에서 Zone은 Hub의 사이드체인이 됩니다. 따라서 L1인 이더리움을 기준으로 봤을 때, 사이드체인은 이더리움을 확장하거나 개선하기 위한 L2 솔루션이 아닌, L2 프레임워크가 됩니다. 사이드체인은 L1의 메인체인과 다른 블록 생성 주기나 크기를 가질 수 있습니다. 대표적인 사이드체인으로 이..
블록체인 용어 정리 - 2 (크로스체인, 인터체인, 브릿지) Layer 0 L0에 대표적으로 크로스 체인(Cross Chain), 인터체인(Interchain), 브릿지가(Bridge) 있습니다. 크로스 체인은 하나의 블록체인 네트워크에서 다른 블록체인 네트워크로 정보, 암호화폐, NFT 등을 교환하는 기술과 프로토콜을 의미합니다. 크로스 체인을 통해 블록체인 간 상호 운용성이 이루어집니다. 인터체인은 크로스 체인을 구현하는 프레임워크를 제공하며, 서로 다른 블록체인 간에 상호운용성을 달성하기 위한 기술적 구현입니다. 브릿지는 크로스체인을 구현하기 위한 구체적인 기술 중 하나입니다. 브릿지는 두 개 이상의 독립적인 블록체인을 연결하여 자산이나 데이터를 전송합니다. (주로 크로스체인 브릿지로 불립니다) 크로스 체인과 인터체인 모두 서로 다른 블록체인을 연결하기 위한..
Hyperledger Indy SDK 맥북(M2) 환경에서 구동하기 Hyperledger Indy 공식 Docs를 보면 다음과 같이 SDK 관련된 예시 파일 구동하는 것에 대한 과정이 있습니다. 윈도우 환경이라면 빌드나 도커 사용에 문제가 없지만, 맥북에서 도커 이미지를 빌드하면 자동적으로 ARM64으로 환경이 설정되어 문제가 발생합니다. 공식 Docs에 제공된 예시는 리눅스 환경에서 작성되었기 때문에 AMD64으로 도커 이미지를 빌드해야됩니다. 이점 유의해서 기본 설정을 변경하면 문제 없이 Hyperledger Indy SDK 튜토리얼 파일을 구동할 수 있습니다 :) 1. Indy SDK 클론 터미널을 열어 다음과 같이 코드를 입력합니다 git clone https://github.com/hyperledger/indy-sdk.git cd indy-sdk code . 으..
자주 사용하는 블록체인 단어 A to Z 안녕하세요, 자주 사용되는 블록체인 용어를 알파벳 순으로 정렬해서 정리해보았습니다. Active Wallet 블록체인에서 해당 기간 내 한 번이라도 트랜잭션이 발생한 지갑, 혹은 주소를 뜻합니다. 일일 활성지갑 수와 같은 지표를 통해 간접적으로 매일 얼마만큼의 유저가 활동하고 있는지 확인할 수 있습니다. Address 주소는 한 유저를 식별하는 데 사용되는 알파벳과 숫자로 이루어진 문자열로 나타내는 공개키입니다. Airdrop 기존 암호화폐 소유자들에게 무상으로 코인을 배분하여 지급하는 행위로, 주식에서 '무상증자'와 유사한 개념입니다. AMM (Automated Market Maker) MM은 자동화된 시장 제조업자를 의미하며, 분산형 거래소에서 사용되는 거래 메커니즘입니다. AMM은 예치된 자산의 유..