Transmitting a secret

A time-stamp based XOR operation method for secret transmission addresses the limitations of ChaCha20 by ensuring unconditionally secure and efficient communication with key exchange capabilities.

GB2631710BActive Publication Date: 2026-04-07LIVERPOOL HOPE UNIVERSITY
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
GB · GB
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-07-10
Publication Date
2026-04-07

AI Technical Summary

Technical Problem

Existing cryptographic methods like ChaCha20 are not unconditionally secure and do not support key exchange or access structures, making them inadequate for contemporary cryptographic standards.

Method used

A method involving time-stamp based seed generation for masks using XOR operations to transmit and decrypt secrets, ensuring unconditionally secure communication by using pseudo-random number generators to create obfuscated masks from master shares.

Benefits of technology

The method provides unconditionally secure and efficient secret transmission with computational simplicity, resistant to quantum attacks, and supports key exchange and access structures.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000001_0000
    Figure 00000001_0000
  • Figure 00000001_0001
    Figure 00000001_0001
  • Figure 00000002_0000
    Figure 00000002_0000
Patent Text Reader

Abstract

A computer implemented method of securely transmitting a secret, S, from a transmitter to a receiver. The transmitter and the receiver each store a master share, Mi. A first mask, M’, is obtained S200
Need to check novelty before this filing date? Find Prior Art

Description

FIELD

[01] The subject-matter of the present disclosure relates transmitting and receiving secrets, S. BACKGROUND

[02] Prior art includes the one-time pad, where a pad of numbers was utilized and then discarded after use. Although it was information-theoretically secure, it is not suitable for contemporary cryptographic standards.

[03] More recently, D. J. Bernstein, developed a ChaCha20 cipher, which is a stream cipher (an algorithm that encrypts a message byte-by-byte, as opposed to in toto). Although ChaCha20 is often hailed as a very simple and secure cipher, there are a number of drawbacks. For example, it has multiple rounds of encryption involving a range of operations. In addition, it is not unconditionally secure, and certainly not post-quantum secure. Further, it does not offer the natural ability to swap out shares (analogous to key exchange), nor the ability to form access structures.

[04] It is an aim of the subject-matter of the present disclosure to improve on the prior art by alleviating such issues. SUMMARY

[05] According to an aspect of the present disclosure, there is provided a computer-implemented method of transmitting a secret, S, from a transmitter to a receiver, the transmitter and the receiver each storing a master share, Mi, the computer-implemented method comprising: recording a time stamp; obtaining a first mask, M’, based on a first seed, seech, generated using the time stamp; obtaining a second mask, M”, based on a second seed, seech, generated using the first mask, / W’; obtaining an obfuscated mask, Mobf, based on the second mask, M”, and the master share, M,; generating a transient share, T, using an exclusive or, XOR, operator of the secret, S, and the obfuscated mask, Mobf, and transmitting the transient share, T.

[06] The master share stored at the transmitter may be identical to the master share stored at the receiver. Advantageously, the method of the aspect of the present disclosure is unconditionally secure. In addition, using the XOR operations makes this method much simpler and more efficient in comparison to prior art approaches.

[07] In an embodiment, the obtaining a first mask based on a first seed generated using the time stamp, comprises: dividing the time stamp into a plurality of orders of magnitude of time including a year, ti, a month, 6, a day, 6, an hour, a minute, t5, a second, ts, a microsecond or a millisecond, tf, and generating the first seed using the formula: see^ = (ti + l)(t2 + I)2 + (t3 + l)2(t4 + I)2 + (t5 + I)2 (t6 + I)2 + (t7 + l)2-

[08] In an embodiment, the obtaining a first mask based on a first seed generated using the time stamp, comprises: seeding a pseudo-random number generator with the first seed; and obtaining the first mask, M’, as a sequence of binary digits of length, L, from the pseudo-random number generator.

[09] In an embodiment, the obtaining the second mask based on a second seed generated using the first mask, comprises: calculating a temporary mask, Mtemp, using the formula: Mtemp = M'XOR Mt, where XOR is an exclusive OR operator and wherein Mi is a master share stored at the transmitter and the receiver; selecting a set of binary digits of length, L’, from the temporary mask, Mtemp, at random locations using a pseudorandom number generator seeded with the first seed; chunking the set of binary digits into a plurality of chunks, b; and calculating the second seed using the formula: seed2 = (b1 + l)(b2 + 1) ■■■ (bm + 1), where b is a chunk and m is a number of the chunk.

