Потоковый шифр LFSR, переделать код с Python на С++

Мне нужно разобрать код потокового шифрования LFSR. По заданию, нужно взять код и в нём разобраться. Находил реализации на С++, но не те, которые мне нужны. Нашёл нужную реализацию на Python, но совсем им не владею. Подскажите, пожалуйста, как его переписать на С++, чтобы мне в нём разобраться?

from os import system
global IV
IV = '1010111'
def main():
    menu = '''
   ------------Menu-------------
   1 - Зашифровать сообщение
   -----------------------------
                       q - Выход
   '''
    flag = True
    while True:
        answer = input(menu)
        if answer == 'q' or answer == 'Q':
            exit()
 
        elif answer == '1':
            bin_text = ''
            while len(bin_text) < len(IV):
                bin_text = input("Enter text (length > %d): " % (len(IV) + 1))
            bin_key = ''
            while len(bin_key) != len(IV):
                bin_key = input("Enter key (length = %d): " % (len(IV)))
            Z = '' + IV
            schetchik = 0
            while len(Z) != len(bin_text):
                a = 0
                for count, c in enumerate(bin_key):
                    a ^= int(c) * int(Z[schetchik + count])
                Z += str(a)
                schetchik += 1
            Y = ''
            for count, z in enumerate(Z):
                Y += str(int(z) ^ int(bin_text[count]))
            print('Encrypt text: ', Y)

            if flag:
                menu = '''
   ------------Menu-------------
   1 - Расшифровать сообщение
   -----------------------------
                       q - Выход
   '''
                flag = False
            else:
                menu = '''
   ------------Menu-------------
   1 - Зашифровать сообщение
   -----------------------------
                       q - Выход
   '''
                flag = True
 
        else:
            system('clear')
        input("\nНажмите Enter, чтобы продолжить...")
if __name__ == '__main__':
    main()

Ответы (0 шт):