목록Computer Science/보안 (17)
개발스토리
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/88Gvi/btqJZnx8jN1/vck5q2yPRgCsxcH96WK62K/img.png)
페르마 정리(Fermat Theorem) • 만약 p가 소수라면 a는 p에 의해 나누어지지 않는 양의 정수이면, 다음이 성립한다 a^(p-1) ≡ 1 mod p test • a=7, p= 19, 7^18 ≡ x mod 19, x=? • 7^2 = 49 ≡ 11 mod 19 • 7^4 = 121 ≡ 7 mod 19 • 7^8 = 49 ≡ 11 mod 19 • 7^16 = 121 ≡ 7 mod 19 • a^(p-1) = 7^18 = 7^16 * 7^2 ≡ 7*11 ≡ 1 mod 19 페르마 정리의 다른 유용한 형태 • 만약 p가 소수이고 a가 양의 정수라 a^p ≡ a mod p가 성립한다. • 예) a=3, p=5, 3^5 = 243 ≡ 3 mod 5 • 예) a=10, p=5, 10^5 = 100000 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bFKtxc/btqJ8feaC4K/wg2ISowAtrbPUWjzho6b41/img.png)
모듈러 연산 (mod) • 나머지연산 • a mod b : a를 b로 나눈 나머지 • 어떤 양의 정수 n과 a가 주어지고, 만약 a를 n으로 나눈다면 다음과 같은 관계를 가지는 몫 q와 나머지 r을 얻는다 -> a = qn + r ( 0
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/mGGt3/btqJXVBIpsn/yMXkb4JFo1EcazuzGkEp40/img.png)
Block cipher • 긴 평문을 일정한 길이의 블록으로 나누어 블록단위로 암호화하는 방식 • SW 구현이 쉽다 • Round를 사용하여 반복적으로 암호화하므로 안전 • 대부분 Feistel cipher structure에 기반 • DES, AES, SEED, ARIA, Bluefish, Serpent 등 - block 단위로 암호화 후 block 단위로 복호화 한다. Feistel Cipher Structure란? • 대부분 Block cipher에 사용 • 입력 block을 반으로 나눈다 • 왼,오른쪽 바꿔가며 여러 round 수행 - 하나의 block을 두 개로 나누어 왼쪽 부분은 plain text left, 오른쪽 부분은 plain text right라고 보면 된다. - block ciphe..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/tsaM5/btqJVNYvJmu/hkLetB33zf72VV218KJoEk/img.png)
암호(cryptography)란? ● 비밀정보의 교환을 위해 생겨남. -> 처음에는 군사용으로 주로 사용. 현재는 전자 상거래, 전자 우편, 무선 통신 등에 널리 쓰인다. ● 4차 산업혁명 시대 : 정보의 관리, 보호의 중요성 증대 -> 국가, 회사, 단체, 개인에 막대한 영향을 끼친다. ● 암호체계의 효용성 및 안정성 분석 -> 고급 수학 이론에 기반 암호의 개념도 ● 암호문을 도청한 해커가 alice와 bob이 주고 받은 평문의 내용을 쉽게 알아낼 수 없도록 고안하는 것이 중요하다. ● 경비도 저렴하고 사용이 편리하며 오류도 적어야 한다. 용어 정리 암호화란? ● 암호화는 사람이 읽을 수있는 데이터 (일반 텍스트)를 이해할 수없는 암호문으로 변환하는 프로세스이다. 이러한 데이터 스크램블링은 암호화 키..