[10] In an embodiment the plurality of chunks, b, includes 4 or 5 chunks, wherein each chunk is an eight-bit byte.

[11] In an embodiment, the obtaining a second mask based on a second seed generated using the first mask, comprises: seeding a pseudo-random number generator using the second seed to obtain the second mask.

[12] In an embodiment, the obtaining an obfuscated mask, MObf, based on the second mask, M”, comprises: applying the second mask, M”, and a master share, Mi, stored at the transmitter and the receiver, to an exclusive OR, XOR, operator using the formula: Mobf = M” XOR Mt,

[13] In an embodiment, the transient share, T, comprises: generating a transmission packet, TP, by concatenating the transient share, T, to the time stamp, D; and transmitting the transmission packet.

[14] In an embodiment, the master share, Mt, stored at the transmitter is encrypted, the method further comprises: decrypting the master share, Mi.

[15] According to an aspect of the present disclosure, there is provided a computer-implemented method of decrypting a secret by a receiver of the secret sent by a transmitter, the transmitter and the receiver each storing a master share, M, the computer-implemented method comprising: receiving a transmission packet including a transient share, T, and a time stamp, 0; obtaining a first mask, M’, based on a first seed, seech, generated using the time stamp; obtaining a second mask, M”, based on a second seed, seech, generated using the first mask, / W’; obtaining an obfuscated mask, MObf, based on the second mask, M”, and the master share, M; and extracting a secret, S, from the transient share, T, using an exclusive or, XOR, operator on the transient share, T, and the obfuscated mask, MObf.

