본문 바로가기

Python25

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.
scapy를 이용한 간단한 스니퍼 구현하기. 소스코드. ※ 부가 설명 1. count: 패킷을 캡처하는 횟수를 지정함. 0이면 사용자가 중지할 때까지 캡처한다. 2. store: 캡처한 패킷을 저장할 것인지 아닌지를 지정 네크워크 모니터링만 원하면 0으로 지정한다. 3. prn: 캡처한 패킷을 처리하기 위한 함수를 지정한다. 지정ㅎㄴ 함수의 인자는 캡처한 패킷으로 정해짐. 4. filter: 스니핑 수행 시간을 지정. 이 시간이 지나면 스니핑을 종료 5.iface: 네트워크 인터페이스를 지정. 실행결과 2020. 2. 6.