You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
MEME (Multi Entity Matrix Encryption) is a matrix-based encryption
algorithm that leverages matrix properties such as multiplication and
inversion for secure data encryption. To further enhance security, we
integrate a substitution box (SBox), based on the AES SBox, to add an
additional layer of obfuscation to the ciphertext.
Matrix Properties
Matrix Multiplication
Matrix multiplication is a binary operation that produces a matrix from
two matrices. For two matrices $A$ and $B$ to be multiplied, the number
of columns in $A$ must be equal to the number of rows in $B$.
$$\text{where } a_{ij} \text{ is sampled randomly }$$
Public Key Generation
The public key is generated by multiplying the private key with a random
matrix $P$, called the Perturbation matrix, and then applying the
modulus:
$$K = (A \times P) \mod \text{m}$$
Encryption
The ciphertext is generated by multiplying the plaintext with the public
key and applying the modulus:
$$C = (M \times K) \times \text{m}$$
We then apply a substitution box operation to the resulting ciphertext:
$$C' = \text{SBox}(C)$$
where $\text{SBox}(C)$ denotes the byte-wise substitution operation
using the predefined SBox.
Decryption
The plaintext can be recovered by multiplying the ciphertext with the
inverse of the private key, the inverse of the Perturbation matrix, and
then applying the modulus:
While MEME provides a strong foundation for matrix-based encryption,
several enhancements can be explored:
Variable Key Sizes: Currently, MEME uses a fixed-size key of
2048 bits. Future work can include support for flexible key sizes.
Substitution Box Variants: The current AES-based SBox can be
replaced with other cryptographically secure SBoxes for different
security requirements.
Performance Optimization: The encryption and decryption process
can be optimized for better performance. Currently, the algorithm is
slow due to the matrix inversion and the SBox operation.
Advanced Padding Schemes: Exploring other padding schemes like
ISO/IEC 9797-1 could improve the handling of variable-length
messages.