[16] In an embodiment, the obtaining a first mask based on a first seed generated using the time stamp, comprises: dividing the time stamp into a plurality of orders of magnitude of time including a year, h, a month, t2, a day, (3, an hour, a minute, ts, a second, t6, a microsecond or a millisecond, f7; and generating the first seed using the formula: see^ = (ti + l)(t2 + I)2 + (t3 + l)2(t4 + I)2 + (t5 + I)2 (t6 + I)2 + (t7 + l)2-

[17] In an embodiment, the obtaining a first mask, M’, based on a first seed generated using the time stamp, comprises: seeding a pseudo-random number generator with the first seed; and obtaining the first mask, M’, as a sequence of binary digits of length, L, from the pseudo-random number generator.

[18] In an embodiment, the obtaining the second mask based on a second seed generated using the first mask, comprises: calculating a temporary mask, Mtemp, using the formula: Mtemp = M'XOR Mt, where XOR is an exclusive OR operator and wherein Mi is a master share stored at the transmitter and the receiver; selecting a set of binary digits of length, L’, from the temporary mask, Mtemp, at random locations using a pseudorandom number generator seeded with the first seed; chunking the set of binary digits into a plurality of chunks, b; and calculating the second seed using the formula: seed2 = (7^ + l)(b2 + 1) ■■■ (bm + 1), where b is a chunk and m is a number of the chunk.

[19] In an embodiment, the plurality of chunks, b, includes 4 or 5 chunks, wherein each chunk is an eight-bit byte.

[20] In an embodiment, the obtaining a second mask based on a second seed generated using the first mask, comprises: seeding a pseudo-random number generator using the second seed to obtain the second mask.

[21] In an embodiment, the obtaining an obfuscated mask, MObf, based on the second mask, M”, comprises: applying the second mask, M”, and a master share, Mi, stored at the transmitter and the receiver, to an exclusive OR, XOR, operator using the formula: Mobf = M" XOR Mt,

[22] In an embodiment, the receiving the transmission packet, TP, comprises: separating the transmission packet to obtain the time stamp and the transient share.

[23] In an embodiment, the master share, Mi, stored at the receiver is encrypted, the method further comprises: decrypting the master share, Mi.

[24] According to an aspect of the present disclosure, there is provided a computer-implemented method of distributing a master share, Mi, to a plurality of subscribers including a transmitter and a receiver of a secret, the computer-implemented method comprising: identifying, by a dealer, n participants; generating, by a dealer, n master shares, Mr, combining all master shares, Mi, into a master share collection, M; and transmitting the master share collection, M, to each participant, n, using a key exchange protocol.

[25] In an embodiment, the key exchange protocol may be a Diffie-Hellman key exchange protocol, or Elliptic Curve Diffie Hellman.

[26] According to an aspect of the present disclosure, there is provided a computer-implemented method of updating a master share, Mi, by a subscriber amongst a plurality of subscribers including a transmitter and a receiver of a secret, the computer-implemented method comprising: receiving a transmission packet including a transient share, T, and a unique identifier D; obtaining a first mask, M’, based on a first seed, seech, generated using the unique identifier, D; obtaining a second mask, M”, based on a second seed, seech, generated using the first mask, / W’; obtaining an obfuscated mask, Mobf, based on the second mask, M”, and the master share, M-r, obtaining a secret, S, by applying the transient share, T, and the obfuscated mask, MObf, to an exclusive or, XOR, operator, wherein the secret, S, is an updated master share, M;,.

[27] In an embodiment, the unique identifier, D, is a time stamp.

[28] According to an aspect of the present disclosure, there is provided a transitory, or non-transitory, computer-readable medium having instructions stored thereon that, when executed by one or more processors, cause the one or more processors to perform the computer-implemented method of any preceding aspect or embodiment. BRIEF DESCRIPTION OF DRAWINGS

[29] The subject-matter of the present disclosure is best described with reference to the accompanying figures, in which:

[30] Figure 1 shows a block diagram of a system including a transmitter and a receiver of a secret, according to one or more embodiments;

[31] Figure 2 shows a block diagram of the transmitter or receiver from Figure 1;

[32] Figure 3 shows a flow chart of a computer-implemented method of distributing a master share, Mi, to a plurality of subscribers including a transmitter and a receiver of a secret, according to one or more embodiments;

[33] Figure 4 shows a flow chart of a method of encrypting and transmitting a secret from the transmitter to the receiver; according to one or more embodiments;

[34] Figure 5 shows a flow chart of a computer-implemented method of transmitting a secret, S, from a transmitter to a receiver, the transmitter and the receiver each storing a master share, Mi, according to one or more embodiments;

[35] Figure 6 shows a flow chart of a method of receiving and decrypting, by the receiver, a secret received from the transmitter, according to one or more embodiments;

[36] Figure 7 shows a flow chart of a computer-implemented method of decrypting a secret by a receiver of the secret sent by a transmitter, the transmitter and the receiver each storing a master share, M, according to one or more embodiments; and

[37] Figure 8 shows a flow chart of a computer-implemented method of updating a master share, Mi, by a subscriber amongst a plurality of subscribers including a transmitter and a receiver of a secret, according to one or more embodiments. DESCRIPTION OF EMBODIMENTS

[38] The embodiments described herein are embodied as sets of instructions stored as electronic data in one or more storage media. Specifically, the instructions may be provided on a transitory or non-transitory computer-readable media. When executed by the processor, the processor is configured to perform the various methods described in the following embodiments. In this way, the methods may be computer-implemented methods. In particular, the processor and a storage including the instructions may be incorporated into a vehicle. The vehicle may be an AV.

[39] Whilst the following embodiments provide specific illustrative examples, those illustrative examples should not be taken as limiting, and the scope of protection is defined by the claims. Features from specific embodiments may be used in combination with features from other embodiments without extending the subject-matter beyond the content of the present disclosure.

[40] With reference to Figure 1, a system 10 includes a plurality of nodes. Each node may be a computer. The nodes may include a master node, 12, and a plurality of subscribers. The subscribers may include a transmitter 14 and a receiver 16. The transmitter and receiver may be transceivers in that they are capable of transmitting and receiving transmissions sent between the two. As will be appreciated from the description below, the master node 12 may distribute a master share, M, to the subscribers. One of the subscriber modes may act as the transmitter 14 and encrypt and transmit a secret, S, to the receiver 16 for decryption.

[41] With reference to Figure 2, each node may be a computer and may comprise storage 18 and a processor 20.

[42] With reference to Figure 3, prior to any transmission between the transmitter and receiver, the system needs to be initialised. The initialisation process is outlined below.

[43] Firstly, n participants are identified S100. Those participants include each node of the system 10 who will have knowledge of the master share, M. For the example above, the transmitter and the receiver will be the participants. In other embodiments, there will be a different number of nodes.

[44] The master node, or dealer, generates n master shares, Mi, S102. Each Mi is a (pseudo)randomly generated sequence of bits the length, L, of the longest message the participants will ever need to send. For example, if we set M to be a 1MB file, then L is approximately equal to 8,000,000. (This is analogous to a very large cryptographic key.)

[45] Next, the method includes combining all Mi into one collection M, S104. This can be stored in a data file and optionally further encrypted using a conventional symmetric key cipher, such as AES, RSA, Blowfish, 3DES orTwoFish.

[46] Next, the method includes providing M to each participant using Diffie-Hellman key exchange protocols, such as the classical method, or Elliptic Curve. However, any keyexchange protocol can be considered here. In other words, the method comprises transmitting the master share collection, M, to each participant, n, using a key exchange protocol.

[47] After this exchange, the method includes carrying out key rotation (as described below) to communicate a new Mi to each participant. This provides a double layer of security in the exchange, one using a conventional technique and the other using the proposed algorithm. Note that if only two participants need to communicate with each other, only one master share needs to be communicated to one other participant.

[48] With reference to Figure 4, there is provided a computer-implemented method of transmitting a secret, S, from a transmitter 14, to a receiver 16, the transmitter and the receiver each storing a master share, Mi.

[49] So, the transmitter 14 wants to communicate a confidential message, or secret, S, with the receiver 16. The transmitter 14 isolates a master share, Mi, from the master share collection, M.

[50] To transmit the secret using this method, a large number is needed. This large number may be considered a unique identifier. This can be obtained via any means, but the current date-time (or UNIX timestamp) is convenient. Therefore, unique identifier, D, may be a time stamp. The time stamp may be sampled down to the nearest millisecond or microsecond.

[51] The time stamp may be divided into a plurality of orders of magnitude of time including a year, ti, a month, t2, a day, ts, an hour, a minute, ts, a second, t6, a microsecond or a millisecond, t?. A first seed, seedi, may be generated using the formula:

[52] seed-t = + l)(t2 + I)2 + (^3 + l)2(f4 + I)2 + (fs + 1)2^ + I)2 + (f7 + l)2-

