DE102008054627A1 - Control device with the method for manipulation protection computer program, computer program product - Google Patents

Control device with the method for manipulation protection computer program, computer program product Download PDF

Info

Publication number
DE102008054627A1
DE102008054627A1 DE200810054627 DE102008054627A DE102008054627A1 DE 102008054627 A1 DE102008054627 A1 DE 102008054627A1 DE 200810054627 DE200810054627 DE 200810054627 DE 102008054627 A DE102008054627 A DE 102008054627A DE 102008054627 A1 DE102008054627 A1 DE 102008054627A1
Authority
DE
Germany
Prior art keywords
data
memory
encrypted
encryption
encryption device
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
DE200810054627
Other languages
German (de)
Inventor
Bjoern Hornburg
Torsten Schuetze
Arthur Wollny
Jens Liebehenschel
Klaus Schneider
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE200810054627 priority Critical patent/DE102008054627A1/en
Priority to PCT/EP2009/065401 priority patent/WO2010072475A1/en
Publication of DE102008054627A1 publication Critical patent/DE102008054627A1/en
Ceased legal-status Critical Current

Links

Classifications

    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

Die Erfindung betrifft ein Verfahren, eine Vorrichtung, ein Computerprogramm und ein Computerprogrammprodukt zum Schutz von Daten, bei dem ein Mikrocontroller (100) über eine Signalleitung mit einem Speicher (103) verbunden ist, wobei Daten durch eine im Mikrocontroller (10) angeordnete Verschlüsselungseinrichtung (102) verschlüsselt und/oder entschlüsselt werden und die verschlüsselten Daten über die Signalleitung von der Verschlüsselungseinrichtung (102) an den Speicher (103) oder vom Speicher (103) an die Verschlüsselungseinrichtung (102) gesendet werden.The invention relates to a method, a device, a computer program and a computer program product for protecting data, in which a microcontroller (100) is connected to a memory (103) via a signal line, wherein data is stored by an encryption device (10) in the microcontroller (10). 102) are encrypted and / or decrypted and the encrypted data is sent via the signal line from the encryption device (102) to the memory (103) or from the memory (103) to the encryption device (102).

Description

Stand der TechnikState of the art

Die Erfindung geht aus von einem Steuergerät, einem Verfahren, einem Computerprogramm, oder einem Computerprogrammprodukt nach Gattung der unabhängigen Ansprüche.The Invention is based on a control device, a method, a computer program or a computer program product Type of independent claims.

Aus der DE 197 37 18 A1 ist bereits ein Verfahren zum Ändern von Daten bekannt, bei dem aktuell zu bearbeitende Daten von einem Flashspeicher in ein RAM kopiert werden, um anschließend im RAM bearbeitet zu werden. Dabei werden die Daten aus dem Flashspeicher über eine Signalleitung an den Mikrocontroller übertragen. Der Flashspeicher ist dabei außerhalb des Mikrocontrollers angeordnet und die Daten sind unverschlüsselt im Flashspeicher abgespeichert. Dabei sind Manipulationen der Daten oder die Entnahme von in den Daten enthaltenen Informationen möglich.From the DE 197 37 18 A1 For example, a method for changing data is known in which data currently to be processed is copied from a flash memory to a RAM for subsequent processing in RAM. The data is transferred from the flash memory via a signal line to the microcontroller. The flash memory is arranged outside the microcontroller and the data are stored unencrypted in the flash memory. This manipulation of the data or the removal of information contained in the data is possible.

Offenbarung der ErfindungDisclosure of the invention

Vorteile der ErfindungAdvantages of the invention

Das erfindungsgemäße Verfahren, Steuergerät, Computerprogramm und Computerprogrammprodukt mit den Merkmalen der unabhängigen Ansprüche hat demgegenüber den Vorteil, dass Daten durch eine in einem Mikrocontroller angeordnete Verschlüsselungseinrichtung verschlüsselt oder entschlüsselt werden und die verschlüsselten Daten über eine Signalleitung von der Verschlüsselungseinrichtung an einen Speicher oder vom Speicher an die Verschlüsselungseinrichtung gesendet werden. Das bedeutet, dass die Daten in dem Speicher außerhalb des Mikrocontrollers verschlüsselt gespeichert sind. Außerdem findet die Datenübertragung zwischen dem Speicher und dem Mikrocontroller über die Signalleitung mittels der verschlüsselten Daten statt. Die Daten sind dabei in dem Speicher verschlüsselt abgespeichert. Dadurch wird beispielsweise auch beim Einsatz eines Standard-Flash Bausteins im Sinne eines speziellen Integritätsschutz eine Manipulation der Daten und/oder im Sinne des Vertraulichkeitsschutz die Entnahme von Informationen aus den Daten wirksam verhindert. Der Vertraulichkeitsschutz bezeichnet insbesondere den Schutz vor unbefugter Preisgabe von Informationen. Der Integritätsschutz umfasst insbesondere Datensicherheit (Schutz vor Verlust) und Fälschungssicherheit (Schutz vor vorsätzlicher Veränderung).The inventive method, control device, Computer program and computer program product with the features of independent claims has in contrast the advantage that data through an arranged in a microcontroller Encryption device encrypted or be decrypted and the encrypted data via a signal line from the encryption device to a memory or from the memory to the encryption device be sent. This means that the data in the memory is outside the Microcontroller is stored encrypted. Furthermore finds the data transfer between the memory and the Microcontroller via the signal line by means of the encrypted Data instead. The data is encrypted in the memory stored. As a result, for example, when using a Standard Flash blocks in the sense of a special integrity protection a manipulation of the data and / or in the sense of confidentiality protection the removal of information from the data effectively prevented. The confidentiality protection designates in particular the protection unauthorized disclosure of information. Integrity protection includes in particular data security (protection against loss) and counterfeit security (Protection against deliberate change).

