WO2018162107A1 - Verfahren zur rechnergestützten obfuskation von programmcode - Google Patents

Verfahren zur rechnergestützten obfuskation von programmcode Download PDF

Info

Publication number
WO2018162107A1
WO2018162107A1 PCT/EP2017/082508 EP2017082508W WO2018162107A1 WO 2018162107 A1 WO2018162107 A1 WO 2018162107A1 EP 2017082508 W EP2017082508 W EP 2017082508W WO 2018162107 A1 WO2018162107 A1 WO 2018162107A1
Authority
WO
WIPO (PCT)
Prior art keywords
program code
value
mask
steps
sti
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/EP2017/082508
Other languages
German (de)
English (en)
French (fr)
Inventor
Johannes Zwanzger
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Siemens Corp
Original Assignee
Siemens AG
Siemens Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG, Siemens Corp filed Critical Siemens AG
Priority to JP2019548941A priority Critical patent/JP6919973B2/ja
Priority to EP17835809.9A priority patent/EP3577588B1/de
Priority to KR1020197029606A priority patent/KR102336521B1/ko
Priority to US16/492,439 priority patent/US11341216B2/en
Priority to CN201780088267.2A priority patent/CN110383275B/zh
Publication of WO2018162107A1 publication Critical patent/WO2018162107A1/de
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/106Enforcing content protection by specific content processing
    • G06F21/1066Hiding content
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30029Logical and Boolean instructions, e.g. XOR, NOT
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Definitions

  • the invention relates to a method for the computer-aided obfuscation of program code and to a method for executing such an obfuscated program code. Moreover, the invention comprises a technical system, a computer program product and a computer program.
  • a common approach consists in encrypting the information with a suitable encryption function, or grab the program code by means of a code packer to ver ⁇ . It is disadvantageous that decrypts the runtime of the Pro ⁇ program codes the information again, or the code will be unpacked so that the sensitive information available in the program execution completed in plain text in the program memory, and thus the risk that an attacker this information with appropriate techniques read from the memory.
  • Object of the invention is to provide a computer-protected procedural ⁇ ren, are very well protected with the sensitive information in a program code against unauthorized access by third parties to the duration of the program code.
  • the inventive method is used for computer-assisted obfuscation (ie obfuscation) of program code.
  • a plurality of computing steps are implemented, wherein predetermined computing steps of the plurality of computing steps in execution of the program code in a predetermined order be called.
  • the term of the calculation step as well as of the updating step mentioned below is to be understood broadly.
  • a calculation step does not necessarily have to contain only a single arithmetic operation, but can be composed of a multiplicity of arithmetic operations, if necessary with conditions, loops, nestings and the like.
  • a sequence of operations may be encapsulated.
  • the predetermined calculation steps of the program code to be concealed contain predetermined calculation steps.
  • the throat ⁇ voted computational steps may include, for example, only the specified differently surrounded calculation steps, however, further processing steps can be seen ⁇ addition to superiors passed computation steps if necessary.
  • the predetermined calculation steps are distinguished by the fact that in each of these steps a first table stored in the program code is accessed from a plurality of digital first table values in order to read out a first table value from the first table required for the respective given calculation step. For all of the predetermined calculation steps, which are not predetermined Re ⁇ chenuzee (if present) is indeed still set a predetermined sequence of calls, but these computing steps not access to the first table.
  • a table represents a set of digital values to which ge ⁇ aims can be gripped to-by the program code with the corresponding commands.
  • the term of the table value is also to be understood broadly.
  • a Tabel may be composed of several partial ⁇ lenwert values, which are processed at different points in accordance with the called calculation step.
  • a dynamic mask comprising generating a plurality of digi tal ⁇ mask values, wherein the mask values/2017in- at least a part of the mask and preferably all mask values of the mask differ from one another and a respective mask value is valid for a respective predetermined calculation step.
  • each first table value of the first table is converted into a digital second table value by means of the mask value, which is valid during the reading of the respective first table value in the respective predetermined calculation step, whereby a second table is obtained from second table values which instead of the first table is stored in the program code.
  • Mask value which is valid when reading the respective first table value in the respective given calculation step, is hereinafter referred to as well as the currently valid mask value .
  • the obfussistede program code provides the same results as the non-obfus undertakene program code, an additional processing step in the program code within the framework ⁇ men of obfuscation further for any given calculation step imple- mented, which first a read second table value upon execution of the predetermined processing step in those Recalculated table value, which is required for the ⁇ each predetermined calculation step.
  • the inventive method has the advantage that very good veiled by a dynamic mask sensitive information that are stored in tables ⁇ the. The operations of unmasking or de-obfuscation are distributed over a large number of computing steps in the entire program code. Thus, a reconstruction of the obfuscated information during the term of the
  • an initial mask value and updating steps are set to produce the dynamic mask, by applying egg ⁇ nes or more successive updating steps be ⁇ counted against a currently valid mask value valid for the next predetermined calculation step mask value.
  • the initial mask value and the Aktualisie ⁇ connection steps are implemented in the program code, so that there is in each predetermined calculation step, the currently valid mask value, wherein the additional rake ⁇ step in the respective predetermined calculation step, depending on the currently valid mask value.
  • the update steps for at least one part of the mask values, and in particular for al ⁇ le mask values to which they are applied, bottom are differently set in a preferred variant of the embodiment just described.
  • an updating step is provided in each of the predefined Re ⁇ chenuzee, preferably further also in at least part of the predetermined calculation steps (in particular ⁇ special in all predetermined computing steps), which are no predetermined calculation steps (if any), each one Updating step is provided.
  • the initial mask value and the update steps are defined by means of a random number generator. In this way, a very arbitrary determination of these values or steps is achieved and thus the obfuscation of the program code is further improved.
  • the first table values and the second table values as well as the mask values each represent a bit sequence.
  • the conversion of a respective first table value into a second table value takes place by applying logical operations between the bit sequence of the first table value and Bit sequence of the currently valid mask value. The appli ⁇ logical operations thereby yields the second Ta bell worth.
  • the above operations are bitwise logical applied to each corresponding bit of the bit sequences of the gene jeweili ⁇ first table value and the currently valid mask value, wherein the logical operations preferably one or more OR and / or XOR and / or NOR and / or XNOR and / or AND and / or NAND operations.
  • the bit sequence of the currently valid mask value is longer than the bit sequence of the first table value, not all bits of the currently valid mask value are therefore used to modify the first table value.
  • the original bit sequence of the currently valid mask value is extended by multiple use of the bits of the original bit sequence, so that for each bit of the
  • Bit sequence of the respective first table value a corresponding bit of the bit sequence of the currently valid mask value exists.
  • the lengthening of the bit sequence preferably takes place in such a way that the original bit sequence is repeated one or more times. In this way, a good wear is ⁇ tion of the corresponding (first) table value is also ER- sufficient if the bit length of the mask value is shorter than diejeni ⁇ ge of the corresponding table value.
  • the invention also relates to a method for executing the program
  • obfuscated program codes In this case is read out when calling a per ⁇ pier predetermined calculation step of (obfus inhabiten) program code of the second table value from the second table and executed for each predetermined calculation step, the additional processing step which back converts the out ⁇ read in the second table value in those first table value for the respective predetermined calculation step is needed.
  • the invention further relates to a technical system comprising a computer means adapted to execute the obfuscated program code according to the method just described.
  • the term of the technical system is to be understood broadly, and this may also be a single technical device.
  • the technical system can be, for example, an automation system or a component of an automation system or an electrical power generation and / or energy distribution system or a component of a power generation and / or energy distribution system or a medical device.
  • the invention relates to a computer program product with program code sections stored on a machine-readable carrier for carrying out the inventive method for computer-aided obfuscation of program code or for carrying out the method according to the invention for executing the obfuscated program code or Carrying out preferred variants of these methods when the program code sections are executed on a computer.
  • the invention relates to a computer program with program code sections for carrying out the method according to the invention for the computer-aided obfuscation of program code or for carrying out the method according to the invention for executing the obfuscated program code or preferred variants of these methods when the program code sections are executed on a computer.
  • the program code segments correspond to the obfus emergeen Pro ⁇ program code.
  • FIG. 1 shows a flow diagram of an embodiment of the inventive method for obfuscation of program code.
  • the starting point of the method is a program code ⁇ CO, is to disguise the scope of the invention.
  • the index i determines the predetermined order in which the calculation steps STi are executed successively.
  • the re ⁇ chen Coloure STi correspond to predetermined Rechenschrit- Within the meaning of claim 1.
  • the program code of the first table Tl CO is accessed only in the thus Rechenschrit ⁇ th STi on a particular entry Tli.
  • the respective table entry represents a bit sequence which is processed in the corresponding calculation step.
  • the bit sequences of the individual table entries have the length 1 (i). These lengths can be different for different table entries.
  • the program code CO generates at runtime from a known input by using the calculation steps ST a specific output. Basically, the computation steps ST can be run through in any order, but the special computation steps STi are always run through each other exactly in the same order and independent of the input.
  • a respective calculation step STi always accesses only a single table entry Tli, the calculation step, however, any number of times allowed to access the discourseein ⁇ contract when executed.
  • the non-veiled table Tl with the corresponding Ta ⁇ bell entries Tli contains sensitive information and it is the goal as described below execution ⁇ form to obfusring the program code CO such that an un ⁇ authorized third parties the table entries, or only with very great effort from can reconstruct the program code.
  • the concealment is distributed over the entire program code, whereby the recalculation of the original table values is greatly impeded.
  • step Sl of Fig. 1 is used for the obfuscation Pro
  • a sequence corresponding to the execution of the computation steps S i is determined.
  • the individual mask values Mi represent each ⁇ wells a bit string having a predetermined length is, this length in the embodiment described here over the mask values Mi remains the same, but this need not be the case inevitably fig.
  • the individual mask values Mi are determined via a sequence of update steps, which are applied sequentially from an arbitrary initial mask value to the last updated mask value.
  • the concept of updating step is far To Hide ⁇ hen.
  • an updating step may include not only a single operation, but possibly also several Ope ⁇ nen.
  • the updating steps were determined arbitrarily and are therefore at least partially different from each other. Nevertheless, the individual update steps are fixed and the operations contained therein are executed in a fixed order.
  • a mask M with arbitrary mask assignments or mask values Mi is thus generated.
  • a random number generator is used for determining the initial value of the mask and for determining the updating steps .
  • the table entry Tli read out in the respective calculation step STi is then changed by means of a function f ⁇ , M, which depends on the mask value Mi, which is valid in the corresponding calculation step STi.
  • the fi FM function can be arbitrarily set thereby, decisive is single ⁇ Lich that the function of each mask value Mi depends and a mapping table entry Tli bijective to a new table entry ⁇ T2i a second table T2.
  • the function fiM in this embodiment is an image which maps the bit sequence of a table entry Tli to another bit sequence of the same length, this other bit sequence corresponding to the new table entry ⁇ 2 ⁇ .
  • each rake ⁇ step implements an additional step that converts the readout table entry T2i by means of the inverse function f -1 iM, which depends on the currently valid mask value Mi in the ur ⁇ sprün Mi.
  • the obfuscation of a program code described above can be used in various technical fields.
  • the programs can take on any tasks, eg they can be control and / or regulation algorithms or algorithms based on neural networks.
  • the protecting ⁇ cost data may be, for example cryptographic information or to information that is important for licensing exams.
  • the embodiment of the method according to the invention described above has a number of advantages.
  • an attacker can no longer extract any information from this table due to the masking of a table.
  • Unpacking operations do not take the steps of unmasking the table at a point in the program code, but unmasking is distributed throughout the program code. An attacker must therefore analyze the entire program code to get conclusions on the Original Art ⁇ chen values of the table. In contrast, can an attacker in the case of a one-time encryption of a table with knowledge about the decryption directly access the plain text of the table entries.
  • the inventive obfuscation ie in particular the current mask value may also at any time of the execution of the program code based on the Spei ⁇ cherSullivans, readily be concluded over the use in the current step ⁇ th table entry. Already with the next update of the mask value the inference on the earlier table entry is no longer possible.
  • the obfuscation method according to the invention can also be combined very well with other techniques of reverse engineering, such as anti-debugging measures or the use of self-modifying codes. In this way, it will add more weight for ei ⁇ nen attacker, the entire sequence of de- masking operations to extract the original table values to reconstruct.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