[53] The method also comprises obtaining a first mask, M’, based on a first seed, seedi, generated using the unique identifier, D. This may involve seeding a pseudo-random number generator, PRNG, with the first seed, seedi, and obtaining the first mask, M’, as a sequence of binary digits of length, L, from the pseudo-random number generator.

[54] The method also comprises obtaining a second mask, M”, based on a second seed, seed2, generated using the first mask, M’. This may be achieved by calculating a temporary mask, Mtemp, using the formula:

[55] Mtemp = M'XOR Mh

[56] where XOR is an exclusive OR operator and wherein Mi is a master share stored at the transmitter and the receiver; selecting a set of binary digits of length, L’, from the temporary mask, Mtemp, at random locations using a pseudo-random number generator seeded with the first seed; chunking the set of binary digits into a plurality of chunks, b\ and calculating the second seed using the formula: seed2 = (br + l)(d2 + 1) ... (bm + 1), where b is a chunk and m is a number of chunks. The plurality of chunks, b, includes 4 or 5 chunks, wherein each chunk is an eight-bit byte.

[57] In other words, the first seed, seedi, is applied to a pseudo-random number generator, PRNG, to select L’ binary digits from Mtemp at random locations. By way of non-limiting example, for a 1MB binary master share, Mi, L’ = 8000 random locations in Mtemp are selected. The binary digits selected from Mtemp are used to generate a second seed, seed2. This may be achieved using any suitable formula, such as the one listed above, namely seed2 = (,b1 + l)(b2 + 1) ■■■ (bm + !)■

[58] Then, the second seed, seech, is applied to a pseudo-random number generator, PRNG, to obtain the second mask, M”.

[59] The method also comprises obtaining an obfuscated mask, MObf, based on the second mask, M”, and the master share, Mi. The obtaining an obfuscated mask, MObf, based on the second mask, M”, comprises: applying the second mask, M”, and a master share, Mi, stored at the transmitter and the receiver, to an exclusive OR, XOR, operator using the formula: Mobf = M" XOR Mt. Important to note is that, until this point, an interceptor can easily calculate the steps, and we should assume they can, according to Kerckhoff’s Principle. However, at this point, they have no access to Mi, and therefore cannot derive MObf, or even guess it by any means such a brute-force.

