Compute Last Message Digest Instruction Padding State Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing secure message transmission technologies face challenges in ensuring that padding operations are performed correctly and efficiently, particularly in determining whether padding has been performed for messages, which is crucial for authentication and encryption processes.

Innovation Solution

A computer-implemented method using the Compute Last Message Digest instruction to process the last blocks of a message, incorporating a padding state control to differentiate between conditions where padding has been performed and where it has not, ensuring that padding is performed only once and correctly, supporting various hashing algorithms like SHA-1, SHA-2, and SHA-3.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If padding operation is performed without state tracking, then processing is simpler, but correctness and reliability of authentication deteriorates

Engineering Contradiction:
Improveauthentication correctnessVSAvoidstate tracking mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by setting the padding state control bit to indicate that padding has been performed before the actual padding operation occurs. This allows the system to track the state of padding completion and prevent incorrect re-padding operations, ensuring authentication correctness without complex runtime state tracking mechanisms.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback through the padding state control bit that provides information about whether padding has been performed. This feedback mechanism allows the instruction to distinguish between different execution conditions (whether to perform padding or proceed with XOF generation), ensuring reliable authentication while maintaining relatively simple processing logic.

Inventive Principle:
Principle #23Feedback

2Reliability

If padding state is not tracked, then processing is faster, but message authentication reliability deteriorates

Engineering Contradiction:
Improvemessage authenticationVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The padding state control bit is set in advance to indicate padding completion status, allowing the system to make correct decisions about authentication processing without time-consuming runtime state tracking. This preliminary state indication ensures authentication reliability while maintaining efficient processing speed.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If padding is performed multiple times, then processing is more thorough, but security strength deteriorates due to incorrect authentication

Engineering Contradiction:
Improveauthentication accuracyVSAvoidincorrect authentication results
Core Design Contradiction:
ReliabilityVSObject-generated harmful factors

Solution Approach 1:

The padding state control bit provides feedback information that prevents the system from performing padding multiple times incorrectly. This feedback mechanism ensures authentication accuracy by allowing the instruction to recognize when padding has already been performed and proceed with correct authentication processing, eliminating harmful incorrect authentication results.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP3520013B1Padding for creating a message digest
Publication Date: 2021.11.24 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • EP3520013B1 patent drawingFigure 1A
  • EP3520013B1 patent drawingFigure 1B
  • EP3520013B1 patent drawingFigure 2A~2B

AI summary

An instruction to be used to produce a message digest for a message is executed. In execution, a padding state control of the instruction is checked to determine whether padding has been performed for the message. If the checking indicates padding has been performed, a first action is performed; and if the checking indicates padding has not been performed, a second action, different from the first action, is performed.