Dirichlet convolution-based cryptography methods and systems
AssigneeNoumerica Data Security Inc.
InventorsArtur SOWA, Francis BUI, Jonathan NORTON, Grant Harris McEWEN, Elias HASSANI SANGANI
Life of this patent
Estimating the term…
Abstract
Methods, devices and systems for encryption and decryption of data. Encryption is performed using one or more passes of Dirichlet convolution involving an encryption key, which may be combined with other invertible operations. Decryption is performed using a corresponding number of passes of a Dirichlet inverse operation using a decryption key, and the corresponding invertible operations.
Claims20
A method of encrypting a file, the method comprising:
- obtaining an encryption key, the encryption key comprising an integer array;
- segmenting the file into a plurality of arrays of a unit size;
- encrypting the plurality of arrays to generate a plurality of encrypted arrays by performing Dirichlet convolution of the encryption key over each of the plurality of arrays;
- and
- combining the plurality of encrypted arrays into an encrypted file;
- and
- storing or transmitting the encrypted file.
A method of decrypting an encrypted file, the method comprising:
- obtaining a decryption key, the decryption key comprising an integer array;
- dividing the encrypted file into a plurality of encrypted arrays of a unit size;
- decrypting the plurality of encrypted arrays to generate a plurality of arrays by performing Dirichlet convolution of the decryption key over each of the plurality of encrypted arrays;
- and
- combining the plurality of arrays into a file;
- and
- storing or transmitting the file.
A non-transitory computer readable medium storing instructions which, when executed by a computer processor, cause the computer processor to perform the method comprising:
- obtaining an encryption key, the encryption key comprising an integer array;
- segmenting the file into a plurality of arrays of a unit size;
- encrypting the plurality of arrays to generate a plurality of encrypted arrays by performing Dirichlet convolution of the encryption key over each of the plurality of arrays;
- and
- combining the plurality of encrypted arrays into an encrypted file;
- and
- storing or transmitting the encrypted file.
Dependencies are inferred from the claim text.