[60] The method then comprises generating a transient share, T, using an exclusive OR, XOR, operator of the secret, S, and the obfuscated mask, MObf. In other words, the transient share, T, is calculated using the formula T = MObf XOR S, where T is the transient share.

[61] The method also comprises transmitting the transient share, T and the unique identifier, D, as a transmission packet, TD. This may involve generating a transmission packet, TP, by concatenating the transient share, T, to the time stamp, D; and transmitting the transmission packet.

[62] It should be noted that when the master share, Mj, stored at the transmitter is encrypted, is should be encrypted first before following the foregoing encryption method.

[63] With reference to Figure 5, the computer-implemented method of transmitting a secret, S, from a transmitter to a receiver, the transmitter and the receiver each storing a master share, Mi, may be summarised as comprising the steps of: obtaining S200 a first mask, M’, based on a first seed, seech, generated using a unique identifier; obtaining S202 a second mask, M”, based on a second seed, seech, generated using the first mask, M’’, obtaining S204 an obfuscated mask, MObf, based on the second mask, M”, and the master share, M; generating S206 a transitory share, T, using an exclusive or, XOR, operator of the secret, S, and the obfuscated mask, MObf, and transmitting S208 the transient share, T and the unique identifier, D, as a transmission packet.

[64] With reference to Figure 6, embodiments of the present disclosure also relate to a method of decrypting a secret by a receiver of the secret sent by a transmitter. In other words, this method relates to the receiver decrypting the secret, S, that it has received from the transmitter.

[65] The method, which may also be a computer-implemented method, includes receiving a transmission packet, TD, including a transient share, T, and a unique identifier, D. The receiving the transmission packet, TP, comprises: separating the transmission packet to obtain the unique identifier, D, and the transient share, T. If D was encrypted, it must be decrypted also.

[66] The method then comprises obtaining a first mask, M’, based on a first seed, seedi, generated using the unique identifier, D. To do this, the receiver isolates Mfrom M. M will be decrypted if it has previously been encrypted. In other words, when the master share, Mi, stored at the receiver is encrypted, the method further comprises: decrypting the master share, Mi.

[67] The obtaining a first mask based on a first seed generated using the time stamp, comprises: dividing the time stamp into a plurality of orders of magnitude of time including a year, ti, a month, t2, a day, ts, an hour, t4, a minute, t5, a second, t6, a microsecond or a millisecond, f7; and generating the first seed using the formula: seed^ = (t^ + + I)2 + (¢3 + 1)2(Ti. + I)2 + (tg + l)2(tg + l)2 + (t7 + I)2. In other words, the first seed, seedi, is calculated from the unique identifier, D, in the same way as during encryption.

[68] In addition, the first mask, M’, is obtained in the same way as during encryption. For instance, the obtaining a first mask, M’, based on a first seed generated using the unique identifier, comprises: seeding a pseudo-random number generator with the first seed; and obtaining the first mask, M’, as a sequence of binary digits of length, L, from the pseudo-random number generator.

[69] The method also comprises obtaining a second mask, M”, based on a second seed, seed2, generated using the first mask, M’. the obtaining the second mask based on a second seed generated using the first mask, comprises: calculating a temporary mask, Mtemp, using the formula: Mtemp = M'XOR Mt, where XOR is an exclusive OR operator and wherein Mi is a master share stored at the transmitter and the receiver; selecting a set of binary digits of length, L’, from the temporary mask, Mtemp, at random locations using a pseudo-random number generator seeded with the first seed; chunking the set of binary digits into a plurality of chunks, b\ and calculating the second seed using the formula: seed2 = (b1 + l)(b2 + 1) ■■■ (bm + 1), where b is a chunk and m is a number of the chunk. The obtaining a second mask based on a second seed generated using the first mask, comprises: seeding a pseudo-random number generator using the second seed to obtain the second mask. The plurality of chunks, b, includes 4 or 5 chunks, wherein each chunk is an eight-bit byte. In other words, the second seed, seech, and the second mask, M”, are generated in the same way as during encryption.