Besonders vorteilhaft ist es, wenn die Länge der Daten und die Länge der verschlüsselten Daten gleich sind. Das bedeutet, dass durch eine transparente Ver- und Entschlüsselung mit konstanter Größe sichergestellt wird, dass kein zusätzlicher Speicherplatz in dem Speicher vorgesehen werden muss. Dadurch werden die Kosten für den Speicher bei der Verwendung verschlüsselter Daten nicht erhöht.Especially it is advantageous if the length of the data and the length the encrypted data are the same. It means that through a transparent encryption and decryption with constant Size is ensured that no additional Storage space must be provided in the memory. This will be the cost of the store when using encrypted Data not increased.

Besonders vorteilhaft ist es, wenn die Daten in mindestens einen Datenblock unterteilt sind und die Verschlüsselung und/oder Entschlüsselung der Daten abhängig von einer ersten Adresse des mindestens einen Datenblocks erfolgt. Damit werden sehr effektive Verschlüsselungsalgorithmen (LRW-AES) verwendet, die die kryptografischen Schutzziele bezüglich Leakage, Watermarking, Malleability, Movability und Replay Attack erfüllen.Especially it is advantageous if the data in at least one data block are divided and the encryption and / or decryption the data depends on a first address of at least a data block takes place. This will be very effective encryption algorithms (LRW-AES) that uses the cryptographic protection goals Leakage, Watermarking, Malleability, Movability and Replay Attack fulfill.

Besonders vorteilhaft ist es, wenn die Daten in mindestens einen Sektor unterteilt sind, wobei der mindestens eine Sektor mindestens einen Datenblock umfasst und die Verschlüsselung und/oder die Entschlüsselung der Daten abhängig von der ersten Adresse des mindestens einen Datenblocks und der zweiten Adresse des mindestens einen Sektors erfolgt. Durch die Anwendung des Verschlüsselungsalgorithmusses XTS-AES wird die Wirksamkeit des erfindungsgemäßen Verfahrens bezüglich der Sicherheitsziele weiter verbessert.Especially It is advantageous if the data is divided into at least one sector are, wherein the at least one sector at least one data block includes and encryption and / or decryption the data depends on the first address of at least a data block and the second address of the at least one sector he follows. By applying the encryption algorithm XTS-AES will increase the effectiveness of the invention Process further improved with regard to security objectives.

Besonders vorteilhaft ist es, wenn die Daten in einen ersten Teil und einen zweiten Teil aufgeteilt werden, wobei der erste Teil der Daten verschlüsselt und/oder entschlüsselte wird und der zweite Teil der Daten unverschlüsselt in dem Speicher abgespeichert wird. Dadurch können beispielsweise nur bestimmte Nutzdaten verschlüsselt und entschlüsselt im Speicher abgespeichert werden, während andere Daten wie der Programmcode unverschlüsselt im Speicher abgespeichert werden. Damit lässt sich die Zugriffsgeschwindigkeit bei einem Datenzugriff durch den Mikrocontroller deutlich erhöhen.Especially It is advantageous if the data in a first part and a be split second part, wherein the first part of the data encrypted and / or decrypted and the second part of the data is unencrypted is stored in the memory. This can, for example only certain user data is encrypted and decrypted in the Memory is saved while other data like the program code is stored unencrypted in the memory become. This allows the access speed significantly increase data access by the microcontroller.

Besonders vorteilhaft ist es, wenn eine weitere Signalleitung zwischen dem Mikroprozessor und dem Speicher angeordnet ist, über die der zweite Teil der Daten unverschlüsselt übertragen wird. Dadurch lassen sich die Nutzdaten mittels des XTS-AES oder des LRW-AES Verschlüsselungsalgorithmus im Sinne eines speziellen Integritätsschutzes vor Manipulation schützen. Gleichzeitig wird der Zugriff auf dem Programmcode schnell, ohne Entschlüsselung, direkt ausgeführt.Especially It is advantageous if a further signal line between the Microprocessor and the memory is arranged over the the second part of the data is transmitted unencrypted becomes. As a result, the user data can be determined by means of the XTS-AES or the LRW-AES encryption algorithm in the sense of a special Protect integrity protection against manipulation. At the same time, access to the program code is fast, without Decryption, directly executed.

Kurze Beschreibung der ZeichnungenBrief description of the drawings

Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert.embodiments The invention is illustrated in the drawings and in the following Description explained in more detail.

Es zeigen:It demonstrate:

1 schematisch ein Steuergerät mit einem Speicher, 1 schematically a control unit with a memory,

2 schematisch einen ersten Verschlüsselungsalgorithmus, 2 schematically a first encryption algorithm,

3 schematisch einen zweiten Verschlüsselungsalgorithmus, 3 schematically a second encryption algorithm,

4 schematisch eine Datenstruktur, 4 schematically a data structure,

5 einen Ablaufplan einer Ausführungsform des erfindungsgemäßen Verfahrens, 5 a flowchart of an embodiment of the method according to the invention,

6 schematisch einen ersten Entschlüsselungsalgorithmus, 6 schematically a first decryption algorithm,

7 schematisch einen zweiten Entschlüsselungsalgorithmus. 7 schematically a second decryption algorithm.

Ausführungsformen der Erfindungembodiments the invention

In 1 ist ein Steuergerät zur Durchführung des erfindungsgemäßen Verfahrens schematisch dargestellt und mit 104 bezeichnet.In 1 is a control device for performing the method according to the invention shown schematically and with 104 designated.

Das Steuergerät 104 umfasst einen Mikrocontroller 100 und einen Speicher 103, beispielsweise einen Flash-Baustein.The control unit 104 includes a microcontroller 100 and a memory 103 , for example, a flash device.

In dem Mikrocontroller 100 ist eine Recheneinheit 101 angeordnet, die beispielsweise eine CPU, ein RAM und einen Cache umfasst. Außerdem ist in dem Mikrocontroller 100 eine Verschlüsselungseinrichtung 102, beispielsweise ein Hardware-Kryptomodul angeordnet. Das Hardware-Kryptomodul umfasst beispielsweise fest verdrahtete Ver- und/oder Entschlüsselungsalgorithmen und die zugehörigen Schlüssel, wobei der Zugriff von außen durch geeignete Maßnahmen verhindert wird.In the microcontroller 100 is an arithmetic unit 101 arranged, which includes, for example, a CPU, a RAM and a cache. Also, in the microcontroller 100 an encryption device 102 , For example, arranged a hardware crypto module. The hardware crypto module comprises, for example, hardwired encryption and / or decryption algorithms and the associated keys, external access being prevented by suitable measures.

