WO2024117318A1 - 동형 암호문 연산을 프로세싱 인 메모리에서 수행하기 위한 맵핑 방법 및 시스템 - Google Patents
동형 암호문 연산을 프로세싱 인 메모리에서 수행하기 위한 맵핑 방법 및 시스템 Download PDFInfo
- Publication number
- WO2024117318A1 WO2024117318A1 PCT/KR2022/019312 KR2022019312W WO2024117318A1 WO 2024117318 A1 WO2024117318 A1 WO 2024117318A1 KR 2022019312 W KR2022019312 W KR 2022019312W WO 2024117318 A1 WO2024117318 A1 WO 2024117318A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- homomorphic ciphertext
- mapping
- profiling
- memory
- mission
- Prior art date
Links
- 238000013507 mapping Methods 0.000 title claims abstract description 90
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000012545 processing Methods 0.000 claims description 15
- 230000009466 transformation Effects 0.000 claims description 5
- 230000001133 acceleration Effects 0.000 claims description 4
- 238000004422 calculation algorithm Methods 0.000 abstract description 7
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000004364 calculation method Methods 0.000 description 36
- 239000013598 vector Substances 0.000 description 11
- 238000006243 chemical reaction Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 102100035964 Gastrokine-2 Human genes 0.000 description 1
- 101001075215 Homo sapiens Gastrokine-2 Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7821—Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Definitions
- the present invention relates to a mapping method and system for performing a homomorphic ciphertext operation, and more specifically, to a mapping method and system for performing a homomorphic ciphertext operation in processing-in-memory (PIM) hardware.
- PIM processing-in-memory
- homomorphic encryption technology which can perform operations without decoding data and thus protects user privacy and improves security during data transmission and processing, is receiving attention.
- This homomorphic encryption technology has the advantage of being able to process calculations in the ciphertext state, but the calculation complexity is very high compared to plaintext calculations, and the calculation algorithm is complex, so there is a problem that the calculation speed is reduced by hundreds to thousands of times compared to existing CPU processing.
- Figure 1 shows a general method of calculating homomorphic ciphertext.
- a ciphertext is generated using an encryption key at the client side, and the ciphertext is transmitted to the server to perform an operation.
- the server performs an operation on the received ciphertext and then delivers the operation result to the client in the form of ciphertext.
- the client decrypts the received ciphertext and obtains the calculation result.
- the calculation result at this time is the same as the value calculated with plain text data.
- the computation of homomorphic ciphertext is performed on the server, and the computation between ciphertexts is performed without decrypting the ciphertext, so the computation complexity and memory usage rate increase significantly compared to computation of plaintext data, and the computation speed is hundreds to thousands of times slower than existing plaintext computation. There is a downside.
- Figure 2 shows the structure of an existing server system for homomorphic encryption operations. If the server is equipped with a homomorphic encryption accelerator, the homomorphic encryption calculation can be accelerated using the calculator in the accelerator, or it can be executed as is on the CPU.
- the CPU and main memory are connected through a memory interface, and the CPU and homomorphic encryption accelerator are connected through a separate external interface (PCIe, Ethernet, Infiniband, etc.).
- PCIe PCIe, Ethernet, Infiniband, etc.
- Point-wise Multiplication operation is an operation with extremely low data reuse rate, and memory bandwidth has an absolute influence on operation speed. Therefore, in order to improve the accelerator's calculation speed, the use of high-bandwidth memory such as HBM or GDDR is required, and large costs are incurred in system configuration.
- the present invention was devised to solve the above problems, and the purpose of the present invention is to analyze the characteristics of each stage of homomorphic ciphertext operation in a processing-in-memory system and increase overall system performance by assigning it to an appropriate hardware device. To provide a mapping method and system.
- a mapping method for performing a homomorphic ciphertext operation in processing-in-memory is provided when the mapping system does not have profiling information of the homomorphic ciphertext requested from the client, A first step of performing profiling; When profiling is completed, a second step in which the mapping system selects the optimal execution device for each mission unit based on the profiling results and stores the selection result in mapping information; When the homomorphic ciphertext requested from the client is received, the mapping system divides the operation of the homomorphic ciphertext into mission units based on the profiling results; and a fourth step in which the mapping system allocates each optimal execution device to each computational task divided into mission units based on the mapping information.
- the homomorphic ciphertext is divided into mission units. It can be divided and profiling can be performed for each divided mission unit.
- profiling may be performed to record the memory usage and execution time required to execute calculation operations for each divided task unit.
- NTT Numeric Theoretic Transform
- iNTT inverse Numeric Theoretic Transform
- the computational task when allocating each optimal execution device, if system resources are sufficient, the computational task may be assigned to the execution device with the minimum execution time.
- the computational task may be assigned/reassigned to the execution device showing the minimum memory usage by considering the current resource usage.
- mapping method for performing a homomorphic ciphertext operation in processing-in-memory is that, when each optimal execution device is allocated, an operation is performed on each allocated optimal execution device to produce the operation result.
- a fifth step of calculating may be further included.
- the calculated calculation result can be delivered to the client so that the entire homomorphic ciphertext calculation can be completed.
- the execution device may be one of the CPU Core and homomorphic encryption acceleration IP provided within the SoC (System on Chip) and the PIM operator provided within the PIM memory to which processing in memory is applied, depending on the mission characteristics.
- SoC System on Chip
- PIM operator provided within the PIM memory to which processing in memory is applied, depending on the mission characteristics.
- a mapping system for performing a homomorphic ciphertext operation in processing-in-memory includes: a storage unit storing mapping information; And if there is no profiling information of the homomorphic ciphertext requested from the client, profiling is performed on a mission basis, and when profiling is completed, the optimal execution device for each mission unit is selected based on the profiling results, and the selection result is It is stored in the mapping information of the storage unit, and when the homomorphic ciphertext requested from the client is received, the calculation work of the homomorphic ciphertext is divided into mission units based on the profiling results, and each operation divided into mission units is performed based on the mapping information. It includes a processor that allocates each optimal execution device to the task.
- the mapping method for performing a homomorphic ciphertext operation in processing-in-memory is that the mapping system selects the optimal execution device for each task based on the profiling results performed for each task, and , storing the selection result in mapping information;
- the mapping system divides the operation of the homomorphic ciphertext into mission units based on the profiling result; Allocating, by the mapping system, each optimal execution device to each computational task divided into mission units based on mapping information; And when each optimal execution device is allocated, performing a calculation task on each allocated optimal execution device to calculate a calculation result.
- a mapping system for performing homomorphic ciphertext operations in processing-in-memory selects the optimal execution device for each task based on the profiling results performed for each task, and selects the optimal execution device for each task. is stored in the mapping information, and when the homomorphic ciphertext requested from the client is received, the computational work of the homomorphic ciphertext is divided into mission units based on the profiling results, and each computational task divided into mission units is based on the mapping information.
- a processor that allocates each optimal execution device to; and each optimal execution device that performs each assigned computational task to produce a computational result.
- memory-intensive tasks can be effectively executed by performing operations within memory, processing in-memory hardware characteristics that make it difficult to perform complex operations, and homomorphism that require complex operations between ciphertexts.
- homomorphic ciphertexts can be assigned to appropriate hardware through a mapping algorithm that can efficiently partition and map homomorphic ciphertexts in a processing-in-memory system.
- the speed of homomorphic encryption operation can be greatly increased compared to the prior art through an overall system structure that includes efficient processing in memory for homomorphic encryption operation.
- 1 is a diagram provided to explain a general homomorphic ciphertext operation method
- FIG. 2 is a diagram provided to explain the structure of the existing homomorphic encryption server system
- Figure 3 is a diagram provided to explain the homomorphic encryption calculation method in a server system to which an existing homomorphic encryption accelerator is applied;
- FIG. 4 is a diagram provided to explain a mapping system for performing a homomorphic ciphertext operation in processing-in-memory according to an embodiment of the present invention
- Figure 5 is a diagram illustrating mapping a homomorphic encryption server system with processing in memory and a homomorphic encryption multiplication operation using a mapping system according to an embodiment of the present invention.
- Figure 6 is a flowchart provided to explain a mapping method for performing a homomorphic ciphertext operation in processing-in-memory according to an embodiment of the present invention.
- Figure 4 is a diagram provided to explain a mapping system 100 for performing a homomorphic ciphertext operation in processing-in-memory according to an embodiment of the present invention
- Figure 5 is a mapping system according to an embodiment of the present invention ( This diagram illustrates the mapping of a homomorphic encryption server system with processing-in-memory and a homomorphic encryption multiplication operation using 100).
- mapping system 100 for performing a homomorphic ciphertext operation in processing-in-memory is linked with the homomorphic ciphertext operation server 200 to which processing in-memory is applied to map the homomorphic ciphertext multiplication operation to each hardware. It is prepared.
- the mapping system 100 may include a processor 110 and a storage unit 120 that map the homomorphic encryption multiplication operation to each hardware.
- the storage unit 120 is a storage medium that stores data necessary for the operation of the processor 110, and may store mapping information.
- the processor 110 can analyze the characteristics of each step of the homomorphic ciphertext operation and allocate it to an appropriate hardware device.
- the processor 110 when the homomorphic ciphertext operation requested from the client is first executed and there is no profiling information for the homomorphic ciphertext, the processor 110 performs profiling on a mission basis and performs profiling on a mission basis based on the profiling results. You can select the optimal execution device for each device and save the selection result in mapping information.
- the processor 110 determines whether profiling information for the requested homomorphic ciphertext exists and profiles the homomorphic ciphertext. If there is no ring information, the homomorphic ciphertext can be divided into mission units and profiling can be performed for each divided mission unit.
- the processor 110 may perform profiling to record the memory usage and execution time required to execute calculation operations for each divided task unit.
- the processor 110 divides the calculation work of the homomorphic ciphertext into mission units based on the profiling result, and assigns the calculation tasks to each calculation task divided into mission units based on the mapping information. Each optimal execution device can be assigned.
- the homomorphic encryption operation server 200 to which processing in memory is applied is a PIM memory ( 220) may be provided, and depending on the system configuration, general memory other than the PIM memory 220 may be additionally installed.
- the ciphertext transmitted from the client is stored in the server's PIM memory 220 cell, and the hardware logic for NTT/iNTT conversion required for the multiplication operation is a complex operation that is difficult to implement in the PIM memory 220, so it is stored in the SoC 210. It can be implemented in homomorphic encryption IP.
- the processor 110 is provided in the CPU Core 211 and the homomorphic encryption acceleration IP 212 and the PIM memory 220 with processing in memory provided in the SoC 210 according to the characteristics of each step of the homomorphic ciphertext operation.
- a calculation task divided into mission units can be assigned to one of the PIM operators 221.
- the execution device to which each computational task is assigned by the processor 110 is the CPU Core 211 and the homomorphic encryption acceleration IP 212 and the processing-in-memory provided in the SoC 210 according to the mission characteristics of the computational task. Any one of the PIM operators 221 provided in the applied PIM memory 220 may be selected.
- the processor 110 allocates the computational task to the execution device with the minimum execution time, and if system resources are insufficient, considering the current resource usage.
- Computational tasks can be assigned/reassigned to execution devices with minimal memory usage.
- each optimal execution device When each optimal execution device is allocated, an operation is performed on each allocated optimal execution device to calculate an operation result, and the calculated operation result is delivered to the client so that the entire homomorphic ciphertext operation is completed.
- the operation of the homomorphic ciphertext is an NTT (Numeric Theoretic Transform) transformation task, a Point-wise multiplication task, and an iNTT (inverse Numeric Theoretic Transform) task.
- NTT Numeric Theoretic Transform
- iNTT inverse Numeric Theoretic Transform
- the operation of the homomorphic ciphertext illustrated in Figure 5 is an example of mapping the homomorphic cipher multiplication operation by dividing it into three tasks: NTT conversion, point-wise multiplication, and iNTT conversion. Task division and optimal mapping according to library and system implementation. Methods may vary.
- the processor 110 performs and stores a profiling process that records the memory usage and execution time required to execute actual computational operations for each task, thereby performing the same operation thereafter.
- the optimal mapping can be performed using pre-profiled results.
- the processor 110 divides the operation into predefined task units and assigns the optimal execution device using the profiling results for each divided task. You can.
- the processor 110 assigns the NTT conversion task and the iNTT conversion task targeting ciphertext vectors A and B to the homomorphic encryption IP, respectively, and performs the point-wise multiplication task between vectors in the PIM. It can be assigned to the operator 221.
- the ciphertext vectors A and B are converted to ciphertext vectors A' and B' through homomorphic encryption IP and stored in the memory cell. Since the memory used by the SoC (210) is the PIM memory (220), it is similar to the existing accelerator system. Otherwise, no unnecessary data movement occurs.
- the NTT-converted ciphertext vectors A' and B' can be subjected to point-wise multiplication through the PIM operator 221 within the PIM. At this time, the calculation is performed using the PIM's higher internal memory bandwidth compared to existing accelerator systems. Performance can be maximized.
- the processor 110 may assign the NTT conversion task and the iNTT conversion task to the CPU Core 211 with sufficient resources in consideration of the current resource usage.
- the processor 110 assigns the point-wise multiplication task between vectors to another PIM operator 221 in consideration of the current resource usage, but all PIM operators ( 221), if the resources of the homomorphic encryption IP are sufficient, considering the waiting time, the point-wise multiplication task between vectors can be assigned to the homomorphic encryption IP.
- homomorphic encryption algorithms are implemented in various ways, the types of operations and operation order supported are different, so in general, homomorphic encryption operations can be supported through a predefined library API (Application Programming Interface).
- a predefined library API Application Programming Interface
- the developer of the homomorphic encryption system can determine the performance method and task division method of the entire homomorphic encryption operation and store them in the mapping information, and the processor 110 can determine the overall homomorphic encryption operation method and the method of dividing the duties.
- the calculation task can be divided into mission units and each calculation task can be assigned to the optimal execution device (hardware device).
- Figure 6 is a flowchart provided to explain a mapping method for performing a homomorphic ciphertext operation in processing-in-memory according to an embodiment of the present invention.
- the mapping method (hereinafter collectively referred to as the 'mapping method') for performing a homomorphic ciphertext operation in processing-in-memory according to this embodiment is, when receiving a request for a homomorphic ciphertext operation from a client through the mapping system 100, If the operation request is one that has never been performed before (when the operation is first executed), the entire request can be divided into mission units and mission-unit profiling can be performed (S610).
- mapping method performs profiling on a mission basis when there is no profiling information on the homomorphic ciphertext requested from the client through the mapping system 100, and performs profiling on a mission unit basis based on the profiling results performed on a mission basis.
- the optimal execution device for each can be selected and the selection result can be stored in mapping information (S620).
- mapping method is that, when the homomorphic ciphertext requested from the client is received, the mapping system 100 divides the calculation work of the homomorphic ciphertext into mission units based on the profiling result (S630), and divides the homomorphic ciphertext into mission units based on the mapping information. Each optimal execution device can be assigned to each computational task divided (S640).
- each optimal execution device When each optimal execution device is allocated, the calculation task is performed on each allocated optimal execution device to calculate the calculation result, and the calculated calculation result is delivered to the client (S650), so that the entire homomorphic ciphertext calculation can be completed. there is.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Complex Calculations (AREA)
Abstract
동형 암호문 연산을 프로세싱 인 메모리(PIM) 하드웨어에서 연산하는 맵핑 방법 및 시스템이 제공된다. 본 발명의 실시예에 따른 동형 암호문 연산을 프로세싱 인 메모리에서 수행하기 위한 맵핑 방법은, 맵핑 시스템이, 클라이언트로부터 요청받은 동형 암호문의 프로파일링 정보가 없는 경우, 임무 단위로 프로파일링을 수행하는 제1 단계; 프로파일링이 완료되면, 맵핑 시스템이, 프로파일링 결과를 기반으로 임무 단위별 최적의 실행 디바이스를 선택하고, 선택 결과를 맵핑 정보에 저장하는 제2 단계; 클라이언트로부터 요청받은 동형 암호문이 수신되면, 맵핑 시스템이, 프로파일링 결과를 기반으로 동형 암호문의 연산 작업을 임무 단위로 분할하는 제3 단계; 및 맵핑 시스템이, 맵핑 정보를 기반으로 임무 단위로 분할된 각각의 연산 작업에 각각의 최적 실행 디바이스를 할당하는 제4 단계;를 포함한다. 이에 의해, 프로세싱 인 메모리 시스템에서 동형 암호문을 효율적으로 분할하고 맵핑할 수 있는 맵핑 알고리즘을 통해 동형 암호문을 적절한 하드웨어에 할당할 수 있어, 동형암호 연산 속도를 종래기술 대비 크게 증가시킬 수 있다.
Description
본 발명은 동형 암호문 연산을 수행하기 위한 맵핑 방법 및 시스템에 관한 것으로, 더욱 상세하게는 동형 암호문 연산을 프로세싱 인 메모리(PIM) 하드웨어에서 연산하는 맵핑 방법 및 시스템에 관한 것이다.
빅데이터 기반 서비스 수요가 증가함에 따라, 데이터의 복호화 없이 연산을 수행할 수 있어 사용자의 프라이버시 보호 및 데이터 전송 및 처리 과정에서의 보안성을 향상시킬 수 있는 동형암호 기술이 각광받고 있다.
이러한 동형암호 기술은 암호문 상태에서 연산을 처리할 수 있는 장점이 있으나, 평문 연산 대비 계산 복잡성이 매우 높고, 연산 알고리즘이 복잡해 기존 CPU 처리 대비 연산 속도가 수백 배에서 수천 배까지 감소하는 문제점이 있다.
도 1은 일반적인 동형 암호문의 연산 방법을 나타낸다. 도 1을 참조하여 예를 들면, 클라이언트 단에서 암호 키를 이용해 암호문을 생성하고, 암호문을 서버로 전달하여 연산을 수행한다. 서버에서는 전달받은 암호문 간 연산을 수행한 후, 연산 결과를 암호문 형태로 클라이언트에 전달한다. 클라이언트는 전달받은 암호문을 복호화하여 연산 결과를 얻는다. 이 때의 연산 결과는 평문 데이터를 가지고 연산한 값과 동일하다. 동형 암호문의 연산은 서버에서 수행되며, 암호문의 복호화 없이 암호문 간 연산이 수행되므로, 평문 데이터의 연산 대비 연산 복잡도 및 메모리 사용률이 크게 늘어나, 기존 평문 연산 대비 연산 속도가 수백 배에서 수천 배 이상 느려지는 단점이 있다.
도 2는 동형암호 연산을 위한 기존 서버 시스템 구조를 나타낸다. 서버는 동형암호 가속기를 탑재했을 경우, 가속기 내 연산기를 이용해 동형암호 연산을 가속할 수도 있고, CPU에서 그대로 실행할 수도 있다. CPU와 메인 메모리는 메모리 인터페이스로 연결되며, CPU와 동형암호 가속기는 별도의 외부 인터페이스(PCIe, Ethernet, Infiniband 등)를 통해 연결된다. 동형암호 가속기가 탑재되지 않은 서버 시스템은 연산을 모두 CPU에서 처리해야 하므로, 연산 병렬성이 낮아 연산 속도가 크게 떨어진다.
최근 학계 및 스타트업 중심으로 동형암호에 특화된 연산 가속기를 통해, 동형 암호문 연산을 가속화시키려는 연구가 진행되고 있으나, 동형 암호문 연산 알고리즘 특성 상, 메모리 요청이 많고 메모리 재사용률이 떨어져 메모리 병목 현상을 유발하고 이로 인해 효율적인 시스템 구축이 어려운 문제점이 있다.
구체적으로, 도 3과 같이 동형암호 가속기가 탑재된 서버 시스템의 경우, 동형 암호문 연산 시 메인 메모리와 가속기의 메모리 사이에 지속적인 데이터 이동이 필요하다.
특히, 동형 암호문의 곱셈 연산은 암호문 벡터 간 그대로 연산을 수행할 경우, 연산 요구량이 기하급수적으로 증가하므로, 암호문 벡터를 NTT(Number Theoretic Transform) 변환을 하고, 변환된 암호문 벡터 간 Point-wise Multiplication 연산을 수행한 후, 연산 결과를 다시 iNTT(Inverse NTT) 변환하여 연산 결과를 도출한다.
이때, Point-wise Multiplication 연산은 데이터 재사용률이 극히 떨어지는 연산으로, 메모리 대역폭이 연산 속도에 절대적인 영향을 미친다. 따라서 가속기의 연산 속도 향상을 위해서는 HBM이나 GDDR과 같은 고대역폭 메모리의 사용이 요구되며, 시스템 구성에 큰 비용이 소요된다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은, 프로세싱 인 메모리 시스템에서 동형 암호문 연산의 각 단계별 특성을 분석하고, 적절한 하드웨어 장치에 할당하여 전체 시스템 성능을 높일 수 있는 맵핑 방법 및 시스템을 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, 동형 암호문 연산을 프로세싱 인 메모리에서 수행하기 위한 맵핑 방법은, 맵핑 시스템이, 클라이언트로부터 요청받은 동형 암호문의 프로파일링 정보가 없는 경우, 임무 단위로 프로파일링을 수행하는 제1 단계; 프로파일링이 완료되면, 맵핑 시스템이, 프로파일링 결과를 기반으로 임무 단위별 최적의 실행 디바이스를 선택하고, 선택 결과를 맵핑 정보에 저장하는 제2 단계; 클라이언트로부터 요청받은 동형 암호문이 수신되면, 맵핑 시스템이, 프로파일링 결과를 기반으로 동형 암호문의 연산 작업을 임무 단위로 분할하는 제3 단계; 및 맵핑 시스템이, 맵핑 정보를 기반으로 임무 단위로 분할된 각각의 연산 작업에 각각의 최적 실행 디바이스를 할당하는 제4 단계;를 포함한다.
그리고 제1 단계는, 클라이언트로부터 특정 동형 암호문에 대한 연산이 요청되면, 요청받은 동형 암호문의 프로파일링 정보가 존재하는지 판단하고, 해당 동형 암호문의 프로파일링 정보가 없는 경우, 해당 동형 암호문을 임무 단위로 분할하고, 분할된 임무 단위별로 프로파일링을 수행할 수 있다.
또한, 제1 단계는, 프로파일링 수행 시, 분할된 임무 단위별로 연산 동작 실행에 소요되는 메모리 사용량 및 수행 시간을 기록하는 프로파일링을 수행할 수 있다.
그리고 기설정된 동형 암호문의 연산 작업은, NTT(Numeric Theoretic Transform) 변환 임무, Point-wise 곱셈 임무 및 iNTT(inverse Numeric Theoretic Transform) 변환 임무로 분할될 수 있다.
또한, 제4 단계는, 각각의 최적 실행 디바이스 할당 시, 시스템 리소스가 충분한 경우, 최소의 실행 시간을 가지는 실행 디바이스에 연산 작업을 할당할 수 있다.
그리고 제4 단계는, 각각의 최적 실행 디바이스 할당 시, 시스템 리소스가 불충분한 경우, 현재의 리소스 사용량을 고려하여 최소의 메모리 사용량을 보이는 실행 디바이스에 연산 작업을 할당/재할당할 수 있다.
또한, 본 발명의 일 실시예에 따른 동형 암호문 연산을 프로세싱 인 메모리에서 수행하기 위한 맵핑 방법은, 각각의 최적 실행 디바이스가 할당되면, 할당된 각각의 최적 실행 디바이스에서 연산 작업을 수행하여 연산 결과를 산출하는 제5 단계;를 더 포함할 수 있다.
그리고 제5 단계는, 연산 결과가 산출되면, 산출된 연산 결과를 클라이언트로 전달하여 전체 동형 암호문 연산을 종료되도록 할 수 있다.
또한, 실행 디바이스는, 임무 특성에 따라 SoC(System on Chip) 내에 마련되는 CPU Core 및 동형암호 가속 IP와 프로세싱 인 메모리가 적용된 PIM 메모리 내에 마련되는 PIM 연산기 중 어느 하나가 선택될 수 있다.
한편, 본 발명의 다른 실시예에 따른, 동형 암호문 연산을 프로세싱 인 메모리에서 수행하기 위한 맵핑 시스템은, 맵핑 정보가 저장되는 저장부; 및 클라이언트로부터 요청받은 동형 암호문의 프로파일링 정보가 없는 경우, 임무 단위로 프로파일링을 수행하고, 프로파일링이 완료되면, 프로파일링 결과를 기반으로 임무 단위별 최적의 실행 디바이스를 선택하고, 선택 결과가 저장부의 맵핑 정보에 저장되도록 하고, 클라이언트로부터 요청받은 동형 암호문이 수신되면, 프로파일링 결과를 기반으로 동형 암호문의 연산 작업을 임무 단위로 분할하고, 맵핑 정보를 기반으로 임무 단위로 분할된 각각의 연산 작업에 각각의 최적 실행 디바이스를 할당하는 프로세서;를 포함한다.
그리고 본 발명의 다른 실시예에 따른, 동형 암호문 연산을 프로세싱 인 메모리에서 수행하기 위한 맵핑 방법은, 맵핑 시스템이, 임무 단위로 수행된 프로파일링 결과를 기반으로 임무 단위별 최적의 실행 디바이스를 선택하고, 선택 결과를 맵핑 정보에 저장하는 단계; 클라이언트로부터 요청받은 동형 암호문이 수신되면, 맵핑 시스템이, 프로파일링 결과를 기반으로 동형 암호문의 연산 작업을 임무 단위로 분할하는 단계; 맵핑 시스템이, 맵핑 정보를 기반으로 임무 단위로 분할된 각각의 연산 작업에 각각의 최적 실행 디바이스를 할당하는 단계; 및 각각의 최적 실행 디바이스가 할당되면, 할당된 각각의 최적 실행 디바이스에서 연산 작업을 수행하여 연산 결과를 산출하는 단계;를 포함한다.
또한, 본 발명의 다른 실시예에 따른, 동형 암호문 연산을 프로세싱 인 메모리에서 수행하기 위한 맵핑 시스템은, 임무 단위로 수행된 프로파일링 결과를 기반으로 임무 단위별 최적의 실행 디바이스를 선택하고, 선택 결과가 맵핑 정보에 저장되도록 하고, 클라이언트로부터 요청받은 동형 암호문이 수신되면, 프로파일링 결과를 기반으로 동형 암호문의 연산 작업을 임무 단위로 분할하고, 맵핑 정보를 기반으로 임무 단위로 분할된 각각의 연산 작업에 각각의 최적 실행 디바이스를 할당하는 프로세서; 및 할당된 각각의 연산 작업을 수행하여 연산 결과를 산출하는 각각의 최적 실행 디바이스;를 포함한다.
이상 설명한 바와 같이, 본 발명의 실시예들에 따르면, 메모리 내에서 연산을 수행하여 메모리 집약적인 작업을 효과적으로 실행할 수 있으며, 복잡한 연산 수행이 어려운 프로세싱 인 메모리 하드웨어 특성과, 암호문 간 복잡한 연산이 필요한 동형 암호문 연산 특성을 반영하여, 프로세싱 인 메모리 시스템에서 동형 암호문을 효율적으로 분할하고 맵핑할 수 있는 맵핑 알고리즘을 통해 동형 암호문을 적절한 하드웨어에 할당할 수 있다.
또한, 본 발명의 실시예들에 따르면, 동형암호 연산에 효율적인 프로세싱 인 메모리가 포함된 전체 시스템 구조를 통해, 동형암호 연산 속도를 종래기술 대비 크게 증가시킬 수 있다.
도 1은, 일반적인 동형 암호문 연산 방법의 설명에 제공된 도면,
도 2는, 기존 동형암호 서버 시스템 구조의 설명에 제공된 도면,
도 3은, 기존 동형암호 가속기가 적용된 서버 시스템에서의 동형암호 연산 방법의 설명에 제공된 도면,
도 4는, 본 발명의 일 실시예에 따른 동형 암호문 연산을 프로세싱 인 메모리에서 수행하기 위한 맵핑 시스템의 설명에 제공된 도면,
도 5는, 본 발명의 일 실시예에 따른 맵핑 시스템을 이용하여 프로세싱 인 메모리가 적용된 동형암호 서버 시스템과 동형암호 곱셈 연산을 맵핑하는 모습이 예시된 도면,
도 6은, 본 발명의 일 실시예에 따른 동형 암호문 연산을 프로세싱 인 메모리에서 수행하기 위한 맵핑 방법의 설명에 제공된 흐름도이다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
도 4는, 본 발명의 일 실시예에 따른 동형 암호문 연산을 프로세싱 인 메모리에서 수행하기 위한 맵핑 시스템(100)의 설명에 제공된 도면이고, 도 5는, 본 발명의 일 실시예에 따른 맵핑 시스템(100)을 이용하여 프로세싱 인 메모리가 적용된 동형암호 서버 시스템과 동형암호 곱셈 연산을 맵핑하는 모습이 예시된 도면이다.
도 4를 참조하면, 동형 암호문 연산을 프로세싱 인 메모리에서 수행하기 위한 맵핑 시스템(100)은, 프로세싱 인 메모리가 적용된 동형암호 연산 서버(200)와 연동하여 동형암호 곱셈 연산을 각 하드웨어에 맵핑하기 위해 마련된다.
이를 위해, 맵핑 시스템(100)은, 동형암호 곱셈 연산을 각 하드웨어에 맵핑하도록 하는 프로세서(110)와 저장부(120)를 포함할 수 있다.
저장부(120)는, 프로세서(110)가 동작함에 있어 필요한 데이터를 저장하는 저장매체로서, 맵핑 정보가 저장될 수 있다.
프로세서(110)는, 동형 암호문 연산의 각 단계별 특성을 분석하고, 적절한 하드웨어 장치에 할당할 수 있다.
예를 들면, 프로세서(110)는, 클라이언트로부터 요청받은 동형 암호문 연산이 최초 실행되어, 해당 동형 암호문의 프로파일링 정보가 없는 경우, 임무 단위로 프로파일링을 수행하고, 프로파일링 결과를 기반으로 임무 단위별 최적의 실행 디바이스를 선택하고, 선택 결과를 맵핑 정보에 저장할 수 있다.
구체적으로, 프로세서(110)는, 임무 단위로 프로파일링을 수행하는 경우, 클라이언트로부터 특정 동형 암호문에 대한 연산이 요청되면, 요청받은 동형 암호문의 프로파일링 정보가 존재하는지 판단하고, 해당 동형 암호문의 프로파일링 정보가 없는 경우, 해당 동형 암호문을 임무 단위로 분할하고, 분할된 임무 단위별로 프로파일링을 수행할 수 있다.
이때, 프로세서(110)는, 프로파일링 수행 시, 분할된 임무 단위별로 연산 동작 실행에 소요되는 메모리 사용량 및 수행 시간을 기록하는 프로파일링을 수행할 수 있다.
그리고 프로세서(110)는, 클라이언트로부터 요청받은 동형 암호문이 수신되면, 프로파일링 결과를 기반으로 동형 암호문의 연산 작업을 임무 단위로 분할하고, 맵핑 정보를 기반으로 임무 단위로 분할된 각각의 연산 작업에 각각의 최적 실행 디바이스를 할당할 수 있다.
여기서, 프로세싱 인 메모리가 적용된 동형암호 연산 서버(200)는, CPU Core(211)와 동형암호 가속 IP(212)를 포함하는 SoC(210)와 하나 이상의 PIM 연산기(221)를 포함하는 PIM 메모리(220)가 구비될 수 있으며, 시스템 구성에 따라 PIM 메모리(220)가 아닌 일반 메모리가 추가로 탑재될 수도 있다.
클라이언트로부터 전달된 암호문은 서버의 PIM 메모리(220) 셀에 저장되며, 곱셈 연산을 위해 필요한 NTT/iNTT 변환을 위한 하드웨어 로직은 PIM 메모리(220) 내에 구현하기 어려운 복잡한 연산이므로, SoC(210) 내의 동형암호 IP에 구현될 수 있다.
그리고 프로세서(110)는, 동형 암호문 연산의 각 단계별 특성에 따라 SoC(210) 내에 마련되는 CPU Core(211) 및 동형암호 가속 IP(212)와 프로세싱 인 메모리가 적용된 PIM 메모리(220) 내에 마련되는 PIM 연산기(221) 중 어느 하나에 임무 단위로 분할된 연산 작업을 할당할 수 있다.
즉, 프로세서(110)에 의해 각각의 연산 작업이 할당되는 실행 디바이스는, 연산 작업의 임무 특성에 따라 SoC(210) 내에 마련되는 CPU Core(211) 및 동형암호 가속 IP(212)와 프로세싱 인 메모리가 적용된 PIM 메모리(220) 내에 마련되는 PIM 연산기(221) 중 어느 하나가 선택될 수 있다.
그리고 프로세서(110)는, 각각의 최적 실행 디바이스 할당 시, 시스템 리소스가 충분한 경우, 최소의 실행 시간을 가지는 실행 디바이스에 연산 작업을 할당하고, 시스템 리소스가 불충분한 경우, 현재의 리소스 사용량을 고려하여 최소의 메모리 사용량을 보이는 실행 디바이스에 연산 작업을 할당/재할당할 수 있다.
각각의 최적 실행 디바이스가 할당되면, 할당된 각각의 최적 실행 디바이스에서 연산 작업을 수행하여 연산 결과를 산출하고, 산출된 연산 결과를 클라이언트로 전달하여 전체 동형 암호문 연산을 종료되도록 할 수 있다.
도 5를 참조하여 구체적으로 예를 들면, 동형 암호문의 연산 작업은, NTT(수치 이론 변환, Numeric Theoretic Transform) 변환 임무, Point-wise 곱셈 임무, iNTT(역 수치 이론 변환, inverse Numeric Theoretic Transform) 임무로 분할될 수 있다.
도 5에 예시된 동형 암호문의 연산 작업은, 동형암호 곱셈 연산을 NTT 변환, Point-wise 곱셈, iNTT 변환의 3가지 임무로 분할하여 맵핑한 예제로, 라이브러리 및 시스템 구현에 따라 임무 분할 및 최적 맵핑 방법은 달라질 수 있다.
시스템 별, 알고리즘 별, 상이한 연산 특성에 대응하기 위해, 프로세서(110)는, 임무별 실제 연산 동작 실행에 소요된 메모리 사용량 및 수행 시간을 기록하는 프로파일링 과정을 수행하고 저장함으로써, 이후 동일한 동작을 수행할 때 미리 프로파일링된 결과를 이용해 최적의 맵핑을 수행할 수 있도록 한다.
프로파일링이 완료되면, 이후 클라이언트에서 동형 암호문과 연산 요청이 수신되면, 프로세서(110)는, 연산을 미리 정의된 임무 단위로 분할하고, 분할된 임무별로 프로파일링 결과를 이용해 최적 실행 디바이스를 할당할 수 있다.
예를 들면, 프로세서(110)는, 시스템 리소스가 충분한 경우, 암호문 벡터 A, B를 대상으로 하는 NTT 변환 임무 및 iNTT 변환 임무를 각각 동형암호 IP에 할당하고, 벡터 간 Point-wise 곱셈 임무를 PIM 연산기(221)에 할당할 수 있다.
이 경우, 암호문 벡터 A, B는 동형암호 IP를 통해 암호문 벡터 A', B'으로 변환되어 메모리 셀에 저장되며, SoC(210)가 사용하는 메모리는 PIM 메모리(220)이므로, 기존 가속기 시스템과 달리 불필요한 데이터 이동이 발생하지 않는다.
NTT 변환이 끝난 암호문 벡터 A', B'는 PIM 내에 존재하는 PIM 연산기(221)를 통해 Point-wise 곱셈 연산을 수행할 수 있으며, 이때, 기존 가속기 시스템 대비 PIM의 높은 내부 메모리 대역폭을 이용하여 연산 성능을 극대화시킬 수 있다.
연산 결과 암호문 벡터 C'이 도출되면, C'에 대해 다시 iNTT 변환을 수행하여 목적하던 암호문 C 연산 결과를 도출할 수 있다.
여기서, 프로세서(110)는, 동형암호 IP의 리소스가 불충분한 경우, 현재의 리소스 사용량을 고려하여 리소스가 충분한 CPU Core(211)에 NTT 변환 임무 및 iNTT 변환 임무를 할당할 수 있다.
또한, 프로세서(110)는, 특정 PIM 연산기(221)의 리소스가 불충분한 경우, 현재의 리소스 사용량을 고려하여 다른 PIM 연산기(221)에 벡터 간 Point-wise 곱셈 임무를 할당하되, 모든 PIM 연산기(221)의 리소스가 불충분한 경우, 대기 시간을 고려하여 동형암호 IP의 리소스가 충분하면, 벡터 간 Point-wise 곱셈 임무를 동형암호 IP에 할당할 수 있다.
동형암호 알고리즘이 다양하게 구현됨에 따라 지원되는 연산의 종류 및 연산 순서가 상이하므로, 일반적으로 동형암호 연산은 미리 정의된 라이브러리 API(Application Programming Interface)를 통해 지원될 수 있다.
따라서 동형암호 시스템 개발자는 사전에 동형암호 알고리즘별 라이브러리를 정의함으로써, 전체 동형암호 연산의 수행 방식과 임무 분할 방식을 결정하여 맵핑 정보에 저장되도록 할 수 있으며, 프로세서(110)는, 결정된 전체 동형암호 연산의 수행 방식과 임무 분할 방식에 따라 연산 작업을 임무 단위로 분할하고, 각각의 연산 작업을 최적 실행 디바이스(하드웨어 장치)에 할당할 수 있다.
도 6은, 본 발명의 일 실시예에 따른 동형 암호문 연산을 프로세싱 인 메모리에서 수행하기 위한 맵핑 방법의 설명에 제공된 흐름도이다.
본 실시예에 따른 동형 암호문 연산을 프로세싱 인 메모리에서 수행하기 위한 맵핑 방법(이하에서는 '맵핑 방법'으로 총칭하기로 함)은, 맵핑 시스템(100)을 통해 클라이언트로부터 동형암호 연산 요청을 받을 시, 해당 연산 요청이 이전에 수행된 적이 없는 연산 요청이라면(연산 최초 실행 시), 전체 요청을 임무 단위로 분할하고, 임무 단위 프로파일링을 수행할 수 있다(S610).
구체적으로, 맵핑 방법은, 맵핑 시스템(100)을 통해 클라이언트로부터 요청받은 동형 암호문의 프로파일링 정보가 없는 경우, 임무 단위로 프로파일링을 수행하고, 임무 단위로 수행된 프로파일링 결과를 기반으로 임무 단위별 최적의 실행 디바이스를 선택하여, 선택 결과를 맵핑 정보에 저장할 수 있다(S620).
그리고 맵핑 방법은, 클라이언트로부터 요청받은 동형 암호문이 수신되면, 맵핑 시스템(100)이, 프로파일링 결과를 기반으로 동형 암호문의 연산 작업을 임무 단위로 분할하고(S630), 맵핑 정보를 기반으로 임무 단위로 분할된 각각의 연산 작업에 각각의 최적 실행 디바이스를 할당할 수 있다(S640).
각각의 최적 실행 디바이스가 할당되면, 할당된 각각의 최적 실행 디바이스에서 연산 작업을 수행하여 연산 결과를 산출하여, 산출된 연산 결과를 클라이언트로 전달하여(S650), 전체 동형 암호문 연산을 종료되도록 할 수 있다.
이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
Claims (12)
- 맵핑 시스템이, 클라이언트로부터 요청받은 동형 암호문의 프로파일링 정보가 없는 경우, 임무 단위로 프로파일링을 수행하는 제1 단계;프로파일링이 완료되면, 맵핑 시스템이, 프로파일링 결과를 기반으로 임무 단위별 최적의 실행 디바이스를 선택하고, 선택 결과를 맵핑 정보에 저장하는 제2 단계;클라이언트로부터 요청받은 동형 암호문이 수신되면, 맵핑 시스템이, 프로파일링 결과를 기반으로 동형 암호문의 연산 작업을 임무 단위로 분할하는 제3 단계; 및맵핑 시스템이, 맵핑 정보를 기반으로 임무 단위로 분할된 각각의 연산 작업에 각각의 최적 실행 디바이스를 할당하는 제4 단계;를 포함하는 동형 암호문 연산을 프로세싱 인 메모리에서 수행하기 위한 맵핑 방법.
- 청구항 1에 있어서,제1 단계는,클라이언트로부터 특정 동형 암호문에 대한 연산이 요청되면, 요청받은 동형 암호문의 프로파일링 정보가 존재하는지 판단하고,해당 동형 암호문의 프로파일링 정보가 없는 경우, 해당 동형 암호문을 임무 단위로 분할하고, 분할된 임무 단위별로 프로파일링을 수행하는 것을 특징으로 하는 동형 암호문 연산을 프로세싱 인 메모리에서 수행하기 위한 맵핑 방법.
- 청구항 2에 있어서,제1 단계는,프로파일링 수행 시, 분할된 임무 단위별로 연산 동작 실행에 소요되는 메모리 사용량 및 수행 시간을 기록하는 프로파일링을 수행하는 것을 특징으로 하는 동형 암호문 연산을 프로세싱 인 메모리에서 수행하기 위한 맵핑 방법.
- 청구항 1에 있어서,기설정된 동형 암호문의 연산 작업은,NTT(Numeric Theoretic Transform) 변환 임무, Point-wise 곱셈 임무 및 iNTT(inverse Numeric Theoretic Transform) 변환 임무로 분할되는 것을 특징으로 하는 동형 암호문 연산을 프로세싱 인 메모리에서 수행하기 위한 맵핑 방법.
- 청구항 1에 있어서,제4 단계는,각각의 최적 실행 디바이스 할당 시, 시스템 리소스가 충분한 경우, 최소의 실행 시간을 가지는 실행 디바이스에 연산 작업을 할당하는 것을 특징으로 하는 동형 암호문 연산을 프로세싱 인 메모리에서 수행하기 위한 맵핑 방법.
- 청구항 5에 있어서,제4 단계는,각각의 최적 실행 디바이스 할당 시, 시스템 리소스가 불충분한 경우, 현재의 리소스 사용량을 고려하여 최소의 메모리 사용량을 보이는 실행 디바이스에 연산 작업을 할당/재할당하는 것을 특징으로 하는 동형 암호문 연산을 프로세싱 인 메모리에서 수행하기 위한 맵핑 방법.
- 청구항 1에 있어서,각각의 최적 실행 디바이스가 할당되면, 할당된 각각의 최적 실행 디바이스에서 연산 작업을 수행하여 연산 결과를 산출하는 제5 단계;를 더 포함하는 것을 특징으로 하는 동형 암호문 연산을 프로세싱 인 메모리에서 수행하기 위한 맵핑 방법.
- 청구항 7에 있어서,제5 단계는,연산 결과가 산출되면, 산출된 연산 결과를 클라이언트로 전달하여 전체 동형 암호문 연산을 종료되도록 하는 것을 특징으로 하는 동형 암호문 연산을 프로세싱 인 메모리에서 수행하기 위한 맵핑 방법.
- 청구항 1에 있어서,실행 디바이스는,임무 특성에 따라 SoC(System on Chip) 내에 마련되는 CPU Core 및 동형암호 가속 IP와 프로세싱 인 메모리가 적용된 PIM 메모리 내에 마련되는 PIM 연산기 중 어느 하나가 선택되는 것을 특징으로 하는 동형 암호문 연산을 프로세싱 인 메모리에서 수행하기 위한 맵핑 방법.
- 맵핑 정보가 저장되는 저장부; 및클라이언트로부터 요청받은 동형 암호문의 프로파일링 정보가 없는 경우, 임무 단위로 프로파일링을 수행하고, 프로파일링이 완료되면, 프로파일링 결과를 기반으로 임무 단위별 최적의 실행 디바이스를 선택하고, 선택 결과가 저장부의 맵핑 정보에 저장되도록 하고, 클라이언트로부터 요청받은 동형 암호문이 수신되면, 프로파일링 결과를 기반으로 동형 암호문의 연산 작업을 임무 단위로 분할하고, 맵핑 정보를 기반으로 임무 단위로 분할된 각각의 연산 작업에 각각의 최적 실행 디바이스를 할당하는 프로세서;를 포함하는 동형 암호문 연산을 프로세싱 인 메모리에서 수행하기 위한 맵핑 시스템.
- 맵핑 시스템이, 임무 단위로 수행된 프로파일링 결과를 기반으로 임무 단위별 최적의 실행 디바이스를 선택하고, 선택 결과를 맵핑 정보에 저장하는 단계;클라이언트로부터 요청받은 동형 암호문이 수신되면, 맵핑 시스템이, 프로파일링 결과를 기반으로 동형 암호문의 연산 작업을 임무 단위로 분할하는 단계;맵핑 시스템이, 맵핑 정보를 기반으로 임무 단위로 분할된 각각의 연산 작업에 각각의 최적 실행 디바이스를 할당하는 단계; 및각각의 최적 실행 디바이스가 할당되면, 할당된 각각의 최적 실행 디바이스에서 연산 작업을 수행하여 연산 결과를 산출하는 단계;를 포함하는 동형 암호문 연산을 프로세싱 인 메모리에서 수행하기 위한 맵핑 방법.
- 임무 단위로 수행된 프로파일링 결과를 기반으로 임무 단위별 최적의 실행 디바이스를 선택하고, 선택 결과가 맵핑 정보에 저장되도록 하고, 클라이언트로부터 요청받은 동형 암호문이 수신되면, 프로파일링 결과를 기반으로 동형 암호문의 연산 작업을 임무 단위로 분할하고, 맵핑 정보를 기반으로 임무 단위로 분할된 각각의 연산 작업에 각각의 최적 실행 디바이스를 할당하는 프로세서; 및할당된 각각의 연산 작업을 수행하여 연산 결과를 산출하는 각각의 최적 실행 디바이스;를 포함하는 동형 암호문 연산을 프로세싱 인 메모리에서 수행하기 위한 맵핑 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220164664A KR20240080898A (ko) | 2022-11-30 | 2022-11-30 | 동형 암호문 연산을 프로세싱 인 메모리에서 수행하기 위한 맵핑 방법 및 시스템 |
KR10-2022-0164664 | 2022-11-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024117318A1 true WO2024117318A1 (ko) | 2024-06-06 |
Family
ID=91324115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2022/019312 WO2024117318A1 (ko) | 2022-11-30 | 2022-12-01 | 동형 암호문 연산을 프로세싱 인 메모리에서 수행하기 위한 맵핑 방법 및 시스템 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20240080898A (ko) |
WO (1) | WO2024117318A1 (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101952547B1 (ko) * | 2018-11-23 | 2019-02-26 | 인하대학교 산학협력단 | 격자-기반 암호시스템용 ntt-기반 다항식 곱셈 방법 및 장치 |
-
2022
- 2022-11-30 KR KR1020220164664A patent/KR20240080898A/ko unknown
- 2022-12-01 WO PCT/KR2022/019312 patent/WO2024117318A1/ko unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101952547B1 (ko) * | 2018-11-23 | 2019-02-26 | 인하대학교 산학협력단 | 격자-기반 암호시스템용 ntt-기반 다항식 곱셈 방법 및 장치 |
Non-Patent Citations (4)
Title |
---|
GUPTA SARANSH; CAMMAROTA ROSARIO; ŠIMUNIĆ TAJANA: "MemFHE: End-to-end Computing with Fully Homomorphic Encryption in Memory", ACM TRANSACTIONS ON EMBEDDED COMPUTING SYSTEMS., ACM, NEW YORK, NY., US, vol. 23, no. 2, 27 March 2024 (2024-03-27), US , pages 1 - 23, XP059415046, ISSN: 1539-9087, DOI: 10.1145/3569955 * |
GUPTA SARANSH; ROSING TAJANA SIMUNIC: "Invited: Accelerating Fully Homomorphic Encryption with Processing in Memory", 2021 58TH ACM/IEEE DESIGN AUTOMATION CONFERENCE (DAC), IEEE, 5 December 2021 (2021-12-05), pages 1335 - 1338, XP034013202, DOI: 10.1109/DAC18074.2021.9586285 * |
KYU HYUN CHOI, TAE-HO HWANG : " Technology Trends on Homomorphic Encryption and the Possibility of Acceleration of Homomorphic Encryption Using a Processing-In-Memory", PROCEEDINGS OF AUTUMN ANNUAL CONFERENCE OF IEIE, 2022, 25 November 2022 (2022-11-25), pages 1030 - 1031, XP009554986 * |
LI DAI; PAKALA AKHIL; YANG KAIYUAN: "MeNTT: A Compact and Efficient Processing-in-Memory Number Theoretic Transform (NTT) Accelerator", IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, IEEE SERVICE CENTER, PISCATAWAY, NJ, USA, vol. 30, no. 5, 2 March 2022 (2022-03-02), PISCATAWAY, NJ, USA , pages 579 - 588, XP011906310, ISSN: 1063-8210, DOI: 10.1109/TVLSI.2022.3151321 * |
Also Published As
Publication number | Publication date |
---|---|
KR20240080898A (ko) | 2024-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110187958B (zh) | 一种任务处理方法、装置、系统、设备及存储介质 | |
US9535756B2 (en) | Latency-hiding context management for concurrent distributed tasks in a distributed system | |
CN107317887B (zh) | 一种负载均衡方法、装置和系统 | |
US20140310712A1 (en) | Sequential cooperation between map and reduce phases to improve data locality | |
WO2012121482A2 (ko) | 클라우드 스토리지 시스템의 데이터 암호화 처리 장치 및 방법 | |
CN108984327B (zh) | 报文转发方法、多核cpu及网络设备 | |
CN101057219A (zh) | 本地机构分割客户机资源的方法和系统 | |
CN112799851B (zh) | 多方安全计算中的数据处理方法和相关装置 | |
CN115686875A (zh) | 用于在多个进程之间传输数据的方法、设备和程序产品 | |
CN114338133B (zh) | 应用访问系统、方法、通信装置及存储介质 | |
CN116266141A (zh) | 用于使用负载平衡指派和检查反重放序列号的方法和装置 | |
CN104753814A (zh) | 基于网卡的报文分流处理方法 | |
WO2021210880A1 (ko) | 가상 머신에 자원을 할당하는 방법 및 장치 | |
WO2024117318A1 (ko) | 동형 암호문 연산을 프로세싱 인 메모리에서 수행하기 위한 맵핑 방법 및 시스템 | |
CN115314558B (zh) | 算力网络中的资源分配方法及装置、存储介质、电子设备 | |
CN111158782B (zh) | 一种基于DPDK技术的Nginx配置热更新系统和方法 | |
CN115481440B (zh) | 数据处理方法、装置、电子设备和介质 | |
WO2020101223A1 (ko) | 서버리스 클라우드 컴퓨팅에서 에이피아이 제공 방법 | |
US11494239B2 (en) | Method for allocating computing resources, electronic device, and computer program product | |
CN113343285A (zh) | 一种执行密文计算指令的方法、装置和密文计算系统 | |
CN110868365A (zh) | 通信方法和通信系统 | |
CN117499318B (zh) | 云计算虚拟网络系统、及其使用方法、装置、设备及介质 | |
CN115599956B (zh) | 数据处理方法、执行工作站、分布式计算系统和存储介质 | |
CN118095351B (zh) | 层归一化计算的协同处理装置及方法 | |
CN116700999B (zh) | 数据处理方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22967294 Country of ref document: EP Kind code of ref document: A1 |