PCT/EP2017/082508 2017-03-10 2017-12-13 Verfahren zur rechnergestützten obfuskation von programmcode Ceased WO2018162107A1 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2019548941A JP6919973B2 (ja) 2017-03-10 2017-12-13 プログラムコードのコンピュータ支援難読化方法
EP17835809.9A EP3577588B1 (de) 2017-03-10 2017-12-13 Verfahren zur rechnergestützten obfuskation von programmcode
KR1020197029606A KR102336521B1 (ko) 2017-03-10 2017-12-13 프로그램 코드의 컴퓨터-지원 난독화를 위한 방법
US16/492,439 US11341216B2 (en) 2017-03-10 2017-12-13 Method for the computer-aided obfuscation of program code
CN201780088267.2A CN110383275B (zh) 2017-03-10 2017-12-13 用于程序代码的计算机辅助的代码混淆的方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102017204020.3 2017-03-10
DE102017204020.3A DE102017204020A1 (de) 2017-03-10 2017-03-10 Verfahren zur rechnergestützten Obfuskation von Programmcode

Publications (1)

Publication Number Publication Date
WO2018162107A1 true WO2018162107A1 (de) 2018-09-13

Family

ID=61054302

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2017/082508 Ceased WO2018162107A1 (de) 2017-03-10 2017-12-13 Verfahren zur rechnergestützten obfuskation von programmcode

