# US 2019/0173677 A1 · Systems and methods for improved data encryption

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2019/0173677 A1
- Document ID: US20190173677A1
- Status: Published application
- Kind: A1
- Application number: 16/206,675
- Filed: 2018-11-30
- Published: 2019-06-06
- Earliest claimed: 2017-12-01
- Assignees: Fasetto, Inc.
- Applicants: Fasetto, LLC
- Inventors: Coy Christmas; Luke Malpass
- Web page: https://patentgrep.com/patent/US20190173677A1

## CPC

- H04L 9/0631: {Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms}
- H04L 9/3226: {using a predetermined code, e.g. password, passphrase or PIN (network architectures or network communication protocols for supporting authentication of entities using passwords in a packet data network H04L63/083)}
- G06F 21/602: {Providing cryptographic facilities or services}
- H04L 9/0656: {Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher}
- H04L 9/0897: {involving additional devices, e.g. trusted platform module [TPM], smartcard or USB}
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- G06F 2221/2107: File encryption
- H04L 2209/80: Wireless
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems and methods for improved data encryption are provided. The improved data encryption processes may be applied to stored data or transmitted data, and/or may be applied to data on a portable storage device. The system may receive a password input to encrypt a data file. The system may retrieve math functions based on each byte in the password input. The system may apply each math function in turn to each byte in the data file. The application of each math function to the data file may be repeated. The position of the bytes in the data file may be transposed and filler bytes may be added to the data file. The system may also adjust the starting byte position of the data file.

## Claims

### Claim 1

A system, comprising:
a processor; and
a tangible, non-transitory memory configured to communicate with the processor, the tangible, non-transitory memory having instructions stored thereon that, in response to execution by the processor, cause the processor to perform operations comprising:
determining, by the processor, a number of bytes in a password input, wherein each byte comprises a decimal value;
retrieving, by the processor, a math function based on the decimal value of a first byte in the password input; and
applying, by the processor, the math function to each byte in a data file.

### Claim 2 (depends on 1)

The system of claim 1, further comprising:
retrieving, by the processor, a second math function based on the decimal value of a second byte in the password input; and
applying, by the processor, the second math function each byte in the data file.

### Claim 3 (depends on 2)

The system of claim 2, further comprising repeating, by the processor, the application of the first math function and the second math function to each byte in the data file, wherein the application is repeated based on a user input, a stored value, or the decimal value of a selected byte from the password input.

### Claim 4 (depends on 1)

The system of claim 1, further comprising transposing, by the processor, a position of bytes in the data file based on the decimal value of at least one byte from the password input.

### Claim 5 (depends on 1)

The system of claim 1, further comprising adding, by the processor, filler bytes into the data file, wherein a number of filler bytes added into the data file is based on at least one of a minimum file size, a maximum file size, or a decimal value of at least one byte from the password input.

### Claim 6 (depends on 1)

The system of claim 1, further comprising adjusting, by the processor, a starting byte position of the data file based on the decimal value of at least one byte from the password input.

### Claim 7 (depends on 1)

The system of claim 1, further comprising assigning, by the processor, a random file extension to the data file.

### Claim 8 (depends on 1)

The system of claim 1, wherein the math function comprises a reversible function configured to alter the data bytes in the data file to at least one of encrypt or decrypt the data file.

### Claim 9

A portable storage device (PSD), comprising:
a processor;
an encryption module comprising a math function list, wherein the encryption module is configured to receive instructions from the processor, and wherein the math function list comprises math functions stored in a numerically ordered list; and
a tangible, non-transitory memory configured to communicate with the processor, the tangible, non-transitory memory having instructions stored thereon that, in response to execution by the processor, cause the encryption module to perform operations comprising:
retrieving, by the encryption module, a plurality of math functions from the math function list, wherein the math functions are retrieved based on a password input;
applying, by the encryption module, the math functions to each byte in a data file;
transposing, by the processor, a position of bytes in the data file;
adding, by the processor, filler bytes into the data file; and
adjusting, by the processor, a starting byte position of the data file.

### Claim 10 (depends on 9)

The PSD of claim 9, further comprising:
determining, by the encryption module, a number of bytes in the password input; and
determining, by the encryption module, a decimal value of each byte in the password input, wherein the decimal value is based on an American Standard Code for Information Interchange (ASCII) decimal value of each byte.

### Claim 11 (depends on 10)

The PSD of claim 10, further comprising randomizing, by the encryption module, the password input, wherein the password input is randomized by at least one of varying the length of the password, transposing a position of bytes in the password input based on the decimal value of each byte, or adding or subtracting the decimal value of one or more bytes based on a comparison of the decimal value of each byte.

### Claim 12 (depends on 11)

The PSD of claim 11, wherein the password input is randomized based on modulus logic limiting the decimal value of each byte during the randomization to a number less than the numerically ordered list of math functions.

### Claim 13 (depends on 10)

The PSD of claim 10, wherein each math function is assigned to a numerical value in numerically ordered list, and wherein the plurality of math functions are retrieved by retrieving the math function having the numerical value matching the decimal value of each byte in the password input.

### Claim 14 (depends on 9)

The PSD of claim 9, wherein applying the math functions to each byte in the data file comprises iteratively applying each math function from the plurality of math functions to each byte in the data file.

### Claim 15 (depends on 14)

The PSD of claim 14, further comprising repeating, by the encryption module, the iterative application of the math functions to each byte in the data file, wherein the iterative application is repeated based on a user input, a stored value, or the decimal value of a selected byte from the password input.

### Claim 16 (depends on 9)

The PSD of claim 9, further comprising:
a storage module in electronic communication with the processor; and
a communication module in electronic communication with the processor, wherein the data file is retrieved from the storage module or received from the communication module.

### Claim 17

A method of encrypting a data file, comprising:
retrieving, by a processor, a plurality of math functions based on a password input;
applying, by the processor, the math functions to each byte in the data file, wherein each math function from the plurality of math functions are iteratively applied to each byte in the data file;
transposing, by the processor, a position of bytes in the data file based on the password input;
adding, by the processor, filler bytes into the data file based on the password input; and
adjusting, by the processor, a starting byte position of the data file based on the password input.

### Claim 18 (depends on 17)

The method of claim 17, further comprising repeating, by the processor, the iterative application of the math functions to each byte in the data file based on a user input, a stored value, or a decimal value of a selected byte from the password input.

### Claim 19 (depends on 17)

The method of claim 17, wherein the position of bytes in the data file are transposed based on the decimal value of the byte, and wherein the position of bytes in the data file are transposed until each byte of the data file has been transposed or based on a predetermined number of transpositions.

### Claim 20 (depends on 17)

The method of claim 17, wherein a number of the filler bytes added into the data file is based on at least one of a minimum file size, a maximum file size, or a decimal value of at least one byte from the password input, and wherein the starting byte position is adjusted based on the decimal value of at least one byte from the password input.
