|
|
- #!/usr/bin/python2.7
- # -*- coding: utf-8 -*-
-
- import sys
- import random
- import base64
-
- def banner():
- return '''
-
- Welcome to our brand new crypto service
- ________ _______ __ __ ____________ ______ __________ _____ __________ _ __________________
- / ____/ //_/ ___// //_/ / ____/ __ \ \/ / __ \/_ __/ __ \ / ___// ____/ __ \ | / / _/ ____/ ____/
- / / __/ ,< \__ \/ ,< / / / /_/ /\ / /_/ / / / / / / / \__ \/ __/ / /_/ / | / // // / / __/
- / /_/ / /| |___/ / /| | / /___/ _, _/ / / ____/ / / / /_/ / ___/ / /___/ _, _/| |/ // // /___/ /___
- \____/_/ |_/____/_/ |_| \____/_/ |_| /_/_/ /_/ \____/ /____/_____/_/ |_| |___/___/\____/_____/
- version [v2.1.19]
- '''
-
- def print_usage(script_argv):
- print '[==USAGE==]\n'
- print 'Encrypt File \t: %s -e [plaintext_file] [key]' % script_argv
- print 'Decrypt File \t: %s -d [encrypted_file] [key]' % script_argv
- print 'Generate Key \t: %s -g' % script_argv
- print 'Help \t\t: %s -h\n' % script_argv
-
- def shift_key():
- key = random.randint(0x1, 0xff)
- return key
-
- def shuffle_secret():
- secret_out = ''
- secret_str = ''.join('gksk-secret-code'.split('-'))
- for count,loop in enumerate(secret_str):
- if count % 2 == 0:
- secret_out += ''.join([chr(ord(ch) + 0x3) for ch in loop])
- else:
- secret_out += loop
- return secret_out
-
- def encryption(plain, shift):
- try:
- ciphertext = ''
- length_msg = 50
- with open(plain, 'rb') as bin:
- data = bin.read()
-
- shift = int(shift)
- alphabet = shuffle_secret() * length_msg
- shifted_alphabet = alphabet[shift:] + alphabet[:shift]
- for a, b in zip(data, shifted_alphabet):
- ciphertext += chr(ord(a) + ord(b) ^ shift)
-
- with open(plain + '.enc', 'wb') as bin:
- bin.write(base64.b64encode(ciphertext))
-
- except ValueError:
- print "ValueError : Range key [0-255]"
- exit()
-
- def decryption(enc_file, key):
- with open(enc_file, 'rb') as bin:
- data = bin.read()
-
- '''NOT IMPLEMENTED YET'''
-
- with open(enc_file + '.trial', 'wb') as bin:
- bin.write(data)
-
-
- def main():
- print banner()
- script_argv = sys.argv[0]
- try:
- mode = sys.argv[1]
- if mode == '-e':
- plaintext_file = sys.argv[2]
- key = sys.argv[3]
- encryption(plaintext_file, key)
- print "\nSECRET KEY : ", shuffle_secret()
- print '\nThankyou for using our service :)\n'
- elif mode == '-d':
- encrypted_file = sys.argv[2]
- key = sys.argv[3]
- decryption(encrypted_file, key)
- print '\nNot implemented yet. Upgrade to premium, only $99999\n'
- elif mode == '-g':
- print 'Key : ', shift_key()
- elif mode == '-h':
- print_usage(script_argv)
- else:
- print_usage(script_argv)
- except IndexError:
- print_usage(script_argv)
-
- if __name__ == '__main__':
- main()
|