WO2018047120A1 - Système et procédé de détection de modification de blocs de données et de codes d'authentification - Google Patents

Système et procédé de détection de modification de blocs de données et de codes d'authentification Download PDF

Info

Publication number
WO2018047120A1
WO2018047120A1 PCT/IB2017/055444 IB2017055444W WO2018047120A1 WO 2018047120 A1 WO2018047120 A1 WO 2018047120A1 IB 2017055444 W IB2017055444 W IB 2017055444W WO 2018047120 A1 WO2018047120 A1 WO 2018047120A1
Authority
WO
WIPO (PCT)
Prior art keywords
keyset
data block
random string
transformation
bits
Prior art date
Application number
PCT/IB2017/055444
Other languages
English (en)
Inventor
Prahlad P. SINGANAMALA
Original Assignee
Singanamala Prahlad P
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 Singanamala Prahlad P filed Critical Singanamala Prahlad P
Publication of WO2018047120A1 publication Critical patent/WO2018047120A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys

Definitions

  • the invention relates to a cryptographic computational transformation system and method, particularly related to a hash or a modification detection code generation and message authentication code generation for a data block.
  • Secure Hash Algorithm e.g. SHA-1, SHA-2
  • SHA Secure Hash Algorithm
  • hash values help to ensure the integrity of a given piece of data because they are virtually guaranteed to be unique, infeasible to predict and yet easy to compute.
  • SHA- 1 has been exploited by attackers for generating and installing fake certificates because of availability of sufficient computing resource.
  • SHA-l' s predecessor, MD5 was in use well beyond the point that attacks on it were cheap and easy.
  • MAC message authentication code
  • MAC message authentication code
  • keyed (cryptographic) hash function accepts as input a secret key and an arbitrary-length message to be authenticated, and outputs a MAC (sometimes known as a tag).
  • the MAC value protects both a message's data integrity as well as its authenticity, by allowing verifiers (who also possess the secret key) to detect any changes to the message content.
  • MAC functions similarly as cryptographic hash functions, they possess different security requirements. To be considered secure, a MAC function must resist existential forgery under chosen-plaintext attacks.
  • the ciphered text is obtained by performing some arithmetic or logical operations on the input 'n' bits of input data and the secret key (password or ⁇ ). Therefore, the ciphered text data always possess traces of the input data and the secret password or key, and could be broken with crypto analysis and sufficient computing resources. To prevent electronic eavesdroppers and to have control over forgery of electronic signatures, the ciphered text should not have any trace or clue of the input data or the secret key, and brute-force will be the only way to break ciphered text.
  • the invention transforms the input data block (M) to ciphered data block ( ⁇ ') starting with a current keyset (Ki) by either the forward or reverse transformation -
  • the transformation of M starting with Ki and obtaining the cipher M' and the first transformed keyset K 2 is explained in more detail in later part of the specification.
  • the invention then discloses generating a random string or number R which is then transformed into Y using a forward transformation function F starting with the first transformed keyset K 2 .
  • the R is transformed into Z using a reverse transformation function F "1 starting with the first transformed keyset K 2 as shown below:
  • the invention then discloses associating the pair having a combination of Y and Z as a modification detection code (MDC) or a hash code of M against the input data M.
  • the data block M or M' is stored in the memory with the pair having a combination of Y and Z, for example, recorded in a hash table against M or M'.
  • the pair Y and Z does not provide any trace or clue to the input data since they are derived from a random string or a random number.
  • the pair having a combination of Y and Z function as authentication codes for the same data block when a first transformation of a user defined password of any length and format is performed using a default keyset and in the process converting the default keyset to a password specific keyset and using the password specific keyset as the current keyset for transforming the first 'n' bits of data block.
  • the invention discloses transforming M into M' using the current keyset Ki:
  • the invention then discloses transforming Y into a random number Ri using a reverse transformation function F "1 with the first transformed keyset K 2 and transforming Z into a random number R 2 using a forward transformation function F using the first transformed keyset 2 as shown below:
  • the invention discloses a method for a hash or a modification detection code for a data block.
  • the method comprising: transforming first 'n' bits of the data block to another arrangement of 'n' bits using a current keyset; transforming the current keyset to a next keyset for transforming the next 'n' bits of the data block, wherein a first transformed keyset is obtained after completely transforming each of 'n' bits forming the data block into a transformed data block; transforming a random string using the first transformed keyset for a first random string and a second random string, wherein the first and second random strings are obtained by performing forward and reverse transformations of the random string using the first transformed keyset; and associating a pair selected from a combination between the random string, the first random string and the second random string as the modification detection code or the hash code for the data block.
  • the invention in another embodiment, discloses a system for a hash or a modification detection code for a data block.
  • the transformation module of the system comprises instructions to: transform first 'n' bits of the data block to another arrangement of 'n' bits using a current keyset; transform the current keyset to a next keyset for transforming the next 'n' bits of the data block, wherein a first transformed keyset is obtained after completely transforming each of 'n' bits forming the data block into a transformed data block; transform a random string using the first transformed keyset for a first random string and a second random string, wherein the first and second random strings are obtained by performing forward and reverse transformations of the random string using the first transformed keyset; and associate a pair selected from a combination between the random string, the first random string and the second random string as the modification detection code or the hash code for the data block.
  • the invention in one more embodiment, discloses a non- transitory computer-readable storage medium having instructions that, when executed by a computing device, cause the computing device for a hash or a modification detection code for a data block.
  • the instructions relate to: transforming first 'n' bits of the data block to another arrangement of 'n' bits using a current keyset; transforming the current keyset to a next keyset for transforming the next 'n' bits of the data block, wherein a first transformed keyset is obtained after completely transforming each of 'n' bits forming the data block into a transformed data block; transforming a random string using the first transformed keyset for a first random string and a second random string, wherein the first and second random strings are obtained by performing forward and reverse transformations of the random string using the first transformed keyset; and associating a pair selected from a combination between the random string, the first random string and the second random string as the modification detection code or the hash code for the data block.
  • the invention in one more embodiment, discloses an electromagnetic signal carrying computer-readable instructions for performing a method for a hash or a modification detection code for a data block.
  • the method comprising: transforming first 'n' bits of the data block to another arrangement of 'n' bits using a current keyset; transforming the current keyset to a next keyset for transforming the next 'n' bits of the data block, wherein a first transformed keyset is obtained after completely transforming each of 'n' bits forming the data block into a transformed data block; transforming a random string using the first transformed keyset for a first random string and a second random string, wherein the first and second random strings are obtained by performing forward and reverse transformations of the random string using the first transformed keyset; and associating a pair selected from a combination between the random string, the first random string and the second random string as the modification detection code or the hash code for the data block.
  • FIG. 1 illustrates a keyset, in accordance to one or more embodiments of the invention.
  • FIG. 2 Illustrates a transformation process of a keyset when transforming 'n' bits of a data block, in accordance to one or more embodiments of the invention.
  • FIG. 3 illustrates a transformation process of a keyset when transforming 'n' bits in another transformation process, in accordance to one or more embodiments of the invention.
  • FIG. 4. illustrates a method for a hash or a modification detection code for a data block, in accordance to one or more embodiments of the invention.
  • FIG. 5 illustrates a method for verifying modification detection from modification detection or hash code for a data block, in accordance to one or more embodiments of the invention.
  • FIG. 6 illustrates a block diagram of a system, in accordance to one or more embodiments of the invention.
  • FIG. 7 illustrates a block diagram of a stand-alone system, in accordance to one or more embodiments of the invention.
  • FIG. 8 illustrates modification detection or hash code generation and verification, in accordance to one or more embodiments of the present invention.
  • FIG. 9 illustrates message authentication code (MAC) generation and verification, in accordance to one or more embodiments of the present invention.
  • FIG. 10 illustrates use of message authentication codes (MAC) for authentication in a stand-alone system, in accordance to one or more embodiments of the present invention.
  • MAC message authentication codes
  • the present invention discloses a system and method for providing enhanced security when the data transmitted over a communication channel or at rest, i.e., storage.
  • the method or system of the invention uses a symmetric state based transformation process, i.e., forward transformation/encryption and reverse transformation/decryption using a keyset.
  • a symmetric state based transformation process i.e., forward transformation/encryption and reverse transformation/decryption using a keyset.
  • One such process of symmetric state based transformation is disclosed and described in US 8180048 B2 by the same inventor applicant, and the same is incorporated in this application by this reference.
  • the invention utilizes an 'n' bit block transformation method, where 'n' is number of bits that can be transformed at each stage and can be at least of a length, one bit.
  • the ideal size for 'n' for making eavesdropping difficult with current computing resources is at least 8 bits.
  • the keyset that is utilized in the symmetric state based transformation process is present both in the forward transformation/first computer terminal that transmits transformed data and in the reverse transformation/second computer terminal that receives transformed data for reverse transformation.
  • the system or method uses a function F for encryption/forward transformation and F "1 for decryption/reverse transformation in the following description. However, both F and F "1 can be used interchangeably for encryption/forward transformation or decryption/reverse transformation.
  • FIG. 1 illustrates a keyset (100) in accordance to one or more embodiment of the present invention.
  • the keyset is a two-dimensional array with two columns and the number of rows is equal to 2 n where 'n' represents number of bits selected for transforming an input-data/data block.
  • the design of the keyset is based on the size of 'n' bit block selected for transforming/encrypting the input-data.
  • the row numbers of the two-dimensional array start from 0 to (2 n - l). For example, as shown in FIG. 1, to encrypt input-data in a block of 3 bits wise, there would be 2 3 rows i.e. 8 rows.
  • the first column (101) of the two-dimensional array will comprise of unique 'n' bit numbers and is referred to as the Reference column 1.
  • the first column can be arranged to have numbers from zero to seven in any order.
  • the second column (102) of the two-dimensional array comprises random numbers and is referred to as the Energy-Value column ("E-Val").
  • the random numbers can be of any predetermined size of V bits, where V represents the size of the E-Val column in bits.
  • This structure represents one embodiment of the structure of the keyset.
  • FIG. 2 illustrates a transformation process (200) of a keyset when transforming 'n' bits in one transformation process, in accordance to one or more embodiments of the invention.
  • the first column represented as X is the row numbers of the keyset array structure.
  • the second column is the Reference column represented as Y and the third column (E-val column) is represented as E.
  • Ki is a keyset designed and present in the computer terminal used for encryption
  • 'x' is the input data to be encrypted
  • 'y' is the ciphered text.
  • Ki is known only to sender and receiver since the transformation is a symmetric state transformation process.
  • the transformation process illustrated in FIG. 2 is a forward transformation process, in accordance to one or more embodiment of the present invention, and is described as follows.
  • the transformation function upon receiving the input data 'x' to be encrypted, creates a binary equivalent of the input data 'x'.
  • a primary keyset is then designed based on the size of the 'n' bit blocks (for example, '3' bit keyset as shown in FIG. 1).
  • the first '3' bit block of input data i.e., 100
  • a decimal equivalent of it is determined, i.e., 4.
  • the row number, i.e., 4, equivalent to the decimal equivalent is then identified by traversing through the keyset.
  • the value present in the first column (Y) corresponding to the row number of the keyset is 001.
  • the 'n' bit of input data ' 100' is replaced with 'n' bit of output data '001'.
  • the default keyset or the primary keyset (Ki) is transformed to a secondary keyset (K 2 ).
  • the generation of a secondary keyset in one embodiment, is based on the value of first 'n' bit of input data 'x' and first 'n' bit of output data y.
  • the process of generating the secondary keyset and shuffling is as follows.
  • the value of the first 'n' bit of input data 'x' is 4(100) and first 'n' bit of output data 'y' is 1(001).
  • the method traverses through the row no. 4 (binary equivalent of input data 'x' and changes the random value present in the second column (E) using '4' (100) and ' ⁇ (001).
  • the method may change the value present in the second column (E) using x and y (e.g. x+y or x XOR y).
  • new random value 'Ei' is calculated by using the below function:
  • the value 'zi' is calculated by using the value of first 'n' bit of input data 'x' i.e. '4' and the first 'm' bit of output data 'y' i.e. T .
  • the value of zi (x+y) i.e. 5.
  • Ei in the right-hand side of the equation represents the current random value i.e. '42'.
  • J represents the value ⁇ ' to '7' . Since, it is the start of new random number generation, the value J is assigned to ⁇ '.
  • n refers to the size of the random value column (E).
  • the value of ⁇ 4 ' is calculated as T.
  • the new random value for E5, E 6 , E 7 , Eo, Ei, E 2 and E3 are also calculated.
  • the values in the first column (Y) are arranged based on the order of the random values in the second column (E).
  • the second column (E) is then sorted in any predetermined order such as ascending or descending to form the secondary keyset (K 2 ).
  • the method uses the secondary keyset K2 as the primary keyset for the next '3' bit of input data ⁇ 0 ⁇ of 'x' to be encrypted. For this purpose, the corresponding decimal equivalent of ⁇ 0 is calculated as 5.
  • the method then traverses through the row number '5' of the secondary keyset, and the value present in the corresponding first column (Y) of the secondary keyset is '011' .
  • the 'n' bit of input data ⁇ 0 is replaced with 'n' bit of output data ⁇ 1 .
  • This process (forward transformation) is repeated until the last 'n' bits of input data are transformed to form the output data y (in this case, 100101 is transformed to 001011), and resultant keyset after complete transformation of input data is a first transformed keyset.
  • the transformed/encrypted data may be stored or transmitted over the communication channel. Since the ciphered data y is only either stored or transmitted through the communication channel, it is difficult for the eavesdropper or any third party to obtain the input data without the keyset Ki.
  • FIG. 3 illustrates a transformation process (300) of a keyset when transforming 'n' bits in another transformation process, in accordance to one or more embodiments of the invention.
  • the transformation process used is a reverse transformation, represented as F "1 , with the same keyset.
  • F ⁇ y, Ki x, K 2
  • Ki is the same keyset that was used in the forward transformation from which y was obtained.
  • the reverse transformation function F "1 takes 'y' as input and replaces 'y' with 'x' using the default primary keyset 'Ki' .
  • the first ' 3 ' bits of input data to be transformed/decrypted are ⁇ 0 .
  • the method identifies the value '00 in row 4 of the first column (Y) in the keyset (Ki).
  • the binary equivalent of 4, i.e., ⁇ ' is then replaced in the output data i.e. ⁇ with ' 100' .
  • the secondary keyset generation process is same as the keyset transformation process described in context of forward transformation.
  • the next '3 ' bits '01 ⁇ is then transformed to ⁇ 0 and is repeated till all 'n' bits are transformed using F "1 .
  • the resultant keyset after fully transforming the input data using F "1 is also a first transformed keyset.
  • F "1 function can be used for encryption/forward transformation and F can be used for decryption/reverse transformation process.
  • the transformation process of keyset 'Ki' to ' ⁇ 2 ' and any other intermediate keysets is always an irreversible process irrespective of the function F and F "1 used for transformation/encryption of the input data.
  • the steps of or logic for transforming a keyset to a first transformed keyset is same in encryption/forward transformation as well as decryption/reverse transformation processes.
  • FIG. 4 illustrates a method (400) for a hash or a modification detection code for a data block, in accordance to one or more embodiments of the invention.
  • the first 'n' bits of input data (M) is converted to 'n' cipher bits with the current keyset (Ki) and, for example, using forward transformation process (F).
  • the current keyset Ki is transformed to a next keyset Ki for transforming the next 'n' bits of input data, and after completely transforming the input data, a first transformed keyset K 2 is obtained along with the cipher text ( ⁇ ').
  • K 2 is the first transformed keyset.
  • a set of random bits or a random number R are transformed with the first transformed keyset K 2 to obtain a first random string Ri and a second random string R 2 .
  • the random bits are user defined.
  • the random string comprises at least one of pre-determined number of bits from the first transformed keyset, random number, constant (such as 100 bits, 128 bits, 228 bits, 256 bits, or 512 bits) or a string of bits from a predetermined file.
  • the first and second random strings (Ri, R 2 ) are obtained by performing forward and reverse transformations, respectively, of the random string using the first transformed keyset.
  • the first random string Ri and a second random string R 2 are the non-linear and dynamic complementary values, and they are obtained from transformation using the first transformed keyset K 2 obtained from an irreversible process.
  • a pair selected from a combination between the random string (R), the first random string (Ri) and the second random string (R 2 ) is associated as the modification detection code or the hash code for the data block.
  • the combination is a predetermined arrangement of the random strings (R, Ri, R 2 ) as a pair.
  • the data block M or M' is stored in the memory with the pair Ri and R 2 , for example, recorded in a hash table against M or M'.
  • the random string R is a pre-determined number of bits from the first transformation keyset, associating only the first random string (Y) or the second random string (Z) as the modification detection code or the hash code for the data block.
  • a first transformation of a user defined password of any length and format is performed using a default keyset (Ko) and in the process converting the default keyset to a password specific keyset.
  • Ko a default keyset
  • the non-linear and dynamic complementary values obtained in such resultant transformation process function as the message authentication codes for the input data block.
  • FIG. 5 illustrates a method (500) for verifying modification detection from modification detection or hash code for a data block, in accordance to one or more embodiments of the invention.
  • This verification of modification detection is applicable in both cases where the data block with the modification detection or hash code is stored in a memory storage such as a hard disk or a long-term memory or where the data block is communicated with the modification detection or hash code.
  • data block (M or M') with hash or authentication codes (Y, Z) are received for modification detection.
  • the data block M or the transformed data block M' can be used to verify corruption of the data block M.
  • the data block (M or M') is completely transformed starting with current keyset (Ki) and in the process obtain a second transformation keyset (K 2 ).
  • the second transformation keyset during the verification process and the first transformation keyset should be the same in successful verification scenarios.
  • the hash or authentication codes (Y, Z) are transformed using the second transformation keyset (K 2 ) to obtain corresponding two random strings (RI, R2).
  • the they can be transformed using F or F "1 .
  • the following process describes the process of detection and/or verification where it is known that M or M' is received with a combination of Y and Z, in according to one or more embodiments of the invention.
  • the following process describes the process of detection and/or verification when there is no knowledge on whether data block is transformed data block or just the data block, i.e., M or M' is received with a combination of Y and Z, in according to one or more embodiments of the invention.
  • the following process describes the process of detection and/or verification when a combination of (R and (Y or Z)) is received with M or M', where R is the random number or string or constant used for obtaining Y or Z.
  • the following process in an alternative embodiment, describes the process of detection and/or verification when only (Y or Z) is received with M or M' , where Y or Z is obtained by transforming the random number having a predetermined number of bits from the first transformation keyset at the transmitting end or first transformation process.
  • M' is authentic and not tampered
  • the above transformation processes for detecting corruption of the data block is applicable for data block at rest, i.e., in storage, or in transit and received at another location.
  • the transformation processes can be executed by processor when relevant instructions for such transformations are provided to it.
  • FIG. 6 illustrates a block diagram of a system, in accordance to one or more embodiments of the invention.
  • the system (600) of the present invention comprises a communication channel (602), a first computer terminal (601) and a second computer terminal (603), communicatively coupled to the first computer terminal (601) via the communication channel (602).
  • the communication channel (602) may include, for example, a wide area network such as the internet, a cloud, a telephone network, a local area network or a wireless network.
  • the computer terminals (601, 603) may comprise at least one of a personal computer (PC), a laptop, a mobile device, tablet, a personal digital assistant (PDA) etc. known in the art or future-developed for transmitting data over the communication channel (602).
  • PC personal computer
  • PDA personal digital assistant
  • the transformed data (M or M', (Y, Z) or (Y or Z)) is transmitted from computer terminal (601) to computer terminal computer terminal (603) over the communication channel (602).
  • the output data (M or M', (Y, Z) or (Y or Z)) is sent by the computer terminal (601) in an encrypted form to the computer terminal (603) to prevent eavesdroppers or other third parties from getting access to the original data.
  • the second computer terminal (603) in one embodiment, performs reverse transformation F "1 to retrieve the original input data.
  • the system (600) uses a symmetric state transformation process the same keyset has to be present at both the first computer (601) and second computer terminal (603) for forward transformation/encryption and reverse transformation/decryption purpose. Further, the information on transformations performed to obtain keysets such as Ki and K 2 exists in both the computers. Both the computers can execute the methods disclosed and described with relation FIG.'s 4 and 5 when the equivalent instructions are executed by the processor in the computer terminals (601, 603).
  • the first computer terminal (601) transforms M into M' using the keyset Ki and in the process also obtains a first transformed keyset K 2 .
  • the computer terminal (601) then generates a random string.
  • the first computer terminal (601) then transforms R into Y using a forward transformation function F.
  • the first computer terminal (601) then transforms R into Z using a reverse transformation function F "1 as shown below:
  • the first computer terminal (601) then stores the input data M, Y and Z or transmits M or M', (Y, Z) or (Y or Z) to the second computer terminal (603) over the communication channel say (602).
  • the combination of Y and Z pair is modification detection code (MDC) or Hash code for the message M.
  • the second computer terminal (603) upon receiving the input data M and the random numbers Y, Z, detects modification of the message according to the description in relation to FIG. 5.
  • FIG. 7 illustrates a block diagram of a stand-alone system, in accordance to one or more embodiments of the invention.
  • the stand-alone computer terminals (601, 603) of the present invention comprises at least a short-term memory such as a random-access memory (RAM) (701a), a processor (701b), a long-term memory (701e), and a transceiver (701d).
  • the long-term memory is based on a dual memory model and may be used for storing data for a longer period of time.
  • the transceiver (701d) is used to transmit and receive data from one computer terminal to another computer terminal using the communication channel (602).
  • the data block can be anything, for example, a message, a password, or a file created by any application such as MS Word or an excel sheet is stored in the form of bits in the computer terminal (601, 603), etc.
  • the long-term memory (701e) further comprises a transformation module (701c) for transformation of input data, i.e., encryption as well as decryption purposes.
  • the transformation module (701c) is responsible for converting input data into output data by forward transformation F or F "1 or by reverse transformation F or F "1 .
  • the output data is a form of input data that has been encrypted by performing the forward transformation onto the input data.
  • the encrypted data may be further stored in the computer terminal (601, 603) itself.
  • the forward or reverse transformation functions of the present invention may be used to transform data with no trace of the input data.
  • These properties of the forward transformation function F and F 1 is used for generating modification detection code (MDC/Hash) and message authentication code (MAC) according the embodiments of the invention. Any finite state based methods such as F or F "1 which satisfy the below condition are suitable to be implemented in generating modification detection code (MDC/Hash) and message authentication code (MAC).
  • FIG. 8 illustrates modification detection or hash code generation and verification at a receiving end, in accordance to one or more embodiments of the present invention.
  • the computer terminal 601 transforms the message (M) to M' using keyset Ki as shown below:
  • the computer terminal (601) generates a set of bits or random number R.
  • the computer terminal then transforms 'R' into 'Y' and 'R' into 'Z' using a forward transformation function F and a reverse transformation function F "1 , respectively, as shown below:
  • the computer terminal (601) then transmits the message M or transformed message M' along with the newly generated message authentication code Y and Z to the computer terminal (603).
  • the computer terminal (603) then transforms the received message M into M' or M' to M to obtain keyset K 2 as shown below:
  • the second computer terminal (603) then transforms Y into a random number Ri using a reverse transformation function F "1 .
  • the second computer terminal (603) transforms Z into a random number R 2 using a forward transformation function f () as shown below:
  • the second computer terminal (603) then checks whether the newly generated numbers Ri and R 2 are equal and then accepts the message. This process may be used for checking any modification of the message transmitted. The same is applicable to storage, i.e., M is stored along with its hash code (Y and Z) recorded in a hash table. Thus, the protocol of the present invention identifies the loss/change of information of message in transmission or at rest. [0062] Thus, the first computer terminal (601) does generate modification detection code (Y and Z) and the second computer terminal (603) does verification of code (Y and Z) and both devices use the transformation functions F and F 1 . Since it is a symmetric encryption process, the same keyset (Ki) should be present in both the first computer terminal (601) and the second computer terminal (603).
  • FIG. 9 illustrates message authentication code (MAC) generation and verification, in accordance to one or more embodiments of the present invention.
  • the computer terminal (601) transforms the password (P) into P' using a keyset Ki as shown below:
  • the computer terminal (601) then transforms the message (M) to M' using keyset K 2 as shown below:
  • the computer terminal (601) generates a set of bits or random number R.
  • the computer terminal then transforms 'R' into ⁇ and 'R' into 'Z' using a forward transformation function F and a reverse transformation function F 1 , respectively, as shown below:
  • the computer terminal (601) then transmits the message M or transformed message M' along with the newly generated message authentication code Y and Z to the server (603).
  • the server (603) upon receiving the message retrieves a password corresponding to the identifier of the computer terminal/user (601).
  • the server (603) then transforms the retrieved password P to P' using the default keyset Ki.
  • the server (603) then transforms the received message M into M' as shown below:
  • the server (603) then performs a reverse transformation function F "1 on Y to generate an output Ri using the keyset K 2 .
  • the server (603) uses a forward transformation function F on Z to generate another output R 2 using the keyset K 2 as shown below:
  • the server (603) then checks whether Ri and R 2 are equal and then accepts the message 'M' or M', else rejects.
  • the first computer terminal (101) only transmits the message M or M' and the message authentication code (MAC) Y and Z.
  • the server (603) transforms the stored password P into P' using keyset Ki, and M to M' using keyset K 2 .
  • the derived keyset 3 is only used to transform Y into Ri using reverse transformation function F "1 , and Z into R 2 using forward transformation function F.
  • the server (603) thus the checks the integrity of the message transmitted over the communication channel (602) and then only accepts the message 'M' as authentic.
  • the described method and system may be used for online and offline purposes (storage).
  • FIG. 10 illustrates use (1000) of message authentication codes (MAC) for authentication in a stand-alone system, in accordance to one or more embodiments of the present invention.
  • the computing resource (601) for example, can be a digital safe locker or electronic safe locker, a personal computer, laptop, computing screen, mobile phone, tablet etc.
  • the method illustrated in FIG. 10 allows a user (604) to enter/set user ID or an associated secret (P) (for example, password/PIN) and access the computing resource (601).
  • P associated secret
  • the device (601) then verifies the entered secret (P) is true or false using the message authentication codes (Y, Z) that are created at the time of registration and stored in device (601).
  • the device (601) concatenates the received secret (P) and its associated ID, if any, and generates a new keyset (K 2 ) by forward transforming (F) the (PUD) with the current keyset (Ki) (may be private or public) as shown here:
  • the user login process typically compares user entered password by computing hash(Password) with that of the stored Hash(Password) (i.e. created at the time of registration).
  • the security offered in the present invention demonstrates that the Password (user secret (P)) is not stored as in the case of existing systems, but transformed random (or non- random) number R in Y and Z form is stored in the device (601). Therefore, it is highly secure than existing systems.
  • the present invention illustrated in FIG. 10 uses function F, F "1 , Ki & P and then generates Y and Z. And it stores only Y and Z along with User identity (ID) and initial keyset Ki. All other intermediary data like password, keyset data (K 2 ) is deleted permanently.
  • the scope of the invention includes instructions, stored in non- transitory computer-readable storage medium, when executed by a computing device, cause the computing device to execute one or more embodiments for a hash or a modification detection code or authentication code for a data block. Further, the instructions, when executed by a computing device, can cause the computing device to encode one or more embodiments for a hash or a modification detection code or authentication code for a data block in an electromagnetic signal.

Landscapes

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

Abstract

L'invention concerne un procédé de transformation de calcul, qui a des applications en cryptographie, en particulier dans un hachage ou une génération de code de détection de modification et une génération de code d'authentification de message. Comme le processus de transformation directe ou de transformation inverse utilisé dans l'invention est un processus de transformation d'état symétrique, le même ensemble clé doit être présent pour chiffrer/déchiffrer le message à l'aide de la transformation directe ou inverse. Les données d'entrée de bit 'n' sont transformées en un autre agencement de bit 'n' bloc de données de sortie à l'aide d'un ensemble de clés, et dans le même processus, l'ensemble de clés est transformé en un premier ensemble de clés transformées sur la base d'une transformation non linéaire et unidirectionnelle. Une chaîne aléatoire ou des bits (R) sont transformés vers l'avant et vers l'arrière à l'aide du premier ensemble de clés transformées pour générer une paire complémentaire non linéaire et complémentaire de valeurs, c'est-à-dire, une première chaîne aléatoire (Y) et une seconde chaîne aléatoire (Z). Une paire de valeurs sélectionnées parmi une combinaison entre (R), (Y) et (Z) fonctionnent comme des codes de détection de modification ou d'authentification de message pour les données d'entrée ou les données de sortie.
PCT/IB2017/055444 2016-09-10 2017-09-09 Système et procédé de détection de modification de blocs de données et de codes d'authentification WO2018047120A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN201641030958 2016-09-10
IN201641030958 2016-09-10

Publications (1)

Publication Number Publication Date
WO2018047120A1 true WO2018047120A1 (fr) 2018-03-15

Family

ID=61561362

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/IB2017/055444 WO2018047120A1 (fr) 2016-09-10 2017-09-09 Système et procédé de détection de modification de blocs de données et de codes d'authentification
PCT/IB2017/055469 WO2018047132A1 (fr) 2016-09-10 2017-09-11 Système et procédé d'authentification et de communication sécurisée

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/IB2017/055469 WO2018047132A1 (fr) 2016-09-10 2017-09-11 Système et procédé d'authentification et de communication sécurisée

Country Status (1)

Country Link
WO (2) WO2018047120A1 (fr)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108599926A (zh) * 2018-03-20 2018-09-28 如般量子科技有限公司 一种基于对称密钥池的HTTP-Digest改进型AKA身份认证系统和方法
CN108616350A (zh) * 2018-03-20 2018-10-02 如般量子科技有限公司 一种基于对称密钥池的HTTP-Digest类AKA身份认证系统和方法
CN110351077A (zh) * 2019-05-30 2019-10-18 平安科技(深圳)有限公司 数据加密的方法、装置、计算机设备和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8180048B2 (en) * 2004-09-14 2012-05-15 Prahlad P. Singanamala Method and system for computational transformation

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7046802B2 (en) * 2000-10-12 2006-05-16 Rogaway Phillip W Method and apparatus for facilitating efficient authenticated encryption

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8180048B2 (en) * 2004-09-14 2012-05-15 Prahlad P. Singanamala Method and system for computational transformation

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108599926A (zh) * 2018-03-20 2018-09-28 如般量子科技有限公司 一种基于对称密钥池的HTTP-Digest改进型AKA身份认证系统和方法
CN108616350A (zh) * 2018-03-20 2018-10-02 如般量子科技有限公司 一种基于对称密钥池的HTTP-Digest类AKA身份认证系统和方法
CN108616350B (zh) * 2018-03-20 2021-08-10 如般量子科技有限公司 一种基于对称密钥池的HTTP-Digest类AKA身份认证系统和方法
CN110351077A (zh) * 2019-05-30 2019-10-18 平安科技(深圳)有限公司 数据加密的方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
WO2018047132A1 (fr) 2018-03-15

Similar Documents

Publication Publication Date Title
CN110493197B (zh) 一种登录处理方法及相关设备
US11356280B2 (en) Personal device security using cryptocurrency wallets
CN107196763B (zh) Sm2算法协同签名及解密方法、装置与系统
US9698993B2 (en) Hashing prefix-free values in a signature scheme
US10103888B2 (en) Method of performing keyed-hash message authentication code (HMAC) using multi-party computation without Boolean gates
US8989385B2 (en) Data encryption method, data verification method and electronic apparatus
JP5447510B2 (ja) タグ生成装置、タグ検証装置、通信システム、タグ生成方法、タグ検証方法および記録媒体
CN110096901B (zh) 电子合同数据加密存储方法及签约客户端
CN110401615B (zh) 一种身份认证方法、装置、设备、系统及可读存储介质
US8744078B2 (en) System and method for securing multiple data segments having different lengths using pattern keys having multiple different strengths
US9531540B2 (en) Secure token-based signature schemes using look-up tables
Debnath et al. Brief review on journey of secured hash algorithms
US20130287207A1 (en) Multiple hashing in a cryptographic scheme
CN109104271B (zh) 一种数字签名的方法、装置和系统
Alam et al. Digital image authentication and encryption using digital signature
CN109951276B (zh) 基于tpm的嵌入式设备远程身份认证方法
KR101253683B1 (ko) 연쇄 해시에 의한 전자서명 시스템 및 방법
WO2018047120A1 (fr) Système et procédé de détection de modification de blocs de données et de codes d'authentification
CN110889695A (zh) 基于安全多方计算保存和恢复隐私数据的方法和装置
Yevseiev et al. The development of the method of multifactor authentication based on hybrid cryptocode constructions on defective codes
JP6037450B2 (ja) 端末認証システムおよび端末認証方法
US20110296193A1 (en) Code-based hashing for message authentication codes
Yap et al. Security analysis of GCM for communication
Bodapati et al. Observations on the Theory of Digital Signatures and Cryptographic Hash Functions
Park et al. A study on the processing and reinforcement of message digest through two-dimensional array masking

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17848250

Country of ref document: EP

Kind code of ref document: A1