Die Verschlüsselungseinrichtung 102 sendet Daten an die Recheneinheit 101 und empfängt Daten von der Recheneinheit 101. Die Daten sind dabei, wie in 4 dargestellt, in n Sektoren, beispielsweise der Länge 4096 Bit unterteilt. Ein erster Sektor 401, ein zweiter Sektor 402 und ein n-ter Sektor 403 sind in 4 dargestellt. Jeder der n Sektoren ist in m Datenblöcke P unterteilt. Ein erster Block 404, ein zweiter Block 405 und ein M-ter Block 406 sind in 4 im ersten Sektor 401 dargestellt. Ein Datenblock ist beispielsweise 128 Bit lang. Damit umfasst ein Sektor, beispielsweise m = 32 Blöcke. Die Anzahl n der Sektoren hängt dabei von der Länge der Daten selbst ab. Für Daten der Länge 16368 Bit werden bspw. n = 4 Sektoren verwendet.The encryption device 102 sends data to the arithmetic unit 101 and receives data from the arithmetic unit 101 , The data is included, as in 4 represented, divided into n sectors, for example, the length of 4096 bits. A first sector 401 , a second sector 402 and an nth sector 403 are in 4 shown. Each of the n sectors is divided into m data blocks P. A first block 404 , a second block 405 and an Mth block 406 are in 4 in the first sector 401 shown. For example, a data block is 128 bits long. Thus, a sector, for example, m = 32 blocks. The number n of sectors depends on the length of the data itself. For data of length 16368 bits, for example, n = 4 sectors are used.

Jeder der Datenblöcke P wird durch eine ihm zugeordnete eindeutige Adresse A(i, j) identifiziert. Dabei beschreibt der erste Index j eine erste Adresse des mindestens einen Datenblockes P innerhalb der Daten. Der zweite Index i beschreibt eine zweite Adresse des Sektors in dem sich der Datenblock P befindet. Beispielsweise ist die Adresse des ersten Blocks 404 im ersten Sektor 401A (0, 0). Beispielsweise ist die Adresse des letzten Blocks 406A (n – 1, m – 1).Each of the data blocks P is identified by a unique address A (i, j) associated with it. In this case, the first index j describes a first address of the at least one data block P within the data. The second index i describes a second address of the sector in which the data block P is located. For example, the address of the first block 404 in the first sector 401A (0, 0). For example, the address of the last block 406A (n - 1, m - 1).

Die Verschlüsselungseinrichtung 102 empfängt die Adresse A(i, j) von der Recheneinheit 101 und sendet sie an den Speicher 103. Außerdem sendet die Verschlüsselungseinrichtung verschlüsselte Datenblöcke C an den Speicher 103. Die Verschlüsselungseinrichtung empfängt verschlüsselte Datenblöcke C vom Speicher 103.The encryption device 102 receives the address A (i, j) from the arithmetic unit 101 and sends it to the store 103 , In addition, the encryption device sends encrypted data blocks C to the memory 103 , The encryption device receives encrypted data blocks C from the memory 103 ,

Zur Kommunikation zwischen der Verschlüsselungseinrichtung 102 und dem Speicher 103 dient eine Signalleitung, beispielsweise ein Datenbus.For communication between the encryption device 102 and the memory 103 serves a signal line, such as a data bus.

Wenn Daten von der Recheneinheit 101 in dem Speicher 103 abgespeichert werden sollen, teilt die Recheneinheit 101 die Daten zunächst in einzelne Datenblöcke P, beispielsweise der Länge 128 Bit auf. Dann überträgt die Recheneinheit 101 die Datenblöcke P an die Verschlüsselungseinrichtung 102. Dazu werden die Datenblöcke P beispielsweise nacheinander zusammen mit der zugehörigen Adresse A(i, j) übertragen.When data from the arithmetic unit 101 in the store 103 to be saved, the arithmetic unit divides 101 the data first in individual data blocks P, for example, the length of 128 bits. Then transfers the arithmetic unit 101 the data blocks P to the encryption device 102 , For this purpose, the data blocks P are transmitted, for example, successively together with the associated address A (i, j).

Die Verschlüsselungseinrichtung 102 enthält somit gleichzeitig den Datenblock P und die zugehörige Adresse A(i, j). Die Verschlüsselungseinrichtung 102 führt ein Verschlüsselungsverfahren, beispielsweise ein XTS-AES-Verschlüsselungsalgorithmus oder einen LRW-AES-Verschlüsselungsalgorithmus aus.The encryption device 102 thus simultaneously contains the data block P and the associated address A (i, j). The encryption device 102 performs an encryption method, such as an XTS-AES encryption algorithm or an LRW-AES encryption algorithm.

In 2 ist beispielsweise der XTS-AES-Verschlüsselungsalgorithmus dargestellt. Gemäß des XTS-AES-Verschlüsselungsalgorithmus wird ein verschlüsselter Datenblock C abhängig von der ersten Adresse des mindestens einen Datenblocks (zweiter Index j) und der zweiten Adresse des mindestens einen Datensektors (erster Index) ermittelt. Zusätzlich werden ein erster Schlüssel K1, beispielsweise ein Data-Encription-Key, ein zweiter Schlüssel K2, beispielsweise ein Tweak-Key und ein vorgegebener erster Wert α verwendet. Beispielsweise wird die Länge der Datenblöcke P zu 128 Bit gewählt. Der XTS-AES-Verschlüsselungsalgorithmus verwendet beispielsweise eine Schlüssellänge von 128 Bit oder von 256 Bit. In diesem Falle erfolgt die Verschlüsselung wie folgt: T = AES – encκ2(i) ⊗ αj PP = P ⊗ T CC = AES-encκ1(PP) C = CC ⊕ T In 2 For example, the XTS-AES encryption algorithm is shown. According to the XTS-AES encryption algorithm, an encrypted data block C is determined as a function of the first address of the at least one data block (second index j) and the second address of the at least one data sector (first index). In addition, a first key K1, for example a data encription key, a second key K2, for example a tweak key and a predetermined first value α are used. For example, the length of the data blocks P is chosen to be 128 bits. For example, the XTS-AES encryption algorithm uses a key length of 128 bits or 256 bits. In this case the encryption is done as follows: T = AES - encκ 2 (i) ⊗ α j PP = P ⊗ T CC = AES-encκ 1 (PP) C = CC ⊕ T

