일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- DB
- cloud computing
- BFS
- spring
- data structure
- dfs
- Java
- dbms
- JDBC
- 가상컴퓨팅
- jsp
- 코딩테스트
- 공개키 암호화
- 크루스칼
- 클라우드 컴퓨팅
- 자바의정석
- generic class
- 알고리즘
- sql
- 자료구조
- JPA
- python
- 코테
- javascript
- Stack
- 생성자
- 암호학
- MVC
- Queue
- Algorithm
- Today
- Total
목록computer science/Cryptography (9)
PLOD
diffie-hellman은 수학적 난제(Discrete Log Problem)를 기반으로 한 암호화 알고리즘이다. diffie - hellman 알고리즘은 상대방의 공개키와 나의 개인키를 이용해 둘만의 세션키를 만드는 것이다. g와 p 값 그리고 g^k mod p을 알때 g의 지수인 k를 구하는 것이다. 1) Alice는 k를 4를 고르고 bob은 k를 3을 고른다.(k is secret) 2)Alice와 Bob은 각자의 k를 통해 결과값을 구한다(5,8) 3) 결과값을 Alice와 Bob에게 전송 4)Alice와 Bob은 각자의 k로 한번더 계산하여 같은 값을 얻을 수 있음 diffie-hellman의 특징 1. 개체 인증기능을 제공하지 않는다.(Authenticate Fail) 2. 키교환 문제를 ..
1. public key cryptography(공개키 암호화) 비대칭키 암호화 라고도 한다.암호화와 복호화에 동일한 알고리즘을 사용한다. .public key로 암호화를 하고 private key로 복호화를 한다. public key(공개키)를 통해 암호화 하기 때문에 키 교환을 할 필요가 없다. private key(비밀키)는 비밀로 유지한다. 2. 공개키 암호화 알고리즘을 사용하는 이유(Digital Signature(private key)) 1) Confidentiality(기밀성) 2) Authentication(인증) 3) Non-repudiation(부인 방지) RSA public key가 (N,e) 비밀키가 d라고 가정해보자 RSA에서 비밀키 d를 이루는 p,q는 아주 큰 소수로 정한다. ..
"x mod n" Modulo Operation(모듈로 연산) : 어떤 한 숫자를 다른 숫자로 나눈 나머지(mod)를 구하는 연산으로, 나머지 연산이라고 한다. 모듈로 연산을 사용 하기 위해서는 나누는 수와 나누어지는 수가 서로 Relative Primality(서로소) 관계여야 한다. 모듈로 연산을 사용한 Modular Arithmetic(Clock Arithmetic)은 공개키 암호화 알고리즘의 시초이다. 정수 X와 n 이 주어졌을때, x mod n 은 컴퓨터 연산에서 x % n 과 같다. 즉 , 모듈로 연산은 x를 n으로 나눈 나머지를 구하는 연산이다. ex.1) 14 mod 3 = 2 mod 3(14 mod 3과 2 mod 3은 나머지가 같다) ex.2) -2 mod 6 = 4 mod 6( 6 -..