기능 암호화

Functional encryption
기능 암호화
Encryption.png
일반
디자이너아미트 사하이 브렌트 워터스, 댄 , 샤피 골드워서, 야엘 칼라이
유래공개 키 암호화
관련 정보동형 암호화

Functional Encryption(FE; 기능 암호화)은 공개 키 암호화의 일반화입니다.비밀 키를 소유하면 암호문이 암호화하는 기능을 학습할 수 있습니다.

형식적 정의

보다 정확하게 말하면, 특정 f\f에 대한 기능 암호화 스킴은 다음 4개의 알고리즘으로 구성됩니다.

  • , ( ) ) { { \ { } \ {} ( ^ { \ ) : pk { } 및 { { 를 만듭니다.
  • sk ,) \ \{ } \ left { sk: 개인 키를 사용하여 f{ f} 의 새 sk \ 합니다.
  • c ( ,) { c \ arrow { \ { , : 공개 키를 사용하여 를 암호화합니다 \ x
  • ( ,) { \ arrow {} ( { \ { } ): 개인 키를 하여 y () { x}는c { c 암호화하는 값입니다.

FE의 보안을 위해서는 상대가 에서 학습한 모든 정보가 f 공개되어야 합니다.이 정보는 정식으로 시뮬레이션에 [1]의해 정의됩니다.

적용들

기능 암호화는 Identity-Based Encryption(IBE; 식별 기반 암호화) Attribut-Based Encryption(ABE; 속성 기반 암호화) 등 기존의 몇 가지 기본 요소를 일반화합니다.IBE의 경우 kk가 복호화가 허용되는 ID에 대응하는 경우 F x x 동등하게 하고, 그렇지 않은 경우\를 정의합니다.마찬가지로 ABE의 경우 k k 복호화 권한을 가진 속성을 인코딩하는 F ( , ) ( \ F ( , x )를 그렇지 않은 경우 \ 합니다.

역사

기능 암호화는 2005년[2] Amit Sahai와 Brent Waters에 의해 제안되었으며 [3]2010년 Dan Boneh, Amit Sahai 및 Brent Waters에 의해 공식화되었습니다.그러나 최근까지 기능 암호화의 대부분의 인스턴스화는 부울 공식과 같은 제한된 함수 클래스만 지원했습니다.2012년에 여러 연구자가 임의 [1][4][5][6]기능을 지원하는 기능 암호화 체계를 개발했습니다.

레퍼런스

  1. ^ a b Goldwasser, Shafi; Kalai, Yael; Ada Popa, Raluca; Vaikuntanathan, Vinod; Zeldovich, Nickolai (2013). Reusable garbled circuits and succinct functional encryption - Stoc 13 Proceedings of the 2013 ACM Symposium on Theory of Computing. New York, NY, USA: ACM. pp. 555–564. ISBN 978-1-4503-2029-0.
  2. ^ EUROCRYPT (2005-05-09). Fuzzy Identity-Based Encryption - Advances in Cryptology - EUROCRYPT 2005: 24th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Proceedings. Springer Science & Business Media. ISBN 978-3-540-25910-7.
  3. ^ Boneh, Dan; Amit Sahai; Brent Waters (2011). "Functional Encryption: Definitions and Challenges" (PDF). Proceedings of Theory of Cryptography Conference (TCC) 2011.
  4. ^ Gorbunov, Sergey; Hoeteck Wee; Vinod Vaikuntanathan (2013). "Attribute-Based Encryption for Circuits". Proceedings of STOC.
  5. ^ Sahai, Amit; Brent Waters. "Attribute-Based Encryption for Circuits from Multilinear Maps" (PDF). {{cite journal}}:Cite 저널 요구 사항 journal=(도움말)
  6. ^ Goldwasser, Shafi; Yael Kalai; Raluca Ada Popa; Vinod Vaikuntanathan; Nickolai Zeldovich (2013). "How to Run Turing Machines on Encrypted Data" (PDF). Crypto 2013. Lecture Notes in Computer Science. 8043: 536–553. doi:10.1007/978-3-642-40084-1_30. ISBN 978-3-642-40083-4.