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 .
Response to Amendment
Claims 1-20 are currently pending and have been considered below. Claims 1 and 12 are independent claims. Claims 2, 4, 13 and 15 have been cancelled.
Response to Arguments
Applicant’s arguments with respect to claims 1-20 have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument.
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.
Claims 1-20 are rejected under 35 U.S.C. 103 as being unpatentable over Vigilant(US Publication No. 2025/0055687 A1) in view of Chen(US Publication No. 2023/0163961 A1) in further view of Michiels(US Publication No. 2017/0033921 A1).
Regarding Claim 1:
Vigilant discloses:
A method of processing operations of a polynomial-based security algorithm, the method being performed by a computing system and comprising(Vigilant, [0001], a cryptographic algorithm comprising a polynomial operation.[0046], a method performing a polynomial operation of a cryptographic algorithm, in a way that is secured against side channel attacks[0048], The cryptographic device 101 may include or be a tamper resistant device 103 secured against any unauthorized access including a processing system having at least one hardware processor for performing cryptographic operations):
identifying a plurality of operations using secret information in the polynomial-based security algorithm(Vigilant, [0005], polynomial operations including both polynomial multiplications and additions. In order to protect lattice-based cryptographic operations against side-channel analysis, it is desirable to protect coefficients of polynomials used in polynomial operations of lattice based cryptographic schemes);
Vigilant does not disclose:
generating a random index to be applied to the identified operations
and performing the operations using the random index
Chen discloses:
and performing the operations using the random index(Chen, [0037], performing operation on all of the resulting sub-random number rj to obtain the random number X,).
Before the effective filing date of the claimed invention, it would have been obvious to one with ordinary skill in the art to modify Vigilant’s Method secured against side-channel attacks performing a cryptographic algorithm comprising a polynomial operation by enhancing Vigliant’s system performs the at least one polynomial operation of the cryptographic operation to ensure that the randomly position performs random operations as taught by Chen in order to ensure that an attacker cannot reliably align traces from repeated execution.
The motivation is to enhance generating and applying a random index to the identified operations in its ability to introduce execution into the cryptographic process within the security system.
Vigilant in view of Chen do not disclose:
generating a random index to be applied to the identified operations
wherein the generating the random index comprises at least one of: generating a common random index to be applied to operations having the same operation length, based on a first mode
and generating a common random index to be applied to operations using the same secret information, based on a second mode
Michiels discloses:
generating a random index to be applied to the identified operations(Michiels, [0011], instructions for receiving input data for the keyed cryptographic operation; instructions for calculating a first mask value based upon the input data; and instructions for applying the first mask value to a first intermediate value of the keyed cryptographic operation.{0075]… the true random mask by a mask that is a function of the input of the cryptographic algorithm… [0076], …Let v be an intermediate value that is to be masked. Because v depends on the input x of the cryptographic algorithm, v may be written as v=g(x) for some function g. Next, v is masked via vm=v⊕m, where mask m is specified by the input x of the cryptographic algorithm…)
wherein the generating the random index comprises at least one of: generating a common random index to be applied to operations having the same operation length, based on a first mode(Michiels, Figs. 3-6, [0018], a plurality of rounds with each round including a plurality of substitution functions, the outputs of the substitution functions are combined to produce an output of the round, and the outputs of the substitution functions are the first intermediate value. [0057], …AES includes a number of rounds, which depend on the key size. Each round includes similar processing steps operating on bytes, rows, or columns of the state matrix, each round using a different round key in these processing steps…);
and generating a common random index to be applied to operations using the same secret information, based on a second mode(Michiels, Fig. 6, [0075-0076], the literature that an intermediate value v may be protected against CPA attacks by masking v via vm=v⊕m where m is a true random number. The embodiments described herein replace the true random mask by a mask that is a function of the input of the cryptographic algorithm. So, both the mask and the value that should be hidden are given by a function of the input of the algorithm… the input x of the cryptographic algorithm, v may be written as v=g(x) for some function g. Next, v is masked via vm=v⊕m, where mask m is specified by the input x of the cryptographic algorithm).
Before the effective filing date of the claimed invention, it would have been obvious to one with ordinary skill in the art to modify Vigilant in view of Chen’s Method secured against side-channel attacks performing a cryptographic algorithm comprising a polynomial operation by enhancing Vigliant in view of Chen’s system performs the at least one polynomial operation of the cryptographic operation to ensure that the randomly position performs random operations as taught by Michiels in order to ensure resistance to side channel attacks by preventing leakage or secret information through operation dependent execution behavior
The motivation is to enhance the resistance of cryptographic processing to side channel and effective masking of secret dependent cryptographic operations within the system.
Regarding Claim 3:
The method of claim 1, Vigilant in view of Chen in further view of Michiels disclose wherein the generating the random index based on the first mode comprises: obtaining a plurality of parameters related to an operation length for secret information included in each identified operation(Chen, [0002], Random oracle machine was proposed by Bellare and Rogaway in 1993. A random oracle R is a set of all random mappings from {0, 1}* to {0, 1}∞. That is, for any R∈R, it is satisfied that for any input x, each bit of R(x) is randomly chosen and uncorrelated. Among the above, {0, 1}* represents a set of binary sequences of a finite length, and {0, 1}∞ represents a set of binary sequences of an infinite length.);
and generating a common random index to be applied to operations having the same length of each of the plurality of parameters among the operations(Chen, [0002],for any R∈R, it is satisfied that for any input x, each bit of R(x) is randomly chosen and uncorrelated. Among the above, {0, 1}* represents a set of binary sequences of a finite length, and {0, 1}∞ represents a set of binary sequences of an infinite length. It is a definite, publicly accessible, random uniform distribution function. For an input of any length, uniform selection of a value of a definite length in the output domain as an answer to a query, corresponds to adding a publicly accessible random oracle machine to the standard model. Since the proof process of cryptographic security involves complex mathematical operations ).
Before the effective filing date of the claimed invention, it would have been obvious to one with ordinary skill in the art to modify Vigilant’s Method secured against side-channel attacks performing a cryptographic algorithm comprising a polynomial operation by enhancing Vigliant’s system performs the at least one polynomial operation of the cryptographic operation to ensure that the randomly position performs random operations as taught by Chen in order to ensure that only operations with side-channel signatures are randomized together.
The motivation is to enhance operations of equal length are randomized among themselves the implementation produces execution patterns and provide a stronger layer of protection against timing cache and analysis attacks within the system.
Regarding Claim 5:
The method of claim 1, Vigilant in view of Chen in further view of Michiels disclose wherein the generating the random index comprises generating a first random index to be applied to an operation using first secret information among the operations and generating a second random index to be applied to an operation using second secret information among the operations(Vigilant, [0056-0057], the value of the multiplier integer t is selected such that the value of the second integer q′ corresponds to a width of the processor in order to keep modulo q′ operations single precision operations. Alternatively t may be chosen such that q′ is above a predetermined minimal value corresponding to a specific security level. Alternatively t may be a power of 2 in order to optimize the speed of modular operations modulo q′… several second integers q′ may be precomputed and stored in a memory of the processing system. In such a case, determining a second integer q′ comprises choosing randomly one integer among the precomputed second integer values q).
Regarding Claim 6:
The method of claim 1, Vigilant in view of Chen in further view of Michiels disclose wherein the generating the random index comprises generating different random indices for the operations, based on a third mode(Chen, [0045], the whole is independently random, that is, if the node group G is guaranteed to be random, since the trusted nodes participating in the blockchain predominate and the number of nodes in the node group G is large, it will be guaranteed that at least one rj is randomly generated and submitted by the trusted node).
Before the effective filing date of the claimed invention, it would have been obvious to one with ordinary skill in the art to modify Vigilant’s Method secured against side-channel attacks performing a cryptographic algorithm comprising a polynomial operation by enhancing Vigliant’s system performs the at least one polynomial operation of the cryptographic operation to ensure that the randomly position performs random operations as taught by Chen in order to ensure that that the order of execution is unique for every operation instance.
The motivation is to enhance generating different random indices for the operations that removes the correlation in the execution flow wherein each operation executes in a uniquely randomized sequence.
Regarding Claim 7:
The method of claim 1, Vigilant in view of Chen in further view of Michiels disclose further comprising: identifying a first operation group and a second operation group based on a type of operation and an order of operations; and randomly determining an index for determining an operation order of the first operation group and the second operation group(Vigilant, [0050-0052], multiplications is to apply to such polynomials two randomization operations first an additive masking operation by adding to each coefficient of the polynomial the prime number q. In order to effectively change the coefficients, they are lifted to a representation modulo q′ instead of modulo q, with q′ a multiple of q; then a multiplicative masking operation by multiplying the polynomial by a random polynomial.)
Regarding Claim 8:
The method of claim 7, Vigilant in view of Chen in further view of Michiels disclose wherein the identifying the first operation group and the second operation group based on the type of operation and the order of operations comprises matching a number of operations of the first operation group and a number of the second operation group by adding a first dummy operation to the first operation group(Vigilant, [0048], at least one hardware processor for performing cryptographic operations, and at least one memory configured for storing the data needed for such operations, such as the coefficients of the polynomials used as input to the polynomial operations, intermediate results, mask values . . . Such a cryptographic device may for example be a smartcard reader housing a smartcard device, or an electronic device, such as a smartphone, including an integrated or embedded secure element.).
Regarding Claim 9:
The method of claim 7, Vigilant in view of Chen in further view of Michiels disclose wherein the identifying the first operation group and the second operation group based on the type of operation and the order of operations comprises: identifying a first operation included in the first operation group and a second operation included in the second operation group(Vigilant, [0005], Lattice-based cryptography involves polynomial operations including both polynomial multiplications and additions. In order to protect lattice-based cryptographic operations against side-channel analysis, it is desirable to protect coefficients of polynomials used in polynomial operations of lattice based cryptographic schemes, in a way that enables to perform both polynomial additions and multiplications on masked polynomials without requiring an unmasking of the polynomial coefficients before performing the operation.);
and matching a length of the first operation with a length of the second operation by adding a second dummy operation to the first operation, wherein the second operation corresponds to the first operation(Chen, [0002], 0, 1}* represents a set of binary sequences of a finite length, and {0, 1}∞ represents a set of binary sequences of an infinite length. It is a definite, publicly accessible, random uniform distribution function. [0006], performing operation on all of the sub-random number rj to obtain the random number X, wherein the random number X is a final available public random number.).
Before the effective filing date of the claimed invention, it would have been obvious to one with ordinary skill in the art to modify Vigilant’s Method secured against side-channel attacks performing a cryptographic algorithm comprising a polynomial operation by enhancing Vigliant’s system performs the at least one polynomial operation of the cryptographic operation to ensure that the randomly position performs random operations as taught by Chen in order to ensure that the observable side-channel profile for one operation cannot be distinguished from the other.
The motivation is to enhance adding dummy operation to match the length of a corresponding operation is that it creates a execution profile across paired operation preventing attackers from distinguishing between them based on observable difference within the system.
Regarding Claim 10:
The method of claim 1, Vigilant in view of Chen in further view of Michiels disclose wherein the security algorithm comprises operations for key generation and signature generation of Dilithium using lattice-based post quantum cryptography(Vigilant, [0046], a method performing a polynomial operation of a cryptographic algorithm, in a way that is secured against side channel attacks. Such a cryptographic algorithm may for example be a signature generation, encapsulation, decapsulation, public key encryption or decryption, optionally homomorphic, password-based key exchange algorithm. This cryptographic algorithm may be a lattice-based cryptographic scheme such as Kyber or Dilithium).
Regarding Claim 11:
The method of claim 1, Vigilant in view of Chen in further view of Michiels disclose wherein the security algorithm is a digital signature algorithm, and the secret information is information used to generate a private key(Vigilant, [0003-0004], such cryptographic algorithms are sensitive to side-channel attacks, based on an analysis of the power consumption or electromagnetic signature of the device performing the encryption… the encryption process would only get random values and would not obtain any information on the secret key used for the cryptographic process.) .
Regarding Claim 12:
Vigilant discloses:
An apparatus for processing operations of a polynomial-based security algorithm, the apparatus comprising (Vigilant, [0001], a cryptographic algorithm comprising a polynomial operation.[0046], a method performing a polynomial operation of a cryptographic algorithm, in a way that is secured against side channel attacks[0048], The cryptographic device 101 may include or be a tamper resistant device 103 secured against any unauthorized access including a processing system having at least one hardware processor for performing cryptographic operations):
one or more processors; a memory which loads a computer program to be executed by the one or more processors; and a storage which stores the computer program, wherein the computer program comprises instructions for performing(Vigilant, [0048], a processing system having at least one hardware processor for performing cryptographic operations, and at least one memory configured for storing the data needed for such operations):
an operation of identifying a plurality of operations using secret information in the polynomial-based security algorithm (Vigilant, [0005], polynomial operations including both polynomial multiplications and additions. In order to protect lattice-based cryptographic operations against side-channel analysis, it is desirable to protect coefficients of polynomials used in polynomial operations of lattice based cryptographic schemes);
Vigilant does not disclose:
an operation of generating a random index to be applied to the identified operations
and an operation of performing the operations using the random index
Chen discloses:
an operation of generating a random index to be applied to the identified operations (Chen, [0032], the sub-random number rj, and operation is performed on all of the sub-random number rj to obtain the random number X);
and an operation of performing the operations using the random index (Chen, [0037], performing operation on all of the resulting sub-random number rj to obtain the random number X,).
Before the effective filing date of the claimed invention, it would have been obvious to one with ordinary skill in the art to modify Vigilant’s Method secured against side-channel attacks performing a cryptographic algorithm comprising a polynomial operation by enhancing Vigliant’s system performs the at least one polynomial operation of the cryptographic operation to ensure that the randomly position performs random operations as taught by Chen in order to ensure that an attacker cannot reliably align traces from repeated execution.
The motivation is to enhance generating and applying a random index to the identified operations in its ability to introduce execution into the cryptographic process within the security system.
Vigilant in view of Chen do not disclose:
wherein the generating the random index comprises at least one of: generating a common random index to be applied to operations having the same operation length, based on a first mode
and generating a common random index to be applied to operations using the same secret information, based on a second mode
Michiels discloses:
wherein the operation of generating the random index comprises at least one of: an operation of generating a common random index is generated to be applied to operations having the same operation length, based on a first mode;(Michiels, Figs. 3-6, [0018], a plurality of rounds with each round including a plurality of substitution functions, the outputs of the substitution functions are combined to produce an output of the round, and the outputs of the substitution functions are the first intermediate value. [0057], …AES includes a number of rounds, which depend on the key size. Each round includes similar processing steps operating on bytes, rows, or columns of the state matrix, each round using a different round key in these processing steps…);
and an operation of generating a common random index is generated to be applied to operations using the same secret information, based on a second mode (Michiels, Fig. 6, [0075-0076], the literature that an intermediate value v may be protected against CPA attacks by masking v via vm=v⊕m where m is a true random number. The embodiments described herein replace the true random mask by a mask that is a function of the input of the cryptographic algorithm. So, both the mask and the value that should be hidden are given by a function of the input of the algorithm… the input x of the cryptographic algorithm, v may be written as v=g(x) for some function g. Next, v is masked via vm=v⊕m, where mask m is specified by the input x of the cryptographic algorithm).
Before the effective filing date of the claimed invention, it would have been obvious to one with ordinary skill in the art to modify Vigilant in view of Chen’s Method secured against side-channel attacks performing a cryptographic algorithm comprising a polynomial operation by enhancing Vigliant in view of Chen’s system performs the at least one polynomial operation of the cryptographic operation to ensure that the randomly position performs random operations as taught by Michiels in order to ensure resistance to side channel attacks by preventing leakage or secret information through operation dependent execution behavior
The motivation is to enhance the resistance of cryptographic processing to side channel and effective masking of secret dependent cryptographic operations within the system.
Regarding Claim 13:
The apparatus of claim 12, Vigilant in view of Chen in further view of Michiels disclose wherein the operation of generating the random index comprises an operation of generating a random index to be applied to the operations based on operation length or whether the same secret information is used (Chen, [0002], Random oracle machine was proposed by Bellare and Rogaway in 1993. A random oracle R is a set of all random mappings from {0, 1}* to {0, 1}∞. That is, for any R∈R, it is satisfied that for any input x, each bit of R(x) is randomly chosen and uncorrelated. Among the above, {0, 1}* represents a set of binary sequences of a finite length, and {0, 1}∞ represents a set of binary sequences of an infinite length.).
Before the effective filing date of the claimed invention, it would have been obvious to one with ordinary skill in the art to modify Vigilant’s Method secured against side-channel attacks performing a cryptographic algorithm comprising a polynomial operation by enhancing Vigliant’s system performs the at least one polynomial operation of the cryptographic operation to ensure that the randomly position performs random operations as taught by Chen in order to ensure that an attacker cannot reliably align traces from repeated execution.
The motivation is to enhance generating and applying a random index to the identified operations in its ability to introduce execution into the cryptographic process within the security system.
Regarding Claim 14:
The apparatus of claim 12, Vigilant in view of Chen in further view of Michiels disclose wherein the operation of generating the random index based on the first mode comprises: an operation of obtaining a plurality of parameters related to an operation length for secret information included in each identified operation (Chen, [0002], Random oracle machine was proposed by Bellare and Rogaway in 1993. A random oracle R is a set of all random mappings from {0, 1}* to {0, 1}∞. That is, for any R∈R, it is satisfied that for any input x, each bit of R(x) is randomly chosen and uncorrelated. Among the above, {0, 1}* represents a set of binary sequences of a finite length, and {0, 1}∞ represents a set of binary sequences of an infinite length.);
and an operation of generating a common random index to be applied to operations having the same length of each of the plurality of parameters among the operations. (Chen, [0002],for any R∈R, it is satisfied that for any input x, each bit of R(x) is randomly chosen and uncorrelated. Among the above, {0, 1}* represents a set of binary sequences of a finite length, and {0, 1}∞ represents a set of binary sequences of an infinite length. It is a definite, publicly accessible, random uniform distribution function. For an input of any length, uniform selection of a value of a definite length in the output domain as an answer to a query, corresponds to adding a publicly accessible random oracle machine to the standard model. Since the proof process of cryptographic security involves complex mathematical operations ).
Before the effective filing date of the claimed invention, it would have been obvious to one with ordinary skill in the art to modify Vigilant’s Method secured against side-channel attacks performing a cryptographic algorithm comprising a polynomial operation by enhancing Vigliant’s system performs the at least one polynomial operation of the cryptographic operation to ensure that the randomly position performs random operations as taught by Chen in order to ensure that only operations with side-channel signatures are randomized together.
The motivation is to enhance operations of equal length are randomized among themselves the implementation produces execution patterns and provide a stronger layer of protection against timing cache and analysis attacks within the system.
Regarding Claim 16:
The apparatus of claim 12, Vigilant in view of Chen in further view of Michiels disclose wherein the operation of generating the random index based on the second mode comprises an operation of generating a first random index to be applied to an operation using first secret information among the operations and generating a second random index to be applied to an operation using second secret information among the operations (Vigilant, [0056-0057], the value of the multiplier integer t is selected such that the value of the second integer q′ corresponds to a width of the processor in order to keep modulo q′ operations single precision operations. Alternatively t may be chosen such that q′ is above a predetermined minimal value corresponding to a specific security level. Alternatively t may be a power of 2 in order to optimize the speed of modular operations modulo q′… several second integers q′ may be precomputed and stored in a memory of the processing system. In such a case, determining a second integer q′ comprises choosing randomly one integer among the precomputed second integer values q).
Regarding Claim 17:
The apparatus of claim 12, Vigilant in view of Chen in further view of Michiels disclose wherein the operation of generating the random index further comprises an operation of generating different random indices for the operations, based on a third mode (Chen, [0045], the whole is independently random, that is, if the node group G is guaranteed to be random, since the trusted nodes participating in the blockchain predominate and the number of nodes in the node group G is large, it will be guaranteed that at least one rj is randomly generated and submitted by the trusted node).
Before the effective filing date of the claimed invention, it would have been obvious to one with ordinary skill in the art to modify Vigilant’s Method secured against side-channel attacks performing a cryptographic algorithm comprising a polynomial operation by enhancing Vigliant’s system performs the at least one polynomial operation of the cryptographic operation to ensure that the randomly position performs random operations as taught by Chen in order to ensure that that the order of execution is unique for every operation instance.
The motivation is to enhance generating different random indices for the operations that removes the correlation in the execution flow wherein each operation executes in a uniquely randomized sequence.
Regarding Claim 18:
The apparatus of claim 12, Vigilant in view of Chen in further view of Michiels disclose further comprising: an operation of identifying a first operation group and a second operation group based on a type of operation and an order of operations; and an operation of randomly determining an index for determining an operation order of the first operation group and the second operation group (Vigilant, [0050-0052], multiplications is to apply to such polynomials two randomization operations first an additive masking operation by adding to each coefficient of the polynomial the prime number q. In order to effectively change the coefficients, they are lifted to a representation modulo q′ instead of modulo q, with q′ a multiple of q; then a multiplicative masking operation by multiplying the polynomial by a random polynomial.)
Regarding Claim 19:
The apparatus of claim 18, Vigilant in view of Chen in further view of Michiels disclose wherein the operation of identifying the first operation group and the second operation group based on the type of operation and the order of operations comprises an operation of matching a number of operations of the first operation group and a number of the second operation group by adding a first dummy operation to the first operation group (Vigilant, [0048], at least one hardware processor for performing cryptographic operations, and at least one memory configured for storing the data needed for such operations, such as the coefficients of the polynomials used as input to the polynomial operations, intermediate results, mask values . . . Such a cryptographic device may for example be a smartcard reader housing a smartcard device, or an electronic device, such as a smartphone, including an integrated or embedded secure element.).
Regarding Claim 20:
The apparatus of claim 18, Vigilant in view of Chen in further view of Michiels disclose wherein the operation of identifying the first operation group and the second operation group based on the type of operation and the order of operations comprises: an operation of identifying a first operation included in the first operation group and a second operation included in the second operation group (Vigilant, [0005], Lattice-based cryptography involves polynomial operations including both polynomial multiplications and additions. In order to protect lattice-based cryptographic operations against side-channel analysis, it is desirable to protect coefficients of polynomials used in polynomial operations of lattice based cryptographic schemes, in a way that enables to perform both polynomial additions and multiplications on masked polynomials without requiring an unmasking of the polynomial coefficients before performing the operation.);
and an operation of matching a length of the first operation with a length of the second operation by adding a second dummy operation to the first operation, wherein the second operation corresponds to the first operation (Chen, [0002], 0, 1}* represents a set of binary sequences of a finite length, and {0, 1}∞ represents a set of binary sequences of an infinite length. It is a definite, publicly accessible, random uniform distribution function. [0006], performing operation on all of the sub-random number rj to obtain the random number X, wherein the random number X is a final available public random number.).
Before the effective filing date of the claimed invention, it would have been obvious to one with ordinary skill in the art to modify Vigilant’s Method secured against side-channel attacks performing a cryptographic algorithm comprising a polynomial operation by enhancing Vigliant’s system performs the at least one polynomial operation of the cryptographic operation to ensure that the randomly position performs random operations as taught by Chen in order to ensure that the observable side-channel profile for one operation cannot be distinguished from the other.
The motivation is to enhance adding dummy operation to match the length of a corresponding operation is that it creates a execution profile across paired operation preventing attackers from distinguishing between them based on observable difference within the system.
Contact Information
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 MAYASA SHAAWAT whose telephone number is (571)272-3939. The examiner can normally be reached on M-F, 8 AM TO 5 PM.
If attempts to reach the examiner by telephone are unsuccessful, the examiner's supervisor, JEFFREY PWU can be reached on (571)272-6789. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
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.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see https://ppair-my.uspto.gov/pair/PrivatePair. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/MAYASA A. SHAAWAT/Examiner, Art Unit 2433
/JEFFREY C PWU/Supervisory Patent Examiner, Art Unit 2433