‘Guide to Pairing-Based Cryptography’ 세미나 2, 1장. Pairing-Based Cryptography
이번 세미나는 1장. Pairing-Based Cryptography를 다룹니다.
ix 페이지 Symbol Description은 책을 읽을 때 참고할 수 있도록 출력해서 책상 앞에 붙여둡니다.
Chapter 1. Pairing-Based Cryptography
본문을 읽기 시작하기 전에 마인드 컨트롤을 합니다. ‘어렵지 않다. 해 볼만 하다. 포기하지 않겠다.’
페어링(Pairing)이 무엇인지에 대해서는 이전 세미나를 통해 자세하게 다루었기 때문에, 페어링이 무엇인지 어떻게 정의하는지는 복습 차원에서 읽으면 됩니다. 1.1과 1.2 내용이 복습차원에서 읽혀지지 않는다면 이전 세미나 내용을 다시 한 번 꼼꼼하게 읽고 이해해야 합니다.
1.3은 암호화의 기본적인 내용을 다룬다고는 하지만, 페어링이 섞여 있고 상세 설명 없이 수식을 다루기 때문에 어려울 수 있습니다.
1.4부터는 페어링으로 할 수 있는 일들에 대해서 다룹니다. 이 부분들도 상세 설명 없이 수식이 등장하기 때문에 읽는 중에 좌절할 수 있습니다. 포기하지 말고, ‘페어링으로 이런 것까지 할 수 있구나’ 정도를 아는 것을 목표로 ‘읽었다’는 정도에 만족하고 넘어가도록 합니다.
1.1 Introduction
아래 본문 내용을 주의를 기울여 읽어 봅니다.
- Pairings are now considered to be one of the most suitable mathematical tools to design secure and efficient cryptographic protocols.
- 페어링은 지금 안전하고 효율적인 암호화 프로토콜을 설계하기 위한 가장 적당한 수학적 도구 중 하나로 고려됩니다.
- The cryptography relying on pairings is known under the generic term of “pairing-based cryptography.”
- 페어링에 의존하는 암호학을 “페어링-기반 암호화”라고 합니다.
1.2 Preliminaries on Pairings
1.2.1 Pairing and Bilinear Environment
이전 세미나에서 다 다룬 내용입니다. 수식에 겁먹을 필요 없습니다. 천천히 수식을 써 가면서 꼼꼼하게 읽어 봅니다.
아래 정리한 본문 내용을 다시 한 번 읽어 봅니다.
- 페어링 e는 bilinearity와 non-degeneracy 특성을 갖는 다음과 같은 map으로 정의한다.
- e : G1 × G2 -> GT
- G1, G2의 그룹 연산은 덧셈이고, GT의 그룹 연산은 곱셈이다.
- 이들의 위수는 모두 같은 소수 r이다.
- G1, G2의 그룹 연산은 덧셈이고, GT의 그룹 연산은 곱셈이다.
- bilinearity
- 이 특성을 갖기 때문에 e([a]P1, [b]P2) = e(P1, P2)ab식이 도출된다.
- e([a]P1, [b]P2) = e([b]P1, [a]P2) = e([ab]P1, P2) = e([a]P1, P2)b = e([b]P1, P2)a = · · · 와 같은 식들도 도출될 수 있다.
- 이 특성을 갖기 때문에 e([a]P1, [b]P2) = e(P1, P2)ab식이 도출된다.
- non-degeneracy
- P1이 G1의 항등원이 아니고, P2가 G2의 항등원이 아닌 경우, e(P1, P2)도 GT의 항등원이 아니어야 한다.
- e : G1 × G2 -> GT
1.2.2 Types of Pairings, 1.2.3 Choice of Parameters
이 부분도 지난 세미나에서 다룬 내용입니다. 복습하는 차원에서 읽어 봅니다.
1.3 Preliminaries on Cryptography
암호화에 대한 기초적인 것들을 다룹니다.
본문 내용을 전체적으로 한 번 읽습니다. 세부적인 설명 없이 소개하듯이 제시하기 때문에 수식 등을 이해하기 어려울 수 있습니다. 이후 장 들에서 세부적으로 다시 다루기 때문에 이해가 잘 되지 않는 부분은 넘어가도 됩니다.
아래 정리한 내용을 다시 한 번 주의를 기울여 읽어 봅니다.
- Cryptography, the art of secret writing, has historically been used to hide the communication between parties. It is today known to address the needs of several important security services:
- confidentiality, to be convinced that only the intended receiver of a message can read it
- authentication, to be convinced that a person with whom one is communicating is the right person
- integrity, to be convinced that a received message has not been modified
- non-repudiation, to be convinced that the origin of a message cannot repudiate it
- An encryption scheme aims at protecting the confidentiality of some messages.
- A digital signature is the basic cryptographic tool to prove, at the same time, the authenticity of a message (it comes from the right person if we plug in, e.g., a PKI), its integrity, and its non-repudiation.
왜 페어링 기반 암호화가 필요한가?에 답하려고 노력 하면서 아래 본문 내용을 다시 한 번 읽어 봅니다.
- But nowadays, cryptographers, most of the time by using techniques from public key cryptography, design much more sophisticated tools that permit them to solve modern (and more complex) problems arising from our digital society:
- perform computations over encrypted data
- share confidential data
- guarantee both anonymity and accountability of customers
- ensure both privacy protection and profiling…
- The construction of these new cryptographic solutions requires the use of new mathematical tools, and, in this context, pairings are the most important and most often used ones in the current literature.
- Most of today’s constructions that are proved to be secure in the standard model are based on pairings.
1.4 Short Signatures
이 절에서 주장하고 싶은 것은 ‘페이링으로 기존 방식보다 디지털 서명의 크기를 작게 만들 수 있다는 것’입니다.
이 주장에 수긍한다면 1.4.1 Use Cases는 어떤 영역에서 이러한 요구가 있는지 확인만 하고 넘어갑니다.
1.4.2 Related Work: Pairing or Not Pairing은 페어링으로 서명 크기도 작게 만들 수 있지만 기존 방식보다 매우 빠른 검증이 가능하다라는 것을 확인하고 넘어갑니다.
1.4.3 An Example는 이전 세미나에서 이미 다룬 내용입니다. 복습 한다고 생각하고 읽습니다.
1.5 Group Signature Schemes
group signature이 어떤 것이고 어디에 활용될 수 있는지만 확인하고 넘어갑니다. 페어링으로 이런 것들도 가능하구나를 느끼고 페어링을 배우는 동기 부여를 확실히 합니다.
아래 인용한 본문 내용을 여러 번 반복해서 다시 읽어 봅니다.
- A group signature scheme permits members of a group to produce signatures on behalf of the group, in such a way that any verifier of the resulting signature can be convinced that the signature has been produced by a group member, but without being able to determine which one.
- Group signatures are anonymous and untraceable for everybody, except a designated authority who can, if necessary, “open” a signature to identify the actual signer. They are then used to provide at the same time user anonymity and user accountability.
- There exist several variants of group signature, and one of the most promising ones, in the context of mobile services, is called an anonymous credential system. Such a system allows a user to obtain a credential (a driving license, a student card, etc.) from one organization and
then later prove possession of this credential to another organization without revealing anything more than the fact that (s)he owns such a credential. Anonymous credentials systems also allow selective disclosure by permitting the user to reveal only some credential attributes or to prove that they satisfy some properties (e.g., age < 25) while hiding all the other credential attribute information (this is in contrast to classical credentials, which only allow the release of all the contained attributes).
1.5.1 General Presentation and Short Model, 1.5.3 Related Work: Pairing or Not Pairing, 1.5.4 An Example는 완벽한 이해 보다는 읽었다 수준으로 읽고 넘어갑니다.
1.5.2 Use Cases는 group signature으로 어떤 것들이 가능한지 확인하는 차원으로 읽고 넘어갑니다.
1.6 Identity-Based Encryption
1.6.1 General Presentation and Short Model, 1.6.2 Use Cases, 1.6.3 Related Work: Pairing or Not Pairing, 1.6.4 An Example는 완벽한 이해 보다는 읽었다 수준으로 읽고 넘어갑니다.
아래 인용한 본문 내용을 다시 한 번 읽어 봅니다.
- But the main problem of PKI is that they are relatively complex to deploy and maintain. An alternative is to use identity-based cryptography, for
which the public key, needed, for example, to encrypt a message, is replaced by the identity of the receiver.
1.7 Broadcast Encryption and Traitor Tracing
1.7.1 General Presentation and Short Model, 1.7.2 Use Cases, 1.7.3 Related Work: Pairing or Not Pairing, 1.7.4 An Example는 완벽한 이해 보다는 읽었다 수준으로 읽고 넘어갑니다.
아래 인용한 본문 내용을 다시 한 번 읽어 봅니다.
- It permits a broadcaster to encrypt messages to a group of users who have subscribed to a broadcast channel. In a nutshell, the message is encrypted once with a single public key and each user can independently decrypt it by using his/her own secret key.