Die Berechnung erfolgt abhängig von einer erste Hilfsgröße PP, einer zweiten Hilfsgröße T und einer dritten Hilfsgröße CC sowie vom vorgegebenen ersten Wert α. Bei dem vorgegebenen ersten Wert α handelt es sich beispielsweise um einen 128 Bit-Wert, der ein sogenanntes primitives Element des endlichen Körpers GF(2128) darstellt. Die Berechnung der zweiten Hilfsgröße T erfolgt durch eine Multiplikation des verschlüsselten ersten Index i mit der j-ten Potenz des vorgegebenen ersten Wert α in dem endlichen Körper GF(2128). Die Verschlüsselung erfolgt dabei in bekannter Weise mittels des zweiten Schlüssels K2 gemäß dem AES-Verschlüsselungsalgorithmus.The calculation takes place as a function of a first auxiliary variable PP, of a second auxiliary variable T and of a third auxiliary variable CC and of the predetermined first value α. The predetermined first value α is, for example, a 128-bit value which represents a so-called primitive element of the finite field GF (2 128 ). The second auxiliary variable T is calculated by multiplying the encrypted first index i by the jth power of the predetermined first value α in the finite field GF (2 128 ). The encryption takes place in a known manner by means of the second key K2 according to the AES encryption algorithm.

Die erste Hilfsgröße PP ist gleich dem Produkt des Datenblocks P mit der zweiten Hilfsgröße T.The first auxiliary size PP is equal to the product of the Data block P with the second auxiliary variable T.

Die dritte Hilfsgröße CC ist gleich der AES-Verschlüsselung der ersten Hilfsgröße PP mittels des ersten Schlüssels K1.The third auxiliary size CC is equal to the AES encryption the first auxiliary variable PP by means of the first key K1.

Der verschlüsselte Datenblock C ist gleich der XOR-Verknüpfung aus dritter Hilfsgröße CC und zweiter Hilfsgröße T.Of the encrypted data block C is equal to the XOR operation third auxiliary size CC and second auxiliary size T.

Für den Fall, dass jeder der Datenblöcke P gleich lang ist oder die Länge aller Datenblöcke P ein exaktes Vielfaches einer bestimmten Blocklänge, beispielsweise 128 Bit ist, können alle Blöcke gleich behandelt werden. Ist dies nicht der Fall, werden die letzen beiden Datenblöcke in bekannter Weise mittels Padding (Cipher Text Stealing) ergänzt. Eine Verlängerung des verschlüsselten Datenblocks findet dabei nicht statt.For the case that each of the data blocks P is the same length or the length of all data blocks P is an exact one Multiple of a given block length, for example 128 bits, all blocks can be treated equally become. If this is not the case, the last two data blocks become supplemented in a known manner by padding (cipher text stealing). An extension of the encrypted data block does not take place.

Der Speicher 103 speichert die empfangenen verschlüsselten Blöcke C in bekannter Weise an der jeweils zugehörigen Adresse A(i, j) ab. Dazu werden die verschlüsselten Datenblöcke C zusammen mit der zugehörigen Adresse A(i, j) gleichzeitig an den Speicher 103 übermittelt.The memory 103 stores the received encrypted blocks C in a known manner at the respectively associated address A (i, j). For this purpose, the encrypted data blocks C together with the associated address A (i, j) simultaneously to the memory 103 transmitted.

In 3 ist eine alternative Vorgehensweise zur Verschlüsselung mittels LRW-AES-Verschlüsselungsalgorithmus dargestellt. Dieser Verschlüsselungsalgorithmus verwendet nur den zweiten Index j, also die Adresse des Datenblocks P direkt. Auf eine Unterteilung der Daten in n Sektoren wird dabei verzichtet. Die Berechnung des verschlüsselten Datenblocks C erfolgt in diesem Falle nach folgender Vorschrift: T = j ⊗ K2 PP = P ⊕ T CC = AES-encK1(PP) C = CC ⊕ T. In 3 an alternative approach to encryption by LRW-AES encryption algorithm is shown. This encryption algorithm uses only the second index j, ie the address of the data block P directly. A subdivision of the data into n sectors is dispensed with. The calculation of the encrypted data block C takes place in this case according to the following rule: T = j ⊗ K 2 PP = P ⊕ T CC = AES-enc K1 (PP) C = CC ⊕ T.

In 6 ist beispielsweise der XTS-AES-Entschlüsselungsalgorithmus dargestellt. Gemäß des XTS-AES-Entschlüsselungsalgorithmus wird der entschlüsselte Datenblock P aus dem verschlüsselten Datenblock C abhängig von der ersten Adresse des mindestens einen Datenblocks und der zweiten Adresse des mindestens einen Datensektors ermittelt. Zusätzlich werden der erste Schlüssel K1, beispielsweise der Data-Encryption-Key, der zweiter Schlüssel K2, beispielsweise der Tweak-Key und der vorgegebene erste Wert α verwendet. Beispielsweise ist die Länge der verschlüsselten Datenblöcke C wieder 128 Bit. Der XTS-AES-Entschlüsselungsalgorithmus verwendet beispielsweise eine Schlüssellänge von 128 Bit oder von 256 Bit. In diesem Falle erfolgt die Entschlüsselung wie folgt: T = AES-encκ2(i) ⊗ α CC = C ⊕ T, PP = AES-decκ1(CC), P = PP ⊕ T. In 6 For example, the XTS AES decryption algorithm is shown. According to the XTS-AES decryption algorithm, the decrypted data block P is determined from the encrypted data block C depending on the first address of the at least one data block and the second address of the at least one data sector. In addition, the first key K1, for example the data encryption key, the second key K2, for example the tweak key and the predetermined first value α are used. For example, the length of the encrypted data blocks C is again 128 bits. For example, the XTS AES decryption algorithm uses a key length of 128 bits or 256 bits. In this case the decryption is done as follows: T = AES-encκ 2 (i) ⊗ α CC = C ⊕ T, PP = AES-decκ 1 (CC), P = PP ⊕ T.

