전체 글579 개발자로 나는 어떻게 성장해야 할까? 개발자로 나는 어떻게 성장해야 할까 Intro. 처참한 내 수준 일단 계획을 세우기 앞서 현재 내 상태를 파악하는 것이 중요하다 오늘은 내 현재 상태를 직시하고, 앞으로 어떻게 할 것인지 계획을 세우는 시간을 가지려 한다 성적으로 보는 나 전공 성적표 선형 대수학, 이산수학, 확률과 통계가 C+이다 입대 전에 받은 학점인데, 정신을 차리지 못하고 있었다 우선 순위가 흔들렸고, 갈피를 못잡아서 주변 사람에게 민폐를 끼쳤다 컴퓨터 사이언스 주요 과목 운영체제, 컴퓨터 네트워크 : A+ 데이터베이스 : A 자료구조, 알고리즘 : B+ 자료구조, 알고리즘은 같은 교수님께 들었는데, 난이도가 평이한 10문제를 푸는 시험이 출제 되는데 왠지 조금 차이로 좋은 학점을 받지 못했다 자료 구조, 알고리즘은 B+을 받았으.. ETC/Thinking 2023. 4. 23. java error release version 17 not supported Java Error Release Version 17 Not Supported Intro. 왜 발생했는가? 강의에서 11 LTS 버전과 Spring boot 3.0 이전 버전으로 설치하라고 했는데 내가 잘못 설치했다 프로젝트에서 설정된 SDK는 11인데 인텔리제이가 pom.xml에 JDK 버전을 17로 설정해뒀었다 해결 방안 이 문제를 해결하려면 프로젝트 설정에서 모듈 SDK를 Java 17로 업그레이드하거나 소스 코드의 버전을 Java 11로 낮춰야 합니다. Java 17로 업그레이드하기 Java 17을 설치합니다. 설치 방법은 Java 다운로드 페이지(https://www.oracle.com/java/technologies/javase-jdk17-downloads.html)를%EB%A5%BC) 참조하.. DEV/Backend 2023. 4. 23. 네트워크 보안 에센셜 2장 연습 문제 풀이 컴네보 2장 연습 문제 1. SpeacialForces PDF 문제 1. 2개의 키 Cryptographic과 Network Security를 이용하여 다음 메시지를 암호화 하라 1차 암호화 : cryptographic 2차 암호화 : network security 정답은 아래와 같습니다 ISRNG BUTLF RRAFR LIDLP FTIYO NVSEE TBEHI HTETA EYHAT TUCME HRGTA IOENT TUSRU IEADR FOETO LHMET NTEDS IFWRO HUTEL EITDS 1차 암호화에서는 입력 받은 키를 순서대로 적은 후 알파벳 순서대로 숫자를 부여합니다. 입력 받은 메시지는 순차적으로 입력해서 각 칸을 모두 채웁니다 알파벳 순서대로 각 줄을 정렬 한 후 2차 암호화를 시작합.. Computer Science/Security 2023. 4. 20. 공개키 기반구조(PKIX) 공개 키 기반구조(PKIX)(Public-Key Infrastructure) 공개 키 기반 구조의 정의 비대칭 암호 시스템에 기초해서 디지털 인증서를 생성하고, 관리하고, 저장하고, 분배하며 취소하는데 필요한 하드웨어, 소프트웨어, 사람, 정책 및 절차 즉 PKI 개발 목적은 안전하고, 편리하고, 효율적인 공개 키를 획득하는 것이다 PKIX 구조적 모델 종단 개체 종단 사용자, 종단 장치(서버, 라우터) 공개 키 인증서의 주체 필드에서 식별 되는 다른 개체에 대한 일반적인 용어 종단 개체는 전형적으로 PKI와 관련된 서비스를 사용하거나 지원한다 인증 기관 (CA) 등록 기관 (RA) 선택적 요소로서 CA의 행정 기능을 의뢰 받아 수행 한다 RA는 종단 개체의 등록 절차와 관련된 업무 수행 그 외 업무도 .. Computer Science/Security 2023. 4. 19. 비대칭 암호를 이용한 키 분배 비대칭 암호(공개키)를 이용한 키 분배 공개 키 암호의 가장 주요한 역할은 키 분배에 관한 것이다 공개 키 분배 대칭 비밀 키 분배 공개 키 인증서 공개키의 핵심은 해당 알고리즘을 사용하는 누구라도 자신의 공개 키를 사용자 그룹 누구에게나 보낼 수 있다. 하지만, 역으로 누구나 공개 선언을 할 수 있다는 것이다 이를 해결하기 위해 등장한 것이 공개 키 인증서이다 공개 키 인증서란? 공개 키와 키 소유자의 사용자 ID로 구성 이를 신뢰할 만한 제 3자(CA)가 서명 대략적인 알고리즘은 아래와 같다 송신자가 서명 안된 인증서(사용자 ID + 사용자 공개 키)와 서명된 디지털 인증서(CA의 개인 키로 해시 코드를 암호화)해서 전송합니다 수신자는 서명 된 디지털 인증서를 CA의 공개키로 복호화 하고 서명 되지 .. Computer Science/Security 2023. 4. 19. 컴퓨터 네트워크 보안 4장 연습 문제 컴퓨터 네트워크 보안 4장 연습 문제 1번. Holmes의 이야기를 마무리 하라 1. A는 무작위 숫자 R을 생성하고, 자신의 이름 A, 목적지 B와 함께 E(Ka, R)를 서버에 전송한다. 2. 서버는 E(Kb, R)를 A에게 응답으로 전송한다. 3. A는 E(R, M)과 함께 E(Kb, R)를 B에게 전송한다. 4. B는 Kb를 알고 있으므로, E(Kb, R)을 복호화하여 R을 얻고, R을 사용하여 E(R, M)을 복호화하여 M을 얻는다. Solution Z는 서버에게 소스 이름 A와 목적지 이름 Z(자신의 것)를 전송하며, 동시에 E(Ka, R)을 전송합니다. 이는 마치 A가 B에게 전송한 것처럼 동일한 키 R로 암호화된 동일한 메시지를 전송하려는 것처럼 보입니다. 서버는 A에게 E(Kz, R)를 .. Computer Science/Security 2023. 4. 18. 암호 피드백 모드 (CFB) 암호 피드백 모드 (CFB) CFB는 "Cipher Feedback"의 약자로, 블록 암호화 모드 중 하나입니다. CFB 모드에서 평문은 암호화 과정에서 이전 암호문 블록과 XOR 연산을 수행하여 생성됩니다. 이 때, 이전 암호문 블록은 평문이 아닌 이전에 생성된 암호문 블록을 사용합니다. CFB 모드는 암호화에 사용되는 블록 크기와 상관없이 임의의 비트 수를 사용하여 암호화할 수 있습니다. 이 모드의 가장 큰 특징은 피드백 메커니즘에 있습니다. CFB 모드에서는 암호화된 이전 블록이 다음 블록을 암호화하기 위한 입력으로 사용되기 때문에, 암호화 된 결과를 복호화하려면 이전 블록들이 필요합니다. 이로 인해 CFB 모드는 연속된 데이터 블록들을 암호화하고 복호화하는 데 유용합니다. CFB 암호화 CFB 암.. Computer Science/Security 2023. 4. 18. 페이스텔 암호의 암호화와 복호화 증명 페이스텔 암호의 암호화와 복호화 증명 페이스텔 암호는 여러 암호의 기초가 되는 알고리즘이다. 특징이라면 복호화와 암호화 알고리즘이 동일하다. 요즘 네트워크 보안을 공부하고 있는데, 문제를 풀던 중 페이스텔의 복호화가 페이스텔 암호화의 복호화임을 보이라고 해서 풀어보려고 한다. 페이스텔 암호화/복호화의 기본 구조 일반식으로 표현하면 아래와 같다. 암호화와 복호화가 모두 동일하다 REi-1 = LEi REi-1 = LEi-1 ⊕ F(REi-1, Ki) 암호화와 복호화가 왜 동일할까? 방식이 동일하다고 복호화라는 건 논리가 약하고 예외가 발생한다. 조금 더 생각을 해보자 암호화 과정에서 사용 되는 함수가 self-invertible 속성을 가지고 있기 때문이라고 하는데, 아직 이해가 되지 않는다 페이스텔 암호.. Computer Science/Security 2023. 4. 18. TEA 알고리즘 TEA 알고리즘 컴퓨터 네트워크 보안 문제 풀이 중 만난 TEA 알고리즘을 파헤쳐 보자 TEA의 상수열은 왜 사용하는가? 상수열을 사용하면, 암호화 알고리즘의 안정성이 향상 된다 무작위성을 높이고 공격자가 평문와 암호문 사이의 패턴을 찾기 어렵기 때문이다. 암호화 프로세스 암호화 프로세스는 위와 같다. 입력 받은 문자열을 절반으로 잘라서 연산을 마치고, L과 R을 뒤집는 구조이다 복호화 프로세스 TEA 알고리즘의 복호화가 가능한 이유는 암호화와 복호화 과정이 거의 동일한 구조를 갖고 있기 때문이다. 암호화와 복호화는 기본적으로 동일한 라운드 함수를 사용하며, 복호화 과정에서는 암호화 과정에서 사용된 서브키와 델타 값이 역순으로 적용된다 그래서, 위의 암호화 프로세스를 반대로 값을 입력했는데, 답이 솔루션.. Computer Science/Security 2023. 4. 18. 고차 함수 고차 함수 고차 함수(Higher-order function)란 다른 함수를 인자로 받거나, 함수를 반환하는 함수를 의미합니다. 고차 함수는 함수형 프로그래밍에서 핵심적인 개념 중 하나로, 함수를 이용한 추상화를 가능하게 합니다. 고차 함수를 사용하면 코드를 간결하게 작성할 수 있고, 코드의 재사용성이 높아집니다. 일급 객체(First-class citizen)란 프로그래밍 언어에서 어떤 값이나 객체가 다음과 같은 조건을 충족할 때를 말합니다: 변수에 할당될 수 있다. 함수의 인자로 전달될 수 있다. 함수의 반환값으로 사용될 수 있다. 자료 구조에 저장될 수 있다. 함수형 프로그래밍 언어에서는 함수를 일급 객체로 취급합니다. 이 말은 함수를 변수에 할당하거나, 다른 함수의 인자로 전달하거나, 반환값으로 .. Computer Science/프로그래밍 언어론 2023. 4. 17. 익명 함수(Lambda) 익명 함수 익명 함수(anonymous function)는 이름이 없는 함수를 의미합니다. 일반적으로 함수를 정의할 때, 함수의 이름을 지정하여 참조하거나 호출할 수 있지만, 익명 함수는 이름이 없기 때문에 일회성으로 사용되거나 다른 함수에 인자로 전달됩니다. 익명 함수는 함수형 프로그래밍(Functional Programming Language)에서 주로 사용되지만, 몇몇 명령형 언어(Imperative Programming Language)에서도 사용 가능합니다. 함수형 언어는 함수를 일급 객체(First-class citizen)로 취급하여, 함수를 변수에 할당하거나 다른 함수의 인자로 전달할 수 있습니다. 익명 함수의 주요 장점은 다음과 같습니다. 코드의 간결성: 이름이 없기 때문에 코드를 간결하.. Computer Science/프로그래밍 언어론 2023. 4. 17. Kerberos 심층 이해 Kerberos 심층 이해 Kerberos를 공부하며 모호했던 점을 확실히 하고자 합니다. 계층 구조로 Kerberos를 그리고, 왜 사용하며, 무엇이 중요한지 등 핵심을 알아보겠습니다 Kerberos의 세부사항을 살펴보자 일단 상호간 무조건 암호화가 되어있다 C와 AS는 서로 공유하는 키로 무조건 암호화해서 보낸다 또한, 티켓은 C가 열어 볼 수 없다, 오직 서버 측을 위해 생성 된 것이다 Kerberos의 핵심은 무엇인가? 중앙 집중식 인증 클라이언트 - 서버 상호 인증 네트워크 상의 비밀 유지 Kerberos의 전제 조건 사전 키 공유 : AS(인증 서버)는 클라이언트의 비밀번호와 TGS의 비밀 키를 사전에 안전하게 받음 시간 동기화 : 클라이언트와 서버의 시간을 동기화하여 재전송 공격 방어 Ker.. Computer Science/Security 2023. 4. 17. 이전 1 ··· 32 33 34 35 36 37 38 ··· 49 다음