본문 바로가기

분류 전체보기

(30)
[정보보호] Elliptic Curve Cryptography ECC는 타원 곡성의 특징을 기반으로 하는 public key crypto 기술(공개키, 개인키 두개 사용)로, 타원 곡선의 특성을 활용하여 작은 bit 크기의 키로도 효율적인 보안을 제공할 수 있다. 이는 비교적 최근 기술이므로 다른 암호화 기술에 비해 분석이 덜 되었지만 그럼에도 불구하고 효율성이 뛰어나다. 기본 개념 elliptic curve는 다음과 같은 식의 형태로, 위 식을 만족하는 모든 (x,y)가 집합 E(a,b)에 속한다. Finite Elliptic Curves Finite Elliptic Curves는 Zp(소수 p를 사용하여 정의된 정수 집합) 또는 GF(2^m) 상의 타원 곡선이다. ECC에서는 variable과 coefficient가 finite 한 값이어야 한다. 현재 fini..
[정보보호] ElGamal Cryptography ElGamal Cryptography는 discrete logarithm 해결의 어려움에 기반하여 finite Galois에서의 exponentiation을 쓴다. Key exchange는 Diffie-Hellman 방식으로 하고, Data encryption 과정을 추가적으로 거친다. random number k는 매번 unique 해야하고, 그러지 않은 경우 결과는 insecure 할 것이다.
[정보보호] Diffie-Hellman Key exchange Diffie-Hellman 방식은 public key distribution scheme이지, arbitrary message를 교환하는데에 사용할 수 없지만 대신 common key를 생성할 수 있다. 이 common key 값은 participant에 달려있으며, 키를 교환하는 두 participant만 값을 서로 알 수 있다. finite Galois field 내에서 exponentiation으로 생성된 암호들은 풀기 쉽지만, Diffie-hellman 방식은 discrete logarithm이 풀기 어렵다는 것에 착안하여 만들어진 키 교환 방식이기 때문에 풀기 어렵다. 이는 1 session 과정으로, 브라우저 접속 후 웹사이트 접속 시 브라우저와 서버가 통신하여 key exchange를 한다...
[정보보호] RSA RSA란 가장 많이 쓰이는 public-key scheme 중 하나로, finite Galois field 에서의 exponentiation을 기반으로 한다. 큰 소수를 곱하는 것은 쉽지만, 결과로 나온 큰 수를 다시 소인수분해 하는 것은 매우 어렵다. RSA는 이 아이디어를 이용하여 큰 정수(1024, 2048 bits 등)들을 사용해 정수를 factoring 하는데에 드는 cost를 높여 보안을 제공한다. ** 내가 여기서 생겼던 의문은 (e,n)이 public key로써 이미 알려져 있다면, d는 mod n에 대한 e의 multiplicative inverse이므로 충분히 유추될 수 있지 않냐? 라는 것이었다. 하지만 RSA에서 사용되는 수 n은 굉장히 큰 소수 p,q의 곱으로 이루어져 있고, 이 ..
[정보보호] Public-Key Cryptography Private-Key Cryptography - Private key가 sender과 receiver에게 동시에 공유되는 symmetric한 암호화 방식이다. - 모든 party들이 동등하게 정보를 나누어 가지기 때문에, receiver이 정보를 forging(위조)한 후 sender로부터 받은 정보라고 주장하는 것을 막을 수 없다. Public-Key Cryptography - 2가지의 키를 사용하는 asymmetric한 암호화 방식이다. 1) Public Key: 모두에게 공유됨 ① message encrypt ② verify signatures 하는데에 사용 2) Private Key: recipient들이 각각 가짐 ① message decrypt ② sign signatures 하는데에 사용 ▶..
[네트워크] Packet delay / Throughput / Traceroute Packet Delay 패킷은 한 호스트에서 일련의 라우터들을 거쳐 다른 호스트에 도착하는데, 이 때 크게 4종류의 지연을 겪게 된다. 1. Processing Delay Processing Delay는 패킷 헤더를 조사하고, 그 패킷을 어디로 보내는지 결정하는 시간이다. (nodal processing) 이 때 비트 수준 오류를 함께 조사하며, 처리 지연은 일반적으로 msec 이하이다. 2. Queueing Delay 각 링크에 대해 패킷 스위치는 출력 buffer을 가지고 있는데, 그 링크가 다른 패킷을 전송하고 있다면 도착하는 패킷은 출력 buffer에서 대기해야 한다. 라우터의 buffer이 가득 차 있는 경우 도착하는 패킷 또는 큐에 대기 중인 패킷이 drop되며 packet loss가 발생한다..