본문 바로가기

exponent

iOS에서 RSA암호화(4) 이전글 : 2017/09/19 - [Mac/iOS] - iOS에서 RSA암호화(3) 1. ASN.1 그다음로 설명할게 ASN.1 이다. 참고자료 A Layman's Guide to a Subset of ASN.1, BER, and DER 2017/09/19 - [Mac/iOS] - iOS에서 RSA암호화(1) 에서 설명을 위해 생성한 공개키는 ASN.1 포맷으로 되어 있다. 이중에 우리가 암호화에 필요한 N(Modulus)와 e(public exponent)를 구하려면 ASN.1 구조를 알아야 한다. 파서를 이용하거나, 서버에서 각각의 값을 가져올 수도 있겠지만, 여기서는 공개키에서 직접 Modulus와 public exponent 값을 추출해서 넣는 방법을 쓰도록 한다. 2. 파싱하기 자세한 구조를 살.. 더보기
iOS에서 RSA암호화(3) 이전글 : 2017/09/19 - [Mac/iOS] - iOS에서 RSA암호화(2) 1. RSA 원리 RSA 구조체를 살펴보면 n, e, d, p, q 와 같은 변수가 나오는데 이를 이해하려면 RSA에 대해서 약간의 지식이 필요하다. RSA는 소수(Prime Number)를 이용한 공개키 암호 시스템이다. 어떤 수가 임의의 두 큰 소수의 곱으로 되어 있을 때, 이 두 큰 소수를 찾아 내기란 쉽지 않다. 이때 큰 두 소수를 p와 q라고 한다. 그리고 이 두 p와 q의 곱을 N이라고 한다. p, q : 서로 다른 소수N = p*q N이 공개되더라도 p, q의 값을 쉽게 구할 수는 없다. 이제 정수 e를 선택해야 하는데, 이 값은 (p-1) * (q - 1) 인 값과 공통인수가 없는 3 ~ (N-1) 범위에 .. 더보기