전체 46

[정보보호] 블록암호와 DES

이번 글에서는 블록암호(Block Cipher)의 개념과 구조, 그리고 그 대표 사례인 DES(Data Encryption Standard)를다루어 보겠다.블록암호란?블록암호는 말 그대로 고정된 크기의 블록 단위로 데이터를 암호화하는 방식이다.블록 크기: 보통 64bit 또는 128bit입력을 일정 크기로 쪼개 암호화스트림 암호는 bit 단위로 처리하는 것과 대조됨암호 구조 비교스트림 암호비트·바이트 단위 암호화RC4블록 암호고정된 블록 단위 암호화DES, AES Feistel 구조DES뿐 아니라 많은 블록암호가 사용하는 구조로 “블록을 두 개로 나누고, 오른쪽을 함수에 넣어 왼쪽과 섞어주는 구조”이다. Feistel 라운드 구조입력을 L(왼쪽), R(오른쪽)으로 분할R을 F 함수에 넣고, L과 XOR..

CS/정보보호 2025.11.24

[정보보호] 암호학을 위한 정수론 기초

이번 포스팅에서는 정보보호, 암호화방식 등 앞으로 배우게 될 DES, AES, RSA, ECC 등을 이해하는 데 필수가 되는 정수론(수론) 기반 개념을 정리해보겠다! 내용은 학교 수업 교재를 바탕으로 작성하였다. 난 공부하면서 암호학을 위한 이 정수론 개념을 이해하는게 제일제일 어려웠었다...암호화를 배우려면 정수론을 왜 알아야될까?? 현대 암호 알고리즘들은 모두 수학적 성질에 기반한다.RSA → 소수, 오일러 φ(n), 모듈러 연산Diffie-Hellman → 이산대수ECC → 유한체 GF(p), GF(2ᵐ)즉, 정수론을 모르면 공개키 암호의 핵심 수학이 이해되지 않는다. RSA, DH, ECC 등은 이후에 다룰 것이다! 일단 정수론에 대해 알아봐보자.가분성과 약수정의 정수 a가 b로 나누어떨어질 때,..

CS/정보보호 2025.11.21

[infra/terraform] AWS 자동 배포 과정 정리!

지난 글에서는 AWS 네트워크(ALB, VPC, 서브넷, SG)까지 살펴봤다.이제 드디어 개발자가 main에 Push → AWS에서 자동으로 배포되는 “전체 자동 배포 파이프라인”을 정리해본다.내가 이번 프로젝트에서 구축한 방식 그대로이며, 실무에서 가장 많이 쓰는 구조기도 하다.전체 흐름 요약개발자가 main에 Push ↓GitHub Actions 실행 (deploy.yml) ↓Docker 이미지 생성 ↓ECR에 Push ↓ECS(Fargate) 서비스 업데이트 ↓Fargate가 새 컨테이너 실행 ↓ALB 헬스체크 → 정상 컨테이너에만 트래픽 연결이제 단계별로 설명해보자.개발자가 main에 Push 그냥 평소처럼 코드를 작성하고main 브랜치에 pu..

개발/infra 2025.11.21

[infra/terraform] aws 네트워크 구조 - ALB, VPC, 서브넷, 보안그룹

지난 글까지 Docker 이미지가 생성되고, ECR에 저장되고, ECS(Fargate)가 실행해서 컨테이너가 뜨는 과정까지 살펴봤다.그런데… 컨테이너가 떠 있다고 해서 바로 외부에서 접속되는 건 아니다. 중간에 반드시 이해해야 할 AWS 네트워크 구조가 있다.이 글에서는 AWS 네트워크를 구성하는 4개의 핵심 요소 — VPC, Subnet, Security Group, ALB를 한 번에 정리해보겠다! VPC (Virtual Private Cloud)란?VPC는 AWS 안에서 나만 사용하는 독립 네트워크 공간이다. 내가 쓰는 AWS 자원(EC2, RDS, ECS 등)은 전부 “VPC 안에만” 존재한다. 이걸 집으로 비유하면:VPC = 아파트 단지그 안의 건물, 방, 주차장 = AWS 리소스들VPC가 있으..

개발/infra 2025.11.21

[infra/terraform] ECR이란?

지난 글에서는 EC2 / ECS / Fargate가 어떤 차이인지 알아봤다.이제 실제로 컨테이너를 “어디에서 가져와서 실행하냐?”라는 질문이 생긴다. 그게 바로 ECR이다!도커 배포 과정에서 가장 많이 등장하는 단어이니 정확히 개념을 잡아두면 전체적 흐름을 이해하는 속도가 훨씬 빨라진다.ECR이란?“ECR = AWS가 제공하는 Docker 이미지 저장소(레지스트리)”이다. 도커 이미지를 올려두는 전용 GitHub 같은 공간이라고 생각하면 된다. ECR을 쓰는 이유는 아주 간단하다:ECS / Fargate가 이미지를 ECR에서 가져다가 실행하기 때문AWS 내부망에서 pull → 속도 빠르고 안정적IAM 기반으로 보안 제어하기 쉬움CI/CD(GitHub Actions)와 연동하기 쉬움즉, 배포에서 “이미지 ..

개발/infra 2025.11.21

[infra/terraform] ec2와 ecs, fargate