[70] The method also comprises obtaining an obfuscated mask, MObf, based on the second mask, M”, and the master share, Mi. the obtaining an obfuscated mask, MObf, based on the second mask, M”, comprises: applying the second mask, M”, and a master share, Mi, stored at the transmitter and the receiver, to an exclusive OR, XOR, operator using the formula: Mobf = M" XOR

[71] The method also comprises extracting a secret, S, from the transient share, T, using an exclusive or, XOR, operator on the transient share, T, and the obfuscated mask, Mobb In other words, the method comprises calculating the secret, S, using the formula: 5 = Mobf XOR M". The secret, S, is thus decrypted.

[72] With reference to Figure 7, the computer-implemented method of decrypting a secret by a receiver of the secret sent by a transmitter, the transmitter and the receiver each storing a master share, Mi, can be summarised as including the steps of: receiving S300 a transmission packet including a transient share, T, and a unique identifier, D; obtaining S302 a first mask, M’, based on a first seed, seech, generated using the unique identifier; obtaining S304 a second mask, M”, based on a second seed, seech, generated using the first mask, / W’; obtaining S306 an obfuscated mask, MObf, based on the second mask, M”, and the master share, M; and extracting S308 a secret, S, from the transient share, T, using an exclusive or, XOR, operator on the transient share, S, and the obfuscated mask, MObf.

[73] With reference to Figure 8, according to one or more embodiments, there is also provided a computer- implemented method of updating a master share, Mi, by a subscriber amongst a plurality of subscribers including a transmitter and a receiver of a secret. The computer-implemented method comprises: receiving S400 a transmission packet, TD, including a transient share, T, and a unique identifier, D; obtaining S402 a first mask, M’, based on a first seed, seech, generated using the unique identifier, D; obtaining S404 a second mask, M”, based on a second seed, seech, generated using the first mask, / W’; obtaining S406 an obfuscated mask, MObf, based on the second mask, M”, and the master share, M; obtaining S408 a secret, S, by applying the transient share, T, and the obfuscated mask, MObf, to an exclusive or, XOR, operator, wherein the secret, S, is an updated master share, M; and updating S410 the master share, Mi, with the updated master share, Mi. In other words, the method may be considered a form of key, or master share, rotation. The method may be considered to involve setting the secret, S, equal to the next master share, Mj. In other words, S = Mj e M. Next, the method includes Encrypting the secret, S, using the same protocol as outlined above in relation to the encryption method of Figures 4 and 5. The obfuscated master share, MObf, is then transmitted to the receiver, 16 (or pj). The receiver, 16, then decrypts the obfuscated master share, MObf, back into the secret, S, as outlined in the decryption method described above in relation to Figures 6 and 7. Next, the receiver replaces the current master share, Mj, with the secret, S, which is the new master share, Mj.

[74] After the recipients have established their respective masters share, Mi, a special message can be transmitted to instruct all participants to swap out their master share. The message would contain the new master share. Two levels of secure key exchange have thus taken place.

[75] It is also the case that the collection of master shares, M, must be kept secure. This is no different to the secure storage of conventional cryptographic keys, and proper share management should be deployed, such as encrypting the shares (for example with a conventional symmetric cipher), secure key storage (e.g. using Trusted Platform Modules), share rotation (i.e. changing of shares regularly, analogous to key rotation), and auditing and monitoring of share usage.

[76] Given the above, an eavesdropper only has access to the transient share, T, and the date-time that was used, D. The eavesdropper can go through the follow steps:

[77] Calculate seedl from D (assuming D is not encrypted).

[78] Generate M’ from seedi.

[79] To calculate Mtemp, the eavesdropper needs Mi, which by definition they do not have. They therefore cannot generate seed2, which will in turn be used to generate M”. Theycan however brute-force guess seed2, iteratively trying every feasible value, seed2G. (Superscript G will be used to denote a guess.)

[80] For seed2G, the eavesdropper generates M”G.

[81] For each M”G, the eavesdropper attempts to calculate M0 / bG = Mi XOR M”G. However, they have no access to Mi, and therefore cannot complete this calculation.

