Я реализую некоторый криптографический алгоритм в C, который включает в себя 80-битный ключ. Особая операция включает поворот, сдвигающий ключ x число бит.Манипуляция типом данных 80 бит в C
Я пробовал длинный двойной тип, который, если я не ошибаюсь, - 80 бит, но это не работает с оператором бит-брейка.
Единственная альтернатива, которую я могу придумать, - использовать массив элементов с 10 элементами с некоторыми сложными циклами и if-else.
Вопрос в том, есть ли простой и эффективный способ осуществления этого.
Спасибо.
Является ли это алгоритмом PC1? Я понимаю, что 80-битная версия используется на других (не x86) архитектурах, таких как Motorola 6809? Можете ли вы дать платформу? – Mikhail
Просто используйте массив символов и реализуйте свой собственный сдвиг/поворот - см. Здесь пример: http://stackoverflow.com/questions/3918229/how-to-circular-shift-an-array-of-4-chars –
Привет, нет, это алгоритм блочного шифрования PRESENT. http://homes.esat.kuleuven.be/~abogdano/papers/present_ches07.pdf Я пытаюсь внедрить его в C на доске xilinx microblaze fpga. – gamerx