SSC
·
CS/Algorithm
SSC : Strongly Connected ComponentSCC : Maximul Subset of Nodes s.t., all Nodes are Reachable from Each OtherHow do you find them?Strongly Connected라는건, 양쪽 방향으로 가는 길이 있다는 것이다.어디서 잡든 다른 노드로 가는 길이 있고, 다시 돌아오는 길이 있다. SSC의 간단한 예시는 cycle 한 노드가 여려 곳에 속하지는 않음만약, 두개의 SCC가 한 노드를 공유한다고 생각하자. -> 그러면 결국 이 두개는 한개의 SCC이다. 따라서 두 컴포넌트가 그냥 합쳐지기 때문에 한 노드를 공유하는 순간 하나의 SCC가 된다.  Let's DFSDFS를 해서 Tree 가 여러개 나왔다고 가정하..
암호화 통신
·
Hacking/Cryptography
터널링인터넷을 사적이며 안전한 네트워크의 일부로 사용하는 기술내부 네트워크 : 데이터의 기밀성을 위한 전용 회선 필요임대회선 사용 : 고비용기존의 인터넷을 임대회선처럼 전용 회선으로 사용 : VPN -> PPTP, L2TF, IPSec, SSL등 암호화 프로토콜 사용 IPSec3계층의 암호화 프로토콜IPv6에서 필수 요소로 운영체제의 일부로 설정되어 있음너무 과도하게 기술적이라는 단점이 있음라우터, 개인 단말 컴퓨터, 침입 탐지 시스템 등에 설치될 수 있음 IP계층 헤더 + IPSec헤더 + 암호화된 IP 데이터 형태로 된다. 내부 네트워크 안에서는 그냥 전송됨*IPSec헤더는 암호화에 필요한 정보 IPSec 주요 기능IKE (키 관리) : 상호 인증 및 대칭키 공유 설정, 두 컴퓨터 간의 보안 연결(S..
암호 프로토콜 활용
·
Hacking/Cryptography
정보 은닉 | 스테가노그래피감추어진 기록 : 정보가 전송된다는 사실을 숨기려는 의도워터마크 : 식별자를 원본에 첨가스테가노 그래피 : 정보 은닉 / 비밀 채널워터마크유래  : 편지지의 제작사를 표시하기 위해 편지지에 투명 무늬를 희미하게 프린트한 것을 워터마크라고 부른 데서 시작함디지털 음악 정보 속에 저작권과 관련된 식별 정보 삽입 : 불법적인 재패보의 책임 식별 가시 워터마킹 : 보이는 것ex) 종이로 출력해 판매되는 문서의 페이지 전체에 옅은 색으로 소유권을 가진 회사의 로고 / 지폐투명 워터마킹 : 보이지 않는 것ex) 영상이나 오디오 파일 등 미디어 파일 내에서 인지되지 않는 상태로 삽입 스테가노그래피미리 정해진 약속을 통해 원래의 것과는 전혀 관련 없는 데이터를 약속에 맞춰 이용하여 은밀한 정..
Bitcoin
·
Hacking/Cryptography
암호화폐제 3의 신뢰기관을 사용하지 않고, P2P 네트워크를 기반으로 화폐의 안전성 보장분산 네트워크 환경 기반 : 중앙 기관, 중개 기관 또느느 신뢰기간 등이 필요없으므로 이들에 대한 비용 부담(수수료) 없음화폐의 이중 사용방지를 위해서 P2P 기반 Blockchain 개념을 처음으로 도입한 전자화폐BItCoin 프로그램을 설치한 사용자는 누구나 사용 가능최초로 50비트코인 발행암호화폐의 특징은은행과 같은 제3의 신뢰기관을 필요로 하지 않는다블록체인을 이용해서 안전성을 보장한다거래 과정A -> B 송금A가 생성한 거래 정보 + 전자 서명 (증명) P2P 네트워크에 있는 모든 사용자에게 거래 정보가 broadcasting 됨이 사용자들은 해당 거래가 A가 만든 것임을 확인승인된 거래 정보가 모아져서 블록..
[전자상거래] SET 프로토콜
·
Hacking/Cryptography
전자 지불 시스템 : 신용카드 결제 / 전자 화폐전자 지급 거래선불형 : 전자 화폐 / 선불카드직불형 : 전자 자금 이체, 직불 카드후불형 : 신용카드. 휴대폰 소액 결제, 전자 채권 신용카드 방식이 가장 흔하게 사용됨신용카드 번호를 판매자에게 제공하면 신용카드사들로부터 지급 받고 신용 카드사가 구매자에게 청구하는 형식 사용자가 제공하는 신용카드의 정보가 올바른지, 상품을 지급했는지 등을 확인하기 위한 제도가 존재해야한다-> 결제 대금 예치 제도 전자 자금 결제 대행 업체(PG : Payment Gateway) ex KG 이니시스 등 온라인 신용카드 결제 국내 전자 지불 시스템지불 게이트웨이 방식 : 쇼핑몰에서 구매가 이루어지면 쇼핑몰로부터 결제 정보를 받아 은행이나 카드 회사에 연결해 거래 승일을 받는..
공개키 기반 구조(PKI)
·
Hacking/Cryptography
공개키 기반 구조 개념공개키 기반 구조 (PKI, Public Key Infrastructure)는 메시지의 암호화 및 전자서명을 제공하는 복합적인 보안 시스템 환경공개키 암호 시스템을 사용하여 데이터의 기밀성 및 인증을 제공하는 기반 구조전자상거래를 위한 필수 요소 ex) 전자정부, 인터넷 뱅킹 등사용자는 공개키와 개인키 두 가지의 정보를 사용한다공개키는 다른 누군가에 의해서 쉽게 위변조 될 수 있다.그래서 받는 사람이 사용자가 사용하는 공개키가 자신이라는 것을 확인할 수 있어야함.즉, 공개키를 안전하게 사용할 수 있도록 제공해주는 것이 공개키 기반 구조이다. 공개키 암호 시스템기밀성 (Confidentiality) 데이터의 정보를 감춤암호 알고리즘 : ElGamal, RSA 등인증 (Authentic..
전자서명
·
Hacking/Cryptography
전자 서명전자 문서에 대한 데이터 인증 및 사용자 인증서명 생성자만 서명을 할 수 있어야함다른 누군가에 의해 위조될 수 없음서명을 생성한 것을 거부할 수 없음누구나 서명 생성자를 확인할 수 있어야함서명 -> 서명 생성자의 신원 확인, 서명의 유효성 검증, 위조 불가능성, 부인방지 공개키- 개임키 쌍이 인감 도장이 되고, 두 사람의 공개키는 공인 인증기관에 등록되고 검증되어 사용* 암호화와 서명은 목적이 다르다. 데이터의 기밀성(내용 숨김)과는 전혀 관련이 없다 S = sig(M, 개인키) : 서명은 서명 생성자만 할 수 있음M = Verify (S, 공개키) : 서명 생성자의 공개키(누구나 아는 것)으로 서명을 확인할 수 있음즉, 개인키와 공개키를 이용하여 서명의 기본 기능을 제공해준다-> 인감이 되어야..
[Key Exchange] Diffie-Hellman
·
Hacking/Cryptography
Diffie-Hellman Key Exchangep  : primeg : generator of \(Z^*_p\)a,b DLP를 이용한다.a, b는 각각 alice와 bob의 비밀키이다 해당 공개키들은 a,b 를 알 수 없다이를 통해, 둘 만 아는 단 하나의 값을 공유할 수 있게 된다.  \(g^a\), \(g^b\)가 공개되었는데, \(g^{ab}\)를 알아낼 수 있는가?불가능하다 하지만 비밀값을 안다면, \(g^{ab}\)를 구할 수 있다.  예시p = 11, g = 2 Alice : a = 5, A = \(2^5\) mod 11 = 10Bob : b = 6, B = \(2^7\) mod 11 = 7 Common key\(g^ab\) mod p =\( 2^{5 \times 7}\) mod 11 = 1..
[비대칭키 암호 시스템] RSA
·
Hacking/Cryptography
RSA EncryptionPublic keysn = p x q, where p and q are primes : 아주 긴 소수이기 때문에 n으로부터 p,q를 알아낼 수 없다e : relatively prime to (p-1)(q-1)private keyd = \(e^{-1}\) mod (p-1)(q-1) : e에 대한 역원Encryption\(C \equiv M^e mod\ n\)상대의 공개키로 암호화한다Decryption\(M \equiv C^d mod\ n\)상대의 비밀키로 복호화한다 이게 어떻게 가능한 것인가?\(M^{ed}\) mod n이 다시 M이 되는가?d = \(e^{-1}\) mod (p-1)(q-1) 이므로 \(ed \equiv 1\) mod (p-1)(q-1)인데, mod n에 대해서 ..
[비대칭키 암호 시스템] Elgamal Encryption
·
Hacking/Cryptography
대칭키 암호 시스템과 어떤 차이가 있는가?각 사용자는 2개의 키를 가지고 있다. 공개키는 모두가 알 수 있는 키이며, 개인키는 사용자만 알고 있다.  A -> B에게 암호화하여 보낼 것이다.암호화는 B의 공개키를 활용하여 암호화하여 보낼 것이다.이를 복호화할 때는 B의 개인키를 사용할 것이다.  따라서 이를 복호화하는 것은 B만 가능하다 비대칭키 암호화 방식수학적 난제를 이용Elgamal -> Discrete Logarithm 문제의 어려움RSA -> Factorizing (소인수분해) 문제의 어려움 Elgamal EncryptionPublic keyB의 공개키p : prime 엄청나게 큰 소수 선택g : generator g Y : \(Y \equiv g^x mod\ p\) -> x를 알아내기 어렵다P..