[82] The eavesdropper’s only option is to guess the master share, MG, but there are 2L possible combinations. They would need to iterate through 2^232 = 2L+32 share / seed combinations and calculate S = MObGXOR Tfor each one. It is worth noting is that the “+32” is irrelevant here, as knowing Mi would be enough for the eavesdropper. Not only is this intractable, but moreover, any possible secret message can be decoded in some brute-force guess, so they are indifferent in the assumption of the validity of any guess they might make.

[83] It is evident that the eavesdropper has no access to the recipient’s master share, so cannot calculate seech, nor M”. No attempt at guessing Mj by brute-force or otherwise can succeed, therefore no amount of computing power available to an eavesdropper can enable access to the message.

[84] In addition, as each transient share, T, is generated based on a different time stamp (down to the millisecond or microsecond), any two transient shares, Ts, even if they encode an identical message, are randomly different to each other.

[85] In addition to its unconditional security, the following can also be said about the algorithm disclosed herein.

[86] Additional factors can be used to calculate the seeds, such as information about an individual, so this might have applications in authentication.

[87] Given that the algorithm uses mainly the XOR operation, it is computationally inexpensive, so it can be deployed on small devices / chips.

[88] The master shares can be changed at any time (i.e. key rotation), and / or at any designated intervals. This can be done with unconditional security via a single transmission from a designated participant to all the other participants.

[89] Interestingly, the ability to change master shares renders previously sent messages now not decipherable, which means that the algorithm disclosed herein can also be used to transmit messages that can only be deciphered at designated time intervals.

[90] Given that the present methods are built on top of secret sharing, it is possible to adapt it to have certain access structures. For example, it might be that two recipients together are needed to decrypt a message. This is done by XORing the secret message with two obfuscated masters shares and sending these separately to two recipients, or receivers.

[91] Participants, or subscribers, can be added and removed securely, using the previously discussed renewal of master shares.

[92] It could be used to secure live feeds, e.g. a telephone call, such that the data that travels on a non-secure line is information-theoretically secure.

[93] Whilst the foregoing embodiments have been described to illustrate the subjectmatter of the present disclosure, the features of the embodiments are not to be taken as limiting the scope of protection. For the avoidance of doubt, the scope of protection is defined by the following claims. 19 06 25

Claims

1. A computer-implemented method of transmitting a secret, S, from a transmitter to a receiver, the transmitter and the receiver each storing a master share, Mi, the computer-implemented method comprising:obtaining a first mask, M’, based on a first seed, seech, generated using a unique identifier;obtaining a second mask, M”, based on a second seed, seech, generated using the first mask, / W’;obtaining an obfuscated mask, MObf, based on the second mask, M”, and the master share, M,;generating a transient share, T, using an exclusive OR, XOR, operator of the secret, S, and the obfuscated mask, MObf, andtransmitting the transient share, T and the unique identifier, D, as a transmission packet,wherein the obtaining an obfuscated mask, MObf, based on the second mask, M”, comprises:applying the second mask, M”, and the master share, Mi, stored at the transmitter and the receiver, to an exclusive OR, XOR, operator using the formula:Mobf = M" XOR2. The computer-implemented method of Claim 1, wherein the unique identifier is a time stamp.

3. The computer-implemented method of Claim 2, wherein the obtaining a first mask based on a first seed generated using the unique identifier, comprises:dividing the time stamp into a plurality of orders of magnitude of time including a year, ti, a month, t2, a day, t3, an hour, a minute, fc, a second, te, a microsecond or a millisecond, f7; and19 06 25generating the first seed using the formula:seedi = + l)(t2 + I)2 + (^3 + l)2(f4 + I)2 + (^s + I)2 (^6 + I)2 + (f7 +I)2.

4. The computer-implemented method of any preceding claim, wherein the obtaining a first mask based on a first seed generated using the unique identifier, comprises:seeding a pseudo-random number generator with the first seed; andobtaining the first mask, M’, as a sequence of binary digits of length, L, from the pseudo-random number generator.

5. The computer-implemented method of any preceding claim, wherein the obtaining the second mask based on a second seed generated using the first mask, comprises:calculating a temporary mask, Mtemp, using the formula:Mtemp = M'XOR Mi,where XOR is an exclusive OR operator and wherein Mi is the master share stored at the transmitter and the receiver;selecting a set of binary digits of length, L’, from the temporary mask, Mtemp, at random locations using a pseudo-random number generator seeded with the first seed;chunking the set of binary digits into a plurality of chunks, b; andcalculating the second seed using the formula:seed2 = (bi + l)(b2 + 1) - (bm + 1),where b is a chunk and m is a number of the chunk.