Die Berechnung erfolgt abhängig von der ersten Hilfsgröße PP, der zweiten Hilfsgröße T und der dritten Hilfsgröße CC sowie von dem vorgegebenen ersten Wert α. Bei dem vorgegebenen ersten Wert α handelt es sich beispielsweise wieder um einen 128 Bit-Wert, der ein sogenanntes primitives Element des endlichen Körpers GF(2128) darstellt. Die Berechnung der zweiten Hilfsgröße T erfolgt durch eine Multiplikation des verschlüsselten Index i mit der j-ten Potenz des vorgegebenen ersten Werts α im endlichen Körper GF(2128). Die Verschlüsselung erfolgt dabei in bekannter Weise mittels des zweiten Schlüssels K2 gemäß dem AES-Verschlüsselungsalgorithmus.The calculation takes place as a function of the first auxiliary variable PP, the second auxiliary variable T and the third auxiliary variable CC and of the predetermined first value α. For example, the predetermined first value α is again a 128-bit value, which represents a so-called primitive element of the finite field GF (2 128 ). The second auxiliary variable T is calculated by multiplying the encrypted index i by the jth power of the predetermined first value α in the finite field GF (2 128 ). The encryption takes place in a known manner by means of the second key K2 according to the AES encryption algorithm.

Die dritte Hilfsgröße CC ist gleich der XOR-Verknüpfung des verschlüsselten Datenblocks C mit der zweiten Hilfsgröße T.The third auxiliary size CC is equal to the XOR operation the encrypted data block C with the second auxiliary size T.

Die erste Hilfsgröße PP ist gleich der AES-Entschlüsselung der dritten Hilfsgröße CC mittels des ersten Schlüssels K1.The first auxiliary size PP is equal to the AES decryption the third auxiliary quantity CC by means of the first key K1.

Der Datenblock P ist gleich der XOR-Verknüpfung aus erster Hilfsgröße PP mit der zweiten Hilfsgröße T.Of the Data block P is equal to the first XOR operation Auxiliary size PP with the second auxiliary size T.

Zur Entschlüsselung sendet der Speicher 103 die von der Recheneinrichtung 101 angeforderten verschlüsselten Blöcke C in bekannter Weise gleichzeitig mit der zugehörigen Adresse A(i, j) an die Verschlüsselungseinrichtung 102.The memory is sent for decryption 103 that of the computing device 101 requested encrypted blocks C in a known manner simultaneously with the associated address A (i, j) to the encryption device 102 ,

In 7 ist eine alternative Vorgehensweise zur Entschlüsselung mittels LRW-AES-Entschlüsselungsalgorithmus dargestellt. Dieser Entschlüsselungsalgorithmus verwendet nur den zweiten Index j, also die Adresse des Datenblocks P direkt. Auf eine Unterteilung der Daten in N Datensektoren wird dabei verzichtet. Die Berechnung des Datenblocks P aus dem verschlüsselten Datenblock C erfolgt nach folgender Vorschrift: T = j ⊗ K2 CC = C ⊕ T PP = AES-decK1(CC) P = PP ⊕ T In 7 is an alternative approach to decryption using LRW-AES decisions algorithm. This decryption algorithm uses only the second index j, ie the address of the data block P directly. A subdivision of the data into N data sectors is dispensed with. The calculation of the data block P from the encrypted data block C takes place according to the following rule: T = j ⊗ K 2 CC = C ⊕ T PP = AES-dec K1 (CC) P = PP ⊕ T

Ein Ablaufplan einer Ausführungsform des erfindungsgemäßen Verfahrens ist in 5 dargestellt und wird im Folgenden beschrieben. Das Verfahren gemäß der Ausführungsform wird immer dann gestartet, wenn Daten von der Recheneinheit 101 in den Speicher 103 abgespeichert werden sollen. Anschließend wird das Verfahren bei einem Schritt 501 fortgesetzt.A flow chart of an embodiment of the method according to the invention is shown in FIG 5 and will be described below. The method according to the embodiment is started whenever data from the arithmetic unit 101 in the store 103 should be saved. Subsequently, the method in a step 501 continued.

Beim Schritt 501 wird der erste Index i gleich Null gesetzt. Anschließend wird ein Schritt 502 ausgeführt.At the step 501 the first index i is set equal to zero. Subsequently, a step 502 executed.

Beim Schritt 502 wird der zweite Index j gleich Null gesetzt. Anschließend wird ein Schritt 503 ausgeführt.At the step 502 the second index j is set equal to zero. Subsequently, a step 503 executed.

Beim Schritt 503 wird der Datenblock P gelesen, der in den Daten an der Stelle A(i, j) steht. Anschließend wird der Schritt 504 ausgeführt.At the step 503 the data block P is read, which is in the data at the point A (i, j). Then the step 504 executed.

Beim Schritt 504 wird der Datenblock P verschlüsselt, also der verschlüsselte Datenblock C ermittelt. Anschließend wird der Schritt 505 ausgeführt.At the step 504 the data block P is encrypted, that is, the encrypted data block C is determined. Then the step 505 executed.

Beim Schritt 505 wird der verschlüsselte Datenblock C an der Stelle A(i, j) im Speicher 103 abgespeichert. Anschließend wird der Schritt 506 ausgeführt.At the step 505 the encrypted data block C is stored at location A (i, j) in memory 103 stored. Then the step 506 executed.

