Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
README | 2010-08-14 | 2.2 kB | |
Totals: 1 Item | 2.2 kB | 0 |
Inegma Readme file What it is: Inegma is a file encryptor that works by scrambling the bits within each byte according to a given key. The output file cannot be read back without that key. It is very similar to a stream cipher, however stream ciphers only perform bit XOR's, where inegma uses ROR's and NOT's. How to use it: Building: Unlike most projects, which when assembly is integrated with C usually use AT&T syntax (gas), this project uses NASM syntax assembly and normal gcc C syntax. The program was originally written for AMD64 architectures, and I am currently working on a 32-bit version. For the 64bit architecture, use these commands to build: nasm -f elf64 ./encode-X.X.X_x86_64.s gcc -o ./inegma ./inegma-X.X.X.c ./encode-X.X.X_x86_64.o (Where X.X.X is the version) The output file, inegma, will be the encrypting executable. Use: To actually use the program, there must be a total of 4 arguments: - The process (e for Encrypt, and d for Decrypt) - The filename of the file containing the hex chars for encoding. - The input file - When the process is 'e', the output file is the encrypted data, and when the process is 'd', the output file would obviously contain the unencrypted bytes. Here's an example of a command: ./inegma e ./pass.key ./passwords.txt ./passwords.txt.ing So this would take the input file, passwords.txt, and encrypt it according to the file, pass.key. The encrypted output would be placed into the file passwords.txt.ing. In order to decrypt the file, the user would type: ./inegma d ./pass.key ./passwords.txt.ing ./plain_text_passwords.txt And if the original passwords.txt was left there, it and the file plain_text_passwords.txt would be identical. How it works: As I said, a normal stream cipher simply XOR's the key and the input byte, and the output is the result. However, inegma is a slight bit more complicated. I am not good at cryptoanalysis, or cryptography, so I just kind of made this. I didn't intend for it to be a replacement to more sophisticated algorithms, rather maybe something that could be incorperated into them in place of a normal stream cipher.