DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Status of Claims
Claims 1-3, 6-13, 16 are pending; of which, claims 10-13 have been withdrawn from consideration. Claims 4-5, 14-15 are cancelled.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 1-3, 6, 8-9 is/are rejected under 35 U.S.C. 103 as being unpatentable over Dawson (PGPUB 2014/0304505), and further in view of Wagner et al (PGPUB 2019/0372771) and Nendell (PGPUB 2020/0084030).
Regarding Claim 1:
Dawson teaches a computer-implemented method for decrypting and/or encrypting an input message, the computer-implemented method comprising ([abstract] methods, apparatus, computer program products, software and means for (1) an abstraction layer for default encryption; subject matter disclosed herein relates to default data encryption):
executing, by a processor, first order logic functions stored in a memory ([0201] process 100 to perform encryption by default, including block 110 for receiving a request from a user at a first computer to send a data file to a second computer; [0204]-[0206] examples of encryption algorithms that may be used herein include: Bit shift encryption—This type of algorithm performs a bitwise XOR operation; [0270] the Encryptor of the client application of each computer may contain in memory the same gross set of algorithms contained on the Switch, and the set may be replenished at intervals);
defining, by the processor, a generative logic ruleset comprising a logic set (Lk) being a random arrangement of the first order logic functions ([0209] for the session of communication between the computers (web browsing session, instant messenger session, VOIP session, email transmission session), at least one specific encryption algorithm is used, and the algorithm is selected by random means; [0259] one method of encryption is specifying an encryption routine using multiple Encryption algorithms, and the algorithms act in concert to affect the bytes; this multiple-algorithm approach may occur per a master combinatorial algorithm; in this manner an Encryption Logic Descriptor (ELD) may be formed by the aggregation of sub-algorithms into a composition, a packet; it enhances randomness to use a Composite ELD, as it contains multiple algorithms for encryption and decryption by default, and the algorithms are randomly combined) and a semiotic set {Ak) being a random arrangement of symbols ([0265]-[0266] once the Useful Set has been determined and the parameters have been set, the resulting logic in one embodiment may be captured as an XML file; with the creation of the XML-based ELD text file, the Switch has completed its task), the generative logic ruleset being stored in the memory and depending on a cipher key ([0270] the Encryptor of the client application of each computer may contain in memory the same gross set of algorithms contained on the Switch, and the set may be replenished at intervals; [0923] the ELD is generated in situ on each computer by a local process that generates and processes mirrored seeding values; the seeding values are the output of the Seeding Object Class; [0925] A and B each use a seeding value, the output of an instance of the Seeding Object Class, to generate a common test file for each session, via a test file creation algorithm reposing identically on each Protector; the goal of using a seeding value, the output of a Seeding Object Class, is to harvest in a random way information is available to both computers, to seed the logic build process; the objective is using that information to generate the required random value in the mirrored circuit each time such a value is needed in the encryption logic generation processes);
decrypting and/or encrypting, by the processor, the input message for secure storage or transmission based on the generative logic rule set ([0266] the ELD can encrypt the plain-text in a file for message, or for a session, such as a chat session or a session of videoconferencing).
Dawson does not explicitly teach executing, by a processor, five, six, or more of sixteen first order logic functions.
However, Wagner teaches the concept of providing five, six, or more of sixteen first order logic functions ([0019] secure multi-party computation is a process that utilizes cryptographic techniques in order to enable multiple entities to jointly compute a function while keeping their inputs into the function private; [0023] an obfuscated value may be a value that is generated by performing, on one or more values (obfuscated or non-obfuscated), a series of one or more operations that may comprise encryption, hashes, concatenation, bitwise operations (e.g., AND, OR, XOR, NOR, XNOR, NAND, etc.), and other computations).
It would have been obvious to one or ordinary skill in the art before the effective filing date of the claimed invention to combine the six or more first order logic functions of Wagner with the encryption method of Dawson. Use of logic functions such as those described by Wagner to perform encryption calculations is well-known within the art; a person of ordinary skill would be motivated to incorporate functions which are common, effective, well-understood, and versatile in the design and use of an encryption algorithm to improve efficiency, development time, and reliability of the developed product.
Neither Dawson nor Wagner explicitly teaches wherein the encryption and/or decryption is quantum-resistant.
However, Nendell teaches the concept wherein encryption and/or decryption is quantum-resistant ([0030] the good news is that not all encryption will be broken in the quantum world, some algorithms that do not use factorization as their mathematical base will remain robust; symmetrical algorithms will still be cryptographically secure, as long as their keys are doubled in length).
It would have been obvious to one or ordinary skill in the art before the effective filing date of the claimed invention to combine the quantum-resistant key length teachings of Nendell with the encryption method of Dawson in view of Wagner, in order to improve the overall security environment by improving resistance to future quantum computing attacks using techniques which are applicable to a wide variety of encryption algorithms right now, such as dramatically increasing the key length, thereby preempting such attacks before they become widely available.
Regarding Claim 2:
Dawson in view of Wagner and Nendell teaches the computer-implemented method according to claim 1. In addition, Wagner teaches wherein at least two of said first order function are chosen from LCM, RCM, XOR, XNOR, NQ, NR ([0023] XOR, XNOR).
The rationale to combine Dawson and Wagner is the same as provided for claim 1 due to the overlapping subject matter between claims 1 and 2.
Regarding Claim 3:
Dawson in view of Wagner and Nendell teaches the computer-implemented method according to claim 1. In addition, Wagner teaches wherein a residual truth value is associated to each of the at least six first order logic functions ([0023] an obfuscated value may be a value that is generated by performing, on one or more values (obfuscated or non-obfuscated), a series of one or more operations that may comprise… bitwise operations (e.g., AND, OR, XOR, NOR, XNOR, NAND, etc.), and other computations; [0081] the assignment of obfuscated values to wires is described below with respect to exemplary truth tables; the truth table corresponding to logic gate 512, an AND gate, in circuit 510 is shown in Table 1 below; Table 1 shows the non-obfuscated values of the wires in logic gate 512, where the output wire k has a value of 1 only if both input wires i and j also have values of 1. The truth table corresponding to logic gate 512 in obfuscated circuit 550 is shown in Table 2 below; table 2 shows the obfuscated values corresponding to the non-obfuscated values of wires i, j, and k shown in Table 1; the user device may store the mappings between the obfuscated values included in Table 2 and the non-obfuscated values of the wires included in Table 1), or as equivalents to one of the first order logic functions so as to form a bijective function combination pair.
Regarding Claim 6:
Dawson in view of Wagner and Nendell teaches the computer-implemented method according to claim 1. In addition, Dawson teaches wherein a pseudo-random symbol sequence (K) is determined based on the cipher key (k) ([0925] A and B each use a seeding value, the output of an instance of the Seeding Object Class, to generate a common test file for each session, via a test file creation algorithm reposing identically on each Protector; the goal of using a seeding value, the output of a Seeding Object Class, is to harvest in a random way information is available to both computers, to seed the logic build process; the objective is using that information to generate the required random value in the mirrored circuit each time such a value is needed in the encryption logic generation processes).
Regarding Claim 8:
Dawson in view of Wagner and Nendell teaches the computer-implemented method according to claim 1. In addition, Dawson teaches wherein decrypting and/or encrypting the input message comprises at least one processing step including processing an intermediate input message to obtain an intermediate output message, wherein the intermediate input message is based on the input message, wherein an output message of the decryption or encryption is based on the intermediate output message ([0261] the output of one algorithm becomes the input to the next).
Regarding Claim 9:
Dawson in view of Wagner and Nendell teaches the computer-implemented method according to claim 8. In addition, Dawson teaches wherein the at least one processing step comprises a structuring step, wherein
either the structuring step comprises for encrypting the input message the following steps ([0266] the ELD can encrypt the plain-text in a file for message, or for a session, such as a chat session or a session of videoconferencing):
provide an initialisation symbol sequence (minit) ([0204] examples of encryption algorithms include the following: Key encryption--This algorithm uses a key code in order to encrypt a given string of text);
combine, preferably concatenate the initialisation symbol sequence (minit) with an intermediate input message of the structuring step to obtain a combined symbol sequence ([0204] examples of encryption algorithms include the following: Key encryption--This algorithm uses a key code in order to encrypt a given string of text; the ASCII code of the characters in the text are obtained, as well as those of the key code; once obtained, the ASCII codes of the corresponding characters are added);
transform the symbols of the combined symbol sequence based on the semiotic set (Ak) and/or a logic context and based on a pseudo-random symbol sequence (K) into a transformed symbol sequence ([0259] one method of encryption is specifying an encryption routine using multiple Encryption algorithms, and the algorithms act in concert to affect the bytes; this multiple-algorithm approach may occur per a master combinatorial algorithm; in this manner an Encryption Logic Descriptor (ELD) may be formed by the aggregation of sub-algorithms into a composition, a packet; it enhances randomness to use a Composite ELD, as it contains multiple algorithms for encryption and decryption by default, and the algorithms are randomly combined; [0265]-[0266] once the Useful Set has been determined and the parameters have been set, the resulting logic in one embodiment may be captured as an XML file; with the creation of the XML-based ELD text file, the Switch has completed its task; [0261] the output of one algorithm becomes the input to the next), wherein an intermediate output message of the structuring step depends on the transformed symbol sequence ([0261] the output of one algorithm becomes the input to the next) or
the structuring step comprises for decrypting the input message the following steps:
provide an initialisation symbol sequence (minit);
determine a part of a retransformed symbol sequence based on the initialisation symbol sequence;
retransform the symbols of the intermediate input message into the retransformed symbol sequence based on the semiotic set (Ak) and/or the logic context and based on the pseudo-random symbol sequence (K), wherein an
intermediate output message of the structuring step depends on the retransformed symbol sequence.
Claim(s) 7 is/are rejected under 35 U.S.C. 103 as being unpatentable over Dawson in view of Wagner and Nendell, and further in view of Shah (PGPUB 2019/0394173).
Regarding Claim 7:
Dawson in view of Wagner and Nendell teaches the method according to claim 6. In addition, Dawson teaches wherein symbolic factoring is used as an expansion function, wherein symbolic factoring uses the logic set (Lk) and the semiotic set (Ak) to derive the pseudorandom symbol sequence (K) from the initialisation word (IWk) ([0925] A and B each use a seeding value, the output of an instance of the Seeding Object Class, to generate a common test file for each session, via a test file creation algorithm reposing identically on each Protector; the goal of using a seeding value, the output of a Seeding Object Class, is to harvest in a random way information is available to both computers, to seed the logic build process; the objective is using that information to generate the required random value in the mirrored circuit each time such a value is needed in the encryption logic generation processes).
Neither Dawson nor Wagner nor Nendell explicitly teaches wherein an initialisation word (IWk) is derived from the cipher key (k) and the pseudo-random symbol sequence (K) is derived from the initialisation word (IWk) by an expansion function which increases the length of the pseudo-random symbol sequence (K) compared to the initialisation word (IWk),
wherein an input symbol sequence is based on the initialisation word (IWk), wherein symbolic factoring combines a first input symbol and a second input symbol of the input symbol sequence by a first order logic function selected for the combination of the two symbols to derive at least one output symbol, wherein an output symbol sequence is based on the at least one output symbol, wherein the pseudo-random symbol sequence (K) is based on the output symbol sequence.
However, Shah teaches the concept wherein an initialisation word (IWk) is derived from the cipher key (k) and the pseudo-random symbol sequence (K) is derived from the initialisation word (IWk) by an expansion function which increases the length of the pseudo-random symbol sequence (K) compared to the initialisation word (IWk) ([0129]-[0137] appliance 108 and client device 102 can calculate the shared key (i.e. “pseudo-random symbol sequence”) that can be a master key derived from the premaster secret information based on: master_secret=PRF(pre_master_secret, “master secret”, ClientHello.random+ServerHello.random) [0.47]; this shared key can be used to encrypt and decrypt any data and messages transmitted between appliance 108 and client device 102; PRF stands for a pseudo-random function and is created by applying a data expansion function, P_hash(secret, data), to a secret as followings: PRF(secret, label, seed)=P_<hash>(secret, label+seed); P_hash(secret, data) uses a single hash function to expand a secret and seed into an arbitrary quantity of output: P_hash(secret, seed)=HMAC_hash(secret, A(1)+seed)+HMAC_hash(secret, A(2)+seed)+HMAC_hash(secret, A(3)+seed)+, where “+” indicates concatenation; A( ) is defined as: A(0)=seed [0136] A(i)=HMAC_hash(secret, A(i-1)); P_hash can be iterated as many times as necessary to produce the required quantity of data. For example, if P_SHA256 is being used to create 80 bytes of data, it can be iterated three times (through A(3)), creating 96 bytes of output data; the last 16 bytes of the final iteration can then be discarded, leaving 80 bytes of output data; “seed” can be considered the cipher key (k), and any of the HMAC components can be considered the IWk),
wherein an input symbol sequence is based on the initialisation word (IWk), wherein symbolic factoring combines a first input symbol and a second input symbol of the input symbol sequence by a first order logic function selected for the combination of the two symbols to derive at least one output symbol, wherein an output symbol sequence is based on the at least one output symbol, wherein the pseudo-random symbol sequence (K) is based on the output symbol sequence ([0129]-[0137] appliance 108 and client device 102 can calculate the shared key (i.e. “pseudo-random symbol sequence”) that can be a master key derived from the premaster secret information based on: master_secret=PRF(pre_master_secret, “master secret”, ClientHello.random+ServerHello.random) [0.47]; this shared key can be used to encrypt and decrypt any data and messages transmitted between appliance 108 and client device 102; PRF stands for a pseudo-random function and is created by applying a data expansion function, P_hash(secret, data), to a secret as followings: PRF(secret, label, seed)=P_<hash>(secret, label+seed); P_hash(secret, data) uses a single hash function to expand a secret and seed into an arbitrary quantity of output: P_hash(secret, seed)=HMAC_hash(secret, A(1)+seed)+HMAC_hash(secret, A(2)+seed)+HMAC_hash(secret, A(3)+seed)+, where “+” indicates concatenation; A( ) is defined as: A(0)=seed [0136] A(i)=HMAC_hash(secret, A(i-1)); P_hash can be iterated as many times as necessary to produce the required quantity of data. For example, if P_SHA256 is being used to create 80 bytes of data, it can be iterated three times (through A(3)), creating 96 bytes of output data; the last 16 bytes of the final iteration can then be discarded, leaving 80 bytes of output data).
It would have been obvious to one or ordinary skill in the art before the effective filing date of the claimed invention to combine the data expansion teachings of Shah with the encryption method of Dawson in view of Wagner and Nendell, with the benefit of using multiple key expansion functions to transform a series of pseudorandom input values to higher bit length sequences, thereby increasing the entropy of the keys used in encryption functions, resulting in an improved security environment.
Claim(s) 16 is/are rejected under 35 U.S.C. 103 as being unpatentable over Dawson in view of Wagner and Nendell, and further in view of James et al (PGPUB 2021/0125178)
Regarding Claim 16:
Dawson in view of Wagner and Nendell teaches the computer-implemented method according to claim 1.
Neither Dawson nor Wagner nor Nendell explicitly teaches the method, further comprising generating a message authentication tag based on a hash function and an authentication key, the tag being mixed with the encrypted message output.
However, James teaches the concept of generating a message authentication tag based on a hash function and an authentication key, the tag being mixed with the encrypted message output ([0040] in specific embodiments of the invention, the messages sent along the secure connection, such as secure connection 209, can be combined with a message authentication code (MAC) which can be appended to each message and encrypted with the message; in specific embodiments of the invention, authentication will be provided by a hash-based message authentication code (HMAC) with hashes a MAC with the message at least one time and encrypts the combined hash; in specific embodiments of the invention, the MAC can be derived from a shared secret used to create the secure connection between the computing device).
It would have been obvious to one or ordinary skill in the art before the effective filing date of the claimed invention to combine the HMAC authentication teachings of James with the encryption method of Dawson in view of Wagner and Nendell. Hashed message authentication codes are a well-known technique in the cryptographic arts, providing a cryptographically strong means for a transmitting user to prove the authenticity and integrity of a secure transmitted message. Authenticity is proven using a shared secret, allowing the transmitter and receiver to verify each other, at an appropriate level of security based on the strength of the key; the hash of the MAC and the message allows the receiver to verify that the message and HMAC had not been damaged or tampered with during transmission, thereby improving the security environment.
Response to Arguments
Applicant's arguments filed 10/21/2025 have been fully considered but they are not persuasive.
Regarding the claim objections:
Applicant’s amendments have overcome the previous claim objections, which are therefore withdrawn.
Regarding the rejection of claims under 35 USC 101:
Applicant’s amendments have overcome the previous 35 USC 101 claim rejections, which are therefore withdrawn.
Regarding the rejection of claims under 35 USC 103:
Examiner’s response to applicant’s arguments, pages 12-13: Examiner disagrees. Dawson discloses at least one first-order logic function, as applicant acknowledges (i.e. XOR). Dawson is not cited as teaching algorithms which explicitly include the other first-order logic functions; rather, it is Wagner who is recited as teaching this. Further, if the XOR function, as taught by Dawson, is incorporated into the random selection of encryption algorithms, this constitutes “a random arrangement of the first order logic functions” as claimed. Dawson further recites using a seed to construct the algorithm sequence (e.g. [0923], [0925]); the seed can certainly be considered a “cipher key” in this context. Therefore, the combination of Dawson and Wagner does teach the argued features of the claim.
Examiner’s response to applicant’s arguments, page 13-14: Examiner disagrees. Wagner teaches obfuscation algorithms constructed from at least six first-order logic functions (e.g. [0023]); the resulting algorithm can therefore be seen as a “generative logic ruleset”. Incorporating such a ruleset into the teachings of Dawson would therefore incorporate additional algorithms comprising five, six, or more first order logic functions. Further, as shown above, Dawson already teaches storage in memory of the ruleset, as well as dependency on a cipher key; it is not necessary for Wagner to teach this also.
In response to applicant’s argument that such a combination would merely result in Dawson’s ELD descriptor containing additional Boolean functions, examiner agrees; as this was the only element previously missing from Dawson, applicant’s claim is therefore obvious over the combination of Dawson and Wagner.
In response to applicant’s further arguments, examiner notes that applicant is not claiming a specific combination of five of the sixteen first-order logic functions and a semiotic set; applicant is specifically claiming a “random” arrangement of the first order logic functions and a random arrangement of symbols, which Dawson, in combination with Wagner, also teaches. Dawson further teaches that the ruleset is stored in memory, and that the ruleset depends on the seed (i.e. cipher key).
Applicant’s arguments as to motivations are moot, as the combination of Dawson and Wagner performs the same functions as the claim.
While neither Dawson nor Wagner explicitly addresses quantum resistance, a new ground(s) for rejection is provided above which does teach this subject matter, as added by amendment.
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to FORREST L CAREY whose telephone number is (571)270-7814. The examiner can normally be reached 9:00AM-5:30PM M-F.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Amir Mehrmanesh can be reached at (571) 270-3351. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/FORREST L CAREY/Examiner, Art Unit 2491
/WILLIAM R KORZUCH/Supervisory Patent Examiner, Art Unit 2491