Beim Schritt 506 wird geprüft, ob bereits alle Datenblöcke P aus dem aktuell betrachteten Sektor bearbeitet wurden. Dazu wird beispielsweise geprüft, ob j < m – 1. Falls j < m – 1, wird ein Schritt 507 ausgeführt, falls nicht, wird zu einem Schritt 508 verzweigt.At the step 506 a check is made as to whether all the data blocks P from the currently considered sector have already been processed. For example, it is checked if j <m-1. If j <m-1, it becomes a step 507 executed, if not, becomes a step 508 branched.

Beim Schritt 507 wird der zweite Index j um 1 erhöht. Anschließend wird der Schritt 503 ausgeführt.At the step 507 the second index j is increased by 1. Then the step 503 executed.

Beim Schritt 508 wird geprüft, ob bereits alle Sektoren bearbeitet wurden. Beispielsweise wird geprüft, ob der erste Index i < n – 1 ist. Falls i < n – 1, wird ein Schritt 509 ausgeführt. Falls nicht, wird das Verfahren beendet.At the step 508 It checks whether all sectors have already been processed. For example, it is checked whether the first index i <n-1. If i <n-1, a step becomes 509 executed. If not, the procedure is ended.

Beim Schritt 509 wird der erste Index i um 1 erhöht. Anschließend wird der Schritt 503 ausgeführt.At the step 509 the first index i is increased by 1. Then the step 503 executed.

In einer Modifikation der ersten Ausführungsform kann beispielsweise bei der Verwendung des LRW-AES-Verschlüsselungsalgorithmus auf die Unterteilung der Daten in Sektoren verzichtet werden. In diesem Falle entfallen die Schritte 501, 508 und 509. Im Schritt 506 wird anstelle zum Schritt 508 zu verzweigen, das Verfahren beendet. Die Adressierung der Datenblöcke P erfolgt entsprechend nur mittels der Angabe der Position des Datenblocks innerhalb der Daten mittels des zweiten Index j.In a modification of the first embodiment, for example, when using the LRW-AES encryption algorithm, the division of the data into sectors may be dispensed with. In this case, the steps are eliminated 501 . 508 and 509 , In step 506 is instead of step 508 to branch, the process ends. The addressing of the data blocks P is done accordingly only by means of the indication of the position of the data block within the data by means of the second index j.

Die Verschlüsselungseinrichtung 102 ist beispielsweise als Hardware-Krypto-Modul ausgeführt, indem der XTS-AES oder der LRW-AES-Verschlüsselungsalgorithmus abgebildet ist. Das erfindungsgemäße Verfahren ist beispielsweise als Computerprogramm dargestellt, das in dem Steuergerät 104 abläuft. Zusätzlich kann das erfindungsgemäße Verfahren als Programmcode auf einem Computerprogrammprodukt gespeichert sein, beispielsweise um es von einem Arbeitsplatzrechner auf das Steuergerät 104 zu übertragen.The encryption device 102 is implemented as a hardware crypto module, for example, by mapping the XTS-AES or the LRW-AES encryption algorithm. The inventive method is shown for example as a computer program that in the control unit 104 expires. In addition, the method according to the invention can be stored as program code on a computer program product, for example from a workstation to the control unit 104 transferred to.

Die Entschlüsselung der verschlüsselten Datenblöcke C im Falle eines Lesezugriffs auf den Speicher 103 erfolgt in analoger Weise mittels der bekannten Entschlüsselungsalgorithmen für XTS-AES-Verschlüsselung bzw. LRW-AES-Verschlüsselung.The decryption of the encrypted data blocks C in the case of a read access to the memory 103 takes place in an analogous manner by means of the known decryption algorithms for XTS-AES encryption or LRW-AES encryption.

Dazu wird zunächst die Adresse A(i, j) desjenigen Datenblockes P, der von der Recheneinheit 100 benötigt wird, an den Speicher 103 gesendet.For this purpose, first the address A (i, j) of that data block P, that of the arithmetic unit 100 is needed to the store 103 Posted.

Der Speicher 103 senden den zugehörigen verschlüsselten Datenblock C an die Verschlüsselungseinrichtung 102.The memory 103 send the associated encrypted data block C to the encryption device 102 ,

Anschließend entschlüsselt die Verschlüsselungseinrichtung 102 den verschlüsselten Datenblock C mittels des zugehörigen ersten Index j und des zweiten Index i.Subsequently, the encryption device decrypts 102 the encrypted data block C by means of the associated first index j and the second index i.

Als Ergebnis sendet die Verschlüsselungseinrichtung 102 den Datenblock P an die Recheneinheit 100.As a result, the encryption device sends 102 the data block P to the arithmetic unit 100 ,

In einer weiteren Ausführungsform der Erfindung werden die Daten in einen ersten und einen zweiten Teil aufgeteilt. Der erste Teil wird verschlüsselt und entschlüsselt, der zweite Teil nicht. Beispielsweise werden entweder nur die Nutzdaten oder nur der Programmcode verschlüsselt und entschlüsselt. Beispielsweise sind sowohl Nutzdaten als auch der Programmcode in dem Speicher 103 abgespeichert. Die Nutzdaten werden dabei verschlüsselt abgespeichert und nach dem Lesen aus dem Speicher 103 wieder entschlüsselt. Der Programmcode ist im Speicher 103 unverschlüsselt abgespeichert und wird über eine zweite Signalleitung, die den Speicher 103 mit der Recheinheit 100 verbindet, ausgelesen. Dadurch lassen sich die Nutzdaten mittels des XTS-AES oder des LRW-AES Verschlüsselungsalgorithmus im Sinne eines speziellen Integritätsschutzes vor Manipulation schützen. Gleichzeitig wird der Zugriff auf dem Programmcode schnell, ohne Entschlüsselung, direkt ausgeführt.In a further embodiment of the invention, the data is divided into a first and a second part. The first part is encrypted and decrypted, the second part is not. For example, either only the user data or only the program code is encrypted and decrypted. For example, both payload and program code are in memory 103 stored. The user data is stored encrypted and after reading from the memory 103 decrypted again. The program code is in memory 103 stored unencrypted and is connected via a second signal line to the memory 103 with the rake unit 100 connects, read out. As a result, the user data can be protected against manipulation by means of the XTS-AES or the LRW-AES encryption algorithm in the sense of a special integrity protection. At the same time, access to the program code is carried out quickly without decryption.

