전체 글140 3DES로 파일 암호화 하기. 3DES를 이용하여 텍스트 파일을 읽어 모든 내용을 암호화하고 이를 파일로 저장하는 코드를 구현 해보자. 전체 소스코드. 상세 코드 설명 makeEncInfo(self, filename)은 filename으로 지정된 파일 크기를 구하고 파일 크기가 8바이트 배수가 아닐 경우 8바이트 배수로 만들기 위해 추가할 '0' 문자열 구성한다. 그리고 추가할 문자 '0'의 개수에 대한 정보를 헤더로 만들고 헤더, 그리고 추가할 '0' 문자열을 리턴한다. 암호화 로직 소스코드 분석. enc(self,filename)은 filename으로 지정된 파일 내용을 1KB씩 읽어서 3DES로 암호화 한 후에 새로운 파일을 저장한다. 암호화 된 내용을 저정할 파일 이름은 .TXT파일을 지정에 .TXT 확장자 뒤에 .enc 확장.. 2020. 4. 26. Python을 이용한 스트림 암호 구현 스트림 암호로 구현하기. Pycryptodome은 스트림 암호를 위해 ARC4 알고리즘을 제공한다. ARC4는 Alleged RC4를 의미한다. 스트림 암호는 보통 8비트 단위로 암호화를 수행하는데 암호 블록 크기는 1바이트이다. 온영 모드로는 ECB모드만 사용 가능하므로 IV는 필요가 없다. 따라서 ARC4 암호는 암호키만 정의되면 1문자 이상의 임의의 메시지에 대해 암호화, 복호화가 가능하다. 소스코드. 해당 코드를 살펴보면 코드 자체는 매우 단순하다. ARC4 모듈을 이용하여 단문 메시지를 암호화,복호화하는 코드이다. 주요 부분만 설명하자면 MYRC4라는 이름으로 클래스를 정의하고 이 클래스의 생성자는 인자로 전달받은 key를 key.encode()를 이용하여 바이트 문자열로 변환한 값을 self... 2020. 4. 25. ELK STACK 개념 ELK(Elastic Search LogStash Kibana) 로그의 중요성 - 데이터의 처리를 디비를 통해 알 수 도 있지만, 조금 더 명확하고 세세한 상황을 보기 위해서는 로그 분석이 필수적입니다. 로그처리를 하다보면 대규모 서비스 경우에는 하루에 수십기가가 넘는 로그가 쌓이는 경우가 있다. 이런 서비스 같은 경우는 로드밸런싱을 하게 된다 서버도 각각 나뉘어 있으면 로그를 하나하나 다 열어봐야하는 상황이 생긴다. 그래서 로그를 한 곳으로 집중시키고 분석하고 적당한 쿼리를 만들어 원하는 데이터를 도출 해낼 수 있는 로그 관리 솔루션이 있는데, 요즘 추세로는 ELK Stack을 사용합니다. 로드밸런싱: 부하 분산이라고도 한다. 컴퓨터 네트워크 기술의 일종으로 둘 혹은 셋이상의 중앙처리장치 혹은 저장장치.. 2020. 4. 22. 리버싱 기초- 간단한 C코드로 코드분석 여기 아주 매우 그것도 엄청 실눈떠도 무슨 코드인지 아는 유아 수준의 간단한 코드가 있다. 보통 사람이 해석하기 편한 언어를 High Level Language라고 부른다. disas를 이용하여 main()를 disassemble하였다. 여기서 코드하나하나가 어떻게 동작하는지 살펴보자. 먼저 rbp값을 push해준다 그 다음 mov로 rsp값과 rbp값을 같게 해준다. 여기서 rsp가 시작지점이다. 그 다음 sub를 이용하여 0x10 만큼의 크기를 뺴준다. 그리고 16byte 공간에 C에서 선언한 변수들이 들어간다. 그 다음 0x5를 [rbp-0x4]만큼 떨어진 곳에 4byte 크기로 넣어준다 여기서 DWORD는 4byte이다. 똑같이 0xa를 [rbp-0x8]만큼 떨어진 곳에 4byt 크기로 넣어준다... 2020. 4. 17. 이전 1 ··· 6 7 8 9 10 11 12 ··· 35 다음