RSA Signature Synchronization via Sliding Window Offset

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing secure multi-party computation (SMC) signature processes using RSA with floating exponents are vulnerable to device cloning attacks and sensitive to desynchronization, which can lead to failed signature generation when client and server devices lose synchronization.

Innovation Solution

A method where the client and server devices use dynamic offsets and shift values to generate RSA signature parts, with a 'sliding window' mechanism to recover synchronization and protect against cloning attacks by iteratively adjusting their values and counters to ensure successful signature generation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If floating exponent technique is used to prevent device cloning attacks, then security against cloning is improved, but sensitivity to device desynchronization increases causing signature generation failures

Engineering Contradiction:
Improvesecurity against cloning attacksVSAvoidsignature generation success rate
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent implements dynamic offset values that are updated iteratively during signature generation. The client and server devices dynamically adjust their offset values based on feedback from signature verification attempts, allowing the system to adapt to desynchronization conditions while maintaining security through the floating exponent technique.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent employs a feedback mechanism where the server device provides information to the client device about signature generation success or failure. Based on this feedback, both devices iteratively update their dynamic offset values to achieve synchronization, thereby resolving the contradiction between security and operational success rate.

Inventive Principle:
Principle #23Feedback

2Reliability

If dynamic offsets are updated at each transaction to prevent cloning, then security is improved, but device synchronization becomes more difficult to maintain

Engineering Contradiction:
Improvesecurity against cloning attacksVSAvoidsynchronization maintenance complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent enables devices to automatically maintain synchronization through self-service mechanisms. The client and server devices independently compute and update their dynamic offset values based on shared secret information and iterative feedback, eliminating the need for complex external synchronization protocols or manual intervention.

Inventive Principle:
Principle #25Self-service

3Ease of operation

If iterative retry mechanism is implemented to handle desynchronization, then signature generation success rate is improved, but processing time increases

Engineering Contradiction:
Improvesignature generation success rateVSAvoidsignature generation time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent implements a limited iterative retry mechanism where devices perform a predetermined number of offset adjustment attempts. This partial action approach balances the need for successful signature generation with time constraints, allowing sufficient retries to handle desynchronization while preventing excessive processing delays.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP3556049B1Method for synchronized signature with additive RSA key splitting using a sliding window
Publication Date: 2021.01.27 THALES DIS FRANCE SA
  • EP3556049B1 patent drawingFigure 1~2
  • EP3556049B1 patent drawingFigure 3a~3b
  • EP3556049B1 patent drawingFigure 4~5

AI summary

The present invention relates to a method of secure generation by a client device and a server device of an RSA signature of a message to be signed with a private exponent component d of an RSA key (p, q, N, d, e), wherein said client device stores a client device private exponent component dA, a client value, and a client dynamic offset, and said server device stores a server device private exponent component dB, where dB = d - dA modulo phi(N), a server value, a server dynamic offset and a failure counter, comprising: a. receiving from the client device a client part of said RSA signature (HS1 ) of said message to be signed, after incrementing its client value (pvA) by a first predetermined step E, from the client device private exponent component and from an updated client dynamic offset function of said client dynamic offset and of said client value, b. setting said failure counter to a first default value, c. incrementing said server value (pvB) by a second predetermined step (Ε'), d. generating a server part of said RSA signature (HS2) of said message to be signed, from the server device private exponent component and from an updated server dynamic offset function of said server dynamic offset and of said server value, e. generating said RSA signature by combining said client part of said RSA signature (HS1 ) and said server part of said RSA signature (HS2), f. checking if the generation of the RSA signature was a failure and when it was a failure, incrementing said failure counter and g\ iteratively repeating above steps c\ to f\, until said RSA signature is successfully generated or said failure counter reaches a first predetermined threshold S.