Country Status (7)

Country Link
US (1) US11341216B2 (enExample)
EP (1) EP3577588B1 (enExample)
JP (1) JP6919973B2 (enExample)
KR (1) KR102336521B1 (enExample)
CN (1) CN110383275B (enExample)
DE (1) DE102017204020A1 (enExample)
WO (1) WO2018162107A1 (enExample)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11882447B2 (en) 2018-08-09 2024-01-23 Siemens Aktiengesellschaft Computer-implemented method and network access server for connecting a network component to a network with an extended network access identifier

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11456855B2 (en) * 2019-10-17 2022-09-27 Arm Limited Obfuscating data at-transit
US20210303662A1 (en) * 2020-03-31 2021-09-30 Irdeto B.V. Systems, methods, and storage media for creating secured transformed code from input code using a neural network to obscure a transformation function
US11954213B2 (en) 2021-09-13 2024-04-09 International Business Machines Corporation Obfuscating intelligent data while preserving reserve values

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0900488A1 (en) * 1996-06-13 1999-03-10 Intel Corporation Tamper resistant methods and apparatus
US20140101458A1 (en) * 2010-11-05 2014-04-10 Apple Inc. Code tampering protection for insecure environments
EP2937803A1 (en) * 2014-04-23 2015-10-28 Nxp B.V. Control flow flattening for code obfuscation where the next block calculation needs run-time information

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3627384B2 (ja) * 1996-01-17 2005-03-09 富士ゼロックス株式会社 ソフトウェアの保護機能付き情報処理装置及びソフトウェアの保護機能付き情報処理方法
JP2003280755A (ja) 2002-03-25 2003-10-02 Nec Corp 自己復元型プログラム、プログラム生成方法及び装置、情報処理装置並びにプログラム
JP2003280754A (ja) 2002-03-25 2003-10-02 Nec Corp 隠蔽化ソースプログラム、ソースプログラム変換方法及び装置並びにソース変換プログラム
US7133525B1 (en) * 2002-05-17 2006-11-07 Communication Security Apparatus Corp. Communication security apparatus and method of using same
WO2009010338A1 (de) * 2007-07-13 2009-01-22 Siemens Aktiengesellschaft Verfahren zur rechnergestützten obfuskierung eines softwareprogramms und computerprogrammprodukt
US8667301B2 (en) * 2010-04-01 2014-03-04 Apple Inc. Obfuscating transformations on data array content and addresses
US10191754B2 (en) * 2012-01-09 2019-01-29 Koninklijke Philips N.V. Virtual machine device having key driven obfuscation and method
US8756435B2 (en) * 2012-03-02 2014-06-17 Apple Inc. Obfuscation of control flow of software
US9336370B2 (en) * 2012-12-06 2016-05-10 Apple Inc. Method and apparatus for dynamic obfuscation of static data
KR101328012B1 (ko) 2013-08-12 2013-11-13 숭실대학교산학협력단 애플리케이션 코드 난독화 장치 및 그 방법
US10599820B2 (en) * 2014-04-23 2020-03-24 Nxp B.V. Control flow flattening for code obfuscation where the next block calculation needs run-time information
US9830326B2 (en) * 2015-06-15 2017-11-28 Ca, Inc. Identifying data offsets using binary masks
KR101619458B1 (ko) 2016-03-02 2016-05-10 (주)케이사인 애플리케이션 코드 난독화 장치 및 이를 이용한 애플리케이션 코드 난독화 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0900488A1 (en) * 1996-06-13 1999-03-10 Intel Corporation Tamper resistant methods and apparatus
US20140101458A1 (en) * 2010-11-05 2014-04-10 Apple Inc. Code tampering protection for insecure environments
EP2937803A1 (en) * 2014-04-23 2015-10-28 Nxp B.V. Control flow flattening for code obfuscation where the next block calculation needs run-time information

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11882447B2 (en) 2018-08-09 2024-01-23 Siemens Aktiengesellschaft Computer-implemented method and network access server for connecting a network component to a network with an extended network access identifier

