Abstract: A method, system, and computer program product encrypt data. A processor(s) obtains plaintext (plaintext data) and randomly generates multiple seed keys and obtains a user-defined password. The processor(s) randomly generates encryption parameters (pattern indicators, end pointers, pattern indicator pointers, and component sizes) and encrypts the plaintext by converting the plaintext data to shuffle-transform encrypted text and generating, from the shuffle-transform encrypted text and based on the encryption parameters, a plurality of encrypted blocks. The processor(s) implements a dynamic mathematical offset, to a portion of mathematical functions underlying the encryption parameters. The processor(s) generates an encrypted chunk for each encrypted block of the plurality of encrypted blocks, wherein the encrypted chunk for each encrypted block contains a portion of the shuffle-transform encrypted text.