Substitution cipher, classification of Attacks

Seungyun Lee·2026년 1월 21일

Cybersecurity

목록 보기
1/13
post-thumbnail

computational complexity

복잡도와 안전성 (O(280)O(2^{80}))
2802^{80}은 현대 보안의 '최소 안전 가이드라인'입니다.
컴퓨터 성능이 좋아짐에 따라, 공격자가 모든 키를 다 대입해 보는 데 걸리는 시간이 2802^{80}번의 연산보다 많이 필요하다면 "현재 기술로는 깨기 어렵다(Computationally Secure)"고 판단합니다.

1. classification

Modern Application of cybersecurity

  • cloud computting, email encrypt
  • credit card
  • vpn
  • E passport
  • LLM

cybersecurity

a. Security Algorithms

  • Steganography

    메시지가 존재한다는 사실 자체를 숨기는 것
    러시아 스파이 사례: 이들은 일반적인 웹사이트에 평범해 보이는 풍경이나 인물 사진 업로드, 겉보기에는 평범한 사진이었지만, 그 사진의 픽셀 데이터 안에는 스테가노그래피 기법으로 숨겨진 암호화된 명령어가 들어 있었습니다.
  • cryptography alogrithm
    Symmetric Algorithm (대칭키 알고리즘)
    Asymmetric Algorithm (비대칭키 알고리즘, public)

b. security protocols

c. security analysis

2. Setup/Basics

problem: comms over insecure channel
how to Alice to communication to Bob
insecure channel (wifi, internet, 4G,5G, ETC)
Bad guy "Trudy" can be active attacker

so Alice use Encryption
trudy can see it but only bob decrypt
Alice use k for encryption, Bob also use k for decryption (Symmetric)
they use same K, only both know K.

Question
how to share "K" safely?
that is the biggest issue at Symmetric alogrithm
we have to get secure channel first

Alice와 Bob이 똑같은 키 KK를 써야 하는데, "그 키를 처음에 어떻게 안전하게 보낼 것인가?"가 대칭키 암호화의 최대 난제입니다. 이를 해결하기 위해 나중에 수업에서 '비대칭키(공개키)'나 '디피-헬먼 키 교환' 같은 개념을 배우게 되실 거예요.

Kerckhoff's principle

"암호 알고리즘(방법)이 적에게 알려지더라도, 키(K)만 비밀로 유지된다면 시스템은 안전해야 한다."

secure system should be be secure even if attacker know all the possible details except the "secret K".

즉, "우리가 어떤 수식을 쓰는지 비밀이야!"라고 숨기는 '보안을 통한 은닉(Security by obscurity)'은 나쁜 보안입니다. 알고리즘은 공개하고 검증받되, 오직 Key의 힘으로만 지키는 것이 현대 암호학의 정석입니다.

3. Substitution cipher(치환 암호)

x -> plaintext
y -> ciphertext
e -> encryption function
d -> decryption function

Ek(x) -> y enycriptn
Dk(y) -> x decruption
K -> key
e-1k(y) -> x
|K| -> key space

  • operaes on Letters
  • idea: replace every plaintext letter by a fixed ciphertext lettter
    ex: A-> e, B -> d, e -> w
    e(BABA) -> d(dl)

Brute-Force Attack

exhaustive key search
가능한 모든 키를 다 넣어보는 것.

A,B,C,D...Z
262524*....(26!) = (O(288)O(2^{88}))> (O(280)O(2^{80}))

Letter Frequency Attack

빈도 분석 공격
치환 암호(Substitution Cipher)가 키 공간이 2882^{88}로 매우 커서 브루트 포스에 강함에도 불구하고 사용되지 않는 이유입니다.

영어 문장에서 가장 많이 쓰이는 알파벳(E, T, A 등)의 통계적 특성을 이용하면, 키를 몰라도 암호문을 금방 풀어낼 수 있습니다.

4. classification of Attacks

a. Brute-force attack: 가능한 모든 키를 다 넣어보는 것.
b. Analytical attack: 알고리즘의 수학적 약점을 찾아 공격
c. implementation attack: 알고리즘 자체가 아닌, 하드웨어의 전력 소모나 소요 시간 등을 측정해 정보를 캐냄.
d. social engineering: 기술이 아닌 사람의 심리를 이용 (피싱, 사칭).

profile
RTL, FPGA Engineer

0개의 댓글