전체 글

·JAVA
기존에 설치해놓은 17 버전을 삭제하고 새 버전인 21으로 재설치하려고 한다. 참고로 안정화된 LTS(장기 지원 서비스)버전을 설치하는 것을 추천한다.자바 9, 10, 12~16, 18~20 은 LTS 버전이 아니기 때문에 LTS 버전인 자바 8, 자바 11, 자바 17, 자바 21 중 하나 설치 추천.  1. JDK 제거 먼저 윈도우의 설정 > 시스템 > 앱 으로 들어가면 위와 같이 이전에 설치해놓은 자바를 볼 수 있다.여기서 우측 버튼을 눌러 제거해주면 끝!  2. JDK 설치오라클 사이트 접속 : https://www.oracle.com/java/technologies/downloads/?er=221886#jdk21-windows 여기서 자신의 운영체제에 맞는 버전으로 설치하면 되고, 중간의 x64..
·Linux
새 가상머신에 gcc가 안깔려 있어서 터미널이 안내한대로 sudo apt install gcc를 입력했더니 다음과 같은 오류 문구가 1초마다 1줄씩 무한 루프로 나왔다..  같은 오류 문구를 마주한 적이 있어서 이전에 블로그 글도 써놓았었는데, 이렇게 같은 문구가 1초마다 무한루프로 출력되는 경험은 처음이었다.그냥 다 꺼버리고 이번엔 sudo apt update를 해보고 다시 시도했는데도 같은 오류가 발생했음 혹시 몰라서 sudo apt-get install gcc 를 입력하니까 정상적으로 설치가 진행되었다!
·Cryptography
prob.py#!/usr/bin/env python3from Crypto.Cipher import DESimport signalimport osif __name__ == "__main__": signal.alarm(15) with open("flag", "rb") as f: flag = f.read() key = b'Dream_' + os.urandom(4) + b'Hacker' key1 = key[:8] key2 = key[8:] print("4-byte Brute-forcing is easy. But can you do it in 15 seconds?") cipher1 = DES.new(key1, DES.MODE_ECB) cipher2 =..
·Cryptography
** 드림핵 cryptography 로드맵 기반으로 작성  고전 암호?컴퓨터와 같은 고성능 연산 장치가 발명되기 전에, 비교적 간단한 기계와 손 등으로 암복호화를 수행하던 암호대부분 컴퓨터를 사용하면 쉽게 복호화되기 때문에 현대에는 사용되지 않음치환(Substitution) : 평문의 문자를 다른 문자로 바꾸는 것전치 (Transposition) : 평문 문자들의 위치를 바꾸는 것단순한 고전암호는 한 가지 원이만을 사용하는 치환 암호 또는 전치 암호이고, 복잡한 고전 암호는 두 원리를 모두 사용!치환 암호는 여기서 단일 문자 치환 암호 (Monoalphabetic substitution cipher) 와 다중 문자 치환 암호 (Polyalphabetic substitution cipher) 로 나누어진다..
·Cryptography
메르센 트위스터는 널리 사용되는 의사 난수 생성기(PRNG)이다.이 PRNG는 32bit 정수를 생성하고, 내부적으로는 624개의 상태를 유지하며 이 상태를 기반으로 새로운 난수를 생성한다.이 PRNG의 특징은 높은 주기 (2^19937-1)와 좋은 통계적 성질을 가진다.그러나 624개의 연속된 출력을 보면 다음 출력을 정확하게 예측할 수 있게 된다는 특징이 있다.  따라서 이를 바탕으로 작성된 아래의 프로그램은 624개의 연속된 출력을 관찰하고, 그 이후의 출력을 예측한다.중요한 점은 초기 seed나 시작 위치에 관계없이 작동한다는 것! 프로그램은 입력된 숫자들을 디코딩하여 내부 상태를 복구한 후, 그 상태를 바탕으로 이후의 출력을 예측한다.  https://gist.github.com/Rhomboid..
·Cryptography
** 드림핵 cryptography 로드맵을 기반으로 작성하였음 암호학이란?암호학은 정보를 보호하기 위한 언어학적 및 수학적 방법론을 다루는 학문현대에는 컴퓨터에 대한 의존도가 높아지면서 네트워크를 통해 민감한 정보가 빈번하게 오가게 되었고, 자연스레 컴퓨터 환경에서 암호학은 매우 중요한 역할을 담당하게 됨메신저를 개발할 때는 메세지를 도청 및 감청으로부터 보호해야하며, 사용자의 비밀번호를 보관할 때는 해킹으로부터 안전하도록 암호화해서 저장해야 함실제 상용 프로그램에 쓰이는 암호 알고리즘의 특징을 이해하고, 안전한 서비스를 개발하기 위해 어떤 암호 기술을 사용해야 하는지 이해해보자.암호학은 정수론, 대수학, 확률론 등 다양한 수학 이론에 기반하므로 자세한 이해를 위해서는 대학 수준의 수학 지식이 필요할 ..
여백 ::
The Orbit of Midnight Oil