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
'보안 공부 > 암호학' 카테고리의 다른 글
[암호학] 3장 정리(1). 대칭 키 암호의 용어&개념 정리 (2) | 2022.10.10 |
---|---|
[암호학] 2장 정리(2). 모듈로 연산과 일변수 선형 방정식 (0) | 2022.10.10 |
[암호수학1] 유클리드 알고리즘 + 디오판투스 방정식 (특수해와 일반해 구하기) (1) | 2022.09.21 |
[암호수학1] 유클리드 알고리즘 이론~코딩 (0) | 2022.09.18 |
[암호학] 1장 정리. 현대암호 이론 기본정리 (0) | 2022.09.18 |