보안 공부/암호학

[암호학] 2장 정리(1). 암호학의 개념과 암호수학

sh1256 2022. 10. 10. 19:47
728x90

1. 암호학이란?

정보를 보호하기 위한 언어학적 및 수학적 방법론을 다루는 학문

암호학의 목표: 보안의 3요소+부인봉쇄

기밀성(confidentiality): 송신하고자 하는 정보의 내용이 다른 사람이 알아보지 못하도록 하기 위한 기능
무결성(Integrity): 정보가 전달되면서 인가되지 않은 제 3자에 의하여 변형되지는 않았는지 확인하는 기능
가용성(availability): 서비스가 계속 유지되어 인가된 대상에서 정보를 제공하는 기능

부인봉쇄(Non-repudiation):메시지를 전달했거난 전달 받았다는 사실을 증명하는 기능 


2. 암호수학


1. 정수집합과 사칙연산

암호학에서는 정수집합을 사용하여 암호함수를 만들고, 암호화, 복호화를 한다. 

컴퓨터는 한정된 수만을 다룰 수 있기 때문에, 무한대인 정수를 다룰 수는 없다. 따라서, 뒤에 나오는 모듈러를 통해 정수집합의 크기를 한정시킨다.

덧셈 일반적으로 사용    
뺄셈 3-2 를 3+(-2)로 고쳐서 사용 덧셈으로 바꾸어 사용  
곱셈      
나눗셈 몫과 나머지가 생긴다. a=q*n+r 정수집합으로만 다루기 때문에, 3/2=1.5이런 식으로 사용하진 않음.

정수집합에서의 나눗셈

1-1. 나눗셈의 나머지

나눗셈에서 나머지가 음수가 되는 경우가 있다. 예를 들어 -10 나누기 3을 하면 나머지가 -1이가 된다.

(-10=(-3)*3+(-1)): a=(-10), q=(-3), n=3, r=(-1)

하지만 나눗셈은 항상 양수여야 하기 때문에 양수가 되기 위해  q-1, r+n을 수행한다. 

(-10=(-4)*3+(2)): a=(-10), q=(-4), n=3, r=2


2. 가분성(Divisibility)

a|b는 a가 b로 나누어 떨어진다는 것이다.


3. 유클리드 알고리즘

2022.09.18 - [보안 공부/암호학] - [암호수학1] 유클리드 알고리즘 이론~코딩

 

[암호수학1] 유클리드 알고리즘 이론~코딩

유클리드 알고리즘(Euclidean algorithm)이란? 유클리드 알고리즘(유클리드 호제법)은 자연수 2개의 최대공약수를 구하는 하나의 알고리즘이다. 유클리드 알고리즘을 쓰면, a와 b의 공약수들을 나열하

sh1256.tistory.com


4. 디오판투스 방정식

2022.09.21 - [보안 공부/암호학] - [암호수학1] 유클리드 알고리즘 + 디오판투스 방정식 (특수해와 일반해 구하기)

 

[암호수학1] 유클리드 알고리즘 + 디오판투스 방정식 (특수해와 일반해 구하기)

https://sh1256.tistory.com/90 [암호수학1] 유클리드 알고리즘 이론~코딩 유클리드 알고리즘(Euclidean algorithm)이란? 유클리드 알고리즘(유클리드 호제법)은 자연수 2개의 최대공약수를 구하는 하나의 알고

sh1256.tistory.com