OpenMined/TenSEAL

A library for doing homomorphic encryption operations on tensors

해결하는 문제

TenSEAL은 데이터를 복호화하지 않고도 수학적 연산을 수행할 수 있게 해줍니다. 이로 인해 서버나 서비스가 데이터를 암호화된 상태로 처리(예: 내적 또는 행렬 곱셈 수행)할 수 있어 데이터 프라이버시를 보장합니다.

작동 방식

Microsoft SEAL 위에 구축된 파이썬 라이브러리로, 정수용 BFV 및 실수용 CKKS와 같은 동형 암호화(HE) 방식을 구현합니다. 암호화된 데이터를 벡터 또는 N차원 텐서로 취급할 수 있는 텐서 계층을 제공하며, 요소별 덧셈, 뺄셈, 곱셈, 행렬 곱셈 등의 연산을 지원합니다. 핵심 연산은 효율성을 위해 C++로 구현되었으며, 파이썬 API는 사용을 용이하게 합니다.

대상 사용자

암호화된 텐서 위에서 선형 대수 연산을 수행해야 하는 프라이버시 보장형 머신러닝 및 안전한 계산에 종사하는 개발자 및 연구자들입니다.

주요 기능

  • 동형 암호화 지원: 암호화된 정수와 실수를 위한 BFV 및 CKKS 방식을 지원합니다.
  • 텐서 연산: N차원 연산을 위한 CKKSTensorBFVTensor를 제공하며, 리셰이프, 브로드캐스트, 전치를 포함합니다.
  • 선형 대수: 내적 및 벡터-행렬 곱셈을 내장된 지원을 제공합니다.
  • SEAL 통합: tenseal.sealapi를 통해 하위 Microsoft SEAL API에 완전히 접근 가능합니다.
  • 직렬화: 컨텍스트, 키, 암호화된 텐서를 저장하거나 전송할 수 있도록 직렬화 기능을 제공합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트