Wird der beschriebene XTS-AES oder der LRW-AES Algorithmus angewandt, liefert das erfindungsgemäße Verfahren als eine besondere Form des Integritätsschutzes die Resistenz gegen Leckage, Watermarking, Malleability, Movability, Replacement und Replay Attacks mit. Alternativ zur ersten Ausführungsform der Erfindung kann die Verschlüsselungseinrichtung 102 so ausgeprägt sein, dass sie einen beliebigen anderen vorgegebenen Verschlüsselungsalgorithmus verwendet. In diesem Falle bleibt der Vertraulichkeitsschutz erhalten, wobei der Integritätsschutz nicht mehr gewährleistet ist.If the described XTS-AES or the LRW-AES algorithm is used, the method according to the invention, as a special form of integrity protection, provides the resistance to leakage, watermarking, malleability, movability, replacement and replay attacks. As an alternative to the first embodiment of the invention, the encryption device 102 be so pronounced that it uses any other predetermined encryption algorithm. In this case, the protection of confidentiality is maintained, whereby the integrity protection is no longer guaranteed.

In einer weiteren Ausführungsform ist die Verschlüsselungseinrichtung 102 so ausgeprägt, dass Sie nur eine Entschlüsselung von Daten aus dem Speicher 103 durchführt. Der Speicher 103 ist beispielsweise wieder als Flash Baustein ausgeprägt. Die Daten werden beispielsweise bei der Fertigung des Steuergeräts 104 verschlüsselt im Speicher 103 gespeichert. Die Verschlüsselung der Daten erfolgt mit einem vorgegebenen Verschlüsselungsverfahren, so, dass eine Entschlüsselung nur durch das in der Verschlüsselungseinrichtung 102 eingesetzte Entschlüsselungsverfahren möglich ist.In a further embodiment, the encryption device is 102 so pronounced that you only have to decrypt data from memory 103 performs. The memory 103 is for example again pronounced as a flash component. The data is used, for example, in the manufacture of the control unit 104 encrypted in memory 103 saved. The encryption of the data is carried out with a predetermined encryption method, so that a decryption only by that in the encryption device 102 used decryption is possible.

ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list The documents listed by the applicant have been automated generated and is solely for better information recorded by the reader. The list is not part of the German Patent or utility model application. The DPMA takes over no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • - DE 1973718 A1 [0002] DE 1973718 A1 [0002]

Claims (10)

Verfahren zum Schutz von Daten, bei dem ein Mikrocontroller (100) über eine Signalleitung mit einem Speicher (103) verbunden ist, dadurch gekennzeichnet, dass Daten, durch eine im Mikrocontroller (100) angeordnete Verschlüsselungseinrichtung (102) verschlüsselt und/oder entschlüsselt werden und die verschlüsselten Daten über die Signalleitung von der Verschlüsselungseinrichtung (102) an den Speicher (103) oder vom Speicher (103) an die Verschlüsselungseinrichtung (102) gesendet werden.Method for protecting data, in which a microcontroller ( 100 ) via a signal line with a memory ( 103 ), characterized in that data, by a in the microcontroller ( 100 ) arranged encryption device ( 102 ) are encrypted and / or decrypted and the encrypted data via the signal line from the encryption device ( 102 ) to the memory ( 103 ) or from the memory ( 103 ) to the encryption device ( 102 ). Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass eine erste Länge der Daten und eine zweite Länge der verschlüsselten Daten gleich sind.Method according to claim 1, characterized in that that a first length of the data and a second length the encrypted data are the same. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass die Daten in mindestens einen Datenblock P unterteilt sind, und die Verschlüsselung und/oder Entschlüsselung der Daten abhängig von einer ersten Adresse des mindestens einen Datenblocks P erfolgt.Method according to one of the preceding claims, characterized in that the data in at least one data block P are subdivided, and the encryption and / or decryption the data depends on a first address of at least a data block P takes place. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass die Daten in mindestens einen Sektor unterteilt sind, wobei der mindestens eine Sektor mindestens einen Datenblock P umfasst, und die Verschlüsselung und/oder Entschlüsselung der Daten abhängig von der ersten Adresse des mindestens einen Datenblocks P und der zweiten Adresse des mindestens einen Sektors erfolgt.Method according to one of the preceding claims, characterized in that the data in at least one sector are divided, wherein the at least one sector at least one Data block P includes, and the encryption and / or Decryption of data depending on the first address of the at least one data block P and the second address of the at least a sector takes place. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass die Daten in einen ersten Teil und einen zweiten Teil aufgeteilt werden, wobei der erste Teil der Daten verschlüsselt und/oder entschlüsselte wird und der zweite Teil der Daten unverschlüsselt in dem Speicher (103) abgespeichert wird.Method according to one of the preceding claims, characterized in that the data is divided into a first part and a second part, wherein the first part of the data is encrypted and / or decrypted and the second part of the data is stored unencrypted in the memory ( 103 ) is stored. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass eine weitere Signalleitung zwischen dem Mikrocontroller (100) und dem Speicher (103) angeordnet ist, über die der zweite Teil der Daten unverschlüsselt übertragen wird.A method according to claim 5, characterized in that a further signal line between the microcontroller ( 100 ) and the memory ( 103 ) is arranged, over which the second part of the data is transmitted unencrypted. Vorrichtung (104) zum Schutz von Daten, dadurch gekennzeichnet, dass ein Mikrocontroller (100) eine Verschlüsselungseinrichtung (102) umfasst, der Mikrocontroller (100) über eine Signalleitung mit einem Speicher (103) verbunden ist, die Verschlüsselungseinrichtung (102) Daten verschlüsselt und/oder entschlüsselt, und die verschlüsselten Daten von der Verschlüsselungseinrichtung (102) an den Speicher (103) und/oder vom Speicher (103) an die Verschlüsselungseinrichtung (102) gesendet werden.Contraption ( 104 ) for protecting data, characterized in that a microcontroller ( 100 ) an encryption device ( 102 ), the microcontroller ( 100 ) via a signal line with a memory ( 103 ), the encryption device ( 102 ) Data is encrypted and / or decrypted, and the encrypted data from the encryption device ( 102 ) to the memory ( 103 ) and / or from the memory ( 103 ) to the encryption device ( 102 ). Vorrichtung nach Anspruch 7, dadurch gekennzeichnet, dass eine weitere Signalleitung zwischen dem Mikrocontroller (100) und dem Speicher (103) vorgesehen ist, über die der zweite Teil der Daten unverschlüsselt übertragen wird.Apparatus according to claim 7, characterized in that a further signal line between the microcontroller ( 100 ) and the memory ( 103 ) is provided, over which the second part of the data is transmitted unencrypted. Computerprogramm, das alle Schritte eines Verfahrens nach einem der Ansprüche 1 bis 6 ausführt, wenn es auf einem Rechengerät abläuft.Computer program that shows all the steps of a procedure according to one of claims 1 to 6 executes when it runs on a computing device. Computerprogrammprodukt mit Programmcode, der auf einem maschinenlesbaren Träger gespeichert ist, zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 6, wenn das Programm auf einem Computer oder Steuergerät ausgeführt wird.Computer program product with program code based on a machine-readable carrier is stored for execution of the method according to any one of claims 1 to 6, when the Program running on a computer or controller.
DE200810054627 2008-12-15 2008-12-15 Control device with the method for manipulation protection computer program, computer program product Ceased DE102008054627A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE200810054627 DE102008054627A1 (en) 2008-12-15 2008-12-15 Control device with the method for manipulation protection computer program, computer program product
PCT/EP2009/065401 WO2010072475A1 (en) 2008-12-15 2009-11-18 Method and device for protecting data, computer program, computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200810054627 DE102008054627A1 (en) 2008-12-15 2008-12-15 Control device with the method for manipulation protection computer program, computer program product

