일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- Volatile
- 일급 객체
- 일급 컬렉션
- lombok
- Google OAuth
- Spring
- Dependency Injection
- synchronized
- builder
- nestjs
- java
- middleware
- OAuth 2.0
- factory
- spring security
- Today
- Total
HJW's IT Blog
정보보호: 3주 본문
# 치환 기법
> 치환기법과 전치는 모든 암호 기술의 기초
> 평문의 문자를 다른 문자, 숫자 혹은 심벌로 바꿈 (Caesar 암호)
> Caesar 암호란?
>> 안호화 및 복호화 알고리즘을 알고 있음
>> 가능한 키는 25개
>> 평문의 언어를 알고 있으며 쉽게 인식 가능 (전사적 키 해독 공격에 취약)
> 단일문자 치환 암호 기법
>> 각 평문 문자를 임의의 문자로 치환하는 경우 (키의 수가 26일 때, 총 26!)
> Playfair 암호
>> 다중문자 치환 암호 기법
>> 단일 문자가 아닌 다중 문자를 암호화 함으로서 안전도를 높임
>> 특정 키워드를 기반으로 5x5 matrix
>> 보안 수준: 26 x 26 = 676
> if both letters fall in same row, replace each with letter to right
{ AR -> RM}
> if both letters fall in same column, replace each with letter below
{ MU -> CM }
> Hill 암호
>> 동작원리
- m개의 평문을 m개의 암호문으로 치환
- 이때, m개의 선형 방정식에 의해 치환됨
- m = 3 인 경우 다음과 같은 선형 방정식을 생각할 수 있음
- 이를 matrix 로 표현하면...
>> "paymoremoney" 를 암호화 하는 경우, pay는 (15 0 24) 로 표현
평문을 암호화 하면 다음과 같음
C = PK mod 26
C = (17 17 11) = RRL
복호화를 위해 K^-1을 사용
> 다중 문자 암호
>> 평문에 대해 서로 다른 방식의 단일문자 치환 기법 사용
> Vernam 암호
>> 암호학적 공격에 안전하기 위해 평문과 동일한 길이의 키를 가져야 하며 통계적 연관성이 없어야 한다
> One Time Pad : ppt
> Rail fence 기법
>> 평문을 대각선으로 쓰고 열로 읽음
meet me after the toga party
> Row Transposition 기법
>> 열 순으로 읽으며 열의 순서를 바꿈 (열의 순서: 키)
> Rotor Machine
>> 가변적 치환 기법 사용
>> 다수의 실린더로 구성되며 각 실린더는 한 문자에 대한 치환을 수행
>> 3개의 실린더를 사용할 경우: 26^3 = 17576개의 다른 알파벳 치환이 가능
# 스테가노그라피
> 보안 기술의 범주
>> 보안: 정보를 보호하는 방법
>> 첩보: 정보를 탐지하는 방법
> 평문 메시지의 은닉방법
> 스테가노스라피: 메시지의 존재 자체를 은폐
> 크립토그라피: 다양한 원문의 변환에 의해 외부인이 그 의미를 알지 못하도록 메시지를 변형
> 특징
메시지의 존재 자체를 은폐하며 원문 내의 단어나 문자를 적절히 발췌하여 조합 배열 함으로써 실제 메시지를 나타냄