2023/04

페이스텔 암호의 암호화와 복호화 증명 페이스텔 암호는 여러 암호의 기초가 되는 알고리즘이다. 특징이라면 복호화와 암호화 알고리즘이 동일하다. 요즘 네트워크 보안을 공부하고 있는데, 문제를 풀던 중 페이스텔의 복호화가 페이스텔 암호화의 복호화임을 보이라고 해서 풀어보려고 한다. 페이스텔 암호화/복호화의 기본 구조 일반식으로 표현하면 아래와 같다. 암호화와 복호화가 모두 동일하다 REi-1 = LEi REi-1 = LEi-1 ⊕ F(REi-1, Ki) 암호화와 복호화가 왜 동일할까? 방식이 동일하다고 복호화라는 건 논리가 약하고 예외가 발생한다. 조금 더 생각을 해보자 암호화 과정에서 사용 되는 함수가 self-invertible 속성을 가지고 있기 때문이라고 하는데, 아직 이해가 되지 않는다 페이스텔 암호..
TEA 알고리즘 컴퓨터 네트워크 보안 문제 풀이 중 만난 TEA 알고리즘을 파헤쳐 보자 TEA의 상수열은 왜 사용하는가? 상수열을 사용하면, 암호화 알고리즘의 안정성이 향상 된다 무작위성을 높이고 공격자가 평문와 암호문 사이의 패턴을 찾기 어렵기 때문이다. 암호화 프로세스 암호화 프로세스는 위와 같다. 입력 받은 문자열을 절반으로 잘라서 연산을 마치고, L과 R을 뒤집는 구조이다 복호화 프로세스 TEA 알고리즘의 복호화가 가능한 이유는 암호화와 복호화 과정이 거의 동일한 구조를 갖고 있기 때문이다. 암호화와 복호화는 기본적으로 동일한 라운드 함수를 사용하며, 복호화 과정에서는 암호화 과정에서 사용된 서브키와 델타 값이 역순으로 적용된다 그래서, 위의 암호화 프로세스를 반대로 값을 입력했는데, 답이 솔루션..
고차 함수 고차 함수(Higher-order function)란 다른 함수를 인자로 받거나, 함수를 반환하는 함수를 의미합니다. 고차 함수는 함수형 프로그래밍에서 핵심적인 개념 중 하나로, 함수를 이용한 추상화를 가능하게 합니다. 고차 함수를 사용하면 코드를 간결하게 작성할 수 있고, 코드의 재사용성이 높아집니다. 일급 객체(First-class citizen)란 프로그래밍 언어에서 어떤 값이나 객체가 다음과 같은 조건을 충족할 때를 말합니다: 변수에 할당될 수 있다. 함수의 인자로 전달될 수 있다. 함수의 반환값으로 사용될 수 있다. 자료 구조에 저장될 수 있다. 함수형 프로그래밍 언어에서는 함수를 일급 객체로 취급합니다. 이 말은 함수를 변수에 할당하거나, 다른 함수의 인자로 전달하거나, 반환값으로 ..
익명 함수 익명 함수(anonymous function)는 이름이 없는 함수를 의미합니다. 일반적으로 함수를 정의할 때, 함수의 이름을 지정하여 참조하거나 호출할 수 있지만, 익명 함수는 이름이 없기 때문에 일회성으로 사용되거나 다른 함수에 인자로 전달됩니다. 익명 함수는 함수형 프로그래밍(Functional Programming Language)에서 주로 사용되지만, 몇몇 명령형 언어(Imperative Programming Language)에서도 사용 가능합니다. 함수형 언어는 함수를 일급 객체(First-class citizen)로 취급하여, 함수를 변수에 할당하거나 다른 함수의 인자로 전달할 수 있습니다. 익명 함수의 주요 장점은 다음과 같습니다. 코드의 간결성: 이름이 없기 때문에 코드를 간결하..
Kerberos 심층 이해 Kerberos를 공부하며 모호했던 점을 확실히 하고자 합니다. 계층 구조로 Kerberos를 그리고, 왜 사용하며, 무엇이 중요한지 등 핵심을 알아보겠습니다 Kerberos의 세부사항을 살펴보자 일단 상호간 무조건 암호화가 되어있다 C와 AS는 서로 공유하는 키로 무조건 암호화해서 보낸다 또한, 티켓은 C가 열어 볼 수 없다, 오직 서버 측을 위해 생성 된 것이다 Kerberos의 핵심은 무엇인가? 중앙 집중식 인증 클라이언트 - 서버 상호 인증 네트워크 상의 비밀 유지 Kerberos의 전제 조건 사전 키 공유 : AS(인증 서버)는 클라이언트의 비밀번호와 TGS의 비밀 키를 사전에 안전하게 받음 시간 동기화 : 클라이언트와 서버의 시간을 동기화하여 재전송 공격 방어 Ker..
X32 고장 났을 때 예배드리는 법 Intro. 이게 뭔소리여? 연습 중 갑자기 메인 소리가 확 커졌다 작아졌다하는 기묘한 상황이 지속 되고 있다 처음엔 뭐지 싶었는데 보다보니까 오른쪽 버스랑 매트릭스 다루는 부분의 기판에 압력이 조금 가해지거나, 버스에서 매트릭스 또는 그룹 등으로 전환 할 때 이러한 상황이 지속 되는 것을 발견했다 그래서, 할거는 많은데 못하고 있다. 계절이 바뀌었으니 홀튜닝이 해야하는데, 32 밴드 EQ 켜서 주파수 이동하면 모든 볼륨이 올라간다 뭐 수리 요청은 했는데, 당장 예배는 현실이라 어떻게 대응했는지 기록한다 아래는 메인 스피커 외에 다른 곳도 영향을 받고 있어서 올린다 페이더를 안눌렀음에도 혼자 페이더가 올라간다…? 대응 : 하지만 라이브는 피할 수 없다 밴드 연습 동안 ..
DCA DCA (Digitally Controlled Amplifier)는 디지털 믹서에서 특정 채널 그룹의 전체 볼륨을 동시에 제어하는 데 사용되는 기능입니다. DCA 그룹은 여러 채널의 볼륨을 한 번에 조정할 수 있는 방법을 제공하며, 믹스 레벨 조절에 유용합니다. 주요 용도 그룹 제어: 관련된 채널을 그룹화하여 전체 그룹의 볼륨을 동시에 조절할 수 있습니다. 예를 들어, 드럼 세트의 모든 마이크를 하나의 DCA 그룹에 할당하면, 드럼 믹스의 전체 볼륨을 한 번에 조절할 수 있습니다. 효율적인 워크플로우: 믹싱 엔지니어가 빠르게 전체 그룹의 레벨을 조정할 수 있도록 도와줍니다. 이를 통해 여러 페이더를 개별적으로 움직이는 것보다 훨씬 빠르게 믹스 밸런스를 조절할 수 있습니다. 공간 절약: DCA 그룹..
예배 엔지니어가 느끼는 예배 난 CCC에서 예배 엔지니어로 섬기고 있다. 벌써 이 곳에 있는지는 시간이 꽤 되었다 오늘은 예배 엔지니어로 섬기면 느낀 것을 이야기 하고 싶다 내 마음의 중심 예배를 준비하는데 있어 내 우선순위는 아래와 같다 찬양 팀 리더 내 마음의 중심은 어디에 있는가 리더의 권위를 존중하고 지키는 것은 당연한거라 생략하자 내 마음의 중심을 본다는 것은 부끄러움, 교만, 가식 등을 아우르는 다채로운 행동이다 중심을 탐내는 것들은 참 많다 처음엔 부끄러움이었다 예배 중 방송 사고가 생기면 무대로 앞으로 나가야 할 때가 있다 그런데 무대 나가는게 부끄러웠다 부끄러울 이유가 없는데 말야 한 번 생긴 부끄러움이 잘 떨어지지 않을 때도 있었다 음, 또 기술적으로 더 좋은 퀄리티의 더 좋은 밸런스의..
· DEV/Backend
객체 지향 프로그래밍(Object-Oriented Programming, OOP) Intro. 프로그래밍 패러다임을 조곰 알고가자 객체 지향 프로그래밍(Object-Oriented Programming, OOP)과 절차 지향 프로그래밍(Procedural Programming)은 두 가지 다른 프로그래밍 패러다임입니다. 절차 지향 프로그래밍 순차적인 프로그래밍 접근 방식 프로그램이 일련의 절차 또는 단계에 따라 실행 이러한 절차는 종종 함수 또는 프로시저로 묶임 절차 지향 프로그래밍의 주요 목표는 프로그램의 흐름을 제어 Ex. C 언어 객체 지향 프로그래밍 프로그램을 여러 개의 독립적인 객체로 구성하는 프로그래밍 접근 방식 객체는 데이터와 이 데이터를 조작하는 메소드를 포함 객체 지향 프로그래밍의 주요 ..
컴퓨터 네트워크 보안 3장 연습 문제 3. 메시지 길이가 다음과 같을 때, SHA-512 패딩 필드에 들어가야 할 값을 나타내라 1919 비트 1919-1024 = 895 1024-(128+895) = 1bit 1920 비트 1920-1024 = 896 1024-(128+896) = 0 Sha512는 Padding을 무조건 추가하므로 1024bit를 추가 한다. 1921 비트 1921-1024 = 897 1024-(128+897) = -1 1024 - 1 = 1023bit 6. Toy Tetrgraph Hash(tth) 이 문제는 2진수 자료 대신 문자를 가지고 SHA에서 사용하는 방법으로 해시 함수를 만드는 방법을 소개 하고 있다 문자로 이루어진 메시지가 주어졌을 때,tth는 4개의 문자로 된 해시 값..
berom
'2023/04 글 목록 (4 Page)