Skip to main content

Command Palette

Search for a command to run...

[WriteUp] / [CryptoHack] Keyed Permutations

Updated

  • One-to-one correspondence는 수학적으로 전사(surjective) + 단사(injective) 조건을 모두 만족하는 함수, 즉 **전단사 함수(bijective function)**를 말한다.

  • 암호 알고리즘에서는 각 입력이 유일한 출력과 대응하고, 그 반대도 성립해야 복호화가 가능하므로 bijection이 필수 조건이 된다.

bijection이란?

  • Bijection은 두 집합 사이의 **1:1 대응(one-to-one correspondence)**을 의미하는 함수

Flag

crypto{bijection}

More from this blog

Android 악성 앱, 왜 여전히 뚫릴까? Louvain 그래프 탐지법이 그 해답일지도!

“바이러스는 진화한다. 그럼 탐지법도 진화해야 하지 않을까?” 악성 앱은 더 똑똑해졌습니다. 단순히 특정 API를 호출하는지 감지하는 방식은 더 이상 통하지 않죠. API가 어떻게 엮이는지, 함께 등장할 때 어떤 ‘행위 패턴’을 만드는지까지 보는 시대입니다. 그리고 바로 여기서, “동시 출현 그래프”와 “커뮤니티 탐지”라는 키워드가 등장합니다. 개념 드리프트, 악성 탐지의 맹점 악성 앱 탐지 모델이 시간이 지나면 무력해지는 현상, 알고 계셨나...

Jul 28, 2025

[WriteUp] / [CryptoHack] Resisting Bruteforce

해석 블록 암호가 안전하려면, 공격자가 AES의 출력과 무작위 비트 배열을 구분할 수 없어야 한다. 또한, 키를 무작위로 전부 시도하는(브루트포싱) 것보다 더 효율적인 복호화 방법이 있어서는 안 된다. 그래서 이론적으로라도 브루트포싱보다 적은 연산으로 복호화가 가능하다면, 그 암호는 '깨졌다고(broken)' 간주된다. 128비트 키를 브루트포싱하는 건 얼마나 어려울까? 누군가 계산했는데, 비트코인 전체 채굴 연산력을 동원해도 우주의 나이보다 ...

Jul 28, 2025

열심히 만든 리버싱 문제를 날먹하는 방법

열심히 만든 리버싱 문제를 날먹으로부터 지키는 방법 이 글을 읽기 전에 위의 드림핵 커뮤니티에 올라온 글을 보면 이해하기 수월하다. 서론 리버싱 문제는 출제자가 의도한 대로 정석적인 방법으로 역연산을 하여 플래그를 구할 수도 있지만, 편법을 사용하여 날먹하는 것이 가능하다. 편법에는 여러가지 방법이 있지만 위 드림핵 커뮤니티 글을 읽고 아이디어를 얻어 리버싱 문제를 해결했기 때문에 그 방법을 소개하고자 한다. 문제 풀이 해결한 문제는 Rev L...

Jul 28, 2025
A

Aegis

5 posts