Publications (1)

Publication Number Publication Date
DE102008054627A1 true DE102008054627A1 (en) 2010-06-17

Family

ID=42154594

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200810054627 Ceased DE102008054627A1 (en) 2008-12-15 2008-12-15 Control device with the method for manipulation protection computer program, computer program product

Country Status (2)

Country Link
DE (1) DE102008054627A1 (en)
WO (1) WO2010072475A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012004780A1 (en) 2012-03-02 2013-09-05 Fachhochschule Schmalkalden Method for protecting data confidentiality in memory e.g. static RAM for processor of computer system, involves encrypting data written in memory using selected address-dependent random number

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016208654A1 (en) 2016-05-19 2017-11-23 Robert Bosch Gmbh microcontroller
CN116264507A (en) * 2022-11-23 2023-06-16 中移(苏州)软件技术有限公司 Data encryption method, data decryption method, device and equipment

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2291991A (en) * 1995-09-27 1996-02-07 Memory Corp Plc Disk drive emulation with a block-erasable memory
JP3638770B2 (en) * 1997-12-05 2005-04-13 東京エレクトロンデバイス株式会社 Storage device with test function
DE102004014435A1 (en) * 2004-03-24 2005-11-17 Siemens Ag Arrangement with an integrated circuit
US20070174548A1 (en) * 2005-08-29 2007-07-26 Phison Electronics Corp. [memory card with identifier]

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012004780A1 (en) 2012-03-02 2013-09-05 Fachhochschule Schmalkalden Method for protecting data confidentiality in memory e.g. static RAM for processor of computer system, involves encrypting data written in memory using selected address-dependent random number

Also Published As

Publication number Publication date
WO2010072475A1 (en) 2010-07-01

Similar Documents

Publication Publication Date Title
EP1668515B8 (en) Word-individual key generation
EP1668516B1 (en) Decrypting and encrypting during write accesses to a memory
DE60217260T2 (en) Data processing and encryption unit
DE10254396A1 (en) Device and method for encrypting data
EP3254227B1 (en) Method for protecting security-relevant data in a cache memory
DE102008010789B4 (en) Method for the access and communication-related random encryption and decryption of data
DE102007007699A1 (en) Reduction of page channel information by interacting crypto blocks
EP1883906B1 (en) Portable data carrier featuring secure data processing
DE602004001732T2 (en) Data encryption in an electronic device with multiple symmetric processors
EP3387636B1 (en) Cryptographic algorithm having a key-dependent masked computing step (sbox call)
DE102008054627A1 (en) Control device with the method for manipulation protection computer program, computer program product
EP3576001A1 (en) Computer-implemented method for transferring a data string from an application to a data protection device
DE102004018874B4 (en) Method and device for determining a result
DE102013202322A1 (en) Method for encrypted transmission of data between two components of control unit, involves transferring encrypted data from first component of control unit to second component of control unit, where encrypted data is decrypted
EP3369205B1 (en) Alternative representation of the crypto algorithm des
EP2545483A1 (en) Protection against access violation during the execution of an operating sequence in a portable data carrier
EP3371733B1 (en) Encrypting the memory content of a memory in an embedded system
DE19921633A1 (en) Procedure for implementing cryptographic algorithms
DE102012004780B4 (en) Method and arrangement for protecting data secrets in memory
DE10149191C2 (en) Method and device for determining original source data from original input data on the basis of a cryptographic operation
EP3251281A1 (en) Intrinsic authentication of program code
DE102015004243A1 (en) Method for processing data records
EP2696308A1 (en) Method for writing and reading data on a block-oriented storage medium
DE102010055237A1 (en) Method for protected execution of a cryptographic calculation
DE102014201038A1 (en) Method for encrypting, storage system for a vehicle, motor vehicle with a storage system and computer-readable storage medium

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final