목록분류 전체보기 (105)
또 뭐하지
VPC 네트워크 구성 이해VPC(Vitrual Private Cloud): 클라우드 서비스 내 논리적으로 독립된 가상의 네트워크사용자 IP대역, 인터페이스, 서브넷, 라우팅 테이블, 인터넷 게이트웨어, 보안 그룹, 네트워크 ACL 등을 생성/수정, 제어할 수 있음 - 기본 VPC : AWS에서 미리 생성, 1개- 사용자 VPC : 사용자가 수동으로 생성, 최대 5개 VPC 특징- 확장성 : vpc 자원을 생성, 수정, 삭제 가능, 편의성 제공- 보안 : 보안그룹과 네트워크 ACL 제공- 사용자 중심 : 관리 시각화 더할 수 있음 VPC 실습: 사용자 VPC를 생성하고, 서브넷(Subnet)으로 퍼블릭과 프라이빗 대역을 구분 사용자 VPC : 10.0.0.0/16퍼블릭 서브넷 : 10.0.0.0/24 프라..
풀이치환 암호화라는 것을 확인하고 주어진 로마자 암호문을 살펴보면 wi, wo, okize 같이 반복되는 것을 확인할 수 있다. 그리고 주어진 한국어 명사들도 뜻들이 반복되는 것 (밤, 불, 장난 遊 등)을 보아 그냥 하나하나 맞춰봐야할 것 같다. 그나마 확실한 단어불장난 -> hiasobi야유 -> yoasobi로 맞춰보면2. seokize = hiasobi (C)3. wiokize = yoasobi (E)인 것을 알 수 있다. 이를 바탕으로 나머지를 추측해보자.1. hizese -> _obihi -> 불로 끝나니까 불똥이겠지 tobihi (B)4. witogu -> yo_ a _ _ -> 밤으로 시작하니까 밤바람 yokaze (A)5. woneehe -> ya_ii_i -> 소거법으로 (D) yam..
풀이from Crypto.Util.number import getPrime, isPrime, bytes_to_longfrom flag import FLAGdef getSafePrime(n): while True: p1 = getPrime(n) p1 = 122925338396977892377812264658939951801210314312238212067059595148447406166769716855936119104014353481162826500622396956338370238037713303129667973570418205129792800094492802512333202767609745542480301632710243676880179931490273979269048908..
N, M = map(int, input().split())card = [int(x) for x in input().split()]max = 0for i in range(len(card)): for j in range(i+1,len(card)): for k in range(j+1,len(card)): sum = card[i] + card[j] + card[k] if max
# 1 -> 6 -> 12 -> 18 -> 24# 1 (1+0*6) --> 1개# 2~7(1+1*6) --> 2개# 8~19(7+2*6) --> 3개# cnt+1 ~ cnt + flg*6 --> flg+1개N = int(input())cnt = 1flg = 0while N > cnt : flg += 1 cnt += flg*6print(flg+1)
풀이제공된 prob.txt 파일을 확인을 해보니 엄청 긴 문자열이 있었는데 base64 인코딩이 된 것 같아서 한 번 디코딩을 해봤다.디코딩을 했는데 또 엄청 긴 문자열이 나오는데 ==으로 끝난다. 딱 한 번만 더 디코딩을 해보자.여전히.. base64 인코딩된 문자열 같다.while True : code_bytes = str.encode('ascii') decoded = base64.b64decode(code_bytes) str = decoded.decode('UTF-8') if str.startswith("DH"): print(f"Decrypted flag: {str}") break설마하는 마음으로 반복문을 걸어봤다. 플래그 형식에 맞는 문자열이 나오면 ..
풀이#!/usr/bin/env python3from cipher import STREAMimport randomif __name__ == "__main__": with open("flag", "rb") as f: flag = f.read() assert flag[:3] == b'DH{' and flag[-1:] == b'}' seed = random.getrandbits(16) stream = STREAM(seed, 16) print(f"encrypted flag > {stream.encrypt(flag).hex()}")문제의 prob.py 코드를 살펴보면 flag를 암호화하는 것을 확인할 수 있다. 이때 seed를 랜덤 16비트로 사용하고 있고, 그 seed를 S..