본문 바로가기

전체 글140

DLL(Dynamic Link Library) DLL이란? (Dynamic Link Library) 라이브러리 (Library) (Dynamic Link Library을 알아보기 전 라이브러리가 무엇인지 먼저 집고 넘어가자.) ▶ 소프트웨어 개발에서 자주 쓰고 기초적인 함수들을 중복 개발하는 것을 피하기 위해 표준화된 함수 및 데이터 타입을 만들어서 모아 놓은 것. 즉, 자주 사용되는 표준적인 함수를 매번 직접 작성해서 사용하는 것은 지나치게 시간 소모적이므로 표준화할 수 있는 함수를 미리 만들어서 모아 놓은 것. ▶ 라이브러리를 한 번 구축해 놓기만 하면 다시 만들 필요없이 불러서 사용할 수 있으므로 개발 속도도 빨라지고 신뢰성도 확보할 수 있다. ▶ 이런 라이브러리는 언제 메인 프로그램에 연결하느냐에 따라서 Static Link와 Dynamic .. 2020. 3. 27.
Python으로 AES 구현하기 AES는 키 크기가 128,192,256bit 와 블록 암호 크기가 128bit로 구성되어있는 대칭키 암호 알고리즘이다. 소스코드. 실행결과. 2020. 2. 21.
python을 이용한 암호문 단독 공격 구현하기. 암호문 단독 공격 유형은 암호문 이외에 어떠한 정보도 없기 때문에 공격자에게 가장 까다로운 암호 공격 방법이다. 따라서 공격자는 전수 조사 방식인 brute-force-attack을 사용한다. 텍스트 문장이 암호화된 것이라면 사용된 문자 빈도수 분석을 통해 암호문 해독을 시도하게 된다. UGAMKZMBSMGQAVCUJMZBPZMMNQDMWVMBPZMM 만약 우리가 위에서 처럼 암호문을 우연히 발견했다고 하자. 이 암호문 이외 다른 정보는 아무것도 없다. 우리는 이 암호문의 현상을 보고 카이사르 암호문이라고 가정하자. 카이사르 암호는 평문을 구성하는 모든 문자를 특정 크기만큼 이동하여 만든 암호문인데. 이 암호문을 해독하기 위해서는 모든 문자를 1~26까지 차례대로 이동시켜 보면된다. 소스코드 실행 결과... 2020. 2. 6.
sniff()함수를 이용한 패킷 스니퍼 구현하기. 지난 시간때 scapy를 이용하여 간단한 스니퍼를 구현해보았다. 이번 시간에는 scapy에서 제공하는 sniff()함수를 이용하여 패킷 스니퍼를 구현해보자. 소스코드. ※ 부가 설명. sniff()가 캡처한 패킷을 MAC 주소 계층인 데이터링크 계층부터 TCP/DUP 계층까지 보여준다. 1. packet : sniff()가 캡처한 패킷임 prn 인자로 지정된 함수의 인자로 전달함. 2. packet[0][0] : MAC 주소 계층임. 3. packet[0][1]: IP 계층임. packet[IP]로도 접근 가능함. 4. packet[0][2]: TCP, UDP, ICMP 계층임. 각각 packet[TCP], packet[UDP], packet[ICMP]로 접근이 가능함. IP 계층의 src,dst의 값을.. 2020. 2. 6.