6. The computer-implemented method of Claim 5, wherein the plurality of chunks, b, includes 4 or 5 chunks, wherein each chunk is an eight-bit byte.19 06 257. The computer-implemented method of any preceding claim, wherein the obtaining a second mask based on a second seed generated using the first mask, comprises:seeding a pseudo-random number generator using the second seed to obtain the second mask.

8. The computer-implemented method of any preceding claim, wherein transmitting the transient share, T, and the unique identifier, D, as a transmission packet comprises:generating a transmission packet, TP, by concatenating the transient share, T, to the unique identifier, D; andtransmitting the transmission packet.

9. The computer-implemented method of any preceding claim, wherein the master share, Mi, stored at the transmitter is encrypted, the method further comprises:decrypting the master share, Mi.

10. A computer-implemented method of decrypting a secret by a receiver of the secret sent by a transmitter, the transmitter and the receiver each storing a master share, Mi, the computer-implemented method comprising:receiving a transmission packet including a transient share, T, and a unique identifier, D;obtaining a first mask, M’, based on a first seed, seech, generated using the unique identifier;obtaining a second mask, M”, based on a second seed, seech, generated using the first mask, / W’;obtaining an obfuscated mask, MObf, based on the second mask, M”, and the master share, M; andextracting a secret, S, from the transient share, T, using an exclusive or, XOR, operator on the transient share, T, and the obfuscated mask, MObf19 06 25wherein the obtaining an obfuscated mask, MObf, based on the second mask, M”, comprises:applying the second mask, M”, and the master share, Mi, stored at the transmitter and the receiver, to an exclusive OR, XOR, operator using the formula:Mobf = M” XOR Mt.

11. The computer-implemented method of Claim 10, wherein the unique identifier is a time stamp.

12. The computer-implemented method of Claim 11, wherein the obtaining a first mask based on a first seed generated using the time stamp, comprises:dividing the time stamp into a plurality of orders of magnitude of time including a year, ti, a month, t2, a day, t3, an hour, a minute, fc, a second, te, a microsecond or a millisecond, f7; andgenerating the first seed using the formula:seed-^ = + l)(t2 + I)2 + (^3 + l)2(f4 + I)2 + (^s + I)2 (^6 + I)2 + (f7 +I)2.

13. The computer-implemented method of any of Claims 10 to 12, wherein the obtaining a first mask, M’, based on a first seed generated using the unique identifier, comprises:seeding a pseudo-random number generator with the first seed; andobtaining the first mask, M’, as a sequence of binary digits of length, L, from the pseudo-random number generator.

14. The computer-implemented method of any of Claims 10 to 13, wherein the obtaining the second mask based on a second seed generated using the first mask, comprises:calculating a temporary mask, Mtemp, using the formula:19 06 25Mtemp = M'XOR Mi,where XOR is an exclusive OR operator and wherein Mi is the master share stored at the transmitter and the receiver;selecting a set of binary digits of length, L’, from the temporary mask, Mtemp, at random locations using a pseudo-random number generator seeded with the first seed;chunking the set of binary digits into a plurality of chunks, b; andcalculating the second seed using the formula:seed2 = + l)(b2 + 1) ... (bm + 1),where b is a chunk and m is a number of the chunk.

15. The computer-implemented method of Claim 14, wherein the plurality of chunks, b, includes 4 or 5 chunks, wherein each chunk is an eight-bit byte.

16. The computer-implemented method of any of Claims 10 to 15, wherein the obtaining a second mask based on a second seed generated using the first mask, comprises:seeding a pseudo-random number generator using the second seed to obtain the second mask.

17. The computer-implemented method of any of Claims 10 to 16, wherein the receiving the transmission packet, TP, comprises:separating the transmission packet to obtain the unique identifier and the transient share.

18. The computer-implemented method of any of Claims 10 to 17, wherein the master share, Mi, stored at the receiver is encrypted, the method further comprises:decrypting the master share, Mi.

Citation Information

Patent Citations

  • Unidirectional message masking and validation system and method

    US20050166058A1