Dec 12, 2014 22:12
Делаю лабораторку, в лабе нужен алгоритм DES собственной реализации.
Сделал.
Запустил.
не работает!!!
Хохма в том, что DES - это магия перестановок. И в ней без поллитра не разберешься...
А с поллитром - и подавно.
В общем, я два дня вылавливал все баги.
От самых простых и очевидных - в таблицах перестановок с Wiki необходимо уменьшать позиции на 1, до взырвающих мозг путаниц unsigned/signed.
Честно, я впервые убил четыре часа, чтобы понять где они должны быть, а где нет.
...в итоге, я так и не понял последний баг, после которого все заработало. Я просто вынес из цикла в функцию его тело и... вуаля!
Очень хочется набить кому-то морду и выплеснуть весь негатив. Хожу злой, уставший... и понимаю, что, в принципе, сам дурак.
...а впереди еще длинная арфмитека и RSA. Но там хоть отлаживаться можно будет нормально.