Multi-Party HMAC Computation via Polynomial Key Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Standard implementations of HMAC in multi-party computation require representing the HMAC function as a Boolean circuit, leading to significant data transfer and computational overhead, particularly when one party has limited resources, such as a mobile phone, which can interfere with normal operation.

Innovation Solution

A method and system using two computerized servers where neither server holds the entire HMAC encryption key, with a third-party client compressing the secret key using different irreversible functions and sending the compressed keys to each server, allowing the servers to compute the HMAC value without revealing the key, thus eliminating the need for Boolean gate representation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If HMAC is performed using Boolean gates in multi-party computation, then security is maintained through key distribution, but data transfer volume and computational overhead increase significantly

Engineering Contradiction:
ImprovesecurityVSAvoiddata transfer volume
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The secret key is segmented into multiple shares distributed to different parties. Each party holds only a portion of the key, and the HMAC computation is performed by combining these shares through polynomial evaluation rather than through Boolean gates. This segmentation reduces the amount of data that needs to be transferred while maintaining security through the properties of secret sharing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention changes the computational parameters from Boolean gate operations to polynomial arithmetic operations. By evaluating polynomials at specific points and combining results through arithmetic operations rather than logical gates, the data transfer volume is reduced while the security properties are preserved through the mathematical properties of polynomial interpolation and evaluation.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If HMAC is performed using Boolean gates on resource-constrained devices, then authentication security is maintained, but device performance and normal operation are interfered with

Engineering Contradiction:
Improveauthentication securityVSAvoiddevice performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The computation is segmented across multiple parties, with each party performing only a portion of the overall HMAC computation. Resource-constrained devices only need to perform local polynomial evaluations rather than full Boolean circuit computations, significantly reducing their computational burden while maintaining the security guarantees of the overall authentication process.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention replaces the mechanical Boolean gate system with an algebraic polynomial evaluation system. This substitution changes the fundamental computational mechanism from logical operations to arithmetic operations, which are more efficient and less resource-intensive, thereby improving device performance while maintaining authentication security.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Speed

If the entire encryption key is held by a single server for HMAC computation, then computation speed is improved, but security is compromised through key exposure risk

Engineering Contradiction:
Improvecomputation speedVSAvoidsecurity
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The encryption key is segmented into multiple shares that are distributed to different servers or parties. Each server holds only a share of the key, not the entire key. The HMAC computation is performed by combining these key shares through polynomial evaluation, which maintains security (no single server has full key access) while achieving efficient computation through parallel processing of the key shares.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10103888B2Method of performing keyed-hash message authentication code (HMAC) using multi-party computation without Boolean gates
Publication Date: 2018.10.16 COINBASE IL RD LTD
  • US10103888B2 patent drawing
  • US10103888B2 patent drawing
  • US10103888B2 patent drawing

AI summary

The subject matter discloses a method operated on at least two servers for a third-party client, the method comprising receiving by a first server a first result of the first irreversible function applied to a secret key from a first third-party client, receiving by a second server a second result of the second irreversible function applied to the secret key from the third-party client, receiving by the first server, a message from a second third-party client, the first server computing a first hash function on said first result and on said message, and sending a result of the first hash function from the first server to the second server, the second server computing a second hash function on said second result and on the result of the first hash function sent from first server and outputting the result generated by second server as HMAC result.