IP Library › Granted Patent US 12,549,339
Granted Patent B2
US 12,549,339 · App. 18/696,783 · Granted Feb 10, 2026

Encryption of program instructions in a numerical control device

Inventors: Jochen Bretschneider (Owingen, DE); Lars Immenroth (Zwickau, DE); André Vieweg (Chemnitz, DE)
Assignee: Siemens Aktiengesellschaft
H04L9/0841
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,549,339
App. No.
18/696,783
Granted
Feb 10, 2026
Kind
B2
Abstract

In a method for operating a numerical control device for controlling a production machine for producing a workpiece, program instructions generated by CAM software are encrypted with a first encryption key to generate first encrypted program instructions and the first encrypted program instructions are decrypted with a first decryption key to generate first decrypted program instructions. To prevent unauthorized access to the program instructions, the first decrypted program instructions are re-encrypted using a second encryption key to generate second encrypted program instructions, which are stored in a memory of the numerical control device. Subsequently, the second encrypted program instructions are read out of the memory and decrypted record-by-record or block-by-block, such that only those program instructions of the part program which are currently being processed by the numerical control device, or whose processing is imminent and used to control the production machine for the production of the workpiece.

Claims (23)

1 . A method for operating a numerical control device for controlling a production machine for producing a workpiece, having the following steps:

generating program instructions forming individual records or blocks of multiple records of a part program for the production of the workpiece by using CAM (Computer Aided Manufacturing) software or post-processor software downstream of the CAM software in accordance with workpiece data for producing the workpiece with the production machine, with the program instructions generated by encrypting the program instructions with a first encryption key to generate first encrypted program instructions;

decrypting with the numerical control device the first encrypted program instructions with a first decryption key to generate first decrypted program instructions; immediately following decryption, encrypting the first decrypted program instructions with a second encryption key to generate second encrypted program instructions and storing the second encrypted program instructions in a memory of the numerical control device;

reading out the second encrypted program instructions from the memory, decrypting the second encrypted program instructions with a second decryption key record-by-record or block-by-block, such that only those program instructions of the part program which are currently being processed by the numerical control device, or whose processing is imminent, are decrypted to generate second decrypted program instructions; and

wherein the second encrypted program instructions are decrypted and made available only in a volatile memory of the numerical control device,

wherein the numerical control device, manages access permissions and following a positive check of the access permissions accesses, decrypts and processes the second encrypted program instructions to control the production machine for producing the workpiece.

2 . The method of claim 1 , further comprising generating, encrypting and transferring the program instructions to the numerical control device with a computing device disposed external to the numerical control device.

3 . The method of claim 1 , wherein the CAM software is stored in the memory of the numerical control device and is executed by a processor of the numerical control device.

4 . The method of claim 1 , wherein the first encryption key matches the first decryption key or the second encryption key matches the second decryption key, or both.

5 . The method of claim 1 , wherein the first encryption key differs from the first decryption key or the second encryption key differs from the second decryption key, or both.

6 . The method of claim 1 , wherein the second encrypted program instructions are decrypted in an NC kernel of the numerical control device to generate the second decrypted program instructions.

7 . The method of claim 1 , wherein the second encrypted program instructions are decrypted and made available only in a volatile memory of the numerical control device, in particular a volatile memory of a NC kernel of the numerical control device.

8 . The method of claim 1 , further comprising restricting decryption of the second encrypted program instructions to at least one of a specific numerical control device, a specific production machine and a specific license.

9 . The method as claimed in claim 1 , wherein the access permissions are stored in a DRM (Digital Rights Management) library in the numerical control device, or in a NC kernel of the numerical control device.

10 . The method of claim 1 , wherein the first encryption key and the first decryption key are generated together based on a Diffie-Hellman key exchange.

11 . A numerical control device for controlling a production machine for producing a workpiece, wherein the numerical control device is configured as set forth in claim 1 .

12 . The numerical control device of claim 11 , designed as a CNC control.

13 . A production machine system, comprising

a numerical control device as set forth in claim 10 , and

a production machine controlled with the numerical control device.

14 . The production machine system as set forth in claim 13 , constructed as a machine tool system which comprises a CNC control and a machine tool.

15 . The method of claim 1 , wherein the second encrypted program instructions are decrypted and made available in a volatile memory of a NC kernel of the numerical control device.

16 . The method of claim 15 , wherein the NC kernel manages the access permissions and accesses, decrypts and processes the second encrypted program instructions.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2024
From: BRETSCHNEIDER, JOCHEN; VIEWEG, ANDRÉ; IMMENROTH, LARS
To: SIEMENS AKTIENGESELLSCHAFT
Reel/Frame 067080/0225 →
Priority Claims (1)
EP 21200100 · Sep 30, 2021 · regional
Continuity (1)
Related Publication 20240413983A1 · Dec 12, 2024
References Cited (23)
US 7797552B2 · Kahn · 2010 [cited by examiner]
US 9608822B2 · Lochmatter · 2017 [cited by examiner]
US 10013579B2 · Elbaz · 2018 [cited by examiner]
US 10645066B2 · Swahn · 2020 [cited by examiner]
US 10735193B1 · Knas · 2020 [cited by examiner]
US 10782959B1 · Schambureck · 2020 [cited by examiner]
US 11201725B2 · Georgieva · 2021 [cited by examiner]
US 11838787B2 · Lo · 2023 [cited by examiner]
US 11893846B2 · Ruffkess · 2024 [cited by examiner]
US 11949773B2 · Goel · 2024 [cited by examiner]
US 20020199110A1 · Kean · 2002 [cited by applicant]
US 20170085543A1 · Choi · 2017 [cited by examiner]
US 20170343997A1 · Fan et al. · 2017 [cited by applicant]
US 20210312063A1 · Laing et al. · 2021 [cited by applicant]
US 20210349442A1 · Tarnofsky et al. · 2021 [cited by applicant]
US 20220045994A1 · Masny · 2022 [cited by examiner]
DE 102018214840A1 · 2020 [cited by applicant]
EP 2620826A1 · 2013 [cited by applicant]
EP 4105745A1 · 2022 [cited by applicant]
WO WO2016086344A1 · 2016 [cited by applicant]
WO WO2020086088A1 · 2020 [cited by applicant]
PCT International Search Report and Written Opinion of International Searching Authority mailed Nov. 28, 2022 corresponding to PCT International Application No. PCT/EP2022/072102 filed Aug. 5, 2022. [cited by applicant]
Wikipedia, Elliptic-curve Diffie-Hellman, https://en.wikipedia.org/wiki/Elliptic-curve_Diffie%E2%80%93Hellman, gefunden am Oct. 1, 2021, 13:47, pp. 2; 2021. [cited by applicant]