지난 글에서는 Docker가 무엇인지 정리했다. 이제 본격적으로 AWS에서 도커를 “어디서, 어떻게” 돌릴지 알아보자. AWS에서 서버를 돌리는 방법을 크게 나누면1) EC2 위에 직접 애플리케이션을 올리는 방식2) ECS 같은 컨테이너 오케스트레이션을 사용하는 방식으로 볼 수 있다.그리고 ECS 안에서도 컨테이너를 실제로 어디서 돌릴지에 따라- ECS on EC2 모드- ECS on Fargate 모드로 나뉜다.그래서 실무에서 자주 듣는 이름이 바로 이 세 가지다EC2 (서버 자체를 직접 운영)ECS (컨테이너를 관리하는 서비스)Fargate (ECS가 컨테이너를 '서버리스'로 실행하는 방식)이 세개에 대해 아래서 더 다뤄보겠다! EC2란?EC2를 한 줄로 표현하면 “리눅스 서버 한 대를 빌리는 것”이..

개발/infra 2025.11.19

[infra/terraform] 도커가 뭘까?

오랜만에 포스팅을 시작한다! 클라우드 배포를 하다 보면 “도커 이미지”, “컨테이너”, “ECR”, “ECS” 이런 단어들이 계속 등장한다. 그런데 처음엔 이게 뭔지 감이 잘 안 잡힌다.. 어디선가 들어봤지만 제대로 뭘 하는지는 잘 모른다.나도 백엔드 배포하면서 ‘도커가 어떻게 돌아가고 ec2는 뭐하는애지?’ 라는 궁금증이 많아서 이번에 제대로 정리해봤다.도커란?도커는 “앱 + 실행환경을 하나로 묶어서 어디서든 똑같이 실행되게 만드는 기술”이다. 즉 도커는 개발환경과 서버와 간극을 없애주는 친구인 것이다.예전 방식(도커 없던 시절)개발환경은 Java 17서버는 Java 8서버 A는 잘 되는데 서버 B는 라이브러리 충돌운영환경에 올리면 갑자기 오류 발생도커 방식실행환경을 아예 이미지 안에 포함이미지 안에 ..

개발/infra 2025.11.19

[Github] 깃꾸를 해보자

이번 포스팅은 깃꾸를 해보려한다. sql 시험이 끝나서 개강 전까지는 이렇게 라이트한 포스팅만 간간이 올릴 예정이다~~ 예~ 깃허브 완성본우선 내 깃허브 완성본을 보여주고 내가 뭐뭐 썼는지 말해주겠다. 내 깃허브도 하단에 링크 달아두게따. 내 깃허브 리드미에서 코드 봐도 무방하다~일단 깃팜이 정말 귀여운듯하다. 근데 쟤네는 먼기준으로 생기는거지? 그리고 햄스터랑 펭귄 왜케많지 근데 확실히 깃꾸한게 더 간지난다. 그럼 이제 깃꾸 시작하는법, 내가 쓴 거를 하나씩 말해주겠다. 깃꾸 시작하는 법우선 새로운 레파지토리를 만든다 이때 내 아이디이름과 같은 레파지토리를 만들고, 퍼블릭 + 리드미 추가 하면 된다.꼭 위와 같이 ✨스페셜✨ 요런거 떠야된다 그래야 깃꾸된다그리고 이제 깃꾸하면 된다. 아래처럼 코드 쓰는곳..

그 외 2025.08.29

[UMC] 나의 애착동아리 UMC 7기, 8기

대학교 들어와서 제일 열심히하고 의미있고 많은 추억과 사람들을 만나게 해준, UMC에서의 챌린저 및 회장으로 1년동안 활동했던 소감을 포스팅해보려한다! 수고했다 내자신UMC에 들어온 이유! ( + 회장을 맡게 된 이유)나는 현재 한국항공대학교 소프트웨어학과 3학년에 재학 중이며, 3학년 2학기 개강을 일주일 앞둔 대학생이다.2학년 1학기 때, 전공 수업만으로는 제 경험과 지식이 부족하다고 느껴 IT 동아리를 찾던 중 친구가 UMC라는 동아리를 소개해 주었다. 당시 UMC는 6기였고, 그 친구는 항공대 6기 회장이었다. 그렇게 나는 처음으로 Node.js 파트를 접하며 활동을 시작했고, 우여곡절 끝에 수료를 마쳤다.이후 7기가 시작되었을 때, 6기 회장이었던 그 친구가 나에게 7기 회장을 추천해 주었다. ..

그 외 2025.08.28

[BOJ/Python] 1926번 : 그림

https://www.acmicpc.net/problem/1926문제 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로로 연결된 것은 연결이 된 것이고 대각선으로 연결이 된 것은 떨어진 그림이다. 그림의 넓이란 그림에 포함된 1의 개수이다.입력첫째 줄에 도화지의 세로 크기 n(1 ≤ n ≤ 500)과 가로 크기 m(1 ≤ m ≤ 500)이 차례로 주어진다. 두 번째 줄부터 n+1 줄 까지 그림의 정보가 주어진다. (단 그림의 정보는 0과 1이 공백을 두고 주어지며, 0은 색칠이 안된 부분, 1은 색칠이 된 부분을 의미한다)출력 첫째 줄에는 그림의 개수, 둘째 줄..

알고리즘/python 2025.08.24