Also Published As

Publication number Publication date
EP3577588A1 (de) 2019-12-11
DE102017204020A1 (de) 2018-09-13
CN110383275A (zh) 2019-10-25
US20200042677A1 (en) 2020-02-06
JP2020510935A (ja) 2020-04-09
US11341216B2 (en) 2022-05-24
JP6919973B2 (ja) 2021-08-18
KR102336521B1 (ko) 2021-12-06
EP3577588B1 (de) 2021-09-01
CN110383275B (zh) 2023-08-22
KR20190122837A (ko) 2019-10-30

Similar Documents

Publication Publication Date Title
EP2605445B1 (de) Verfahren und Vorrichtung zur Absicherung von Blockchiffren gegen Template-Attacken
EP3577588B1 (de) Verfahren zur rechnergestützten obfuskation von programmcode
DE69736148T2 (de) Verfahren und Einrichtung zur Datenverschlüsselung
EP1618519A2 (de) Verfahren zur verarbeitung von daten
DE102014016548A1 (de) Verfahren zum Testen und zum Härten von Softwareapplikationen
EP3576001A1 (de) Computerimplementiertes verfahren zum übergeben eines datenstrings von einer anwendung an eine datenschutzeinrichtung
EP1664979B1 (de) Übergang zwischen maskierten repräsentationen eines wertes bei kryptographischen berechnungen
DE102007043083A1 (de) Verfahren und Vorrichtung zum Codieren von Datenworten
EP1439446A1 (de) Verfahren zum Erweitern eines Programms um eine Kopierschutzfunktion
DE102006030888B4 (de) Verfahren und Vorrichtung zum Erzeugen eines Startwertes für einen Pseudo-Zufallszahlengenerator
DE102018208851A1 (de) Vorrichtung und Verfahren zum Umwandeln von Eingangsbitfolgen
EP1887458A1 (de) Pseudo-Zufallszahlengenerator für eine Chipkarte
EP1506473B1 (de) Ausspähungsgeschützte modulare inversion
DE102014117967A1 (de) Zufallspermutationsgenerator und Verfahren zum Generieren einer Zufallspermutationssequenz
DE10253285B4 (de) Verschleierung eines geheimen Wertes
EP0764303B1 (de) Microcontrollersicherungsverfahren
EP3504616B1 (de) Modul und verfahren zur abgesicherten berechnung von mathematischen operationen
WO2024038210A1 (de) Verfahren zum bereitstellen eines digitalen schlüssels
EP1595356B1 (de) Erzeugen von ergebniswerten mit einer vorgegebenen eigenschaft
DE102022131254A1 (de) Verfahren zum Verschlüsseln eines Quelltextes, Verfahren zum Entschlüsseln eines Quelltextes und Entwicklungssystem
DE102023112670A1 (de) Erhöhung der entropie von zufallszahlen
DE10318730A1 (de) Verfahren zum Betreiben einer Datenverarbeitungseinheit sowie Datenverarbeitungssystem zur Durchführung des Verfahrens
DE102015114234A1 (de) Zufallszahlgenerator und Verfahren zum Generieren von Zufallszahlen
DE102008030421A1 (de) Verfahren und Schaltungsanordnung zur SHA1- und SHA256-Signatur Generierung

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: 17835809

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017835809

Country of ref document: EP

Effective date: 20190903

ENP Entry into the national phase

Ref document number: 2019548941

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20197029606

Country of ref document: KR

Kind code of ref document: A